2011-08-18 17:14:56 +00:00
|
|
|
# Create your views here.
|
2011-08-27 22:14:32 +00:00
|
|
|
from django.shortcuts import render_to_response
|
2011-08-29 12:52:10 +00:00
|
|
|
from ox.django.shortcuts import render_to_json_response, get_object_or_404
|
2011-08-27 22:14:32 +00:00
|
|
|
from django.template import RequestContext
|
2011-08-28 02:55:39 +00:00
|
|
|
from models import Feature
|
2011-08-27 22:14:32 +00:00
|
|
|
|
|
|
|
def search(request):
|
|
|
|
d = RequestContext(request, {})
|
|
|
|
return render_to_response("search.html", d)
|
|
|
|
|
|
|
|
def search_json(request):
|
2011-08-27 23:27:53 +00:00
|
|
|
search_term = request.GET.get("search", "")
|
|
|
|
bbox = request.GET.get("bbox", False)
|
|
|
|
if not bbox:
|
|
|
|
return render_to_json_response({'error': 'no bbox parameter'})
|
2011-08-28 02:55:39 +00:00
|
|
|
|
|
|
|
bs = bbox.split(",")
|
2011-08-28 03:22:09 +00:00
|
|
|
bs_param = (float(bs[0]), float(bs[1]), float(bs[2]), float(bs[3]),)
|
|
|
|
|
2011-08-29 12:04:48 +00:00
|
|
|
features_qset = Feature.search.overlaps(bs_param, text=search_term, srid=3785)[0:20]
|
2011-08-29 00:22:27 +00:00
|
|
|
features = [f.get_geojson() for f in features_qset]
|
|
|
|
d = {
|
|
|
|
'type': 'FeatureCollection',
|
|
|
|
'features': features
|
|
|
|
}
|
2011-08-27 22:14:32 +00:00
|
|
|
return render_to_json_response(d)
|
|
|
|
|
2011-08-29 01:17:12 +00:00
|
|
|
|
2011-08-27 22:14:32 +00:00
|
|
|
def search_related(request):
|
2011-08-29 12:52:10 +00:00
|
|
|
id = request.GET.get("id", "0")
|
|
|
|
feature = get_object_or_404(Feature, pk=id)
|
|
|
|
similar_features = feature.similar_features()
|
|
|
|
return render_to_response("search_related.html", {
|
|
|
|
'feature': feature,
|
|
|
|
'similar_features': similar_features
|
|
|
|
})
|
2011-08-27 22:14:32 +00:00
|
|
|
|
2011-08-29 01:17:12 +00:00
|
|
|
|
2011-08-27 22:14:32 +00:00
|
|
|
def search_related_json(request):
|
|
|
|
d = {}
|
|
|
|
return render_to_json_response(d)
|