generate permanent link for thread/comment on client side

This commit is contained in:
Mike Chen
2012-08-09 12:04:38 -04:00
parent f4edc050d0
commit b449334462
3 changed files with 13 additions and 1 deletions

View File

@@ -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'

View File

@@ -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) ->

View File

@@ -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):