diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c6bda5111ce..c920aba23ae 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -269,7 +269,8 @@ - + diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index df83f0ac1e3..4c1d1317e07 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -744,6 +744,7 @@ class users_view(osv.osv): def create(self, cr, uid, values, context=None): self._set_reified_groups(values) + return super(users_view, self).create(cr, uid, values, context) def write(self, cr, uid, ids, values, context=None): @@ -782,6 +783,21 @@ class users_view(osv.osv): fields1 = (fields + ['groups_id']) if group_fields else fields values = super(users_view, self).default_get(cr, uid, fields1, context) self._get_reified_groups(group_fields, values) + + # add "default_groups_ref" inside the context to set default value for group_id with xml values + if 'groups_id' in fields and isinstance(context.get("default_groups_ref"), list): + groups = [] + ir_model_data = self.pool.get('ir.model.data') + for group_xml_id in context["default_groups_ref"]: + group_split = group_xml_id.split('.') + if len(group_split) != 2: + raise osv.except_osv(_('Invalid context value'), _('Invalid context default_groups_ref value (model.name_id) : "%s"') % group_xml_id) + try: + temp, group_id = ir_model_data.get_object_reference(cr, uid, group_split[0], group_split[1]) + except ValueError: + group_id = False + groups += [group_id] + values['groups_id'] = groups return values def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'): diff --git a/openerp/addons/base/res/res_users_view.xml b/openerp/addons/base/res/res_users_view.xml index 7e83b43179f..daa25806349 100644 --- a/openerp/addons/base/res/res_users_view.xml +++ b/openerp/addons/base/res/res_users_view.xml @@ -84,48 +84,39 @@ - res.users.simplified.form res.users 1 -
+ - -
-
-
- -