Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't inherit from base.html in 500 error page
For server errors, the context passed to the template is empty, so things like STATIC_URL and context processors don't work. Fixes bug 1067206. Change-Id: Ia1801afaecd6a23fbcc6054552d0fd313597d1c1
- Loading branch information
Showing
5 changed files
with
131 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,82 @@ | ||
{% extends "base.html" %} | ||
{% load i18n %} | ||
{% load branding i18n staticfiles %} | ||
{% load load_config from horizon %} | ||
|
||
{% block title %} - {% trans "Internal Server Error" %}{% endblock %} | ||
{% load_config as HORIZON_CONFIG %} | ||
|
||
{% block content %} | ||
<div id="right_content"> | ||
<div id="page_head"> | ||
<h2 id="page_heading">{% trans "Internal Server Error" %}</h2> | ||
<p id="page_description">{% trans "An unexpected error occurred while processing your request. Please try your request again." %}</p> | ||
|
||
{% comment %} | ||
|
||
NB: The context for 500 pages is an empty dict. | ||
Don't add any content here that depends on things from | ||
the context. | ||
|
||
{% endcomment %} | ||
|
||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' /> | ||
<link rel="shortcut icon" href="{% static "dashboard/img/favicon.ico" %}"/> | ||
<title>{% trans "Server error" %} - {% site_branding %}</title> | ||
{% block css %} | ||
<style> | ||
a { | ||
color: #43a1d6; | ||
text-decoration: none; | ||
} | ||
body { | ||
color: rgb(106, 106, 106); | ||
text-align: center; | ||
font-weight: normal; | ||
background: none repeat scroll 0% 0% rgb(250, 250, 250); | ||
} | ||
div#container { | ||
position: absolute; | ||
top: 80px; | ||
padding-top: 170px; | ||
margin: 0px 0px 0px -196px; | ||
left: 50%; | ||
width: 390px; | ||
|
||
background: url("{% static "dashboard/img/logo.png" %}") no-repeat scroll center 35px padding-box rgb(255, 255, 255); | ||
border: 1px solid rgb(225, 225, 225); | ||
|
||
-webkit-border-radius: 6px; | ||
-moz-border-radius: 6px; | ||
border-radius: 6px; | ||
|
||
box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); | ||
-webkit-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); | ||
-moz-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3); | ||
} | ||
h2 { | ||
font-weight: normal; | ||
} | ||
div#container > div { | ||
padding: 25px; | ||
} | ||
</style> | ||
{% endblock %} | ||
</head> | ||
<body id="{% block body_id %}{% endblock %}"> | ||
{% block page_header %}{% endblock %} | ||
{% block content %} | ||
<div id="container"> | ||
<div id="text"> | ||
{% block text %} | ||
<h2>{% trans "Something went wrong!" %}</h2> | ||
<p>{% trans "An unexpected error has occurred. Try refreshing the page. If that doesn't help, contact your local administrator." %}</p> | ||
{% endblock %} | ||
</div> | ||
<div id="links"> | ||
{% block links %} | ||
<p><a href="/">{% trans "Home" %}</a></p> | ||
<p><a href="{{ HORIZON_CONFIG.help_url }}">{% trans "Help" %}</a></p> | ||
{% endblock %} | ||
</div> | ||
</div> | ||
</div> | ||
{% endblock %} | ||
|
||
{% block sidebar %} | ||
<div id="sidebar"> | ||
<ul id="navigation"> | ||
{% block nav_home %} | ||
<li><h3><a href="{% url index %}">{% trans "Home" %}</a></h3></li> | ||
{% endblock %} | ||
|
||
{% block nav_projects %} | ||
<li><h3><a href="{% url index %}">{% trans "Projects" %}</a></h3></li> | ||
{% endblock %} | ||
</ul> | ||
</div> <!-- end sidebar --> | ||
{% endblock %} | ||
{% endblock %} | ||
{% block footer %}{% endblock %} | ||
{% block js %}{% endblock %} | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
from django.conf.urls import patterns, url, include | ||
|
||
from openstack_dashboard.urls import urlpatterns | ||
|
||
urlpatterns += patterns('', | ||
(r'^500/$', 'django.views.defaults.server_error') | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# vim: tabstop=4 shiftwidth=4 softtabstop=4 | ||
|
||
# Copyright (c) 2012 OpenStack, LLC. | ||
# All Rights Reserved. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); you may | ||
# not use this file except in compliance with the License. You may obtain | ||
# a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
# License for the specific language governing permissions and limitations | ||
# under the License. | ||
|
||
from os import path | ||
|
||
from django.conf import settings | ||
|
||
from horizon import exceptions | ||
from openstack_dashboard.test import helpers as test | ||
|
||
|
||
class ErrorPageTests(test.TestCase): | ||
""" Tests for error pages """ | ||
urls = 'openstack_dashboard.test.error_pages_urls' | ||
|
||
def test_500_error(self): | ||
TEMPLATE_DIRS = (path.join(settings.ROOT_PATH, 'templates'),) | ||
with self.settings(TEMPLATE_DIRS=TEMPLATE_DIRS): | ||
response = self.client.get('/500/') | ||
self.assertTrue('Server error' in response.content) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters