summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r--ishtar/furnitures/forms.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 8296175af..d0618ed36 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -258,8 +258,23 @@ class Wizard(NamedUrlSessionFormWizard):
return super(Wizard, self).process_post_request(request, storage, *args,
**kwargs)
-class FileWizard(Wizard):
- model = models.File
+ def get_form_initial(self, request, storage, step):
+ main_form_key = 'selec-' + self.url_name
+ pk = main_form_key + '-pk'
+ if storage.prefix in request.session \
+ and 'step_data' in request.session[storage.prefix] \
+ and main_form_key in request.session[storage.prefix]['step_data'] \
+ and pk in request.session[storage.prefix]['step_data']\
+ [main_form_key]:
+ try:
+ idx = int(request.session[storage.prefix]['step_data']
+ [main_form_key][pk])
+ current_obj = self.model.objects.get(pk=idx)
+ return self.get_instanced_init(current_obj, request, storage,
+ step)
+ except(TypeError, ObjectDoesNotExist):
+ pass
+ return super(FileWizard, self).get_form_initial(request, storage, step)
def get_instanced_init(self, obj, request, storage, step):
"""
@@ -298,6 +313,10 @@ class FileWizard(Wizard):
initial.append(vals)
return initial
+
+class FileWizard(Wizard):
+ model = models.File
+
def get_form(self, request, storage, step=None, data=None, files=None):
"""
Manage formset