--- a/src/jocondelab/views/front_office.py Mon Dec 02 17:25:45 2013 +0100
+++ b/src/jocondelab/views/front_office.py Tue Dec 03 18:30:12 2013 +0100
@@ -20,6 +20,7 @@
import random
import logging
+from core.models.term import Thesaurus
logger = logging.getLogger(__name__)
def get_terms_by_thesaurus(notices, lang):
@@ -206,14 +207,30 @@
if self.show_contributions:
cqs = self.object.contribution_set.select_related('term__dbpedia_fields')
+ if self.template_name == "jocondelab/front_describe.html":
+ # describe mode : get contributions from session history and not from whole database
+ contrib_h = self.request.session.setdefault('contribution_history', {})
+ notice_id = str(self.object.id)
+ if notice_id in contrib_h:
+ contrib_h = contrib_h[notice_id]
+ else:
+ contrib_h = []
+
+ query = cqs.filter(thesaurus=Thesaurus.objects.get(label="REPR"),
+ term__dbpedia_fields__language_code=lang,
+ term__dbpedia_uri__in=contrib_h).order_by('-contribution_count')
+ vote_mode = False
+ else:
+ query = cqs.filter(thesaurus=None,term__dbpedia_fields__language_code=lang).order_by('-contribution_count')
+ vote_mode = True
contributions = [{
"label": ct.term.dbpedia_fields.get(language_code=lang).label,
"dbpedia_uri": ct.term.dbpedia_uri,
"contribution_id": ct.id,
"li_style": "positive" if ct.contribution_count > 0 else "null",
"font_size": "%.1f"%(12. + .5 * max(0., min(12., ct.contribution_count))),
- "vote_mode": True
- } for ct in cqs.filter(thesaurus=None,term__dbpedia_fields__language_code=lang).order_by('-contribution_count')]
+ "vote_mode": vote_mode
+ } for ct in query]
context["contributions"] = contributions
context['wikipedia_urls'] = json.dumps(settings.WIKIPEDIA_URLS)