summaryrefslogtreecommitdiff
path: root/apps/blog/views.py
blob: ef933ebf04b05402c40b54ff373b5557be9efd20 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from django.shortcuts import render_to_response,get_object_or_404
from django.template import RequestContext
from django.views.generic.date_based import object_detail
from django.views.generic.list_detail import object_list
from django.http import Http404


from blog.models import Entry, Topic
from locations.models import Region, Country

def home(request):
    featured = Entry.objects.filter(status__exact=1).latest()
    context = {
        'featured': featured,
    }    
    return render_to_response('archives/homepage.html', context, context_instance = RequestContext(request))


def entry_detail(request, year, month, day, slug):
    obj = get_object_or_404(Entry, slug__exact=slug)
    photos = {}
    if obj.photo_gallery:
        photos = Photo.objects.filter(set__exact=obj.get().photo_gallery.id)[:9]
    extra = {'photos':photos,}
    return render_to_response('details/entry.html', {'object': obj,'photos':photos}, context_instance=RequestContext(request))


"""
List of all writing
"""
def entry_list(request,page):
    request.page_url = '/writing/%d/'
    request.page = int(page)
    qs = Entry.objects.filter(status__exact=1).order_by('-pub_date').select_related()
    return object_list(request, queryset=qs, template_name='archives/writing.html')


"""
List of all writing
"""
def topic_list(request,slug,page):
    request.page_url = '/topics/'+slug+'/%d/'
    request.page = int(page)
    topic = Topic.objects.get(slug=slug)
    qs = Entry.objects.filter(status__exact=1,topics=topic).order_by('-pub_date').select_related()
    return object_list(request, queryset=qs, template_name='archives/topics.html',)


"""
Grabs entries by region or country
"""
def entry_list_by_area(request,slug,page):
    request.page_url = '/writing/'+slug+'/%d/'
    request.page = int(page)
    try:
        region = Region.objects.get(slug__exact=slug)
        qs = Entry.objects.filter(status__exact=1,region = region).order_by('-pub_date')
    except:
        region = Country.objects.get(slug__exact=slug)
        qs = Entry.objects.filter(status__exact=1,location__state__country = region).order_by('-pub_date')
        if not region:
            raise Http404
    context = {
        'region': region,
    }
    return object_list(request, queryset=qs, template_name='archives/writing.html',
                       extra_context=context)