diff --git a/bi_view_editor/__manifest__.py b/bi_view_editor/__manifest__.py index 67188f7f..03a5fb22 100644 --- a/bi_view_editor/__manifest__.py +++ b/bi_view_editor/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2015-2019 Onestein () +# Copyright 2015-2020 Onestein () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { @@ -8,8 +8,8 @@ "author": "Onestein,Odoo Community Association (OCA)", "license": "AGPL-3", "website": "https://github.com/OCA/reporting-engine", - "category": "Reporting", - "version": "13.0.1.0.0", + "category": "Productivity", + "version": "14.0.1.0.0", "development_status": "Beta", "depends": ["web"], "data": [ diff --git a/bi_view_editor/models/bve_view.py b/bi_view_editor/models/bve_view.py index 1f4aeec8..3f10d10c 100644 --- a/bi_view_editor/models/bve_view.py +++ b/bi_view_editor/models/bve_view.py @@ -1,4 +1,4 @@ -# Copyright 2015-2019 Onestein () +# Copyright 2015-2020 Onestein () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import base64 @@ -541,7 +541,7 @@ class BveView(models.Model): self.env["ir.model"].sudo().search([("model", "=", self.model_name)]) ) if models_to_delete: - models_to_delete.unlink() + models_to_delete.with_context(_force_unlink=True).unlink() table_name = self.model_name.replace(".", "_") tools.drop_view_if_exists(self.env.cr, table_name) diff --git a/bi_view_editor/models/bve_view_line.py b/bi_view_editor/models/bve_view_line.py index 0f055401..9790fb51 100644 --- a/bi_view_editor/models/bve_view_line.py +++ b/bi_view_editor/models/bve_view_line.py @@ -44,13 +44,14 @@ class BveViewLine(models.Model): @api.constrains("row", "column", "measure") def _constrains_options_check(self): measure_types = ["float", "integer", "monetary"] - lines = self.filtered(lambda l: l.join_model_id or l.ttype in measure_types) - if lines.filtered(lambda l: l.row or l.column): - err_msg = _("This field cannot be a row or a column.") - raise ValidationError(err_msg) - if lines.filtered(lambda l: l.measure): - err_msg = _("This field cannot be a measure.") - raise ValidationError(err_msg) + for line in self.filtered(lambda l: l.row or l.column): + if line.join_model_id or line.ttype in measure_types: + err_msg = _("This field cannot be a row or a column.") + raise ValidationError(err_msg) + for line in self.filtered(lambda l: l.measure): + if line.join_model_id or line.ttype not in measure_types: + err_msg = _("This field cannot be a measure.") + raise ValidationError(err_msg) @api.constrains("table_alias", "field_id") def _constrains_unique_fields_check(self): diff --git a/bi_view_editor/models/models.py b/bi_view_editor/models/models.py index 886109b7..9f542c16 100644 --- a/bi_view_editor/models/models.py +++ b/bi_view_editor/models/models.py @@ -1,4 +1,4 @@ -# Copyright 2017-2019 Onestein () +# Copyright 2017-2020 Onestein () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import logging @@ -37,13 +37,6 @@ models.BaseModel._auto_init = _auto_init class Base(models.AbstractModel): _inherit = "base" - @api.model - def _setup_complete(self): - if not _bi_view(self._name): - super()._setup_complete() - else: - self.pool.models[self._name]._log_access = False - @api.model def _read_group_process_groupby(self, gb, query): if not _bi_view(self._name): @@ -53,9 +46,3 @@ class Base(models.AbstractModel): if split[0] not in self._fields: raise UserError(_("No data to be displayed.")) return super()._read_group_process_groupby(gb, query) - - @api.model - def _add_magic_fields(self): - if _bi_view(self._name): - self._log_access = False - return super()._add_magic_fields() diff --git a/bi_view_editor/tests/test_bi_view.py b/bi_view_editor/tests/test_bi_view.py index 07b0ece1..22559a74 100644 --- a/bi_view_editor/tests/test_bi_view.py +++ b/bi_view_editor/tests/test_bi_view.py @@ -354,7 +354,7 @@ class TestBiViewEditor(TransactionCase): uninstall_hook(self.cr, self.env) def test_18_action_translations(self): - self.env["res.lang"].load_lang("it_IT") + self.env["res.lang"]._activate_lang("it_IT") vals = self.bi_view1_vals vals.update({"name": "Test View1"}) bi_view1 = self.env["bve.view"].create(vals) diff --git a/bi_view_editor/wizard/wizard_ir_model_menu_create.py b/bi_view_editor/wizard/wizard_ir_model_menu_create.py index 61fb028b..85196ea5 100644 --- a/bi_view_editor/wizard/wizard_ir_model_menu_create.py +++ b/bi_view_editor/wizard/wizard_ir_model_menu_create.py @@ -1,4 +1,4 @@ -# Copyright 2017-2019 Onestein () +# Copyright 2017-2020 Onestein () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import api, models @@ -21,7 +21,7 @@ class WizardModelMenuCreate(models.TransientModel): ) self.env["ir.model.data"].create( { - "name": bve_view.name + ", id=" + str(menu.id), + "name": bve_view.name + ",id=" + str(menu.id), "noupdate": True, "module": "bi_view_editor", "model": "ir.ui.menu",