diff --git a/lms/djangoapps/django_comment_client/helpers.py b/lms/djangoapps/django_comment_client/helpers.py
index 04411564e5..779ae3c9ee 100644
--- a/lms/djangoapps/django_comment_client/helpers.py
+++ b/lms/djangoapps/django_comment_client/helpers.py
@@ -33,21 +33,22 @@ def include_mustache_templates():
file_contents = map(read_file, filter(valid_file_name, os.listdir(mustache_dir)))
return '\n'.join(map(wrap_in_tag, map(strip_file_name, file_contents)))
-
+def permalink(content):
+ if content['type'] == 'thread':
+ return reverse('django_comment_client.forum.views.single_thread',
+ args=[content['course_id'], content['commentable_id'], content['id']])
+ else:
+ return reverse('django_comment_client.forum.views.single_thread',
+ args=[content['course_id'], content['commentable_id'], content['thread_id']]) + '#' + content['id']
def render_content(content, additional_context={}):
content_info = {
'displayed_title': content.get('highlighted_title') or content.get('title', ''),
'displayed_body': content.get('highlighted_body') or content.get('body', ''),
'raw_tags': ','.join(content.get('tags', [])),
+ 'permalink': permalink(content),
}
- print content_info
- if content['type'] == 'thread':
- content_info['permalink'] = reverse('django_comment_client.forum.views.single_thread',
- args=[content['course_id'], content['commentable_id'], content['id']])
- else:
- content_info['permalink'] = reverse('django_comment_client.forum.views.single_thread',
- args=[content['course_id'], content['commentable_id'], content['thread_id']]) + '#' + content['id']
+
context = {
'content': merge_dict(content, content_info),
content['type']: True,
diff --git a/lms/djangoapps/django_comment_client/mustache_helpers.py b/lms/djangoapps/django_comment_client/mustache_helpers.py
index c8e8e90c0a..1961bf5c90 100644
--- a/lms/djangoapps/django_comment_client/mustache_helpers.py
+++ b/lms/djangoapps/django_comment_client/mustache_helpers.py
@@ -1,3 +1,5 @@
+from .utils import url_for_tags as _url_for_tags
+
import django.core.urlresolvers as urlresolvers
import urllib
import sys
@@ -14,7 +16,7 @@ def url_for_user(content, user_id):
return urlresolvers.reverse('django_comment_client.forum.views.user_profile', args=[content['course_id'], user_id])
def url_for_tags(content, tags): # assume that attribute 'tags' is in the format u'a, b, c'
- return urlresolvers.reverse('django_comment_client.forum.views.forum_form_discussion', args=[content['course_id']]) + '?' + urllib.urlencode({'tags': tags})
+ return _url_for_tags(content['course_id'], tags)
def close_thread_text(content):
if content.get('closed'):
diff --git a/lms/djangoapps/django_comment_client/utils.py b/lms/djangoapps/django_comment_client/utils.py
index ec319b93a5..9e2f9c8a03 100644
--- a/lms/djangoapps/django_comment_client/utils.py
+++ b/lms/djangoapps/django_comment_client/utils.py
@@ -7,12 +7,14 @@ from django.http import HttpResponse
from django.utils import simplejson
from django.db import connection
from django.conf import settings
+from django.core.urlresolvers import reverse
from django_comment_client.permissions import check_permissions_by_view
from mitxmako import middleware
import logging
import operator
import itertools
+import urllib
import pystache_custom as pystache
@@ -188,6 +190,10 @@ def get_annotated_content_infos(course_id, thread, user, user_info):
annotate(thread)
return infos
+# put this method in utils.py to avoid circular import dependency between helpers and mustache_helpers
+def url_for_tags(course_id, tags):
+ return reverse('django_comment_client.forum.views.forum_form_discussion', args=[course_id]) + '?' + urllib.urlencode({'tags': tags})
+
def render_mustache(template_name, dictionary, *args, **kwargs):
template = middleware.lookup['main'].get_template(template_name).source
return pystache.render(template, dictionary)
diff --git a/lms/templates/discussion/_recent_active_posts.html b/lms/templates/discussion/_recent_active_posts.html
index 8fdf7d95e7..baf505838d 100644
--- a/lms/templates/discussion/_recent_active_posts.html
+++ b/lms/templates/discussion/_recent_active_posts.html
@@ -1,12 +1,14 @@
+<%! import django_comment_client.helpers as helpers %>
+
% if recent_active_threads:
diff --git a/lms/templates/discussion/_trending_tags.html b/lms/templates/discussion/_trending_tags.html
index 2f9e874280..fea18c02dc 100644
--- a/lms/templates/discussion/_trending_tags.html
+++ b/lms/templates/discussion/_trending_tags.html
@@ -1,3 +1,5 @@
+<%! import django_comment_client.helpers as helpers %>
+
% if trending_tags: