diff options
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r-- | ishtar/furnitures/forms.py | 23 |
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 |