OCA reporting engine fork for dev and update.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.5 KiB

  1. # Copyright 2017-2018 Onestein (<http://www.onestein.eu>)
  2. # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
  3. from odoo import api, models
  4. class WizardModelMenuCreate(models.TransientModel):
  5. _inherit = 'wizard.ir.model.menu.create'
  6. @api.multi
  7. def menu_create(self):
  8. if self.env.context.get('active_model') == 'bve.view':
  9. self.ensure_one()
  10. active_id = self.env.context.get('active_id')
  11. bve_view = self.env['bve.view'].browse(active_id)
  12. menu = self.env['ir.ui.menu'].create({
  13. 'name': self.name,
  14. 'parent_id': self.menu_id.id,
  15. 'action': 'ir.actions.act_window,%d' % (bve_view.action_id,)
  16. })
  17. self.env['ir.model.data'].create({
  18. 'name': bve_view.name + ', id=' + str(menu.id),
  19. 'noupdate': True,
  20. 'module': 'bi_view_editor',
  21. 'model': 'ir.ui.menu',
  22. 'res_id': menu.id,
  23. })
  24. return {'type': 'ir.actions.client', 'tag': 'reload'}
  25. return super(WizardModelMenuCreate, self).menu_create()
  26. @api.model
  27. def default_get(self, fields_list):
  28. defaults = super(WizardModelMenuCreate, self).default_get(fields_list)
  29. if self.env.context.get('active_model') == 'bve.view':
  30. active_id = self.env.context.get('active_id')
  31. bve_view = self.env['bve.view'].browse(active_id)
  32. defaults.setdefault('name', bve_view.name)
  33. return defaults