From 86ea33bbce93d52bb795efcfb9b669c946562b0c Mon Sep 17 00:00:00 2001
From: Philip Sargent <philip.sargent@klebos.com>
Date: Tue, 20 Sep 2022 23:06:45 +0300
Subject: [PATCH] Correct and validate JSON dates when they are read from file

---
 core/models/survex.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/core/models/survex.py b/core/models/survex.py
index 1146704..6977cb7 100644
--- a/core/models/survex.py
+++ b/core/models/survex.py
@@ -239,7 +239,20 @@ class Wallet(models.Model):
         if not self.get_json():
             return None
         jsondata = self.get_json()
-        return jsondata["date"]
+
+        datestr = jsondata["date"]
+        if not datestr:
+            return None
+        else:
+            datestr = datestr.replace('.','-')    
+            try:
+                samedate = datetime.date.fromisoformat(datestr)
+            except:
+                try:
+                    samedate = datetime.date.fromisoformat(datestr[:10])
+                except:
+                    samedate = None
+            return samedate.isoformat()
         
     def people(self):
         if not self.get_json():