Rafał Pitoń 10 лет назад
Родитель
Сommit
c33ead5d4e

+ 33 - 0
misago/static/misago/css/misago/errorpages.less

@@ -0,0 +1,33 @@
+//
+// Error pages
+// --------------------------------------------------
+
+
+.error-page {
+  text-align: center;
+
+  .error-icon {
+    padding-bottom: @line-height-computed;
+    .opacity(0.5);
+
+    font-size: @font-size-large * 4;
+  }
+
+  .lead {
+    font-size: @font-size-large;
+    font-weight: bold;
+  }
+
+  /* Small devices (tablets, 768px and up) */
+  @media (min-width: @screen-sm-min) {
+    .error-icon {
+      .opacity(0.3);
+
+      font-size: @font-size-large * 5;
+    }
+
+    .lead {
+      font-size: @font-size-large * 1.2;
+    }
+  }
+}

+ 3 - 0
misago/static/misago/css/misago/misago.less

@@ -1,3 +1,6 @@
 // Components
 @import "footer.less";
 @import "navbar.less";
+
+// Pages
+@import "errorpages.less";

+ 27 - 0
misago/templates/misago/errorpages/403.html

@@ -0,0 +1,27 @@
+{% extends "misago/base.html" %}
+{% load i18n %}
+
+
+{% block title %}{% trans "Page not available" %} | {{ block.super }}{% endblock %}
+
+
+{% block meta_description %}{% if message %}{{ message }}{% else %}{% trans "You don't have permission to access this page." %}{% endif %}{% endblock meta_description %}
+
+
+{% block content %}
+<div class="container">
+  <div class="error-page">
+
+    <div class="error-icon">
+      <span class="fa fa-ban"></span>
+    </div>
+
+    {% if message %}
+    <p class="lead">{{ message|escape|urlize|linebreaksbr }}</p>
+    {% else %}
+    <p class="lead">{% trans "You don't have permission to access this page." %}</p>
+    {% endif %}
+
+  </div>
+</div>
+{% endblock content %}

+ 24 - 0
misago/templates/misago/errorpages/404.html

@@ -0,0 +1,24 @@
+{% extends "misago/base.html" %}
+{% load i18n %}
+
+
+{% block title %}{% trans "Page not found" %} | {{ block.super }}{% endblock %}
+
+
+{% block meta_description %}{% trans "The link you clicked was incorrect or the page has been moved or deleted." %}{% endblock meta_description %}
+
+
+{% block content %}
+<div class="container">
+  <div class="error-page">
+
+    <div class="error-icon">
+      <span class="fa fa-compass"></span>
+    </div>
+
+    <p class="lead">{% trans "Requested page could not be found." %}</p>
+    <p>{% trans "The link you clicked was incorrect or the page has been moved or deleted." %}</p>
+
+  </div>
+</div>
+{% endblock content %}

+ 24 - 0
misago/templates/misago/errorpages/405.html

@@ -0,0 +1,24 @@
+{% extends "misago/base.html" %}
+{% load i18n %}
+
+
+{% block title %}{% trans "Wrong way" %} | {{ block.super }}{% endblock %}
+
+
+{% block meta_description %}{% trans "This page should be reached via form submission or pressing button." %}{% endblock meta_description %}
+
+
+{% block content %}
+<div class="container">
+  <div class="error-page">
+
+    <div class="error-icon">
+      <span class="fa fa-road"></span>
+    </div>
+
+    <p class="lead">{% trans "Page reached in wrong way." %}</p>
+    <p>{% trans "This page should be reached via form submission or pressing button." %}</p>
+
+  </div>
+</div>
+{% endblock content %}

+ 25 - 0
misago/templates/misago/errorpages/csrf_failure.html

@@ -0,0 +1,25 @@
+{% extends "misago/base.html" %}
+{% load i18n %}
+
+
+{% block title %}{% trans "Request blocked" %} | {{ block.super }}{% endblock %}
+
+
+{% block meta_description %}{% trans "This is usually caused by your browser not accepting or using outdated cookies. Check your browser configuration and try again." %}{% endblock meta_description %}
+
+
+{% block content %}
+<div class="container">
+  <div class="error-page">
+
+    <div class="error-icon">
+      <span class="fa fa-exclamation-triangle"></span>
+    </div>
+
+    <p class="lead">{% trans "Suspicious request blocked." %}</p>
+    <p>{% trans "This is usually caused by your browser not accepting or using outdated cookies." %}</p>
+    <p>{% trans "Check your browser configuration and try again." %}</p>
+
+  </div>
+</div>
+{% endblock content %}

+ 22 - 0
misago/templates/misago/errorpages/csrf_failure_authenticated.html

@@ -0,0 +1,22 @@
+{% extends "misago/base.html" %}
+{% load i18n %}
+
+
+{% block title %}{% trans "Request blocked" %} | {{ block.super }}{% endblock %}
+
+
+{% block content %}
+<div class="container">
+  <div class="error-page">
+
+    <div class="error-icon">
+      <span class="fa fa-exclamation-triangle"></span>
+    </div>
+
+    <p class="lead">{% trans "Suspicious request blocked." %}</p>
+    <p>{% trans "This is usually caused by your browser not accepting or using outdated cookies." %}</p>
+    <p>{% trans "Check your browser configuration and try again." %}</p>
+
+  </div>
+</div>
+{% endblock content %}

+ 10 - 0
misago/urls.py

@@ -34,3 +34,13 @@ if settings.MISAGO_ADMIN_PATH:
     urlpatterns += patterns('',
         url(admin_prefix, include(adminpatterns, namespace='admin')),
     )
+
+
+# Make error pages accessible casually in DEBUG
+if settings.DEBUG:
+    urlpatterns += patterns('misago.core.errorpages',
+        url(r'^403/$', 'permission_denied'),
+        url(r'^404/$', 'page_not_found'),
+        url(r'^405/$', 'not_allowed'),
+        url(r'^csrf-failure/$', 'csrf_failure'),
+    )