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.

61 lines
1.7 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. from odoo.exceptions import UserError
  6. from odoo.tools.translate import _
  7. class Base(models.AbstractModel):
  8. _inherit = 'base'
  9. @api.model
  10. def _bi_view(self):
  11. return self._name[0:6] == 'x_bve.'
  12. @api.model
  13. def _auto_end(self):
  14. if not self._bi_view():
  15. super(Base, self)._auto_end()
  16. @api.model
  17. def _auto_init(self):
  18. if not self._bi_view():
  19. super(Base, self)._auto_init()
  20. @api.model
  21. def _setup_complete(self):
  22. if not self._bi_view():
  23. super(Base, self)._setup_complete()
  24. else:
  25. self.pool.models[self._name]._log_access = False
  26. @api.model
  27. def _read_group_process_groupby(self, gb, query):
  28. if not self._bi_view():
  29. return super(Base, self)._read_group_process_groupby(gb, query)
  30. split = gb.split(':')
  31. if split[0] not in self._fields:
  32. raise UserError(
  33. _('No data to be displayed.'))
  34. return super(Base, self)._read_group_process_groupby(gb, query)
  35. @api.model
  36. def _add_magic_fields(self):
  37. if self._bi_view():
  38. self._log_access = False
  39. return super(Base, self)._add_magic_fields()
  40. @api.model_cr
  41. def _table_exist(self):
  42. if not self._bi_view():
  43. return super(Base, self)._table_exist()
  44. return 1
  45. # @api.model_cr
  46. # def _create_table(self):
  47. # if not self._bi_view():
  48. # return super(Base, self)._create_table()
  49. # return 1