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.

41 lines
1.5 KiB

4 years ago
4 years ago
4 years ago
4 years ago
  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. {
  13. "name": self.name,
  14. "parent_id": self.menu_id.id,
  15. "action": "ir.actions.act_window,%d" % (bve_view.action_id,),
  16. }
  17. )
  18. self.env["ir.model.data"].create(
  19. {
  20. "name": bve_view.name + ", id=" + str(menu.id),
  21. "noupdate": True,
  22. "module": "bi_view_editor",
  23. "model": "ir.ui.menu",
  24. "res_id": menu.id,
  25. }
  26. )
  27. return {"type": "ir.actions.client", "tag": "reload"}
  28. return super().menu_create()
  29. @api.model
  30. def default_get(self, fields_list):
  31. defaults = super().default_get(fields_list)
  32. if self.env.context.get("active_model") == "bve.view":
  33. active_id = self.env.context.get("active_id")
  34. bve_view = self.env["bve.view"].browse(active_id)
  35. defaults.setdefault("name", bve_view.name)
  36. return defaults