diff --git a/edivorce/apps/core/templates/404.html b/edivorce/apps/core/templates/404.html new file mode 100644 index 00000000..88dbb433 --- /dev/null +++ b/edivorce/apps/core/templates/404.html @@ -0,0 +1,20 @@ +{% extends 'base.html' %} + +{% block title %}{{ block.super }}: 404 Page Not Found{% endblock %} + +{% block content %} +

404

+

The page you are looking for cannot be found

+
+{% endblock %} + +{% block formbuttons %} + +{% endblock %} + +{% block sidebarNav %} + +{% endblock %} +{% block sidebar %} + +{% endblock %} diff --git a/edivorce/apps/core/templates/500.html b/edivorce/apps/core/templates/500.html new file mode 100644 index 00000000..351947bf --- /dev/null +++ b/edivorce/apps/core/templates/500.html @@ -0,0 +1,20 @@ +{% extends 'base.html' %} + +{% block title %}{{ block.super }}: 500 Internal Server Error{% endblock %} + +{% block content %} +

Internal Server Error

+

You have encountered an error on the website.

+
+{% endblock %} + +{% block formbuttons %} + +{% endblock %} + +{% block sidebarNav %} + +{% endblock %} +{% block sidebar %} + +{% endblock %} diff --git a/edivorce/apps/core/urls.py b/edivorce/apps/core/urls.py index e219e00b..abcdd5f1 100644 --- a/edivorce/apps/core/urls.py +++ b/edivorce/apps/core/urls.py @@ -2,6 +2,9 @@ from django.conf.urls import url from .views import main, system, styleguide, pdf, api, localdev +handler404 = 'core.views.main.page_not_found' +handler500 = 'core.views.main.server_error' + urlpatterns = [ url(r'^guide$', styleguide.guide), url(r'^f/(?P.*)', main.serve), @@ -25,7 +28,7 @@ urlpatterns = [ url(r'^pdf-form(?P[0-9]{1,3}(_we|_claimant1|_claimant2)?)$', pdf.form, name="pdf_form"), url(r'^prequalification/step_(?P[0-9]{2})$', main.prequalification, name="prequalification"), url(r'^question/(?P.*)$', main.question, name="question_steps"), - url(r'^', main.intro, name="intro"), + url(r'^$', main.intro, name="intro"), ] diff --git a/edivorce/apps/core/views/main.py b/edivorce/apps/core/views/main.py index 46faab49..4292aefa 100644 --- a/edivorce/apps/core/views/main.py +++ b/edivorce/apps/core/views/main.py @@ -1,6 +1,7 @@ from django.conf import settings -from django.shortcuts import render, redirect +from django.shortcuts import render, redirect, render_to_response from django.utils import timezone +from django.template import RequestContext from edivorce.apps.core.utils.template_step_order import template_step_order from ..decorators import bceid_required import datetime @@ -8,7 +9,6 @@ from ..models import BceidUser from ..utils.user_response import get_responses_from_db, get_responses_from_db_grouped_by_steps, \ get_responses_from_session, copy_session_to_db, get_step_status from edivorce.apps.core.utils.question_step_mapping import list_of_registries -from django.core.exceptions import ObjectDoesNotExist @bceid_required @@ -148,6 +148,20 @@ def overview(request): return render(request, 'overview.html', context=responses_dict_by_step) +def page_not_found(request): + response = render_to_response('404.html', {}, + context_instance=RequestContext(request)) + response.status_code = 404 + return response + + +def server_error(request): + response = render_to_response('500.html', {}, + context_instance=RequestContext(request)) + response.status_code = 500 + return response + + def __get_bceid_user(request): user, created = BceidUser.objects.get_or_create(user_guid=request.bceid_user.guid)