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.

39 lines
1.5 KiB

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