From 488ede5c98354c5abe6b0629db0618620e0f7613 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Tue, 28 Jan 2025 10:35:01 +0100
Subject: [PATCH 1/3] [ADD] change prorata compute in moves

---
 models/acc_operation.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/models/acc_operation.py b/models/acc_operation.py
index 7647c30..9754829 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -162,11 +162,19 @@ class AccOperation(models.Model):
                 months=int(account_move_periodicity) - 1
             )
 
-        # Récupération des données agrégées par jour pour cette opération
+        # si pluesieurs compteurs d injection on calcule le prorata de consommation par
+        # horodate, sinon par jours
+        if len(self.acc_injection_period_ids) == 1:
+            groupby_date_slot = "day"
+        else:
+            groupby_date_slot = "minute"
+
+        # Récupération des données agrégées par horodatage pour cette opération
         energy_dict = self.env["acc.enedis.cdc"]._get_group_by_energy(
             acc_operation_id=self.id,
             start_date=start_date,
             end_date=end_date,
+            groupby_date_slot=groupby_date_slot,
             filter_date=True,
         )
 
-- 
GitLab


From e03c253d983125d485ebc06ce19be15c35476924 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Tue, 28 Jan 2025 11:21:42 +0100
Subject: [PATCH 2/3] [UPD] improve inj counter count by period

---
 models/acc_operation.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/models/acc_operation.py b/models/acc_operation.py
index 9754829..46566db 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -164,7 +164,8 @@ class AccOperation(models.Model):
 
         # si pluesieurs compteurs d injection on calcule le prorata de consommation par
         # horodate, sinon par jours
-        if len(self.acc_injection_period_ids) == 1:
+        operation_inj_counters = self._get_inj_counter_by_period(start_date=start_date, end_date=end_date)
+        if len(operation_inj_counters) == 1:
             groupby_date_slot = "day"
         else:
             groupby_date_slot = "minute"
@@ -205,6 +206,17 @@ class AccOperation(models.Model):
 
         return self.action_view_account_move()
 
+    def _get_inj_counter_by_period(self, start_date, end_date):
+        return self.env["acc.counter.period"]._get_periods_from_interval(
+            [
+                ("prm_type", "=", "injection"),
+                ("acc_operation_id", "=", self.id),
+            ],
+            start_date,
+            end_date,
+        ).mapped("acc_counter_id")
+
+
     def _open_x2m_matrix(self, view_xmlid):
         """
         Fonction qui appelle le wizard matrix 2D pour la défintion des prix
-- 
GitLab


From c91d63da13634745bdcdc3143071dcfd9cd7df11 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Tue, 28 Jan 2025 15:10:44 +0100
Subject: [PATCH 3/3] [UPD] cancel payment order with super ID

---
 models/account_payment_order.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/models/account_payment_order.py b/models/account_payment_order.py
index 81d4a19..09a8a2d 100644
--- a/models/account_payment_order.py
+++ b/models/account_payment_order.py
@@ -12,3 +12,6 @@ class AccountPaymentOrder(models.Model):
         Re-generate the account payments.
         """
         return super(AccountPaymentOrder, self.with_user(SUPERUSER_ID)).draft2open()
+
+    def action_cancel(self):
+        return super(AccountPaymentOrder, self.with_user(SUPERUSER_ID)).action_cancel()
-- 
GitLab