From: Frédéric Péters Date: Mon, 6 Apr 2015 10:13:13 +0000 (+0200) Subject: add month archives for agenda X-Git-Tag: v2021~431 X-Git-Url: https://git.0d.be/?p=panikweb.git;a=commitdiff_plain;h=2dd74ecf764b18d94fb15a365b13030d4a04806a add month archives for agenda --- diff --git a/panikweb/urls.py b/panikweb/urls.py index 8885b1c..1008afe 100644 --- a/panikweb/urls.py +++ b/panikweb/urls.py @@ -22,6 +22,8 @@ urlpatterns = patterns('', url(r'^sons/archives/$', 'panikweb.search.listenArchives', name='listenArchives'), url(r'^actus/$', 'panikweb.views.news', name='news'), url(r'^actus/agenda/$', 'panikweb.views.agenda', name='agenda'), + url(r'^actus/agenda/(?P[0-9]{4})/(?P[0-9]+)/$', + 'panikweb.views.agenda_by_month', name='agenda_by_month'), url(r'^actus/agenda$', RedirectView.as_view(pattern_name='agenda')), url(r'^actus/archives/$', 'panikweb.search.newsArchives', name='newsArchives'), url(r'^actus/(?P[\w,-]+)$', 'panikweb.views.newsitemview', name='newsitem-view'), diff --git a/panikweb/views.py b/panikweb/views.py index 2633986..2131cc7 100644 --- a/panikweb/views.py +++ b/panikweb/views.py @@ -13,6 +13,7 @@ from django.views.generic.base import TemplateView from django.views.generic.detail import DetailView from django.views.decorators.csrf import csrf_exempt from django.views.generic.dates import _date_from_string +from django.views.generic.dates import MonthArchiveView from django.core.paginator import Paginator @@ -476,11 +477,29 @@ class Agenda(TemplateView): context['agenda'] = NewsItem.objects.filter( event_date__gte=date.today()).order_by('date')[:20] context['news'] = NewsItem.objects.all().order_by('-date') + context['previous_month'] = datetime.today().replace(day=1) - timedelta(days=2) return context agenda = Agenda.as_view() +class AgendaByMonth(MonthArchiveView): + template_name = 'agenda.html' + queryset = NewsItem.objects.filter(event_date__isnull=False) + allow_future = True + date_field = 'event_date' + month_format = '%m' + + def get_context_data(self, **kwargs): + context = super(AgendaByMonth, self).get_context_data(**kwargs) + context['sectionName'] = "News" + context['agenda'] = context['object_list'] + context['news'] = NewsItem.objects.all().order_by('-date') + return context + +agenda_by_month = AgendaByMonth.as_view() + + class Emissions(TemplateView): template_name = 'emissions.html' diff --git a/panikweb_templates/static/css/specifics.css b/panikweb_templates/static/css/specifics.css index 66eeed5..441f9e2 100644 --- a/panikweb_templates/static/css/specifics.css +++ b/panikweb_templates/static/css/specifics.css @@ -1559,3 +1559,7 @@ div.episode-detail div.sound div.download-links { div.extra-soundfiles div.download-links { background: white; } + +div.previous-and-next-months { + margin-top: 1em; +} diff --git a/panikweb_templates/templates/agenda.html b/panikweb_templates/templates/agenda.html index a445731..4e0aa91 100644 --- a/panikweb_templates/templates/agenda.html +++ b/panikweb_templates/templates/agenda.html @@ -11,10 +11,14 @@