Skip to content
Snippets Groups Projects
Commit f54730a9 authored by Brian Moe's avatar Brian Moe
Browse files

Better 404 handling.

Added a 404.html template.
gracedb/view raises Http404 when event is not found.
Event.getByGraceId should now never return None.
parent 1d142e2a
No related branches found
No related tags found
No related merge requests found
......@@ -86,7 +86,6 @@ class Event(models.Model):
@classmethod
def getByGraceid(cls, id):
if not id: return None
if id[0] == "G":
return cls.objects.get(id=int(id[1:]))
return cls.objects.get(uid=id)
......
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotFound
from django.http import HttpResponse
from django.http import HttpResponseRedirect, HttpResponseNotFound, Http404
from django.template import RequestContext
from django.core.urlresolvers import reverse, get_script_prefix
from django.shortcuts import render_to_response
......@@ -202,9 +203,10 @@ def ping(request):
def view(request, graceid):
context = {}
a = Event.getByGraceid(graceid)
if not a:
return HttpResponseNotFound()
try:
a = Event.getByGraceid(graceid)
except Event.DoesNotExist:
raise Http404
context['object'] = a
return render_to_response(
'gracedb/event_detail.html',
......
{% extends "base.html" %}
{% block title %}404 – Not Found{{ object.graceid }}{% endblock %}
{% block heading %}Not Found {{ object.graceid }}{% endblock %}
{% block content %}
<p>The item you requested was not found.</p>
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment