From a3095f07b9f9dfeadc467d52d7a4bba349994348 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Mon, 5 May 2025 17:02:20 +0200 Subject: [PATCH 1/3] [ADD] add daily perimeter cron --- data/cron_data.xml | 13 +++++++++++++ models/acc_operation.py | 32 ++++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/data/cron_data.xml b/data/cron_data.xml index 5892e3d..5f91835 100644 --- a/data/cron_data.xml +++ b/data/cron_data.xml @@ -14,5 +14,18 @@ <field name="doall" eval="False" /> <field name="active" eval="True" /> </record> + <record model="ir.cron" id="ir_cron_get_daily_data"> + <field name="name">Enedis récupération données journalières</field> + <field name="model_id" ref="oacc.model_acc_operation" /> + <field name="state">code</field> + <field name="code">model.get_daily_enedis_data(from_cron=True)</field> + <field name="user_id" ref="base.user_root" /> + <field name="interval_number">1</field> + <field name="interval_type">days</field> + <field name="nextcall">2025-05-05 00:00:00</field> + <field name="numbercall">-1</field> + <field name="doall" eval="False" /> + <field name="active" eval="True" /> + </record> </data> </odoo> diff --git a/models/acc_operation.py b/models/acc_operation.py index cbea187..05bd73a 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -92,7 +92,8 @@ class AccOperation(models.Model): "params": { "title": _("Actualisation du périmètre."), "type": "info", - "message": "Le périmètre de l'opération a bien été mis à jour dans les onglets 'Points d'injection' et 'Points de soutirage'.", + "message": "Le périmètre de l'opération a bien été mis à jour dans " + "les onglets 'Points d'injection' et 'Points de soutirage'.", "sticky": True, "next": { "type": "ir.actions.act_window_close", @@ -103,6 +104,9 @@ class AccOperation(models.Model): def _get_monthly_enedis_data(self, from_cron): return self._perimeter(from_cron) + def _get_daily_enedis_data(self, from_cron): + return self._perimeter(from_cron) + @api.model def get_monthly_enedis_data(self, from_cron): """ @@ -116,6 +120,19 @@ class AccOperation(models.Model): except ValidationError: continue + @api.model + def get_daily_enedis_data(self, from_cron): + """ + get perimeter monthly (function used in cron job) + """ + for operation in self.search( + [("client_id", "!=", False), ("secret_id", "!=", False)] + ): + try: + operation._get_daily_enedis_data(from_cron) + except ValidationError: + continue + # ------------------------------------------------------ # API functions # ------------------------------------------------------ @@ -193,7 +210,10 @@ class AccOperation(models.Model): lambda p: p.start_date == usage_point_start and p.end_date == usage_point_end ): - message += "Les dates de début et de fin sont identiques à celles déjà enregistrées dans Elocoop.<br/>" + message += ( + "Les dates de début et de fin sont identiques à celles " + "déjà enregistrées dans Elocoop.<br/>" + ) elif counter_period_ids.filtered( lambda p: p.start_date == usage_point_start ): @@ -220,7 +240,8 @@ class AccOperation(models.Model): message += ( "De nouvelles dates sont renvoyées par Enedis : veuillez" " renseigner le participant lié dans l’onglet " - "'Points de soutirage / Point d’injection' (en fonction du cas)<br/>" + "'Points de soutirage / Point d’injection' " + "(en fonction du cas)<br/>" ) except ValidationError as e: message += ( @@ -268,7 +289,10 @@ class AccOperation(models.Model): # If delivery counter add to first priority group if exist if usage_point_prm_type == "delivery": if self.check_priority_groups(counter=counter_id): - message += "Ajout du nouveau PRM au premier groupe de priorité<br/>" + message += ( + "Ajout du nouveau PRM au premier groupe " + "de priorité<br/>" + ) message += "Fin de la création du PRM<br/>" -- GitLab From 54f884dcb93b2f993fc214f459f58b6f4ced0ffb Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Mon, 5 May 2025 17:04:22 +0200 Subject: [PATCH 2/3] [UPD] typo --- data/cron_data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/cron_data.xml b/data/cron_data.xml index 5f91835..fea8f87 100644 --- a/data/cron_data.xml +++ b/data/cron_data.xml @@ -15,7 +15,7 @@ <field name="active" eval="True" /> </record> <record model="ir.cron" id="ir_cron_get_daily_data"> - <field name="name">Enedis récupération données journalières</field> + <field name="name">Enedis récupération données quotidiennes</field> <field name="model_id" ref="oacc.model_acc_operation" /> <field name="state">code</field> <field name="code">model.get_daily_enedis_data(from_cron=True)</field> -- GitLab From 4ecd5fa28655100fe6358c31cef196edca05a1a7 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Mon, 5 May 2025 17:14:09 +0200 Subject: [PATCH 3/3] [UPD] change cron hour --- data/cron_data.xml | 2 +- models/acc_operation.py | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/data/cron_data.xml b/data/cron_data.xml index fea8f87..4d28a36 100644 --- a/data/cron_data.xml +++ b/data/cron_data.xml @@ -22,7 +22,7 @@ <field name="user_id" ref="base.user_root" /> <field name="interval_number">1</field> <field name="interval_type">days</field> - <field name="nextcall">2025-05-05 00:00:00</field> + <field name="nextcall">2025-05-05 23:00:00</field> <field name="numbercall">-1</field> <field name="doall" eval="False" /> <field name="active" eval="True" /> diff --git a/models/acc_operation.py b/models/acc_operation.py index 05bd73a..b68a2e7 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -104,9 +104,6 @@ class AccOperation(models.Model): def _get_monthly_enedis_data(self, from_cron): return self._perimeter(from_cron) - def _get_daily_enedis_data(self, from_cron): - return self._perimeter(from_cron) - @api.model def get_monthly_enedis_data(self, from_cron): """ @@ -129,7 +126,7 @@ class AccOperation(models.Model): [("client_id", "!=", False), ("secret_id", "!=", False)] ): try: - operation._get_daily_enedis_data(from_cron) + operation._perimeter(from_cron) except ValidationError: continue -- GitLab