Skip to content
Extraits de code Groupes Projets
Valider 67a007ab rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[UPD] CRON function to let search by date

parent 51273729
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -80,15 +80,22 @@ class ScopProcedureCollective(models.Model): ...@@ -80,15 +80,22 @@ class ScopProcedureCollective(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# CRON # CRON
# ------------------------------------------------------ # ------------------------------------------------------
def cron_update_from_bodacc(self, since_days=1, init_year=False): def cron_update_from_bodacc(
self, since_days=1, init_year=False, date_begin=False, date_end=False
):
""" """
Update list from bodacc API. Update list from bodacc API.
If no data get all from 01/01/2023 else from yesterday :param since_days int: nombre de jours à soustraire depuis aujourd'hui
:param init_year int: année pour l'initialisation
:param date_begin date: date de début si spécifiée
:param date_end date: date de début si spécifiée
""" """
if init_year: if init_year:
since_days = (date.today() - date(year=init_year, month=1, day=1)).days begin_year = date(year=init_year, month=1, day=1)
if not self.search([("date_parution", ">=", begin_year)]):
since_days = (date.today() - begin_year).days
datas = self.get_scop_datas(since_days) datas = self.get_scop_datas(since_days, date_begin, date_end)
# Suppression des doublons # Suppression des doublons
reduced_data = [] reduced_data = []
for d in datas: for d in datas:
...@@ -111,10 +118,21 @@ class ScopProcedureCollective(models.Model): ...@@ -111,10 +118,21 @@ class ScopProcedureCollective(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Business functions # Business functions
# ------------------------------------------------------ # ------------------------------------------------------
def get_scop_datas(self, since_days): def get_scop_datas(self, since_days=1, date_begin=False, date_end=False):
"""
Renvoie les données du Bodacc pour les coopératives
:param since_days int: nombre de jours à soustraire depuis aujourd'hui
:param date_begin date: date de début si spécifiée
:param date_end date: date de début si spécifiée
@returns json result
"""
result = [] result = []
if date_begin and date_end:
last_week_interval = date_begin, date_end
else:
last_week_interval = self._get_last_week_interval(since_days) last_week_interval = self._get_last_week_interval(since_days)
partner_sirens = ( partner_sirens = (
self.env["res.partner"] self.env["res.partner"]
.search( .search(
...@@ -180,6 +198,6 @@ class ScopProcedureCollective(models.Model): ...@@ -180,6 +198,6 @@ class ScopProcedureCollective(models.Model):
if days < 0: if days < 0:
raise ValueError("Days must be greater than 0") raise ValueError("Days must be greater than 0")
if days == 0: if days == 0:
return (d, d) return d, d
d_delta = d - timedelta(days=days) d_delta = d - timedelta(days=days)
return (d_delta, d) return d_delta, d
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