diff options
Diffstat (limited to 'ishtar/furnitures')
| -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  | 
