mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-26 18:02:18 +00:00
Tidy up event search logic and optimise
This commit is contained in:
@@ -1,24 +1,23 @@
|
|||||||
import os
|
|
||||||
import cStringIO as StringIO
|
import cStringIO as StringIO
|
||||||
from io import BytesIO
|
import copy
|
||||||
|
import datetime
|
||||||
|
import re
|
||||||
import urllib2
|
import urllib2
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
from django.views import generic
|
from PyPDF2 import PdfFileMerger, PdfFileReader
|
||||||
|
from django.conf import settings
|
||||||
|
from django.contrib import messages
|
||||||
from django.core.urlresolvers import reverse_lazy
|
from django.core.urlresolvers import reverse_lazy
|
||||||
|
from django.db.models import Q
|
||||||
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
from django.conf import settings
|
from django.views import generic
|
||||||
from django.http import HttpResponse
|
|
||||||
from django.db.models import Q
|
|
||||||
from django.contrib import messages
|
|
||||||
from z3c.rml import rml2pdf
|
from z3c.rml import rml2pdf
|
||||||
from PyPDF2 import PdfFileMerger, PdfFileReader
|
|
||||||
|
|
||||||
from RIGS import models, forms
|
from RIGS import models, forms
|
||||||
import datetime
|
|
||||||
import re
|
|
||||||
import copy
|
|
||||||
|
|
||||||
__author__ = 'ghost'
|
__author__ = 'ghost'
|
||||||
|
|
||||||
@@ -180,19 +179,15 @@ class EventArchive(generic.ArchiveIndexView):
|
|||||||
"Muppet! Check the dates, it has been fixed for you.")
|
"Muppet! Check the dates, it has been fixed for you.")
|
||||||
start, end = end, start # Stop the impending fail
|
start, end = end, start # Stop the impending fail
|
||||||
|
|
||||||
filter = False
|
filter = Q()
|
||||||
if end != "":
|
if end != "":
|
||||||
filter = Q(start_date__lte=end)
|
filter &= Q(start_date__lte=end)
|
||||||
if start:
|
if start:
|
||||||
if filter:
|
filter &= Q(start_date__gte=start)
|
||||||
filter = filter & Q(start_date__gte=start)
|
|
||||||
else:
|
|
||||||
filter = Q(start_date__gte=start)
|
|
||||||
|
|
||||||
|
|
||||||
q = self.request.GET.get('q', "")
|
q = self.request.GET.get('q', "")
|
||||||
|
|
||||||
qfilter = Q(pk__gte=0)
|
|
||||||
if q is not "":
|
if q is not "":
|
||||||
qfilter = Q(name__icontains=q) | Q(description__icontains=q) | Q(notes__icontains=q)
|
qfilter = Q(name__icontains=q) | Q(description__icontains=q) | Q(notes__icontains=q)
|
||||||
|
|
||||||
@@ -210,10 +205,9 @@ class EventArchive(generic.ArchiveIndexView):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if filter or qfilter:
|
filter &= qfilter
|
||||||
qs = self.model.objects.filter(filter & qfilter).order_by('-start_date')
|
|
||||||
else:
|
qs = self.model.objects.filter(filter).order_by('-start_date')
|
||||||
qs = self.model.objects.all().order_by('-start_date')
|
|
||||||
|
|
||||||
# Preselect related for efficiency
|
# Preselect related for efficiency
|
||||||
qs.select_related('person', 'organisation', 'venue', 'mic')
|
qs.select_related('person', 'organisation', 'venue', 'mic')
|
||||||
@@ -221,4 +215,4 @@ class EventArchive(generic.ArchiveIndexView):
|
|||||||
if len(qs) == 0:
|
if len(qs) == 0:
|
||||||
messages.add_message(self.request, messages.WARNING, "No events have been found matching those criteria.")
|
messages.add_message(self.request, messages.WARNING, "No events have been found matching those criteria.")
|
||||||
|
|
||||||
return qs
|
return qs
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
{% with event_list as events %}
|
{% with object_list as events %}
|
||||||
{% include 'RIGS/event_table.html' %}
|
{% include 'RIGS/event_table.html' %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user