[IMP] add field category_id on groups

bzr revid: rco@openerp.com-20111202155624-hp2p1md2y4s4zcw0
This commit is contained in:
Raphael Collet 2011-12-02 16:56:24 +01:00
parent 0c2183b121
commit 92057d3d84
3 changed files with 32 additions and 1 deletions

View File

@ -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">

View File

@ -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>

View File

@ -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