This commit is contained in:
Toks
2015-07-04 22:00:31 -04:00
parent b1b31d7387
commit 4f4fd8cb35
5 changed files with 52 additions and 35 deletions

View File

@@ -56,7 +56,7 @@ class CommentsController < ApplicationController
def destroy def destroy
@comment = Comment.find(params[:id]) @comment = Comment.find(params[:id])
check_privilege(@comment) check_privilege(@comment)
@comment.destroy @comment.delete!
respond_with(@comment) do |format| respond_with(@comment) do |format|
format.js format.js
end end

View File

@@ -171,6 +171,10 @@ class Comment < ActiveRecord::Base
def hidden_attributes def hidden_attributes
super + [:body_index] super + [:body_index]
end end
def delete!
update_attribute(:is_deleted, true)
end
end end
Comment.connection.extend(PostgresExtensions) Comment.connection.extend(PostgresExtensions)

View File

@@ -1 +1 @@
$(".comment[data-comment-id=<%= @comment.id %>]").remove(); $(".comment[data-comment-id=<%= @comment.id %>] div.author h1").append(" (deleted)");

View File

@@ -1,6 +1,12 @@
<% if CurrentUser.is_moderator? || !comment.is_deleted? %>
<article class="comment" data-post-id="<%= comment.post_id %>" data-comment-id="<%= comment.id %>" data-score="<%= comment.score %>" data-creator="<%= comment.creator.name %>"> <article class="comment" data-post-id="<%= comment.post_id %>" data-comment-id="<%= comment.id %>" data-score="<%= comment.score %>" data-creator="<%= comment.creator.name %>">
<div class="author"> <div class="author">
<h1><%= link_to_user comment.creator %></h1> <h1>
<%= link_to_user comment.creator %>
<% if comment.is_deleted? %>
(deleted)
<% end %>
</h1>
<p> <p>
<%= time_ago_in_words_tagged(comment.created_at) %> <%= time_ago_in_words_tagged(comment.created_at) %>
</p> </p>
@@ -34,3 +40,4 @@
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</article> </article>
<% end %>

View File

@@ -0,0 +1,6 @@
class AddIsDeletedToComments < ActiveRecord::Migration
def change
execute "set statement_timeout = 0"
add_column :comments, :is_deleted, :boolean, :null => false, :default => false
end
end