[IMP] add field category_id on groups
bzr revid: rco@openerp.com-20111202155624-hp2p1md2y4s4zcw0
This commit is contained in:
parent
0c2183b121
commit
92057d3d84
|
@ -19,6 +19,7 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Groups">
|
||||
<field name="category_id" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Users">
|
||||
|
|
|
@ -114,6 +114,11 @@
|
|||
<field name="sequence">15</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_settings">
|
||||
<field name="name">Administration</field>
|
||||
<field name="sequence">100</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
<record id="ir_ui_view_sc_modules0" model="ir.ui.view_sc">
|
||||
<field name="name">Modules</field>
|
||||
|
|
|
@ -43,7 +43,7 @@ class groups(osv.osv):
|
|||
_order = 'name'
|
||||
_description = "Access Groups"
|
||||
_columns = {
|
||||
'name': fields.char('Group Name', size=64, required=True, translate=True),
|
||||
'name': fields.char('Name', size=64, required=True, translate=True),
|
||||
'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users'),
|
||||
'model_access': fields.one2many('ir.model.access', 'group_id', 'Access Controls'),
|
||||
'rule_groups': fields.many2many('ir.rule', 'rule_group_rel',
|
||||
|
@ -643,6 +643,31 @@ users_implied()
|
|||
|
||||
class groups_view(osv.osv):
|
||||
_inherit = 'res.groups'
|
||||
_rec_name = 'full_name'
|
||||
|
||||
def _get_full_name(self, cr, uid, ids, field, arg, context=None):
|
||||
res = {}
|
||||
for g in self.browse(cr, uid, ids, context):
|
||||
if g.category_id:
|
||||
res[g.id] = '%s / %s' % (g.category_id.name, g.name)
|
||||
else:
|
||||
res[g.id] = g.name
|
||||
return res
|
||||
|
||||
def _from_group_ids(self, cr, uid, ids, context=None):
|
||||
return ids
|
||||
|
||||
def _from_category_ids(obj, cr, uid, ids, context=None):
|
||||
return obj.pool.get('res.groups').search(cr, uid, [('category_id', 'in', ids)], context=context)
|
||||
|
||||
_columns = {
|
||||
'category_id': fields.many2one('ir.module.category', 'Application', select=True),
|
||||
'full_name': fields.function(_get_full_name, type='char', string='Group Name',
|
||||
store={
|
||||
'res.groups': (_from_group_ids, ['category_id', 'name'], 10),
|
||||
'ir.module.category': (_from_category_ids, ['name'], 10),
|
||||
}),
|
||||
}
|
||||
|
||||
def get_classified(self, cr, uid, context=None):
|
||||
""" classify all groups by prefix; return a pair (apps, others) where
|
||||
|
|
Loading…
Reference in New Issue