summaryrefslogtreecommitdiff
path: root/apps/blog/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'apps/blog/views.py')
-rw-r--r--apps/blog/views.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/apps/blog/views.py b/apps/blog/views.py
new file mode 100644
index 0000000..9641813
--- /dev/null
+++ b/apps/blog/views.py
@@ -0,0 +1,65 @@
+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
+from locations.models import Region, Country
+
+def home(request):
+ featured = Entry.objects.filter(status__exact=1).order_by('-pub_date')[:1].get()
+ context = {
+ 'featured': featured,
+ 'object_list': Entry.objects.all().exclude(id=featured.id).order_by('-pub_date')[:5],
+ }
+ 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')
+ context = {
+ 'country_list': Country.objects.filter(visited=True),
+ 'region_list': Region.objects.all()
+ }
+ return object_list(request, queryset=qs, template_name='archives/writing.html',
+ extra_context=context)
+
+
+"""
+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,
+ 'country_list': Country.objects.filter(visited=True),
+ 'region_list': Region.objects.all()
+ }
+ return object_list(request, queryset=qs, template_name='archives/writing.html',
+ extra_context=context)
+