summaryrefslogtreecommitdiff
path: root/app/utils/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/utils/views.py')
-rw-r--r--app/utils/views.py35
1 files changed, 19 insertions, 16 deletions
diff --git a/app/utils/views.py b/app/utils/views.py
index 6b69b25..b678a33 100644
--- a/app/utils/views.py
+++ b/app/utils/views.py
@@ -6,16 +6,17 @@ from django.views.generic import ListView, DetailView
from django.apps import apps
from django.shortcuts import render
from django.template import RequestContext
+from django.template.defaultfilters import slugify
from media.models import LuxImage, LuxVideo, LuxAudio
BREADCRUMBS = {
- 'SrcPost':'SRC',
+ 'AP':'dialogue',
'Book':'Book Notes',
'Entry':'Jrnl',
'NewsletterMailing':'lttr',
- 'LuxImage':'lttr'
+ 'LuxImage':'lttr',
}
class PaginatedListView(ListView):
@@ -35,13 +36,6 @@ class PaginatedListView(ListView):
request.base_path = path
return super(PaginatedListView, self).dispatch(request, *args, **kwargs)
- def get_context_data(self, **kwargs):
- '''
- Adds breadcrumb path to every view
- '''
- # Call the base implementation first to get a context
- context = super(PaginatedListView, self).get_context_data(**kwargs)
- print('model=', self.model)
try:
context['breadcrumbs'] = (BREADCRUMBS[self.model.__name__],)
except KeyError:
@@ -61,22 +55,31 @@ class LuxDetailView(DetailView):
context = super(LuxDetailView, self).get_context_data(**kwargs)
print(self.object._meta.verbose_name_plural)
try:
- context['breadcrumbs'] = (BREADCRUMBS[self.object._meta.model],)
+ context['breadcrumbs'] = (BREADCRUMBS[self.object._meta.label.split(".")[1]],)
except KeyError:
if self.object._meta.verbose_name_plural == 'posts':
- context['breadcrumbs'] = (self.object.get_post_type_display()+"s",)
- context['crumb_url'] = "/%ss/" % self.object.get_post_type_display()
+ if self.object.get_post_type_display() != 'src':
+ context['breadcrumbs'] = (self.object.get_post_type_display()+"s",)
+ else:
+ context['breadcrumbs'] = (self.object.get_post_type_display(),)
+ context['crumb_url'] = "/%ss/" % slugify(self.object.get_post_type_display())
else:
context['breadcrumbs'] = (self.object._meta.verbose_name_plural,)
try:
context['crumb_url']
except KeyError:
try:
- context['crumb_url'] = reverse('%s:list' % self.object._meta.verbose_name_plural.slugify())
+ context['crumb_url'] = reverse('%s:list' % slugify(self.object._meta.verbose_name_plural))
except:
- # special case for pages:
- context['breadcrumbs'] = (self.object.title,)
- context['crumb_url'] = None
+ # special case for books:
+ if self.object._meta.verbose_name_plural == 'books':
+ context['crumb_url'] = reverse('books:list')
+ elif self.object._meta.verbose_name_plural == 'Animal/Plant':
+ context['crumb_url'] = reverse('sightings:list')
+ else:
+ # special case for pages:
+ context['breadcrumbs'] = (self.object.title,)
+ context['crumb_url'] = None
return context