تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
21445 أدوات العرض

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?

 

الصورة الرمزية
إهمال
أفضل إجابة

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.

الصورة الرمزية
إهمال

Thanks, It's working me. +1

أفضل إجابة

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.

الصورة الرمزية
إهمال
أفضل إجابة

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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
10
ديسمبر 23
36741
0
يونيو 20
3384
1
مايو 19
8030
1
فبراير 25
7731
23
أبريل 23
48324