Skip to content
Extraits de code Groupes Projets
Valider 4ea76091 rédigé par Julien - Le Filament's avatar Julien - Le Filament Validation de Rémi - Le Filament
Parcourir les fichiers

[UPD] Add cron

parent b655516f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -3,7 +3,7 @@
<data>
<record model="ir.cron" forcecreate="True" id="ir_cron_get_perimeter">
<field name="name">Enedis recuperation perimetre</field>
<field name="model_id" ref="oacc.model_acc_operation" />
<field name="model_id" ref="oacc_perimeter_api.model_acc_operation" />
<field name="state">code</field>
<field name="code">model._cron_get_perimeter()</field>
<field name="user_id" ref="base.user_root" />
......
......@@ -21,7 +21,7 @@
Bonjour,<br />
Vous recevez ce mail car vous êtes administrateur de l’opération d’autoconsommation collective : <t
t-out="object.name"
>operation</t> (<t t-out="object.descritpion">oacc</t>)<br
>operation</t> (<t t-out="object.description">oacc</t>)<br
/>
D’après les données Enedis, des nouveaux PRM ont été ajoutés et/ou retirés de l’opération ou ont changé de propriétaire.<br
/>
......@@ -50,8 +50,6 @@
Le service client Elocoop<br />
</div>
</field>
<field name="lang">{{ object.partner_id.lang }}</field>
<field name="auto_delete" eval="False" />
</record>
<record id="email_template_api_error" model="mail.template">
......@@ -71,7 +69,7 @@
Bonjour,<br />
Vous recevez ce mail car vous êtes administrateur de l’opération d’autoconsommation collective: <t
t-out="object.name"
>operation</t> (<t t-out="object.descritpion">oacc</t>)<br
>operation</t> (<t t-out="object.description">oacc</t>)<br
/>.
Lors de la mise à jour automatique du périmètre et des données Enedis, l’API a renvoyé l’erreur suivante :<br
/>
......@@ -95,8 +93,6 @@
Le service client Elocoop<br />
</div>
</field>
<field name="lang">{{ object.partner_id.lang }}</field>
<field name="auto_delete" eval="False" />
</record>
</data>
</odoo>
......@@ -13,8 +13,8 @@ class AccOperation(models.Model):
# ------------------------------------------------------
# Fields declaration
# ------------------------------------------------------
perimeter_api_log = fields.Text()
perimeter_impacted_prm = fields.Text()
perimeter_api_log = fields.Text("Log de la recupération du périmètre", default="")
perimeter_impacted_prm = fields.Text("Liste des PRM impactés pas le périmètre", default="")
# ------------------------------------------------------
# SQL Constraints
......@@ -78,15 +78,15 @@ class AccOperation(models.Model):
}
def _cron_get_perimeter(self):
self.ensure_one()
self.perimeter_api_log = self.perimeter(send_mail=True)
for operation in self.search([]):
operation.perimeter_api_log = operation.perimeter(send_mail=True)
def send_new_prm_email(self):
template_id = self.env.ref("oacc.email_template_new_prm")
template_id = self.env.ref("oacc_perimeter_api.email_template_new_prm")
template_id.send_mail(self.id)
def send_api_error_mail(self):
template_id = self.env.ref("oacc.email_template_api_error")
template_id = self.env.ref("oacc_perimeter_api.email_template_api_error")
template_id.send_mail(self.id)
# ------------------------------------------------------
......@@ -120,6 +120,8 @@ class AccOperation(models.Model):
message += "<p><strong>Appel API terminé<br/>" "Traitement des données ...<br/>"
usage_points = perimeter_data.get("usage_points")
counter_used = []
list_injection = []
list_soutirage = []
......@@ -187,7 +189,7 @@ class AccOperation(models.Model):
}
)
self.perimeter_impacted_prm += f"{counter_id.name}<br/>"
counter_used.append(counter_id.name)
message += (
"période inexistante avec les mêmes dates : création<br/>"
)
......@@ -218,7 +220,7 @@ class AccOperation(models.Model):
"name": usage_point["usage_point_id"],
}
)
self.perimeter_impacted_prm += f"{counter_id.name}<br/>"
counter_used.append(counter_id.name)
self.env["acc.counter.period"].create(
{
"acc_counter_id": counter_id.id,
......@@ -261,8 +263,12 @@ class AccOperation(models.Model):
message += (
"<h1>Fin appel API Périmètre: " + str(fields.Datetime.now()) + "</h1>"
)
self.perimeter_api_log = message
self.perimeter_impacted_prm = "<br/>".join(counter_used)
if send_mail:
self.send_new_prm_email()
return message
# ------------------------------------------------------
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter