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.

37 lines
1.4 KiB

  1. # Copyright 2017-2019 Onestein (<https://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. def menu_create(self):
  7. if self.env.context.get('active_model') == 'bve.view':
  8. self.ensure_one()
  9. active_id = self.env.context.get('active_id')
  10. bve_view = self.env['bve.view'].browse(active_id)
  11. menu = self.env['ir.ui.menu'].create({
  12. 'name': self.name,
  13. 'parent_id': self.menu_id.id,
  14. 'action': 'ir.actions.act_window,%d' % (bve_view.action_id,)
  15. })
  16. self.env['ir.model.data'].create({
  17. 'name': bve_view.name + ', id=' + str(menu.id),
  18. 'noupdate': True,
  19. 'module': 'bi_view_editor',
  20. 'model': 'ir.ui.menu',
  21. 'res_id': menu.id,
  22. })
  23. return {'type': 'ir.actions.client', 'tag': 'reload'}
  24. return super().menu_create()
  25. @api.model
  26. def default_get(self, fields_list):
  27. defaults = super().default_get(fields_list)
  28. if self.env.context.get('active_model') == 'bve.view':
  29. active_id = self.env.context.get('active_id')
  30. bve_view = self.env['bve.view'].browse(active_id)
  31. defaults.setdefault('name', bve_view.name)
  32. return defaults