Commit b122464a by Mike Chen

generate permanent link for thread/comment on client side

parent 117855ea
......@@ -367,6 +367,15 @@ initializeFollowThread = (thread) ->
MathJax.Hub.Queue ["Typeset", MathJax.Hub, $contentBody.attr("id")]
id = $content.attr("_id")
discussion_id = $content.parents(".discussion").attr("_id")
if $content.hasClass("thread")
permalink = Discussion.urlFor("permanent_link_thread", discussion_id, id)
else
thread_id = $content.parents(".thread").attr("_id")
permalink = Discussion.urlFor("permanent_link_comment", discussion_id, thread_id, id)
$local(".discussion-permanent-link").attr "href", permalink
if not Discussion.getContentInfo id, 'editable'
$local(".discussion-edit").remove()
if not Discussion.getContentInfo id, 'can_reply'
......
......@@ -16,7 +16,7 @@ wmdEditors = {}
.addClass(cls).html(txt)
.click -> handler(this)
urlFor: (name, param, param1) ->
urlFor: (name, param, param1, param2) ->
{
follow_discussion : "/courses/#{$$course_id}/discussion/#{param}/follow"
unfollow_discussion : "/courses/#{$$course_id}/discussion/#{param}/unfollow"
......@@ -43,6 +43,8 @@ wmdEditors = {}
tags_autocomplete : "/courses/#{$$course_id}/discussion/threads/tags/autocomplete"
retrieve_discussion : "/courses/#{$$course_id}/discussion/forum/#{param}/inline"
retrieve_single_thread : "/courses/#{$$course_id}/discussion/forum/#{param}/threads/#{param1}"
permanent_link_thread : "/courses/#{$$course_id}/discussion/forum/#{param}/threads/#{param1}"
permanent_link_comment : "/courses/#{$$course_id}/discussion/forum/#{param}/threads/#{param1}##{param2}"
}[name]
safeAjax: (params) ->
......
......@@ -88,6 +88,7 @@
${render_info(content)}
${render_link("discussion-link discussion-reply discussion-reply-" + type, "Reply")}
${render_link("discussion-link discussion-edit", "Edit")}
${render_link("discussion-link discussion-permanent-link", "Permanent Link")}
<span class="discussion-endorse-control">
% if content.get('endorsed', False):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment