From 86809819906cc82b06e94a8e1b0fb2b4ab6ca8fd Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 9 Dec 2021 15:43:41 -0500 Subject: [PATCH] Closes #8031: Remove automatic redirection of legacy slug-based URLs --- docs/release-notes/version-3.2.md | 5 +++++ netbox/circuits/urls.py | 2 -- netbox/dcim/urls.py | 2 -- netbox/tenancy/urls.py | 2 -- netbox/utilities/views.py | 11 ----------- 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/docs/release-notes/version-3.2.md b/docs/release-notes/version-3.2.md index 2c4dafc5a..953ac36fe 100644 --- a/docs/release-notes/version-3.2.md +++ b/docs/release-notes/version-3.2.md @@ -5,6 +5,11 @@ !!! warning "Python 3.8 or Later Required" NetBox v3.2 requires Python 3.8 or later. +### Breaking Changes + +* Automatic redirection of legacy slug-based URL paths has been removed. + ### Other Changes * [#7731](https://github.com/netbox-community/netbox/issues/7731) - Require Python 3.8 or later +* [#8031](https://github.com/netbox-community/netbox/issues/8031) - Remove automatic redirection of legacy slug-based URLs diff --git a/netbox/circuits/urls.py b/netbox/circuits/urls.py index 1cea1965e..e634eeeb4 100644 --- a/netbox/circuits/urls.py +++ b/netbox/circuits/urls.py @@ -2,7 +2,6 @@ from django.urls import path from dcim.views import CableCreateView, PathTraceView from extras.views import ObjectChangeLogView, ObjectJournalView -from utilities.views import SlugRedirectView from . import views from .models import * @@ -16,7 +15,6 @@ urlpatterns = [ path('providers/edit/', views.ProviderBulkEditView.as_view(), name='provider_bulk_edit'), path('providers/delete/', views.ProviderBulkDeleteView.as_view(), name='provider_bulk_delete'), path('providers//', views.ProviderView.as_view(), name='provider'), - path('providers//', SlugRedirectView.as_view(), kwargs={'model': Provider}), path('providers//edit/', views.ProviderEditView.as_view(), name='provider_edit'), path('providers//delete/', views.ProviderDeleteView.as_view(), name='provider_delete'), path('providers//changelog/', ObjectChangeLogView.as_view(), name='provider_changelog', kwargs={'model': Provider}), diff --git a/netbox/dcim/urls.py b/netbox/dcim/urls.py index dd81ca2ba..713116f5e 100644 --- a/netbox/dcim/urls.py +++ b/netbox/dcim/urls.py @@ -2,7 +2,6 @@ from django.urls import path from extras.views import ObjectChangeLogView, ObjectJournalView from ipam.views import ServiceEditView -from utilities.views import SlugRedirectView from . import views from .models import * @@ -38,7 +37,6 @@ urlpatterns = [ path('sites/edit/', views.SiteBulkEditView.as_view(), name='site_bulk_edit'), path('sites/delete/', views.SiteBulkDeleteView.as_view(), name='site_bulk_delete'), path('sites//', views.SiteView.as_view(), name='site'), - path('sites//', SlugRedirectView.as_view(), kwargs={'model': Site}), path('sites//edit/', views.SiteEditView.as_view(), name='site_edit'), path('sites//delete/', views.SiteDeleteView.as_view(), name='site_delete'), path('sites//changelog/', ObjectChangeLogView.as_view(), name='site_changelog', kwargs={'model': Site}), diff --git a/netbox/tenancy/urls.py b/netbox/tenancy/urls.py index b20e1c3d1..6b3565bfb 100644 --- a/netbox/tenancy/urls.py +++ b/netbox/tenancy/urls.py @@ -1,7 +1,6 @@ from django.urls import path from extras.views import ObjectChangeLogView, ObjectJournalView -from utilities.views import SlugRedirectView from . import views from .models import * @@ -26,7 +25,6 @@ urlpatterns = [ path('tenants/edit/', views.TenantBulkEditView.as_view(), name='tenant_bulk_edit'), path('tenants/delete/', views.TenantBulkDeleteView.as_view(), name='tenant_bulk_delete'), path('tenants//', views.TenantView.as_view(), name='tenant'), - path('tenants//', SlugRedirectView.as_view(), kwargs={'model': Tenant}), path('tenants//edit/', views.TenantEditView.as_view(), name='tenant_edit'), path('tenants//delete/', views.TenantDeleteView.as_view(), name='tenant_delete'), path('tenants//changelog/', ObjectChangeLogView.as_view(), name='tenant_changelog', kwargs={'model': Tenant}), diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index a3afcb1c6..efea0b867 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -125,14 +125,3 @@ class GetReturnURLMixin: # If all else fails, return home. Ideally this should never happen. return reverse('home') - - -# -# Views -# - -class SlugRedirectView(View): - - def get(self, request, model, slug): - obj = get_object_or_404(model.objects.restrict(request.user, 'view'), slug=slug) - return redirect(obj.get_absolute_url())