From 973af5854de4a9fa3a9f5bd3bca8c7b342ff71e9 Mon Sep 17 00:00:00 2001
From: "Antoine (ande)" <ande@odoo.com>
Date: Tue, 29 Aug 2023 09:59:03 +0200
Subject: [PATCH] [FIX] base_import: cannot import midnight date
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Steps to reproduce:
1. Install hr_attendance
2. Go to attendances
3. Select any line
4. Change the check-out date to next day
5. Change the check-out time to 00:00:00
6. Export that line, file format xlsx
7. Favorites > import records
8. Upload the exported file > Test
9. Column check_out contains incorrect values.
Error in line 2: unconverted data remains: 2023-06-11

Cause of the issue:
options.get('date_format') is empty

opw-3374883

closes odoo/odoo#133424

Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
---
 addons/base_import/models/base_import.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/addons/base_import/models/base_import.py b/addons/base_import/models/base_import.py
index 5c3e26731f54..d272cf84fd44 100644
--- a/addons/base_import/models/base_import.py
+++ b/addons/base_import/models/base_import.py
@@ -1192,8 +1192,8 @@ class Import(models.TransientModel):
     def _parse_date_from_data(self, data, index, name, field_type, options):
         dt = datetime.datetime
         fmt = fields.Date.to_string if field_type == 'date' else fields.Datetime.to_string
-        d_fmt = options.get('date_format')
-        dt_fmt = options.get('datetime_format')
+        d_fmt = options.get('date_format') or DEFAULT_SERVER_DATE_FORMAT
+        dt_fmt = options.get('datetime_format') or DEFAULT_SERVER_DATETIME_FORMAT
         for num, line in enumerate(data):
             if not line[index]:
                 continue
-- 
GitLab