<%! from django.core.urlresolvers import reverse %> <%! from datehelper import time_ago_in_words %> <%! from dateutil.parser import parse %> <%! import urllib %> <%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, content['commentable_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)} ${render_link("discussion-link discussion-reply discussion-reply-" + type, "Reply")} ${render_link("discussion-link discussion-edit", "Edit")} % if type == "comment" and request.user.is_staff: % if content['endorsed']: % else: % endif % endif
<%def name="render_info(content)">
${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: Show ${content['comments_count']} comment(s) % 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", "˅")}