fixed comment quoting

This commit is contained in:
albert
2011-09-13 18:41:50 -04:00
parent e8d16b2b33
commit 13995cfd39
4 changed files with 38 additions and 2 deletions

View File

@@ -6,6 +6,31 @@
this.initialize_response_link();
this.initialize_preview_button();
this.hide_threshold_comments();
this.initialize_reply_links();
}
Danbooru.Comment.quote_message = function(data) {
var stripped_body = data["body"].replace(/\[quote\](?:.|\n|\r)+?\[\/quote\](?:\r\n|\r|\n)*/gm, "");
return "[quote]\n" + data["creator_name"] + " said:\n" + stripped_body + "\n[/quote]\n\n";
}
Danbooru.Comment.quote = function(e) {
$.get(
"/comments/" + $(e.target).data('comment-id') + ".json",
function(data) {
var $link = $(e.target);
var $div = $link.closest("div.comments-for-post");
var $textarea = $div.find("textarea")
$textarea.val(Danbooru.Comment.quote_message(data));
$div.find("a.expand-comment-response").trigger("click");
$textarea.focus();
}
);
e.preventDefault();
}
Danbooru.Comment.initialize_reply_links = function() {
$(".reply-link").click(Danbooru.Comment.quote);
}
Danbooru.Comment.initialize_response_link = function() {

View File

@@ -36,6 +36,13 @@ class CommentsController < ApplicationController
respond_with(@comment)
end
def show
@comment = Comment.find(params[:id])
respond_with(@comment) do |format|
format.json {render :json => @comment.to_json(:methods => [:creator_name])}
end
end
private
def index_for_post
@post = Post.find(params[:post_id])

View File

@@ -48,6 +48,10 @@ class Comment < ActiveRecord::Base
decrement!(:score)
end
end
def creator_name
creator.name
end
end
Comment.connection.extend(PostgresExtensions)

View File

@@ -6,11 +6,11 @@
</p>
</div>
<div class="content">
<div>
<div class="body">
<%= format_text(comment.body) %>
</div>
<menu>
<li><span class="link">Reply</span></li>
<li><%= link_to "Reply", new_comment_path(:post_id => comment.post_id), :class => "reply-link", "data-comment-id" => comment.id %></li>
<% if CurrentUser.user.is_janitor? || CurrentUser.user.id == comment.creator_id %>
<li><%= link_to "Delete", comment_path(comment.id), :confirm => "Do you really want to delete this comment?", :method => :delete %></li>
<li><%= link_to "Edit", edit_comment_path(comment.id) %></li>