summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
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
commit241354cc20c9f2c19a73930d9d25bec38829bf52 (patch)
tree5e22b6d112283ce6eea1dd940890889c7fff6188 /ishtar_common/wizards.py
parentbddadc1eec4f477ff85e666e009382a274ac1103 (diff)
downloadIshtar-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.py16
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):