Проверьте, принадлежит ли пользователь группе в Odoo - PullRequest
1 голос
/ 16 апреля 2020

Я новичок в Odoo, у меня есть поле выбора, и одна из опций должна быть зарезервирована только для определенной группы, имя поля - event_type, а имя группы - TL, я пробовал это, но это не работает правильно.

@api.multi
@api.onchange('event_type')
def _test(self):
    if self.event_type == 'HV':
        if self.env.user.has_group('TL')==False:
            raise ValidationError('Only user belongs to TL are allowed to ....' )

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

has_group() нужен полный внешний идентификатор с именем модуля и самим идентификатором.

Я бы также не использовал == False, потому что это плохой стиль.

@api.multi
@api.onchange('event_type')
def _test(self):
    if self.event_type == 'HV' and\
            not self.env.user.has_group('module_name.external_id'):
        raise ValidationError('Only users with "TL" group rights ...' )
1 голос
/ 16 апреля 2020

Вы должны вызвать группу с именем модуля, где вы ее определили: - имя_модуля.TL

@api.multi
@api.onchange('event_type')
def _test(self):
    if self.event_type == 'HV' and self.user_has_groups('module_name.TL'):
        raise ValidationError('Only user belongs to TL are allowed to ....' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...