diff options
| -rw-r--r-- | changelog/en/changelog_2022-06-15.md | 16 | ||||
| -rw-r--r-- | changelog/fr/changelog_2025-06-19.md | 16 | ||||
| -rw-r--r-- | ishtar_common/data_importer.py | 27 | ||||
| -rw-r--r-- | ishtar_common/version.py | 4 |
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(): |
