diff --git a/models/acc_operation.py b/models/acc_operation.py index 1dbfd7cceaf98a35dd58df6e7eb435cc516146a3..156181b85971652f900913957384858458b275d8 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -132,7 +132,7 @@ class AccOperation(models.Model): la sommme de la prod totale de tous les producteurs la date de début de mois """ - # Récupère les dates du dernier mois disponible + # Get last date slot recorded last_record = self.get_the_last_day() date_start, date_end = self.get_last_day("month", last_record) query = """ @@ -185,7 +185,7 @@ class AccOperation(models.Model): """ # Get last date slot recorded - last_record = self.env["acc.enedis.cdc"].search( + last_record = self.env["acc.enedis.cdc"].sudo().search( [ ("acc_operation_id", "in", self.ids), ], @@ -201,7 +201,8 @@ class AccOperation(models.Model): def get_last_day(self, scale, last_record): """ Fonction retournant une date de début et une date de fin. - Ces dates sont calculées en fonction de l'échelle choisie + Ces dates sont calculées en fonction de l'échelle choisie et du dernier + élément enregistré - day: la date de début est égale à la dernière date avec un enreisgtrement pour l'opération donnée la date de fin ets la date de début + 1 @@ -223,20 +224,10 @@ class AccOperation(models.Model): avec un enreisgtrement pour l'opération donnée :param scale: type d'affichage des graphes (day/week/month/semestre/year) + last_record: Dernier enregistrement dans la base :return: une date de début et une date de fin """ - # Get last date slot recorded - # last_record = self.env["acc.enedis.cdc"].search( - # [ - # ("acc_operation_id", "in", self.ids), - # ], - # limit=1, - # order="date_slot DESC", - # ) - # - # if not last_record: - # raise ValidationError(_("L'opération ne possède pas de données")) # Convert end datetime to timezone last_day_start = last_record.date_slot.replace(hour=0, minute=0, second=0) last_day_end = last_day_start + relativedelta(days=1) @@ -275,7 +266,7 @@ class AccOperation(models.Model): """ # Get last date slot recorded - first_record = self.env["acc.enedis.cdc"].search( + first_record = self.env["acc.enedis.cdc"].sudo().search( [ ("acc_operation_id", "in", self.ids), ],