diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-13 19:29:09 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-13 19:29:09 +0200 |
commit | 241354cc20c9f2c19a73930d9d25bec38829bf52 (patch) | |
tree | 5e22b6d112283ce6eea1dd940890889c7fff6188 /ishtar_common/wizards.py | |
parent | bddadc1eec4f477ff85e666e009382a274ac1103 (diff) | |
download | Ishtar-241354cc20c9f2c19a73930d9d25bec38829bf52.tar.bz2 Ishtar-241354cc20c9f2c19a73930d9d25bec38829bf52.zip |
Redirect to search after Person edit
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): |