Better removal of menus
parent
1dd8e54f6e
commit
293e4f7c59
|
@ -73,11 +73,13 @@ class BveView(models.Model):
|
|||
def action_reset(self):
|
||||
self.ensure_one()
|
||||
|
||||
has_menus = False
|
||||
if self.action_id:
|
||||
action = 'ir.actions.act_window,%d' % (self.action_id.id,)
|
||||
menus = self.env['ir.ui.menu'].sudo().search(
|
||||
[('action', '=', action)]
|
||||
)
|
||||
has_menus = True if menus else False
|
||||
menus.sudo().unlink()
|
||||
|
||||
if self.action_id.view_id:
|
||||
|
@ -94,6 +96,9 @@ class BveView(models.Model):
|
|||
|
||||
self.state = 'draft'
|
||||
|
||||
if has_menus:
|
||||
return {'type': 'ir.actions.client', 'tag': 'reload'}
|
||||
|
||||
@api.multi
|
||||
def _create_view_arch(self):
|
||||
self.ensure_one()
|
||||
|
|
|
@ -14,11 +14,18 @@ class WizardModelMenuCreate(models.TransientModel):
|
|||
self.ensure_one()
|
||||
active_id = self._context.get('active_id')
|
||||
bve_view = self.env['bve.view'].browse(active_id)
|
||||
self.env['ir.ui.menu'].create({
|
||||
menu = self.env['ir.ui.menu'].create({
|
||||
'name': self.name,
|
||||
'parent_id': self.menu_id.id,
|
||||
'action': 'ir.actions.act_window,%d' % (bve_view.action_id,)
|
||||
})
|
||||
self.env['ir.model.data'].create({
|
||||
'name': bve_view.name + ', id=' + str(menu.id),
|
||||
'noupdate': True,
|
||||
'module': 'bi_view_editor',
|
||||
'model': 'ir.ui.menu',
|
||||
'res_id': menu.id,
|
||||
})
|
||||
return {'type': 'ir.actions.client', 'tag': 'reload'}
|
||||
return super(WizardModelMenuCreate, self).menu_create()
|
||||
|
||||
|
|
Loading…
Reference in New Issue