diff --git a/lms/templates/discussion/thread.html b/lms/templates/discussion/thread.html index 41b6d086e2..1f44af9d18 100644 --- a/lms/templates/discussion/thread.html +++ b/lms/templates/discussion/thread.html @@ -4,70 +4,78 @@ <%! import urllib %> <%def name="render_thread(course_id, thread, edit_thread=False, show_comments=False)"> - <% - if show_comments: - url_for_thread = "" - else: - thread_id = thread['id'] - url_for_thread = reverse('django_comment_client.forum.views.single_thread', args=[course_id, thread_id]) - def url_for_tags(tags): - return reverse('django_comment_client.forum.views.search', args=[course_id]) + '?' + urllib.urlencode({'tags': ",".join(tags)}) - %> +
-
-
- ${render_vote(thread)} -
- ${thread['title'] | h} -
-
${thread['body'] | h}
-
- % for tag in thread['tags']: - ${tag} - % endfor -
-
- ${render_info(thread)} - % if edit_thread: - ${render_reply()} - ${render_edit()} - % endif -
-
-
-
-
+ ${render_content(thread, "thread", edit_thread=edit_thread, show_comments=show_comments)} % if show_comments: -
- ${render_comments(thread['children'])} -
+ ${render_comments(thread['children'])} % endif
<%def name="render_comments(comments)"> - % for comment in comments: -
-
-
- ${render_vote(comment)} -
-
- ${comment['body'] | h} -
- ${render_info(comment)} - ${render_reply()} - ${render_edit()} -
-
-
+
+ % for comment in comments: +
+ ${render_content(comment, "comment")} +
+ ${render_comments(comment['children'])}
-
- ${render_comments(comment['children'])} + % endfor +
+ + +<%def name="render_content(content, type, **kwargs)"> +
+
+ ${render_vote(content)} +
+ ${render_title(content, type, **kwargs)} +
+
${content['body'] | h}
+ ${render_tags(content, type, **kwargs)} + ${render_bottom_bar(content, type, **kwargs)} +
- % endfor +
+ + +<%def name="render_title(content, type, **kwargs)"> + <% + if kwargs.get('show_comments', False): + url_for_thread = "" + else: + url_for_thread = reverse('django_comment_client.forum.views.single_thread', args=[course_id, thread['id']]) + %> + % if type == "thread": + ${content['title'] | h} + % endif + + +<%def name="render_tags(content, type, **kwargs)"> + <% + def url_for_tags(tags): + return reverse('django_comment_client.forum.views.search', args=[course_id]) + '?' + urllib.urlencode({'tags': ",".join(tags)}) + %> + % if type == "thread": +
+ % for tag in content['tags']: + ${tag} + % endfor +
+ % endif + + +<%def name="render_bottom_bar(content, type, **kwargs)"> +
+ ${render_info(content)} + % if type == "thread" and kwargs['edit_thread'] or type == "comment": + ${render_link("discussion-link discussion-reply", "Reply")} + ${render_link("discussion-link discussion-edit", "Edit")} + % endif +
<%def name="render_info(content)"> @@ -79,26 +87,14 @@ % endif -<%def name="render_reply()"> - Reply - - -<%def name="render_edit()"> - Edit - - -<%def name="render_watch_thread()"> - Watch +<%def name="render_link(cls, html)"> + ${html} <%def name="render_vote(content)"> - <% - upvote = "˄" - downvote = "˅" - %> -
- ${upvote} +
+ ${render_link("discussion-vote discussion-vote-up", "˄")} ${content['votes']['point']} - ${downvote} + ${render_link("discussion-vote discussion-vote-down", "˅")}