diff options
Diffstat (limited to 'app/photos/views.py')
-rw-r--r-- | app/photos/views.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/app/photos/views.py b/app/photos/views.py new file mode 100644 index 0000000..3edfccb --- /dev/null +++ b/app/photos/views.py @@ -0,0 +1,50 @@ +from django.shortcuts import render_to_response,get_object_or_404 +from django.template import RequestContext +from django.views.generic.list_detail import object_list +from django.http import Http404,HttpResponse +from django.core import serializers + + +from photos.models import Photo,PhotoGallery +from locations.models import Country, Region + + + +def gallery_list(request,page): + request.page_url = '/photos/%d/' + request.page = int(page) + qs = PhotoGallery.objects.all() + return object_list(request, queryset=qs, template_name='archives/photos.html',extra_context={'page':page,}) + +def gallery(request,slug): + context = { + 'object': PhotoGallery.objects.get(set_slug=slug) + } + return render_to_response('details/photo_galleries.html', context, context_instance = RequestContext(request)) + +def photo_json(request, slug): + p = PhotoGallery.objects.filter(set_slug=slug) + return HttpResponse(serializers.serialize('json', p), mimetype='application/json') + +""" +Grabs entries by region or country +""" +def gallery_list_by_area(request,slug,page): + request.page_url = '/photos/'+slug+'/%d/' + request.page = int(page) + try: + region = Region.objects.get(slug__exact=slug) + qs = PhotoGallery.objects.filter(region = region).order_by('-id') + except: + region = Country.objects.get(slug__exact=slug) + qs = PhotoGallery.objects.filter(location__state__country = region).order_by('-id') + if not region: + raise Http404 + context = { + 'region': region, + 'country_list': Country.objects.filter(visited=True), + 'region_list': Region.objects.all(), + 'page': page + } + return object_list(request, queryset=qs, template_name='archives/photos.html', + extra_context=context) |