summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelog/en/changelog_2022-06-15.md16
-rw-r--r--changelog/fr/changelog_2025-06-19.md16
-rw-r--r--ishtar_common/data_importer.py27
-rw-r--r--ishtar_common/version.py4
4 files changed, 57 insertions, 6 deletions
diff --git a/changelog/en/changelog_2022-06-15.md b/changelog/en/changelog_2022-06-15.md
index b0d5c4cfa..d69fdb6c3 100644
--- a/changelog/en/changelog_2022-06-15.md
+++ b/changelog/en/changelog_2022-06-15.md
@@ -1,3 +1,19 @@
+v4.99.36 - 2026-05-22
+---------------------
+
+### Bug fixes ###
+- imports: fix update
+
+
+v4.99.35 - 2026-05-22
+---------------------
+
+### Technical ###
+- templates:
+ - year filter for dates
+ - improve and add fields for documents
+
+
v4.99.34 - 2026-05-20
---------------------
diff --git a/changelog/fr/changelog_2025-06-19.md b/changelog/fr/changelog_2025-06-19.md
index c12804575..f013ec912 100644
--- a/changelog/fr/changelog_2025-06-19.md
+++ b/changelog/fr/changelog_2025-06-19.md
@@ -1,3 +1,19 @@
+v4.99.36 - 2026-05-22
+---------------------
+
+### Correction de dysfonctionnements ###
+- imports : corrections sur les mises à jour
+
+
+v4.99.35 - 2026-05-22
+---------------------
+
+### Technique ###
+- gabarits :
+ - filtre d'année pour les dates
+ - amélioration et ajout de champs pour les documents
+
+
v4.99.34 - 2026-05-20
---------------------
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index 33fa2f295..398ca6e14 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -1951,19 +1951,21 @@ class Importer:
else:
self.new_objects.append((path, cls, new_dct))
else:
- # manage UNICITY_KEYS - only level 1
+ new_values = {}
+ # manage UNICITY_KEYS - only level 1 -> no path
if not path and self.UNICITY_KEYS:
get_by_unicity_key = True
for k in list(dct.keys()):
if k not in self.UNICITY_KEYS and k != "defaults":
if dct[k]:
- defaults[k] = dct.pop(k)
+ new_values[k] = dct.pop(k)
else:
dct.pop(k)
if "get_default" in dct and dct["get_default"]:
dct.pop("get_default")
new_dct = defaults.copy()
new_dct.update(dct)
+ new_dct.update(new_values)
dct = new_dct
if self.simulate:
@@ -1996,7 +1998,7 @@ class Importer:
self.updated_objects.append([path, q.all()[0], dct, {}])
dct["defaults"] = defaults.copy()
else:
- if not dct and not defaults:
+ if not dct and not defaults and not new_values:
obj = None
else:
if (
@@ -2009,6 +2011,7 @@ class Importer:
else:
created = True
new_dct = dct.copy()
+ new_dct.update(new_values)
for k in defaults:
if k not in dct:
new_dct[k] = defaults[k]
@@ -2045,7 +2048,23 @@ class Importer:
if k in self.concat_str:
sep = self.concat_str[k]
updated_dct[k] = val + sep + new_val
- else: # TODO: manage conservative
+ for k in new_values:
+ new_val = new_values[k]
+ if new_val is None or new_val == "":
+ continue
+ val = getattr(obj, k)
+ if obj and k == "data":
+ updated_dct[k] = update_data(obj.data, new_val)
+ elif (
+ k in self.concats
+ and type(val) == str
+ and type(new_val) == str
+ ):
+ sep = ""
+ if k in self.concat_str:
+ sep = self.concat_str[k]
+ updated_dct[k] = val + sep + new_val
+ else:
updated_dct[k] = new_val
if updated_dct:
if self.simulate:
diff --git a/ishtar_common/version.py b/ishtar_common/version.py
index f259bdc1f..925e3b5d9 100644
--- a/ishtar_common/version.py
+++ b/ishtar_common/version.py
@@ -1,5 +1,5 @@
-# 4.99.34
-VERSION = (4, 99, 34)
+# 4.99.36
+VERSION = (4, 99, 36)
def get_version():