فهرست منبع

16992 remove TODO for NetBox 4.1 (#16993)

* 16992 remove TODO for NetBox 4.1

* 16992 fix custom validator

* Remove obsolete LegacyScriptRedirectView

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
Arthur Hanson 1 سال پیش
والد
کامیت
0a1ce79154

+ 1 - 1
netbox/extras/tests/test_customvalidators.py

@@ -14,7 +14,7 @@ from utilities.request import NetBoxFakeRequest
 
 
 class MyValidator(CustomValidator):
 class MyValidator(CustomValidator):
 
 
-    def validate(self, instance):
+    def validate(self, instance, request):
         if instance.name != 'foo':
         if instance.name != 'foo':
             self.fail("Name must be foo!")
             self.fail("Name must be foo!")
 
 

+ 0 - 5
netbox/extras/urls.py

@@ -139,11 +139,6 @@ urlpatterns = [
     path('scripts/<int:pk>/jobs/', views.ScriptJobsView.as_view(), name='script_jobs'),
     path('scripts/<int:pk>/jobs/', views.ScriptJobsView.as_view(), name='script_jobs'),
     path('script-modules/<int:pk>/', include(get_model_urls('extras', 'scriptmodule'))),
     path('script-modules/<int:pk>/', include(get_model_urls('extras', 'scriptmodule'))),
 
 
-    # Redirects for legacy script URLs
-    # TODO: Remove in NetBox v4.1
-    path('scripts/<str:module>/<str:name>/', views.LegacyScriptRedirectView.as_view()),
-    path('scripts/<str:module>/<str:name>/<path:path>/', views.LegacyScriptRedirectView.as_view()),
-
     # Markdown
     # Markdown
     path('render/markdown/', views.RenderMarkdownView.as_view(), name="render_markdown"),
     path('render/markdown/', views.RenderMarkdownView.as_view(), name="render_markdown"),
 ]
 ]

+ 1 - 7
netbox/extras/validators.py

@@ -123,13 +123,7 @@ class CustomValidator:
                     )
                     )
 
 
         # Execute custom validation logic (if any)
         # Execute custom validation logic (if any)
-        # TODO: Remove in v4.1
-        # Inspect the validate() method, which may have been overridden, to determine
-        # whether we should pass the request (maintains backward compatibility for pre-v4.0)
-        if 'request' in inspect.signature(self.validate).parameters:
-            self.validate(instance, request)
-        else:
-            self.validate(instance)
+        self.validate(instance, request)
 
 
     @staticmethod
     @staticmethod
     def _get_request_attr(request, name):
     def _get_request_attr(request, name):

+ 0 - 19
netbox/extras/views.py

@@ -1234,25 +1234,6 @@ class ScriptJobsView(BaseScriptView):
         })
         })
 
 
 
 
-class LegacyScriptRedirectView(ContentTypePermissionRequiredMixin, View):
-    """
-    Redirect legacy (pre-v4.0) script URLs. Examples:
-        /extras/scripts/<module>/<name>/         -->  /extras/scripts/<id>/
-        /extras/scripts/<module>/<name>/source/  -->  /extras/scripts/<id>/source/
-        /extras/scripts/<module>/<name>/jobs/    -->  /extras/scripts/<id>/jobs/
-    """
-    def get_required_permission(self):
-        return 'extras.view_script'
-
-    def get(self, request, module, name, path=''):
-        module = get_object_or_404(ScriptModule.objects.restrict(request.user), file_path__regex=f"^{module}\\.")
-        script = get_object_or_404(Script.objects.all(), module=module, name=name)
-
-        url = reverse('extras:script', kwargs={'pk': script.pk})
-
-        return redirect(f'{url}{path}')
-
-
 class ScriptResultView(TableMixin, generic.ObjectView):
 class ScriptResultView(TableMixin, generic.ObjectView):
     queryset = Job.objects.all()
     queryset = Job.objects.all()
 
 

+ 0 - 4
netbox/netbox/constants.py

@@ -1,7 +1,3 @@
-# Prefix for nested serializers
-# TODO: Remove in v4.1
-NESTED_SERIALIZER_PREFIX = 'Nested'
-
 # RQ queue names
 # RQ queue names
 RQ_QUEUE_DEFAULT = 'default'
 RQ_QUEUE_DEFAULT = 'default'
 RQ_QUEUE_HIGH = 'high'
 RQ_QUEUE_HIGH = 'high'

+ 0 - 5
netbox/utilities/forms/fields/dynamic.py

@@ -113,11 +113,6 @@ class DynamicModelChoiceMixin:
         for var, accessor in self.context.items():
         for var, accessor in self.context.items():
             attrs[f'ts-{var}-field'] = accessor
             attrs[f'ts-{var}-field'] = accessor
 
 
-        # TODO: Remove in v4.1
-        # Legacy means of specifying the disabled indicator
-        if self.disabled_indicator is not None:
-            attrs['ts-disabled-field'] = self.disabled_indicator
-
         # Attach any static query parameters
         # Attach any static query parameters
         if len(self.query_params) > 0:
         if len(self.query_params) > 0:
             widget.add_query_params(self.query_params)
             widget.add_query_params(self.query_params)

+ 0 - 9
netbox/utilities/templatetags/form_helpers.py

@@ -54,15 +54,6 @@ def render_fieldset(form, fieldset):
     """
     """
     Render a group set of fields.
     Render a group set of fields.
     """
     """
-    # TODO: Remove in NetBox v4.1
-    # Handle legacy tuple-based fieldset definitions, e.g. (_('Label'), ('field1, 'field2', 'field3'))
-    if type(fieldset) is not FieldSet:
-        warnings.warn(
-            f"{form.__class__} fieldsets contains a non-FieldSet item: {fieldset}"
-        )
-        name, fields = fieldset
-        fieldset = FieldSet(*fields, name=name)
-
     rows = []
     rows = []
     for item in fieldset.items:
     for item in fieldset.items: