From 3e2cbd73c8f7a27efcd0e347682e286c2d8e3dee Mon Sep 17 00:00:00 2001
From: daniquilez <dani.quilez@gmail.com>
Date: Wed, 12 Mar 2025 15:29:34 +0100
Subject: [PATCH] =?UTF-8?q?[FIX]=20=F0=9F=90=9B=20Bugfixing=20service=20in?=
 =?UTF-8?q?voicing=20views?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../models/account_move.py                    |  3 +-
 .../views/account_move_views.xml              | 17 +++-
 .../views/menus.xml                           |  4 +-
 .../views/service_invoicing_views.xml         | 78 +++++++++----------
 .../models/selfconsumption.py                 |  6 +-
 .../views/contract_views.xml                  | 12 +--
 6 files changed, 65 insertions(+), 55 deletions(-)

diff --git a/energy_communities_service_invoicing/models/account_move.py b/energy_communities_service_invoicing/models/account_move.py
index 8f59f28e7..2fff56b99 100644
--- a/energy_communities_service_invoicing/models/account_move.py
+++ b/energy_communities_service_invoicing/models/account_move.py
@@ -11,7 +11,7 @@ class AccountMove(models.Model):
         comodel_name="contract.contract",
         compute="_compute_related_contract_id_is_contract",
         compute_sudo=True,
-        store=False,
+        store=True,
     )
     is_contract = fields.Boolean(
         compute="_compute_related_contract_id_is_contract",
@@ -23,6 +23,7 @@ class AccountMove(models.Model):
         string="Related community",
         related="related_contract_id.community_company_id",
         domain="[('hierarchy_level','=','community')]",
+        store=True,
     )
 
     @api.depends("invoice_line_ids", "auto_invoice_id")
diff --git a/energy_communities_service_invoicing/views/account_move_views.xml b/energy_communities_service_invoicing/views/account_move_views.xml
index 0cfbea8f7..c50ce50f3 100644
--- a/energy_communities_service_invoicing/views/account_move_views.xml
+++ b/energy_communities_service_invoicing/views/account_move_views.xml
@@ -1,4 +1,19 @@
 <odoo>
+  <record id="account_move_search" model="ir.ui.view">
+    <field name="name">account.move search view (in service invoicing)</field>
+    <field name="model">account.move</field>
+    <field name="inherit_id" ref="account.view_account_invoice_filter" />
+    <field name="arch" type="xml">
+      <filter name="groupy_by_partner" position="after">
+          <filter
+            string="Related community"
+            name="group_by_related_community"
+            domain="[]"
+            context="{'group_by':'related_community_company_id'}"
+          />
+      </filter>
+    </field>
+  </record>
   <record id="account_move_form" model="ir.ui.view">
       <field name="name">account.move.form.inherit</field>
       <field name="model">account.move</field>
@@ -9,7 +24,7 @@
           <field name="is_contract" invisible="True" />
           <field name="invoice_origin" attrs="{'invisible': [('is_contract','=',False)]}" />
           <field name="related_contract_id" attrs="{'invisible': [('is_contract','=',False)]}" />
-          <field name="related_community_company_id" attrs="{'invisible': [('pack_type' ,'=', 'platform_pack')]}" />
+          <field name="related_community_company_id" attrs="{'invisible': [('pack_type' ,'!=', 'platform_pack')]}" />
         </xpath>
       </field>
   </record>
diff --git a/energy_communities_service_invoicing/views/menus.xml b/energy_communities_service_invoicing/views/menus.xml
index 442ea07a9..644a24b10 100644
--- a/energy_communities_service_invoicing/views/menus.xml
+++ b/energy_communities_service_invoicing/views/menus.xml
@@ -32,14 +32,14 @@
     <menuitem
       name="Service invoices issued"
       id="view_service_invoices_issued_menu"
-      action="view_service_invoices_issued_window"
+      action="view_service_invoices_issued_act_window"
       groups="energy_communities.role_platform_admin_res_groups"
       sequence="500"
     />
     <menuitem
       name="Service invoices received"
       id="view_service_invoices_received_menu"
-      action="view_service_invoices_received_window"
+      action="view_service_invoices_received_act_window"
       groups="energy_communities.role_platform_admin_res_groups,energy_communities.role_coord_admin_res_groups,energy_communities.role_coord_worker_res_groups"
       sequence="500"
     />
diff --git a/energy_communities_service_invoicing/views/service_invoicing_views.xml b/energy_communities_service_invoicing/views/service_invoicing_views.xml
index 4629ec8c5..ab73851f9 100644
--- a/energy_communities_service_invoicing/views/service_invoicing_views.xml
+++ b/energy_communities_service_invoicing/views/service_invoicing_views.xml
@@ -9,6 +9,22 @@
     <field name="domain">[('community_company_id','!=',False)]</field>
     <field name="context">{"search_default_not_finished":1,"search_default_paused":1}</field>
   </record>
