summaryrefslogtreecommitdiff
path: root/app/photos/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/photos/views.py')
-rw-r--r--app/photos/views.py50
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)