Odoo [12.0]: Как скрыть меню для пользователя. Проверьте мой код - PullRequest
0 голосов
/ 07 ноября 2019

Я создал одно поле в форме создания пользователя, и его имя hide_menus, и я храню все меню в нем.

Теперь я выбираю меню из поля hide_menus и сравниваю с installed_modules_id

Если меню совпадают, то это меню будет скрыто для пользователя.

Так как скрытьменю если знаешь? Пожалуйста, дайте мне знать.

class HideMenus(models.Model):
    _inherit = 'res.users'
    _rec_name = 'hide_menus'

hide_menus = fields.Many2many(comodel_name="ir.ui.menu")

@api.multi
def write(self, vals):
    installed_modules = self.env['ir.module.module'].search([('state', '=', 'installed'),('application', '=', True)])
    for instd in installed_modules:
        res = super(HideMenus, self).write(vals)
        print("===========   installed modules  ============", instd.category_id.name)
        for rec in self:
            if u'hide_menus' in vals and rec.hide_menus:
                for est_rec in rec.hide_menus:
                    print("=============== Hide Menus ==============", est_rec.name)
                    if instd.category_id.name == est_rec.name:
...