Skip to content
Extraits de code Groupes Projets
Valider 5e0af90a rédigé par Juliana's avatar Juliana
Parcourir les fichiers

[ADD]Add functionality to get all data from enedis

parent 1131846e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -88,6 +88,22 @@ class AccOperation(models.Model):
# lancement de la file d'attente
batch.enqueue()
def get_curves_all(self, date_start):
# Calcul du nombre de mois entre la date de début de contrat
# de l'opération et la date du jour pour lancer la récupération des données
num_months = (date.today().year - date_start.year) * 12 + (
date.today().month - date_start.month)
date_start_it = date_start
date_end_it = date_start + relativedelta(months=1, days=-1)
i = 1
while i < num_months:
self.get_curves(date_start_it, date_end_it)
date_start_it = date_start + relativedelta(months=1)
date_end_it = date_start_it + relativedelta(months=1, days=-1)
i += 1
def get_perimeter(self):
for operation in self:
operation.perimeter()
......
......@@ -39,6 +39,8 @@ class AccOperationWizard(models.TransientModel):
# Actions
# ------------------------------------------------------
def get_curves(self):
if not self.date_end and not self.date_start:
raise UserError(_("Les champs Date de début et Date de fin sont obligatoires"))
if (self.date_end - self.date_start).days > 31:
raise UserError(_("L'intervalle de temps ne doit pas dépasser 31 Jours"))
context = dict(self._context or {})
......@@ -48,6 +50,19 @@ class AccOperationWizard(models.TransientModel):
)
return {"type": "ir.actions.act_window_close"}
def get_curves_all(self):
context = dict(self._context or {})
if context.get("active_ids", False):
op = self.env["acc.operation"].browse(context.get("active_ids"))
if not op.date_start_contract:
raise UserError(
_("Renseigner une date de début de contrat pour pouvoir récupérer les courbes à partie de cette date."))
date_start = op.date_start_contract
self.env["acc.operation"].browse(context.get("active_ids")).get_curves_all(
date_start
)
return {"type": "ir.actions.act_window_close"}
# ------------------------------------------------------
# Business methods
# ------------------------------------------------------
......@@ -7,8 +7,8 @@
<field name="arch" type="xml">
<form string="Choix de la période">
<group name="period" string="Période" col="2">
<field name="date_start" required="1" />
<field name="date_end" required="1" />
<field name="date_start"/>
<field name="date_end"/>
</group>
<footer>
<button
......@@ -17,6 +17,12 @@
string="Récupérer"
type="object"
/>
<button
class="btn btn-sm btn-primary"
name="get_curves_all"
string="Récupérer depuis le début"
type="object"
/>
<button
class="btn btn-sm btn-default"
special="cancel"
......
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