Cancel url for GAS views

This commit is contained in:
Ales (Shagi) Zabala Alava 2022-02-01 09:49:16 +01:00
parent c79dbc7cfa
commit 1d300c0b71
2 changed files with 10 additions and 3 deletions

View File

@ -20,7 +20,7 @@
<ul class="actions">
{% block form_actions %}
{% if not is_popup %}
<li><a href="{{ view.get_success_url }}">{% trans "Cancel" %}</a></li>
<li><a href="{{ view.get_cancel_url }}">{% trans "Cancel" %}</a></li>
{% endif %}
<li><button type="submit">{% trans "Save" %}</button>

View File

@ -6,7 +6,6 @@ from django.core.exceptions import ImproperlyConfigured
from django.db import router
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseBadRequest
from django.urls import reverse
from django.utils.encoding import force_text
from django.utils.html import escape, escapejs
from django.utils.text import capfirst
from django.utils.translation import gettext_lazy as _
@ -107,10 +106,18 @@ class GASMixin:
def get_success_message(self):
return self.success_message
def get_cancel_url(self):
if self.cancel_url:
# Forcing possible reverse_lazy evaluation
url = str(self.cancel_url)
return url
else:
return self.get_success_url()
def get_continue_url(self):
if self.continue_url:
# Forcing possible reverse_lazy evaluation
url = force_text(self.continue_url)
url = str(self.continue_url)
return url
else:
raise ImproperlyConfigured("No URL to redirect to. Provide a continue_url.")