From e5ba6d1915de80db9145cafed8a9be3b97a859b6 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 24 May 2018 16:26:05 +0200 Subject: Wizards - JSON fields: tests (refs #4089) --- ishtar_common/wizards.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'ishtar_common/wizards.py') diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 40044f100..a6d0befd5 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -600,7 +600,7 @@ class Wizard(NamedUrlWizardView): dct = self.get_extra_model(dct, form_list) obj = self.get_current_saved_object() data = {} - if obj: + if obj and hasattr(obj, 'data'): data = obj.data # manage dependant items and json fields @@ -647,7 +647,8 @@ class Wizard(NamedUrlWizardView): elif type(dct[k]) not in (list, tuple): dct[k] = [dct[k]] setattr(obj, k, dct[k]) - obj.data = data + if hasattr(obj, 'data'): + obj.data = data if hasattr(obj, 'pre_save'): obj.pre_save() try: @@ -732,7 +733,8 @@ class Wizard(NamedUrlWizardView): except ValidationError as e: logger.warning(unicode(e)) return self.render(form_list[-1]) - obj.data = data + if hasattr(obj, 'data'): + obj.data = data obj.save(**saved_args) for k in adds: getattr(obj, k).add(adds[k]) @@ -1267,7 +1269,7 @@ class Wizard(NamedUrlWizardView): initial = MultiValueDict() # manage json field - if hasattr(self, 'json_fields') \ + if hasattr(obj, 'data') and obj.data and hasattr(self, 'json_fields') \ and getattr(c_form, 'form_slug', None) \ and c_form.form_slug in self.json_fields \ and obj.data: -- cgit v1.2.3