mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Everyone's favourite, past events, now working and loading in ~800ms
This commit is contained in:
@@ -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})
|
||||
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')
|
||||
45
RIGS/templates/RIGS/event_archive.html
Normal file
45
RIGS/templates/RIGS/event_archive.html
Normal file
@@ -0,0 +1,45 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load paginator from filters %}
|
||||
|
||||
{% block title %}Event Archive{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<h2>Event Archive</h2>
|
||||
|
||||
<div class="col-sm-12 col-md-6 pagination">
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="start">Start</label>
|
||||
<input type="date" name="start" id="start" value="{{ request.GET.start }}" placeholder="Start" class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="end">End</label>
|
||||
<input type="date" name="end" id="end" value="{% if request.GET.end %}{{ request.GET.end }}{% else %}{% now "Y-m-d" %}{% endif %}" placeholder="End" class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<div class="col-md-6 text-right">
|
||||
{% paginator %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="row">
|
||||
{% with latest as events %}
|
||||
{% include 'RIGS/event_table.html' %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<div class="row">
|
||||
<div class="text-right">
|
||||
{% paginator %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -71,6 +71,7 @@ urlpatterns = patterns('',
|
||||
url(r'^event/(?P<pk>\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<model>\w+)/$', (views.SecureAPIRequest.as_view()), name="api_secure"),
|
||||
|
||||
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
Reference in New Issue
Block a user