Просмотр исходного кода

Fixes #19990: add optional return_url parameter to "Add" button for missing prerequisites (#20128)

Tomas Neuner 5 месяцев назад
Родитель
Сommit
db1786c385

+ 1 - 1
netbox/templates/inc/missing_prerequisites.html

@@ -10,7 +10,7 @@
       {% endblocktrans %}
     </div>
     <div>
-      {% add_button prerequisite_model %}
+      {% add_button prerequisite_model request.path %}
     </div>
   </div>
 </div>

+ 5 - 5
netbox/utilities/templates/buttons/add.html

@@ -1,6 +1,6 @@
 {% if url %}
-{% load i18n %}
-  <a href="{{ url }}" type="button" class="btn btn-primary">
-    <i class="mdi mdi-plus-thick"></i> {% trans "Add" %}
-  </a>
-{% endif %}
+    {% load i18n %}
+    <a href="{{ url }}{% if return_url %}?return_url={{ return_url }}{% endif %}" type="button" class="btn btn-primary">
+        <i class="mdi mdi-plus-thick"></i> {% trans "Add" %}
+    </a>
+{% endif %}

+ 2 - 1
netbox/utilities/templatetags/buttons.py

@@ -146,7 +146,7 @@ def sync_button(instance):
 #
 
 @register.inclusion_tag('buttons/add.html')
-def add_button(model, action='add'):
+def add_button(model, return_url=None, action='add'):
     try:
         url = reverse(get_viewname(model, action))
     except NoReverseMatch:
@@ -154,6 +154,7 @@ def add_button(model, action='add'):
 
     return {
         'url': url,
+        'return_url': return_url,
     }