Sélectionner une révision Git
acc_operation_wizard_confirm.py 2,76 Kio
# Copyright 2023 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class AccOperationWizardConfirm(models.TransientModel):
_name = "acc.operation.wizard.confirm"
_description = "Confirmation récupération des données vie API"
# ------------------------------------------------------
# Fields declaration
# ------------------------------------------------------
operation_id = fields.Many2one("acc.operation")
date_start = fields.Date("Date de début")
date_end = fields.Date("Date de fin")
prm_cons_ids = fields.Many2many(
"acc.counter",
relation="acc_counter_cons_confirm_rel",
column1="cons_id",
column2="op_id",
domain=[("is_delivery", "=", True)],
string="PRM de soutirage",
)
prm_prod_ids = fields.Many2many(
"acc.counter",
relation="acc_counter_prod_confirm_rel",
column1="prod_id",
column2="op_id",
domain=[("is_injection", "=", True)],
string="PRM d'injection",
)
rec_ids = fields.Many2many("acc.enedis.cdc", string="Records")
mess = fields.Text(
string="Message",
)
# ------------------------------------------------------
# SQL Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# Default methods
# ------------------------------------------------------
# ------------------------------------------------------
# Computed fields / Search Fields
# ------------------------------------------------------
# ------------------------------------------------------
# Onchange / Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# CRUD methods (ORM overrides)
# ------------------------------------------------------
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
def get_valid(self):
# Suppression des enregistrements existants
self.rec_ids.unlink()
# Appels API
# Si date présente, appel pour la période
if not self.date_start:
self.operation_id.curves(
self.date_start, self.date_end, self.prm_cons_ids, self.prm_prod_ids
)
else:
# Pas de date renseignée, récupération de toutes les données
self.operation_id.get_curves_all()
return {"type": "ir.actions.act_window_close"}
# ------------------------------------------------------
# Business methods
# ------------------------------------------------------