From 7afc83a67ce9610df69d34cc394254fccf513adf Mon Sep 17 00:00:00 2001 From: Daniil Digtyar Vasilieva <daniildigtyar@gmail.com> Date: Wed, 19 Jul 2023 12:52:20 +0200 Subject: [PATCH] [IMP] energy_selfconsumption: validation of format in effective date --- .../wizards/selfconsumption_import_wizard.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/energy_selfconsumption/wizards/selfconsumption_import_wizard.py b/energy_selfconsumption/wizards/selfconsumption_import_wizard.py index 0094a5a3d..8d7ad445a 100644 --- a/energy_selfconsumption/wizards/selfconsumption_import_wizard.py +++ b/energy_selfconsumption/wizards/selfconsumption_import_wizard.py @@ -71,7 +71,7 @@ class SelfconsumptionImportWizard(models.TransientModel): def get_line_dict(self, line): return { "partner_vat": line[0] or False, - "effective_date": line[1] or fields.date.today(), + "effective_date": line[1] or False, "code": line[2] or False, "street": line[3] or False, "street2": line[4] or False, @@ -124,12 +124,21 @@ class SelfconsumptionImportWizard(models.TransientModel): if not project.inscription_ids.filtered_domain( [("partner_id", "=", partner.id)] ): + if line_dict["effective_date"]: + try: + effective_date_iso = fields.date.fromisoformat(line_dict["effective_date"]) + except ValueError as e: + return False, _("Could not create inscription for {vat}. {error}").format( + vat=line_dict["partner_vat"], error=e + ) + else: + effective_date_iso = fields.date.today() try: self.env["energy_project.inscription"].create( { "project_id": project.id, "partner_id": partner.id, - "effective_date": line_dict["effective_date"], + "effective_date": effective_date_iso, } ) except Exception as e: -- GitLab