Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
3 Risposte
1406 Visualizzazioni

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.

Avatar
Abbandona

Does this works.

I also have similar requirement.

Autore Risposta migliore

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.

Avatar
Abbandona
Risposta migliore

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.


Avatar
Abbandona
Risposta migliore

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.

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
2
set 22
4069
0
mar 19
2756
1
mar 15
5964
1
nov 21
5880
1
set 17
3685