From 5e702c47de914a209381dcb5b90042f668b8487f Mon Sep 17 00:00:00 2001 From: Okhin Date: Tue, 1 Mar 2016 17:33:42 +0100 Subject: [PATCH] A hell of work done, need to finish the table and to fix the me too button --- bt/forms.py | 4 +-- bt/search_indexes.py | 6 ++-- bt/templatetags/json_filters.py | 2 ++ bt/views.py | 3 +- nnmon/templates/index.html | 52 ++++++++++++++++++++++++++---- nnmon/templates/list.html | 2 +- nnmon/templates/search/lookup.json | 2 +- nnmon/templates/search/search.html | 3 -- 8 files changed, 57 insertions(+), 17 deletions(-) diff --git a/bt/forms.py b/bt/forms.py index 4a34078..4387f6f 100644 --- a/bt/forms.py +++ b/bt/forms.py @@ -54,10 +54,10 @@ class SearchViolation(SearchForm): return self.no_query_found() if self.cleaned_data['operator']: - sqs = sqs.filter(operator=self.cleaned_data['operator']) + sqs = sqs.filter(operator__icontains=self.cleaned_data['operator']) if self.cleaned_data['contract']: - sqs = sqs.filter(contract=self.cleaned_data['contract']) + sqs = sqs.filter(contract__icontains=self.cleaned_data['contract']) if self.cleaned_data['media']: sqs = sqs.filter(media=self.cleaned_data['media']) diff --git a/bt/search_indexes.py b/bt/search_indexes.py index 03f65de..eee8ca3 100644 --- a/bt/search_indexes.py +++ b/bt/search_indexes.py @@ -5,9 +5,11 @@ class ViolationIndexes(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) operator = indexes.CharField(model_attr="operator_ref") country = indexes.CharField(model_attr="country") - contract = indexes.CharField(model_attr="contract_excerpt") - type = indexes.BooleanField(model_attr="contractual") + contract = indexes.CharField(model_attr="contract") + type = indexes.CharField(model_attr="contractual") + media = indexes.CharField(model_attr="media") operator_name = indexes.CharField() + state = indexes.NgramField(model_attr="state") def get_model(self): return Violation diff --git a/bt/templatetags/json_filters.py b/bt/templatetags/json_filters.py index d79f298..9404c79 100644 --- a/bt/templatetags/json_filters.py +++ b/bt/templatetags/json_filters.py @@ -9,6 +9,8 @@ register = Library() def jsonify(object): if isinstance(object, QuerySet): return serialize('json', object) + elif object == []: + return json.dumps(object) elif isinstance(object[0], SearchResult): return serialize('json', [x.object for x in object]) else: diff --git a/bt/views.py b/bt/views.py index d759e28..f17a7fa 100644 --- a/bt/views.py +++ b/bt/views.py @@ -17,7 +17,7 @@ from django.utils.translation import ugettext_lazy as _ from django.db.models import Count from haystack.generic_views import SearchView from haystack.query import SearchQuerySet -from models import Violation, Attachment, Comment, Confirmation, COUNTRIES, STATUS, Operator +from models import Violation, Attachment, Comment, Confirmation, COUNTRIES, STATUS, Operator, FeaturedCase from tempfile import mkstemp from datetime import datetime import hashlib, os, re, json @@ -210,6 +210,7 @@ class AddForm(FormView): (_('Total confirmed reports'), len([i for i,z in reports if i>0])), (_('Countries with some confirmed reports'), len([i for i,z in confirms if i>0])), (_('Operators with some confirmed reports'), len([i for i,z in operators if i>0]))] + context['violations'] = [fc.case for fc in FeaturedCase.objects.all()] return context class ViolationsList(ListView): diff --git a/nnmon/templates/index.html b/nnmon/templates/index.html index 2cdcc27..c85093d 100644 --- a/nnmon/templates/index.html +++ b/nnmon/templates/index.html @@ -11,20 +11,55 @@