<%! from django.core.urlresolvers import reverse %> <%! from datehelper import time_ago_in_words %> <%! from dateutil.parser import parse %> <%! from django_comment_client.utils import pluralize %> <%! import urllib %> <%! def user_id_with_anonymity(content): if content.get('anonymous', False): return '' else: return content['user_id'] %> <%def name="render_thread(course_id, thread, show_comments=False)">
${render_content(thread, "thread", show_comments=show_comments)} % if show_comments: ${render_comments(thread.get('children', []))} % endif
<%def name="render_comment(comment)"> % if comment['endorsed']:
% else:
% endif ${render_content(comment, "comment")}
${render_comments(comment.get('children', []))}
<%def name="render_comments(comments)">
% for comment in comments: ${render_comment(comment)} % endfor
<%def name="render_content(content, type, **kwargs)">
${render_vote(content)}
${render_title(content, type, **kwargs)}
% if content.get('highlighted_body', None):
${content['highlighted_body'] | h}
% else:
${content['body'] | h}
% endif ${render_tags(content, type, **kwargs)} ${render_bottom_bar(content, type, **kwargs)}
<%def name="render_title(content, type, **kwargs)"> % if type == "thread": % if content.get('highlighted_title', None): ${content['highlighted_title'] | h} % else: ${content['title'] | h} % endif % endif <%def name="render_tags(content, type, **kwargs)"> <% def url_for_tags(tags): return reverse('django_comment_client.forum.views.forum_form_discussion', args=[course_id]) + '?' + urllib.urlencode({'tags': ",".join(tags)}) %> % if type == "thread":
% for tag in content['tags']: ${tag | h} % endfor
% endif <%def name="render_bottom_bar(content, type, **kwargs)">
${render_info(content, type, **kwargs)}
<%def name="render_info(content, type, **kwargs)"> <% def url_for_user(user_id): return reverse('django_comment_client.forum.views.user_profile', args=[course_id, user_id]) %>
${time_ago_in_words(parse(content['updated_at']))} ago by % if content['anonymous']: anonymous % else: ${content['username']} % endif
% if content.get('comments_count', -1) >= 0: % if discussion_type == 'user': Show all comments (${content['comments_count']} total) % else: Show ${content['comments_count']} ${pluralize('comment', content['comments_count'])} % endif % endif
<%def name="render_link(cls, html)"> ${html} <%def name="render_vote(content)">
${render_link("discussion-vote discussion-vote-up", "▲")}
${content['votes']['point']}
${render_link("discussion-vote discussion-vote-down", "▼")}