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

[FIX] manage errors

parent b1413ad4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -7,7 +7,7 @@ from dateutil import tz ...@@ -7,7 +7,7 @@ from dateutil import tz
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from odoo import _, fields, models from odoo import _, fields, models
from odoo.exceptions import UserError from odoo.exceptions import UserError, ValidationError
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
...@@ -280,7 +280,7 @@ class AccOperation(models.Model): ...@@ -280,7 +280,7 @@ class AccOperation(models.Model):
list_injection = [] list_injection = []
list_soutirage = [] list_soutirage = []
for usage_point in usage_points: for usage_point in sorted(usage_points, key=lambda p: date.fromisoformat(p["start"])):
usage_point_start = date.fromisoformat(usage_point["start"]) usage_point_start = date.fromisoformat(usage_point["start"])
usage_point_end = ( usage_point_end = (
date.fromisoformat(usage_point["end"]) date.fromisoformat(usage_point["end"])
...@@ -303,7 +303,6 @@ class AccOperation(models.Model): ...@@ -303,7 +303,6 @@ class AccOperation(models.Model):
) )
counter_id = self.env["acc.counter"].search( counter_id = self.env["acc.counter"].search(
[ [
("acc_operation_id", "=", self.id),
("name", "=", usage_point["usage_point_id"]), ("name", "=", usage_point["usage_point_id"]),
] ]
) )
...@@ -328,6 +327,7 @@ class AccOperation(models.Model): ...@@ -328,6 +327,7 @@ class AccOperation(models.Model):
"fin différente, mise à jour date de fin<br/>" "fin différente, mise à jour date de fin<br/>"
) )
else: else:
try:
self.env["acc.counter.period"].create( self.env["acc.counter.period"].create(
{ {
"acc_counter_id": counter_id.id, "acc_counter_id": counter_id.id,
...@@ -340,6 +340,12 @@ class AccOperation(models.Model): ...@@ -340,6 +340,12 @@ class AccOperation(models.Model):
message += ( message += (
"période inexistante avec les mêmes dates : création<br/>" "période inexistante avec les mêmes dates : création<br/>"
) )
except ValidationError as e:
message += (
"<strong>erreur lors de la tentative de création d'une nouvelle période, à vérifier manuellement :</strong><br/>"
+ str(e) + "<br/>"
)
elif len(counter_id) > 1: elif len(counter_id) > 1:
message += "Plusieurs PRMs trouvés avec ce numéro - pas de modif<br/>" message += "Plusieurs PRMs trouvés avec ce numéro - pas de modif<br/>"
else: else:
...@@ -353,6 +359,7 @@ class AccOperation(models.Model): ...@@ -353,6 +359,7 @@ class AccOperation(models.Model):
or self.date_start_contract > usage_point_start or self.date_start_contract > usage_point_start
): ):
self.date_start_contract = usage_point_start self.date_start_contract = usage_point_start
try:
counter_id = self.env["acc.counter"].create( counter_id = self.env["acc.counter"].create(
{ {
"name": usage_point["usage_point_id"], "name": usage_point["usage_point_id"],
...@@ -368,6 +375,11 @@ class AccOperation(models.Model): ...@@ -368,6 +375,11 @@ class AccOperation(models.Model):
} }
) )
message += "Fin de la création du PRM<br/>" message += "Fin de la création du PRM<br/>"
except ValidationError as e:
message += (
"<strong>erreur lors de la tentative de création d'un PRM et/ou "
"d'une nouvelle période, à vérifier manuellement :<strong><br/>" + str(e) + "<br/>"
)
if usage_point_prm_type == "injection": if usage_point_prm_type == "injection":
if usage_point["usage_point_id"] not in list_injection: if usage_point["usage_point_id"] not in list_injection:
list_injection.append(usage_point["usage_point_id"]) list_injection.append(usage_point["usage_point_id"])
......
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