diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index 46bf81db8..4c238dac3 100644 --- a/docs/release-notes/version-2.7.md +++ b/docs/release-notes/version-2.7.md @@ -10,6 +10,7 @@ * [#4323](https://github.com/netbox-community/netbox/issues/4323) - Add bulk edit view for power panels * [#4324](https://github.com/netbox-community/netbox/issues/4324) - Add CSV import view for services * [#4325](https://github.com/netbox-community/netbox/issues/4324) - Add CSV import view for rack reservations +* [#4332](https://github.com/netbox-community/netbox/issues/4332) - Redirect to a user-friendly error page when CSS/JS resources fail to load ### Bug Fixes diff --git a/netbox/netbox/urls.py b/netbox/netbox/urls.py index 2c4d504b2..6444f8a27 100644 --- a/netbox/netbox/urls.py +++ b/netbox/netbox/urls.py @@ -5,7 +5,7 @@ from django.views.static import serve from drf_yasg import openapi from drf_yasg.views import get_schema_view -from netbox.views import APIRootView, HomeView, SearchView +from netbox.views import APIRootView, HomeView, StaticMediaFailureView, SearchView from users.views import LoginView, LogoutView from .admin import admin_site @@ -63,6 +63,9 @@ _patterns = [ path('admin/', admin_site.urls), path('admin/webhook-backend-status/', include('django_rq.urls')), + # Errors + path('media-failure/', StaticMediaFailureView.as_view(), name='media_failure'), + ] if settings.DEBUG: diff --git a/netbox/netbox/views.py b/netbox/netbox/views.py index 05bcea90d..b0f5b6022 100644 --- a/netbox/netbox/views.py +++ b/netbox/netbox/views.py @@ -300,6 +300,16 @@ class SearchView(View): }) +class StaticMediaFailureView(View): + """ + Display a user-friendly error message with troubleshooting tips when a static media file fails to load. + """ + def get(self, request): + return render(request, 'media_failure.html', { + 'filename': request.GET.get('filename') + }) + + class APIRootView(APIView): _ignore_model_permissions = True exclude_from_schema = True diff --git a/netbox/templates/_base.html b/netbox/templates/_base.html index 1b7a9da80..6125e4614 100644 --- a/netbox/templates/_base.html +++ b/netbox/templates/_base.html @@ -4,13 +4,27 @@