Skip to content

Commit

Permalink
return 404 on common errors
Browse files Browse the repository at this point in the history
  • Loading branch information
visiblegovernment committed Feb 14, 2011
1 parent e47d23b commit 7be3fbc
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
3 changes: 3 additions & 0 deletions mainapp/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,9 @@ def exists(self):

def matches_multiple(self):
return len(self.query_results) > 1

def len(self):
return len(self.query_results)

def lat(self, index ):
coord = self.query_results[index]
Expand Down
3 changes: 2 additions & 1 deletion mainapp/views/main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect
from django.http import HttpResponseRedirect, Http404
from mainapp.models import Report, ReportUpdate, Ward, FixMyStreetMap, ReportCountQuery, City, FaqEntry, GoogleAddressLookup
from mainapp import search
from django.template import Context, RequestContext
Expand Down Expand Up @@ -57,6 +57,7 @@ def search_address(request):
match_index = 0
if request.GET.has_key("index"):
match_index = int(request.GET["index"])
if match_index > address_lookup.len(): raise Http404

point_str = "POINT(" + address_lookup.lon(match_index) + " " + address_lookup.lat(match_index) + ")"
pnt = fromstr(point_str, srid=4326)
Expand Down
14 changes: 10 additions & 4 deletions mainapp/views/reports/main.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect
from django.http import HttpResponseRedirect,Http404
from mainapp.models import Report, ReportUpdate, Ward, FixMyStreetMap, ReportCategory
from mainapp.forms import ReportForm,ReportUpdateForm
from django.template import Context, RequestContext
from django.contrib.gis.geos import *
from fixmystreet import settings
from django.utils.translation import ugettext as _


def _get_point( dict ):
if not dict.has_key('lat') or not dict.has_key('lon'):
raise Http404
pnt = fromstr("POINT(" + dict["lon"] + " " + dict["lat"] + ")", srid=4326)
return pnt


def new( request ):
if request.method == "POST":
pnt = fromstr("POINT(" + request.POST["lon"] + " " + request.POST["lat"] + ")", srid=4326)
pnt = _get_point( request.POST )
report_form = ReportForm( request.POST, request.FILES )
# this checks update is_valid too
if report_form.is_valid():
Expand All @@ -19,7 +25,7 @@ def new( request ):
if report:
return( HttpResponseRedirect( report.get_absolute_url() ))
else:
pnt = fromstr("POINT(" + request.GET["lon"] + " " + request.GET["lat"] + ")", srid=4326)
pnt = _get_point( request.GET )
report_form = ReportForm(initial={ 'lat': request.GET['lat'],
'lon': request.GET['lon'] } )

Expand Down

0 comments on commit 7be3fbc

Please sign in to comment.