diff options
Diffstat (limited to 'ishtar/ishtar_base/forms.py')
-rw-r--r-- | ishtar/ishtar_base/forms.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py index 9d106aed0..d5811f38e 100644 --- a/ishtar/ishtar_base/forms.py +++ b/ishtar/ishtar_base/forms.py @@ -332,6 +332,10 @@ class Wizard(NamedUrlSessionFormWizard): if k.startswith('pk'): continue setattr(obj, k, dct[k]) + try: + obj.full_clean() + except ValidationError, msg: + return self.render(request, storage, form_list[-1]) for dependant_item in other_objs: c_item = getattr(obj, dependant_item) # manage ManyToMany if only one associated @@ -368,8 +372,11 @@ class Wizard(NamedUrlSessionFormWizard): dct[dependant_item] = c_item if 'pk' in dct: dct.pop('pk') - print self.get_saved_model() obj = self.get_saved_model()(**dct) + try: + obj.full_clean() + except ValidationError, msg: + return self.render(request, storage, form_list[-1]) obj.save() for k in adds: getattr(obj, k).add(adds[k]) |