mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-25 21:09:59 -06:00
Closes #4332: Redirect to a user-friendly error page when CSS/JS resources fail to load
This commit is contained in:
@@ -4,13 +4,27 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{% block title %}Home{% endblock %} - NetBox</title>
|
||||
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'font-awesome-4.7.0/css/font-awesome.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'jquery-ui-1.12.1/jquery-ui.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-4.0.12/dist/css/select2.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'flatpickr-4.6.3/themes/light.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/base.css' %}?v{{ settings.VERSION }}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=bootstrap-3.4.1-dist/css/bootstrap.min.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'font-awesome-4.7.0/css/font-awesome.min.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=font-awesome-4.7.0/css/font-awesome.min.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'jquery-ui-1.12.1/jquery-ui.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=jquery-ui-1.12.1/jquery-ui.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'select2-4.0.12/dist/css/select2.min.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=select2-4.0.12/dist/css/select2.min.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'flatpickr-4.6.3/themes/light.css' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=flatpickr-4.6.3/themes/light.css'">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/base.css' %}?v{{ settings.VERSION }}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=css/base.css'">
|
||||
<link rel="icon" type="image/png" href="{% static 'img/netbox.ico' %}" />
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
|
||||
@@ -66,13 +80,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="{% static 'jquery/jquery-3.4.1.min.js' %}"></script>
|
||||
<script src="{% static 'jquery-ui-1.12.1/jquery-ui.min.js' %}"></script>
|
||||
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
|
||||
<script src="{% static 'select2-4.0.12/dist/js/select2.min.js' %}"></script>
|
||||
<script src="{% static 'clipboard.js/clipboard-2.0.4.min.js' %}"></script>
|
||||
<script src="{% static 'flatpickr-4.6.3/flatpickr.min.js' %}"></script>
|
||||
<script src="{% static 'js/forms.js' %}?v{{ settings.VERSION }}"></script>
|
||||
<script src="{% static 'jquery/jquery-3.4.1.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=jquery/jquery-3.4.1.min.js'"></script>
|
||||
<script src="{% static 'jquery-ui-1.12.1/jquery-ui.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=jquery-ui-1.12.1/jquery-ui.min.js'"></script>
|
||||
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=bootstrap-3.4.1-dist/js/bootstrap.min.js'"></script>
|
||||
<script src="{% static 'select2-4.0.12/dist/js/select2.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=select2-4.0.12/dist/js/select2.min.js'"></script>
|
||||
<script src="{% static 'clipboard.js/clipboard-2.0.4.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=clipboard.js/clipboard-2.0.4.min.js'"></script>
|
||||
<script src="{% static 'flatpickr-4.6.3/flatpickr.min.js' %}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=flatpickr-4.6.3/flatpickr.min.js'"></script>
|
||||
<script src="{% static 'js/forms.js' %}?v{{ settings.VERSION }}"
|
||||
onerror="window.location='{% url 'media_failure' %}?filename=js/forms.js'"></script>
|
||||
<script type="text/javascript">
|
||||
var netbox_api_path = "/{{ settings.BASE_PATH }}api/";
|
||||
var loading = $(".loading");
|
||||
|
||||
48
netbox/templates/media_failure.html
Normal file
48
netbox/templates/media_failure.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Static Media Failure - NetBox</title>
|
||||
<meta charset="UTF-8">
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
li.tip {
|
||||
line-height: 150%;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin: auto; width: 800px">
|
||||
<h1>Static Media Failure</h1>
|
||||
<h3>
|
||||
The following static media file failed to load:
|
||||
<a href="{% static filename %}"><code style="color: red">{{ filename }}</code></a>
|
||||
</h3>
|
||||
<p>Check the following:</p>
|
||||
<ul>
|
||||
<li class="tip">
|
||||
<code><strong>manage.py collectstatic</strong></code> was run during the most recent upgrade. This installs the most recent
|
||||
iteration of each static file into the static root path.
|
||||
</li>
|
||||
<li class="tip">
|
||||
The HTTP service (e.g. nginx or Apache) is configured to serve files from the <code>STATIC_ROOT</code> path.
|
||||
Refer to <a href="https://netbox.readthedocs.io/en/stable/installation/">the installation
|
||||
documentation</a> for further guidance.
|
||||
<ul>
|
||||
{% if request.user.is_staff or request.user.is_superuser %}
|
||||
<li><code>STATIC_ROOT: <strong>{{ settings.STATIC_ROOT }}</strong></code></li>
|
||||
{% endif %}
|
||||
<li><code>STATIC_URL: <strong>{{ settings.STATIC_URL }}</strong></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="tip">
|
||||
The file <code>{{ filename }}</code> exists in the static root directory and is readable by the HTTP process.
|
||||
</li>
|
||||
</ul>
|
||||
<p>Click <a href="/">here</a> to attempt loading NetBox again.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user