diff --git a/bt/views.py b/bt/views.py index 99719490c9a666b3e359347c1da57eaf1918d07d..b3e416affb273e326186f80dda80a391401e6491 100644 --- a/bt/views.py +++ b/bt/views.py @@ -9,7 +9,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.contrib import messages from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _ -from models import Violation, Attachment, Comment, Confirmation +from models import Violation, Attachment, Comment, Confirmation, COUNTRIES from tempfile import mkstemp from datetime import datetime import hashlib, os, re, json, smtplib @@ -198,6 +198,15 @@ def index(request): 'violations': v_list }, context_instance=RequestContext(request)) +def filter_violations(request, country, operator=None): + if country not in map(itemgetter(0),COUNTRIES): + raise Http404 + if not operator: + violations = Violation.objects.filter(activationid='', country=country) + else: + violations = Violation.objects.filter(activationid='', country=country, operator=operator) + return render_to_response('list.html', {"violations": violations},context_instance=RequestContext(request)) + def list_violations(request): violations = Violation.objects.filter(activationid='') return render_to_response('list.html', {"violations": violations},context_instance=RequestContext(request)) diff --git a/urls.py b/urls.py index 0e994e0edea9af8b68d10b869e17dcdc9e7c4e8f..18e28b8ee7b14089c7137d6f30875791134dd768 100644 --- a/urls.py +++ b/urls.py @@ -11,6 +11,7 @@ admin.autodiscover() urlpatterns = patterns('', (r'^$', bt.index), (r'^list/$', bt.list_violations), + (r'^list/(?P[^/]*)(/(?P[^/]*))?$', bt.filter_violations), (r'^ajax/(?P[^/]*)(/(?P[^/]*))?$', bt.ajax), (r'^add/$', bt.add), (r'^view/(?P[0-9]*)$', bt.view),