From 13531adff386cc09c7f41c02ba7c116575cb6ee1 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 28 Nov 2018 18:51:28 +0100 Subject: Treatments: better management of merge - tests --- archaeological_finds/wizards.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'archaeological_finds/wizards.py') diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py index 8ed7061e2..43f48ab59 100644 --- a/archaeological_finds/wizards.py +++ b/archaeological_finds/wizards.py @@ -246,12 +246,18 @@ class TreatmentN1Wizard(TreatmentBase): def _update_char_initial_from_finds(self, initial, find, k, sep=' ; '): r_k = "resulting_" + k - if not getattr(find, k): + value = getattr(find, k) + if not value: return initial + value = value.strip() if not initial[r_k]: - initial[r_k] = getattr(find, k) + initial[r_k] = value else: - initial[r_k] += sep + getattr(find, k) + # new value is entirely inside the current value + if value == initial[r_k] or (value + sep) in initial[r_k] or \ + (sep + value) in initial[r_k]: + return initial + initial[r_k] += sep + value return initial def get_form_initial(self, step, data=None): -- cgit v1.2.3