diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-09-02 20:40:23 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-09-02 20:40:23 +0200 | 
| commit | 167ebb475f74e5a43a58f45d968589ce5b67c8ad (patch) | |
| tree | 0fdcaf80aa168175feab0f0786a4eec654487f66 /ishtar/ishtar_base/forms.py | |
| parent | 3b134c6089abb62b51d0eb088cac038d5323891b (diff) | |
| download | Ishtar-167ebb475f74e5a43a58f45d968589ce5b67c8ad.tar.bz2 Ishtar-167ebb475f74e5a43a58f45d968589ce5b67c8ad.zip | |
Add a "Validate and end" button for modifications (closes #438)
Diffstat (limited to 'ishtar/ishtar_base/forms.py')
| -rw-r--r-- | ishtar/ishtar_base/forms.py | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py index 287a181f4..01b1b9dfd 100644 --- a/ishtar/ishtar_base/forms.py +++ b/ishtar/ishtar_base/forms.py @@ -143,8 +143,8 @@ class Wizard(NamedUrlSessionFormWizard):          context.update({'previous_steps':previous_steps,                          'previous_step_counter':previous_step_counter})          # if modification: show the next steps -        next_step = step          if self.modification: +            next_step = step              while next_step:                  # check if the form is initialized otherwise initialize it                  if not storage.get_step_data(next_step): @@ -506,13 +506,23 @@ class Wizard(NamedUrlSessionFormWizard):      def render_next_step(self, request, storage, form, **kwargs):          """ -        Manage the modify or delete button in formset: next_step = current_step +        Manage: +         - modify or delete button in formset: next step = current step +         - validate and end: nextstep = last step          """          if request.POST.has_key('formset_modify') \             and request.POST['formset_modify'] \             or [key for key in request.POST.keys()                 if key.endswith('DELETE') and request.POST[key]]:              return self.render(request, storage, form, **kwargs) +        elif request.POST.has_key('validate_and_end') \ +           and request.POST['validate_and_end']: +            last_step = self.get_last_step(request, storage) +            new_form = self.get_form(request, storage, last_step, +                data=storage.get_step_data(last_step), +                files=storage.get_step_files(last_step)) +            storage.set_current_step(last_step) +            return self.render(request, storage, new_form, **kwargs)          return super(Wizard, self).render_next_step(request, storage, form,                                                      **kwargs) | 
