From b24f42689b30c2ad64002bbfed5b77ea061ed888 Mon Sep 17 00:00:00 2001 From: j Date: Wed, 21 Feb 2018 20:52:33 +0530 Subject: [PATCH] only show avaiable content --- camp/urls.py | 4 ++-- content/templates/base.html | 9 +++++---- content/templatetags/__init__.py | 0 content/templatetags/available_content.py | 20 ++++++++++++++++++++ 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 content/templatetags/__init__.py create mode 100644 content/templatetags/available_content.py diff --git a/camp/urls.py b/camp/urls.py index ba668ef..2d1c734 100644 --- a/camp/urls.py +++ b/camp/urls.py @@ -46,8 +46,8 @@ urlpatterns = [ url(r'^texts/(?P.+)/$', views.texts, name='texts'), url(r'^events/(?P.+)/$', views.events, name='events'), url(r'^projects/(?P.+)/$', views.projects, name='projects'), - url(r'^works/(?P.+)/$', views.works, name='works'), - url(r'^works/$', views.works), + url(r'^works/(?P.+)/$', views.works, name='work'), + url(r'^works/$', views.works, name='works'), url(r'^projects/$', views.projects), url(r'^events/$', views.events), url(r'^texts/$', views.texts), diff --git a/content/templates/base.html b/content/templates/base.html index d6acc02..f97ff9c 100644 --- a/content/templates/base.html +++ b/content/templates/base.html @@ -1,3 +1,4 @@ +{% load available_content%} @@ -21,10 +22,10 @@ diff --git a/content/templatetags/__init__.py b/content/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/content/templatetags/available_content.py b/content/templatetags/available_content.py new file mode 100644 index 0000000..7ba3b3f --- /dev/null +++ b/content/templatetags/available_content.py @@ -0,0 +1,20 @@ +from django import template +from django.urls import reverse + +from ..models import Content + + +register = template.Library() + + +@register.assignment_tag +def available_content(): + sections = [] + + for type in ['projects', 'events', 'works', 'texts']: + if Content.objects.filter(type__name=type, published=True).exists(): + sections.append([ + reverse('works'), + type.capitalize() + ]) + return sections