Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
21436 Lượt xem

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?

 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ

Thanks, It's working me. +1

Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
10
thg 12 23
36732
0
thg 6 20
3374
1
thg 5 19
8014
1
thg 2 25
7722
23
thg 4 23
48291