add thesaurus filter. bug 0018162
authorcavaliet
Fri, 15 Nov 2013 13:25:12 +0100
changeset 185 373b9af60d65
parent 184 d9cd6f19850e
child 186 237da3373a44
add thesaurus filter. bug 0018162
src/jocondelab/templates/jocondelab/front_termlist.html
src/jocondelab/views/front_office.py
--- a/src/jocondelab/templates/jocondelab/front_termlist.html	Fri Nov 15 10:03:42 2013 +0100
+++ b/src/jocondelab/templates/jocondelab/front_termlist.html	Fri Nov 15 13:25:12 2013 +0100
@@ -57,7 +57,7 @@
                         <div class="term-image-wrap">
                             <img class="term-image" src="{{JOCONDE_IMAGE_BASE_URL}}{{term.image_url}}" />
                         </div>
-                        <h3 data-dbpedia-uri="{{term.dbpedia_uri}}"><a href="{% url 'front_search' %}?dbpedia_uri={{term.dbpedia_uri|urlencode}}">{{term.label}}</a></h3>
+                        <h3 data-dbpedia-uri="{{term.dbpedia_uri}}"><a href="{% url 'front_search' %}?dbpedia_uri={{term.dbpedia_uri|urlencode}}&thesaurus={{thesaurus}}">{{term.label}}</a></h3>
                             {% if term.abstract %}<p>{{term.abstract|truncatechars:100}}</p>{% endif %}
                     </li>
                 {% endfor %}
--- a/src/jocondelab/views/front_office.py	Fri Nov 15 10:03:42 2013 +0100
+++ b/src/jocondelab/views/front_office.py	Fri Nov 15 13:25:12 2013 +0100
@@ -64,6 +64,7 @@
         queryterms = [s.strip(" ") for s in querystr.split(";") if s.strip(" ")]
         dbpedia_uri = request.GET.get('dbpedia_uri', "")
         dbpedia_uris = [s.strip(" ") for s in dbpedia_uri.split(";") if s.strip(" ")]
+        thesaurus = request.GET.get('thesaurus', None)
         from_year = request.GET.get('from_year', None)
         to_year = request.GET.get('to_year', from_year)
         show_years = request.GET.get('show_years',False)
@@ -118,6 +119,11 @@
                             context["wkinfo"] = firstres
                     fs = fs.values('term_id').distinct()
                     qs = qs.filter(noticeterm__term__in=fs)
+                    if thesaurus:
+                        if thesaurus == 'REPR':
+                            qs = qs.filter(noticeterm__term__thesaurus__label__in=['REPR','SREP'])
+                        else:
+                            qs = qs.filter(noticeterm__term__thesaurus__label=thesaurus)
             elif queryterms:
                 searchterms = queryterms
                 queryobj = {'q': querystr}