summaryrefslogtreecommitdiff
path: root/apps/photos/views.py
blob: 5967333a1672861478932edd3c61063a571e4180 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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

from view_wrapper import luxagraf_render
from tagging.models import Tag,TaggedItem
from photos.models import Photo,PhotoGallery
from locations.models import Country, Region

def potd_list(request):
    potd_obj = Tag.objects.filter(name__exact='potd')
    qs = TaggedItem.objects.get_by_model(Photo, potd_obj)
    return render_to_response('photos/photo-of-the-day.html', {'object_list': qs,})
    
    
    
def gallery_list(request,page):
    request.page_url = '/photos/%d/'
    request.page = int(page)
    qs = PhotoGallery.objects.all().order_by('-id')
    return object_list(request, queryset=qs, template_name='archives/photos.html')

def gallery(request,slug):
    g = PhotoGallery.objects.get(set_slug=slug)
    return luxagraf_render(request,'details/photo_galleries.html', {'object': g,})

    
"""
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()
    }
    return object_list(request, queryset=qs, template_name='archives/photos.html',
                       extra_context=context)