diff options
Diffstat (limited to 'ishtar_common/wizards.py')
| -rw-r--r-- | ishtar_common/wizards.py | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 65a37a860..5eb8e0ad1 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -101,6 +101,15 @@ class IshtarWizard(NamedUrlWizardView):          context = super(IshtarWizard, self).get_context_data(form, **kwargs)          if hasattr(form, "extra_form_modals"):              context["extra_form_modals"] = form.extra_form_modals + +        open_item_id = self.request.GET.get('open_item', None) +        if open_item_id and self.model and \ +                getattr(self.model, "SHOW_URL", None): +            url = reverse(self.model.SHOW_URL, args=[open_item_id]) +            if not url.endswith("/"): +                url += "/" +            context["open_url"] = url +          return context @@ -944,6 +953,12 @@ class Wizard(IshtarWizard):              self.request.session[self.get_object_name(obj)] = str(obj.pk)          dct = {'item': obj}          self.current_object = obj + +        if self.redirect_url: +            return HttpResponseRedirect( +                reverse(self.redirect_url) + "?open_item={}".format(obj.pk) +            ) +          # force evaluation of lazy urls          wizard_done_window = str(self.wizard_done_window)          if wizard_done_window: @@ -1722,6 +1737,7 @@ class PersonWizard(Wizard):      wizard_templates = {          'identity-person_creation': "ishtar/wizard/wizard_person.html"}      wizard_done_window = reverse_lazy('show-person') +    redirect_url = "person_modification"  class PersonModifWizard(PersonWizard):  | 
