This question has been flagged
3 Replies
19081 Views

I created a new group via XML for access rights management

        <record model="res.groups" id="group_no_open_procurement">
            <field name="name">Only Tree view for procurement</field>
        </record>

I need to enable this group for all the users by code itself and not manually changing @ User window.  How should I proceed?

 

Avatar
Discard
Best Answer

Add your new group to the inherited_ids of base.group_user.

Either in the web client, or in via your security xml file:

<record id="base.group_user" model="res.groups">
                 <field name="name">Employee</field>
                 <field name="users" eval="[(4, ref('base.user_root'))]"/>
                 <field name="implied_ids" eval="[(4, ref('group_no_open_procurement'))]"></field>
</record>

This might be easier and adds your group to all existing users aswell (not just new ones), but I think prakashs suggestion is the cleaner way.

 

Regards.

Avatar
Discard

Thanks, It's working me. +1

Best Answer

In the Users Default Group "Employee" (ID of the group group_user) and "Contact Creatation" (ID of the group group_partner_manager) Enable to creating new user.

Code: addons\base\res\res_users.py

    def _get_group(self,cr, uid, context=None):
        dataobj = self.pool.get('ir.model.data')
        result = []
        try:
            dummy,group_id = dataobj.get_object_reference(cr, SUPERUSER_ID, 'base', 'group_user')
            result.append(group_id)
            dummy,group_id = dataobj.get_object_reference(cr, SUPERUSER_ID, 'base', 'group_partner_manager')
            result.append(group_id)

          dummy,group_id = dataobj.get_object_reference(cr, SUPERUSER_ID, 'module_name', 'group_no_open_procurement')
            result.append(group_id)

        except ValueError:
            # If these groups does not exists anymore
            pass
        return result

    _defaults = {
        'groups_id': _get_group,
    }

In the custom module inherit the above default method and add highligted code creating new user it enable group_no_open_procurement group.

EDIT:-

The above code enable group for creating New user. Already created user using the code update the res_groups_users_rel many2many relation table using code or xml file.

Avatar
Discard
Best Answer

The correct method is add to your scurity xml file. Inside the users tag

Avatar
Discard