+  <record
+    id="action_view_service_invoicing_tree_platform_manager"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">tree</field>
+    <field name="view_id" ref="view_service_invoicing_tree"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
+  </record>
+  <record
+    id="action_view_contract_contract_customer_form_platform_manager"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">form</field>
+    <field name="view_id" ref="view_contract_contract_customer_form_platform_admin"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
+  </record>
 
   <record
       id="view_service_invoicing_window_coord_admin"
@@ -20,6 +36,22 @@
     <field name="domain">[('community_company_id','!=',False)]</field>
     <field name="context">{"search_default_not_finished":1,"search_default_paused":1}</field>
   </record>
+  <record
+    id="action_view_service_invoicing_tree_coord_admin"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">tree</field>
+    <field name="view_id" ref="view_service_invoicing_tree"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
+  </record>
+  <record
+    id="action_view_contract_contract_customer_form_coord_admin"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">form</field>
+    <field name="view_id" ref="view_contract_contract_customer_form_coord_admin"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
+  </record>
 
   <record
       id="view_service_packs_window"
@@ -52,23 +84,25 @@
   </record>
 
   <record
-      id="view_service_invoices_issued_window"
+      id="view_service_invoices_issued_act_window"
       model="ir.actions.act_window"
   >
     <field name="name">Service invoices (issued)</field>
     <field name="res_model">account.move</field>
     <field name="view_mode">tree,form</field>
     <field name="domain" eval="[('move_type', 'in', ['out_invoice', 'out_refund']), ('pack_type', '=', 'platform_pack')]"/>
+    <field name="context">{"default_move_type": "out_invoice","search_default_group_by_related_community":1}</field>
   </record>
 
   <record
-      id="view_service_invoices_received_window"
+      id="view_service_invoices_received_act_window"
       model="ir.actions.act_window"
   >
     <field name="name">Service invoices (received)</field>
     <field name="res_model">account.move</field>
     <field name="view_mode">tree,form</field>
     <field name="domain" eval="[('move_type', 'in', ['in_invoice', 'in_refund']), ('pack_type', '=', 'platform_pack')]"/>
+    <field name="context">{"default_move_type": "in_invoice","search_default_group_by_related_community":1}</field>
   </record>
 
   <record
@@ -81,44 +115,4 @@
     <field name="domain">[('service_invoicing_action','!=','none')]</field>
   </record>
 
-  <record
-    id="action_view_service_invoicing_tree_platform_manager"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">tree</field>
-    <field name="view_id" ref="view_service_invoicing_tree"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
-  </record>
-
-  <record
-    id="action_view_service_invoicing_tree_coord_admin"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">tree</field>
-    <field name="view_id" ref="view_service_invoicing_tree"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
-  </record>
-
-  <record
-    id="action_view_contract_contract_customer_form_platform_manager"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="2"/>
-    <field name="view_mode">form</field>
-    <field name="view_id" ref="view_contract_contract_customer_form_platform_admin"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
-  </record>
-
-  <record
-    id="action_view_contract_contract_customer_form_coord_admin"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">form</field>
-    <field name="view_id" ref="view_contract_contract_customer_form_coord_admin"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
-  </record>
-
 </odoo>
diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py
index 18db4ee90..e101d4f85 100644
--- a/energy_selfconsumption/models/selfconsumption.py
+++ b/energy_selfconsumption/models/selfconsumption.py
@@ -210,11 +210,11 @@ class Selfconsumption(models.Model):
             "type": "ir.actions.act_window",
             "name": "Contracts",
             "views": [
-                [self.env.ref("energy_selfconsumption.contract_tree_view").id, "tree"],
-                [
+                (self.env.ref("energy_selfconsumption.contract_tree_view").id, "tree"),
+                (
                     self.env.ref("contract.contract_contract_customer_form_view").id,
                     "form",
-                ],
+                ),
             ],
             "res_model": "contract.contract",
             "domain": [("project_id", "=", self.id)],
diff --git a/energy_selfconsumption/views/contract_views.xml b/energy_selfconsumption/views/contract_views.xml
index a49c0c818..b98b19ce1 100644
--- a/energy_selfconsumption/views/contract_views.xml
+++ b/energy_selfconsumption/views/contract_views.xml
@@ -24,12 +24,12 @@
             <field name="arch" type="xml">
                 <xpath expr="/search" position="inside">
                     <group expand="1" string="Group By">
-                        <filter
-              string="Next Period Date Start"
-              name="filter_next_period_date_end"
-              domain="[]"
-              context="{'group_by':'next_period_date_end'}"
-            />
+                      <filter
+                        string="Next Period Date Start"
+                        name="filter_next_period_date_end"
+                        domain="[]"
+                        context="{'group_by':'next_period_date_end'}"
+                      />
                     </group>
                 </xpath>
             </field>
-- 
GitLab