Я создал одно поле в форме создания пользователя, и его имя 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: