mirror of
https://github.com/postgres/pgweb.git
synced 2025-08-06 09:57:57 +00:00
Render server errors with a nicer template
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
from django.contrib.auth.models import User
|
||||
import django.contrib.auth.views as authviews
|
||||
from django.http import HttpResponseRedirect, HttpResponse, Http404, HttpResponseServerError
|
||||
from django.http import HttpResponseRedirect, HttpResponse, Http404
|
||||
from django.shortcuts import render_to_response
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.utils.http import int_to_base36
|
||||
@ -10,6 +10,7 @@ from django.conf import settings
|
||||
from pgweb.util.decorators import ssl_required
|
||||
from pgweb.util.contexts import NavContext
|
||||
from pgweb.util.misc import send_template_mail
|
||||
from pgweb.util.helpers import HttpServerError
|
||||
|
||||
from pgweb.news.models import NewsArticle
|
||||
from pgweb.events.models import Event
|
||||
@ -84,7 +85,7 @@ def resetpwd(request):
|
||||
@ssl_required
|
||||
def signup(request):
|
||||
if request.user.is_authenticated():
|
||||
return HttpResponseServerError("You must log out before you can sign up for a new account")
|
||||
return HttpServerError("You must log out before you can sign up for a new account")
|
||||
|
||||
if request.method == 'POST':
|
||||
# Attempt to create user then, eh?
|
||||
|
@ -1,5 +1,5 @@
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.http import HttpResponse, Http404, HttpResponseRedirect, HttpResponseServerError
|
||||
from django.http import HttpResponse, Http404, HttpResponseRedirect
|
||||
from django.template import TemplateDoesNotExist, loader, Context
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.db import connection, transaction
|
||||
@ -12,7 +12,7 @@ import cPickle as pickle
|
||||
|
||||
from pgweb.util.decorators import ssl_required, nocache
|
||||
from pgweb.util.contexts import NavContext
|
||||
from pgweb.util.helpers import simple_form, PgXmlHelper
|
||||
from pgweb.util.helpers import simple_form, PgXmlHelper, HttpServerError
|
||||
from pgweb.util.misc import get_client_ip
|
||||
|
||||
from models import *
|
||||
@ -39,7 +39,7 @@ def ftpbrowser(request, subpath):
|
||||
allnodes = pickle.load(f)
|
||||
f.close()
|
||||
except Exception, e:
|
||||
return HttpResponseServerError("Failed to load ftp site information: %s" % e)
|
||||
return HttpServerError("Failed to load ftp site information: %s" % e)
|
||||
|
||||
if not allnodes.has_key(subpath):
|
||||
raise Http404
|
||||
|
@ -1,10 +1,11 @@
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.http import HttpResponse, Http404, HttpResponseServerError, HttpResponseRedirect
|
||||
from django.http import HttpResponse, Http404, HttpResponseRedirect
|
||||
from django.db import connection
|
||||
from django.template.defaultfilters import slugify
|
||||
|
||||
from pgweb.util.contexts import NavContext
|
||||
from pgweb.util.misc import get_client_ip
|
||||
from pgweb.util.helpers import HttpServerError
|
||||
|
||||
from models import Survey, SurveyAnswer, SurveyLock
|
||||
|
||||
@ -24,7 +25,7 @@ def vote(request, surveyid):
|
||||
try:
|
||||
ansnum = int(request.POST['answer'])
|
||||
if ansnum < 1 or ansnum > 8:
|
||||
return HttpResponseServerError("Invalid answer")
|
||||
return HttpServerError("Invalid answer")
|
||||
except:
|
||||
# When no answer is given, redirect to results instead
|
||||
return HttpResponseRedirect("/community/survey/%s-%s" % (surv.id, slugify(surv.question)))
|
||||
@ -40,7 +41,7 @@ def vote(request, surveyid):
|
||||
# Check if we are locked
|
||||
lock = SurveyLock.objects.filter(ipaddr=addr)
|
||||
if len(lock) > 0:
|
||||
return HttpResponseServerError("Too many requests from your IP in the past 15 minutes")
|
||||
return HttpServerError("Too many requests from your IP in the past 15 minutes")
|
||||
|
||||
# Generate a new lock item, and store it
|
||||
lock = SurveyLock(ipaddr=addr)
|
||||
|
@ -57,6 +57,13 @@ def simple_form(instancetype, itemid, request, formclass, formtemplate='base/for
|
||||
def template_to_string(templatename, attrs = {}):
|
||||
return get_template(templatename).render(Context(attrs))
|
||||
|
||||
def HttpServerError(msg):
|
||||
r = render_to_response('errors/500.html', {
|
||||
'message': msg,
|
||||
})
|
||||
r.status_code = 500
|
||||
return r
|
||||
|
||||
|
||||
class PgXmlHelper(django.utils.xmlutils.SimplerXMLGenerator):
|
||||
def __init__(self, outstream, skipempty=False):
|
||||
|
Reference in New Issue
Block a user