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

Hi All, 

Thanks in Advance.

Only users with group 'base.group_system' should be able to see this Administration Category category. Other users Administration Category should be hidden


def get_application_groups(self, domain):

        if not self.env.user.sudo().has_group('base.group_system'):

            custom_group_id = self.env.sudo().ref('base.group_system')

            custom_admin_id = self.env.sudo().ref('base.group_erp_manager')

            excluded_groups = [custom_group_id, custom_admin_id]

            return self.search(domain + [('id', 'not in', excluded_groups)])

        return super(ResGroup, self).get_application_groups(domain)

I tried like this. But its not working.

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

Does this works.

I also have similar requirement.

Tác giả Câu trả lời hay nhất

Hi,


Thanks for the replies, 

def get_application_groups(self, domain):

        if not self.env.user.sudo().has_group('base.group_erp_manager'):

            custom_group_id = self.env.sudo().ref('base.group_system')

            custom_admin_id = self.env.sudo().ref('base.group_erp_manager')

            excluded_groups = [custom_group_id, custom_admin_id]

            return self.search(domain + [('id', 'not in', excluded_groups)])

        return super(ResGroup, self).get_application_groups(domain)

i updated the code to this .

Error: Missing field string information for the field 'sel_groups_2_4' from the 'res.users' model


Now i get this error.

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

The issue is with how you're excluding the groups. You need to ensure that the excluded_groups list is populated correctly and check for the right conditions.

Key Changes:

  • Removed sudo() as it's unnecessary when checking group membership for the current user.
  • Used .id to ensure you're using the group IDs correctly when excluding.

This should now work, hiding the "Administration Category" for users not in base.group_system.


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

I'm not sure if there is something special here that you need to resort to python code to hide things in views. In normal scenario, I do it in the view's xml and simply add something like groups='base.group_system' to that elemement.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 9 22
3846
0
thg 3 19
2624
1
thg 3 15
5795
1
thg 11 21
5595
1
thg 9 17
3472