From f85e76cdb2498f47c85c31537bc6463202d4145b Mon Sep 17 00:00:00 2001 From: Emanuel Buzey <buzeyemanuel@gmail.com> Date: Tue, 12 Sep 2023 16:45:24 +0200 Subject: [PATCH] [FIX] Code Refactoring and Access Group Removed --- .../models/selfconsumption.py | 29 +++++++++---------- .../security/ir.model.access.csv | 2 -- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py index a38906625..c21b00462 100644 --- a/energy_selfconsumption/models/selfconsumption.py +++ b/energy_selfconsumption/models/selfconsumption.py @@ -1,5 +1,6 @@ import base64 from datetime import datetime + from odoo import _, fields, models from odoo.exceptions import ValidationError @@ -20,26 +21,24 @@ class Selfconsumption(models.Model): for record in self: record.inscription_count = len(record.inscription_ids) - def get_tables_to_use(self): - """ - Returns distribution tables in "process" or "active" state. - """ - process_tables = self.distribution_table_ids.filtered( - lambda table: table.state == "process" - ) - active_tables = self.distribution_table_ids.filtered( - lambda table: table.state == "active" - ) - return process_tables or active_tables - def _compute_report_distribution_table(self): """ This compute field gets the distribution table needed to generate the reports. It prioritizes the table in process and then the active one. It can only be one of each. """ for record in self: - tables_to_use = record.get_tables_to_use() - record.report_distribution_table = tables_to_use or False + table_in_process = record.distribution_table_ids.filtered_domain( + [("state", "=", "process")] + ) + table_in_active = record.distribution_table_ids.filtered_domain( + [("state", "=", "active")] + ) + if table_in_process: + record.report_distribution_table = table_in_process + elif table_in_active: + record.report_distribution_table = table_in_active + else: + record.report_distribution_table = False project_id = fields.Many2one( "energy_project.project", required=True, ondelete="cascade" @@ -154,7 +153,7 @@ class Selfconsumption(models.Model): ).report_action(self) def action_manager_partition_coefficient_report(self): - tables_to_use = self.get_tables_to_use() + tables_to_use = self.report_distribution_table report_data = [] for table in tables_to_use: diff --git a/energy_selfconsumption/security/ir.model.access.csv b/energy_selfconsumption/security/ir.model.access.csv index 2c6ebce77..96bb5295f 100644 --- a/energy_selfconsumption/security/ir.model.access.csv +++ b/energy_selfconsumption/security/ir.model.access.csv @@ -9,5 +9,3 @@ access_energy_selfconsumption_distribution_table_admin,energy_selfconsumption.di access_energy_selfconsumption_supply_point_assignation_admin,energy_selfconsumption.supply_point_assignation.admin,model_energy_selfconsumption_supply_point_assignation,energy_project.group_admin,1,1,1,1 access_energy_selfconsumption_selfconsumption_import_wizard_admin,energy_selfconsumption.selfconsumption_import.wizard.admin,model_energy_selfconsumption_selfconsumption_import_wizard,energy_project.group_admin,1,1,1,1 access_energy_selfconsumption_distribution_table_import_wizard_admin,energy_selfconsumption.distribution_table_import.wizard.admin,model_energy_selfconsumption_distribution_table_import_wizard,energy_project.group_admin,1,1,1,1 -access_energy_selfconsumption_report_wizard_user,energy_selfconsumption.report_wizard.user,model_energy_selfconsumption_report_wizard,energy_project.group_user,1,0,0,0 -access_energy_selfconsumption_report_wizard_admin,energy_selfconsumption.report_wizard.admin,model_energy_selfconsumption_report_wizard,energy_project.group_admin,1,1,1,1 -- GitLab