summaryrefslogtreecommitdiff
path: root/app/jrnl/views.py
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2020-11-15 10:13:08 -0500
committerluxagraf <sng@luxagraf.net>2020-11-15 10:13:08 -0500
commit7509da286bccd1dda358507cd455f9297db59247 (patch)
tree779aa3660e453d73268d22a72d9a5599cc94aa02 /app/jrnl/views.py
parentb2434dcba142961b4a4b67780cf64e01d0908bf5 (diff)
ported jrnl building to posts
Diffstat (limited to 'app/jrnl/views.py')
-rw-r--r--app/jrnl/views.py165
1 files changed, 0 insertions, 165 deletions
diff --git a/app/jrnl/views.py b/app/jrnl/views.py
deleted file mode 100644
index 6b7cc8d..0000000
--- a/app/jrnl/views.py
+++ /dev/null
@@ -1,165 +0,0 @@
-from django.views.generic import ListView
-from django.views.generic.detail import DetailView
-from django.views.generic.dates import DateDetailView
-from django.urls import reverse
-from django.views.generic.dates import YearArchiveView, MonthArchiveView
-from django.contrib.syndication.views import Feed
-from django.apps import apps
-from django.shortcuts import get_object_or_404
-from django.conf import settings
-from django.db.models import Q
-
-from utils.views import PaginatedListView
-
-from .models import Entry, HomepageCurrator, Home
-from locations.models import LuxCheckIn, Country, Region, Location
-from sightings.models import Sighting
-
-
-class EntryList(PaginatedListView):
- """
- Return a list of Entries in reverse chronological order
- """
- model = Entry
-
- def get_queryset(self):
- queryset = super(EntryList, self).get_queryset()
- print(queryset)
- return queryset.filter(status__exact=1).order_by('-pub_date').prefetch_related('location').prefetch_related('featured_image')
-
-
-class EntryCountryList(PaginatedListView):
- """
- Return a list of Entries by Country in reverse chronological order
- """
- model = Entry
-
- def get_context_data(self, **kwargs):
- # Call the base implementation first to get a context
- context = super(EntryCountryList, self).get_context_data(**kwargs)
- try:
- context['region'] = Country.objects.get(slug__exact=self.kwargs['slug'])
- except:
- context['region'] = Region.objects.get(slug__exact=self.kwargs['slug'])
- return context
-
- def get_queryset(self):
- try:
- region = Country.objects.get(slug__exact=self.kwargs['slug'])
- qs = Entry.objects.filter(
- status__exact=1,
- location__state__country=region
- ).order_by('-pub_date')
- except:
- region = Region.objects.get(slug__exact=self.kwargs['slug'])
- qs = Entry.objects.filter(
- status__exact=1,
- location__state__country__lux_region=region.id
- ).order_by('-pub_date')
- return qs
-
-
-class EntryYearArchiveView(YearArchiveView):
- queryset = Entry.objects.filter(status__exact=1).select_related()
- date_field = "pub_date"
- make_object_list = True
- allow_future = True
- template_name = "archives/writing_date.html"
-
-
-class EntryMonthArchiveView(MonthArchiveView):
- queryset = Entry.objects.filter(status__exact=1).select_related()
- date_field = "pub_date"
- allow_future = True
- template_name = "archives/writing_date.html"
-
-
-class EntryDetailView(DateDetailView):
- model = Entry
- date_field = 'pub_date'
- slug_field = "slug"
-
- def get_queryset(self):
- queryset = super(EntryDetailView, self).get_queryset()
- return queryset.select_related('location').prefetch_related('field_notes').prefetch_related('books')
-
- def get_object(self, queryset=None):
- obj = get_object_or_404(
- self.model,
- slug=self.kwargs['slug'],
- pub_date__month=self.kwargs['month'],
- pub_date__year=self.kwargs['year']
- )
- self.location = obj.location
- return obj
-
- def get_context_data(self, **kwargs):
- context = super(EntryDetailView, self).get_context_data(**kwargs)
- context['wildlife'] = Sighting.objects.filter(
- Q(location=self.location) |
- Q(location__in=Location.objects.filter(parent=self.location))
- ).select_related().order_by('ap_id', 'ap__apclass__kind').distinct("ap")
- related = []
- for obj in self.object.related.all():
- model = apps.get_model(obj.model_name.app_label, obj.model_name.model)
- related.append(model.objects.get(slug=obj.slug, pub_date=obj.pub_date))
- context['related'] = related
- context['breadcrumbs'] = ("jrnl",)
- context['crumb_url'] = reverse('jrnl:list')
- return context
-
-
-class EntryDetailViewTXT(EntryDetailView):
- template_name = "jrnl/entry_detail.txt"
-
-
-class HomepageList(ListView):
- """
- Return a main entry and list of Entries in reverse chronological order
- """
- model = Entry
-
- def get_home(self):
- return Home.objects.filter(pk=1).prefetch_related('featured_image').select_related('featured').select_related('featured__location').get()
-
- def get_queryset(self):
- queryset = super(HomepageList, self).get_queryset()
- self.home = self.get_home()
- return queryset.filter(status__exact=1).order_by('-pub_date').exclude().select_related('location').select_related('featured_image')[1:9]
-
- def get_template_names(self):
- return ['%s' % self.home.template_name]
-
- def get_context_data(self, **kwargs):
- # Call the base implementation first to get a context
- context = super(HomepageList, self).get_context_data(**kwargs)
- context['homepage'] = self.home
- context['location'] = LuxCheckIn.objects.latest()
- context['IMAGES_URL'] = settings.IMAGES_URL
- return context
-
-
-class JrnlLatestView(EntryDetailView):
- template_name = "details/entry_latest.html"
-
- def get_object(self, queryset=None):
- obj = self.model.objects.filter(status=1).latest()
- self.location = obj.location
- return obj
-
-
-class JrnlRSSFeedView(Feed):
- title = "Luxagraf: Topographical Writings"
- link = "/jrnl/"
- description = "Latest postings to luxagraf.net"
- description_template = 'feeds/blog_description.html'
-
- def items(self):
- return Entry.objects.filter(status__exact=1).order_by('-pub_date')[:10]
-
- def item_pubdate(self, item):
- """
- Takes an item, as returned by items(), and returns the item's
- pubdate.
- """
- return item.pub_date