summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-01-09 14:39:13 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-01-09 14:39:13 +0100
commit0b06c38e4928956a7d91513ef856c7b86633c75e (patch)
tree116e7d75dd02e0154e9211ce1400a3f9f02f86a3
parentdd3a5ccba4209a98fd6e7e747e73e54aaa6cfd9f (diff)
downloadIshtar-0b06c38e4928956a7d91513ef856c7b86633c75e.tar.bz2
Ishtar-0b06c38e4928956a7d91513ef856c7b86633c75e.zip
Reinitialize the modification form when the item is changed
-rw-r--r--ishtar/furnitures/forms.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 46a6f3075..50a433191 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -292,16 +292,17 @@ class Wizard(NamedUrlSessionFormWizard):
def get_form_initial(self, request, storage, step):
current_obj = self.get_current_object(request, storage)
- if current_obj:
- return self.get_instanced_init(current_obj, request, storage,
- step)
- elif step.startswith('selec-') and step in self.form_list \
+ if step.startswith('selec-') and step in self.form_list \
and 'pk' in self.form_list[step].associated_models:
model_name = self.form_list[step].associated_models['pk'
].__name__.lower()
+ self.reset_wizard(request, storage)
val = model_name in request.session and request.session[model_name]
if val:
return {'pk':val}
+ elif current_obj:
+ return self.get_instanced_init(current_obj, request, storage,
+ step)
return super(Wizard, self).get_form_initial(request, storage, step)
def get_instanced_init(self, obj, request, storage, step):