diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 8b4ca10f..9285f7a3 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -10,10 +10,12 @@ from django.template import Context, RequestContext from django.template.loader import get_template from django.conf import settings from django.http import HttpResponse +from django.db.models import Q from z3c.rml import rml2pdf from PyPDF2 import PdfFileMerger, PdfFileReader from RIGS import models, forms +import datetime __author__ = 'ghost' @@ -113,4 +115,28 @@ class EventDuplicate(generic.RedirectView): item.event = new item.save() - return reverse_lazy('event_update', kwargs={'pk': new.pk}) \ No newline at end of file + return reverse_lazy('event_update', kwargs={'pk': new.pk}) + +class EventArchive(generic.ArchiveIndexView): + model = models.Event + date_field = "start_date" + paginate_by = 25 + + def get_queryset(self): + start = self.request.GET.get('start', None) + end = self.request.GET.get('end', datetime.date.today()) + filter = False + if end != "": + filter = Q(start_date__lte=end) + if start: + if filter: + filter = filter & Q(start_date__gte=start) + else: + filter = Q(start_date__gte=start) + + if filter: + qs = self.model.objects.filter(filter) + else: + qs = self.model.objects.all() + + return qs.select_related('person','organisation','venue','mic') \ No newline at end of file diff --git a/RIGS/templates/RIGS/event_archive.html b/RIGS/templates/RIGS/event_archive.html new file mode 100644 index 00000000..00baaad6 --- /dev/null +++ b/RIGS/templates/RIGS/event_archive.html @@ -0,0 +1,45 @@ +{% extends 'base.html' %} +{% load paginator from filters %} + +{% block title %}Event Archive{% endblock %} + +{% block content %} +
+

Event Archive

+ + + + {% if is_paginated %} +
+ {% paginator %} +
+ {% endif %} +
+
+ {% with latest as events %} + {% include 'RIGS/event_table.html' %} + {% endwith %} +
+ + {% if is_paginated %} +
+
+ {% paginator %} +
+
+ {% endif %} +{% endblock %} \ No newline at end of file diff --git a/RIGS/urls.py b/RIGS/urls.py index 41cc147a..12a7a723 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -71,6 +71,7 @@ urlpatterns = patterns('', url(r'^event/(?P\d+)/duplicate/$', permission_required_with_403('RIGS.add_event')(rigboard.EventDuplicate.as_view()), name='event_duplicate'), + url(r'^event/archive/$', login_required()(rigboard.EventArchive.as_view()), name='event_archive'), # API url(r'^api/(?P\w+)/$', (views.SecureAPIRequest.as_view()), name="api_secure"),