From de81efaac9f8349141cf3c642eeaca0496d8ece0 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