diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index f04e96bba..1fefd2689 100644 --- a/netbox/extras/tests/test_views.py +++ b/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'] diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 858c0dd63..8ce407e9b 100644 --- a/netbox/extras/views.py +++ b/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