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

Merge pull request #22741 from netbox-community/22697-using-cancel-button-in-add-script-screen-returns-to-root

Fixes #22697: Return to Scripts list when canceling ScriptModule creation
bctiemann 1 неделя назад
Родитель
Сommit
1860713156
2 измененных файлов с 15 добавлено и 0 удалено
  1. 14 0
      netbox/extras/tests/test_views.py
  2. 1 0
      netbox/extras/views.py

+ 14 - 0
netbox/extras/tests/test_views.py

@@ -1148,6 +1148,20 @@ class ScriptListViewTestCase(TestCase):
         self.assertTemplateUsed(response, 'extras/inc/script_list_content.html')
 
 
+class ScriptModuleCreateViewTestCase(TestCase):
+    user_permissions = ['core.add_managedfile', 'extras.add_scriptmodule']
+
+    @tag('regression')
+    def test_default_return_url(self):
+        """
+        The add view should fall back to the scripts list as its return URL.
+        """
+        response = self.client.get(reverse('extras:scriptmodule_add'))
+
+        self.assertEqual(response.status_code, 200)
+        self.assertEqual(response.context['return_url'], reverse('extras:script_list'))
+
+
 class ScriptValidationErrorTestCase(TestCase):
     user_permissions = ['extras.view_script', 'extras.run_script']
 

+ 1 - 0
netbox/extras/views.py

@@ -1637,6 +1637,7 @@ class DashboardWidgetDeleteView(LoginRequiredMixin, View):
 class ScriptModuleCreateView(generic.ObjectEditView):
     queryset = ScriptModule.objects.all()
     form = forms.ScriptFileForm
+    default_return_url = 'extras:script_list'
 
     def alter_object(self, obj, *args, **kwargs):
         obj.file_root = ManagedFileRootPathChoices.SCRIPTS