work on post unapproval javascript

This commit is contained in:
albert
2011-02-08 19:11:14 -05:00
parent 76a7594a97
commit 00ea319743
13 changed files with 139 additions and 17 deletions

View File

@@ -10,6 +10,7 @@ class PostsController < ApplicationController
def show
@post = Post.find(params[:id])
@unapproval = Unapproval.new(:post_id => @post)
respond_with(@post)
end

View File

@@ -15,7 +15,7 @@ class UnapprovalsController < ApplicationController
def create
@unapproval = Unapproval.create(params[:unapproval])
respond_with(@unapproval)
respond_with(@unapproval, :location => post_path(@unapproval.post_id))
end
def destroy

View File

@@ -199,9 +199,14 @@ class Post < ActiveRecord::Base
end
module ApprovalMethods
def is_unapprovable?
is_pending == false && is_flagged == false && unapproval.nil?
end
def unapprove!(reason)
raise Unapproval::Error.new("This post is still pending approval") if is_pending?
raise Unapproval::Error.new("This post has already been flagged") if is_flagged?
raise Unapproval::Error.new("This post has already been unapproved once") unless unapproval.nil?
raise Unapproval::Error.new("This post has already been unapproved once") unless unapproval.nil?
unapproval = create_unapproval(
:unapprover_id => CurrentUser.user.id,

View File

@@ -3,11 +3,21 @@
<li><%= link_to "Favorite", "#", :id => "add-to-favorites" %> <img src="/images/wait.gif" style="display: none;" id="add-to-favorites-wait"></li>
<li><%= link_to "Unfavorite", "#", :id => "remove-from-favorites" %> <img src="/images/wait.gif" style="display: none;" id="remove-from-favorites-wait"></li>
<li><%= link_to "Translate", "#" %></li>
<li><%= link_to "Unapprove", "#" %></li>
<% if CurrentUser.user.is_janitor? %>
<li><%= link_to "Approve", "#" %></li>
<li><%= link_to "Undelete", "#" %></li>
<li><%= link_to "Delete", "#" %></li>
<% if !post.is_flagged? %>
<li><%= link_to "Unapprove", new_unapproval_path(:post_id => post.id), :id => "unapprove" %></li>
<% end %>
<% if CurrentUser.is_janitor? %>
<% if post.is_pending? || post.is_flagged? %>
<li><%= link_to "Approve", "#", :id => "approve" %> <img src="/images/wait.gif" style="display: none;" id="approve-wait"></li>
<li><%= link_to "Disapprove", "#", :id => "disapprove" %> <img src="/images/wait.gif" style="display: none;" id="disapprove-wait"></li>
<% end %>
<% end %>
<% if CurrentUser.is_moderator? %>
<% if post.is_removed? %>
<li><%= link_to "Undelete", "#" %></li>
<% else %>
<li><%= link_to "Delete", "#" %></li>
<% end %>
<% end %>
<li><%= link_to "Pool", "#" %></li>
</ul>

View File

@@ -52,6 +52,10 @@
</section>
</section>
</div>
<div id="unapprove-dialog" title="Unapprove Post">
<%= render :template => "unapprovals/new" %>
</div>
</div>
<% content_for(:page_title) do %>
@@ -63,6 +67,7 @@
<meta name="favorites" content="<%= @post.fav_string %>">
<meta name="pools" content="<%= @post.pool_string %>">
<meta name="post-id" content="<%= @post.id %>">
<meta name="post-is-unapprovable" content="<%= @post.is_unapprovable? %>">
<% end %>
<%= render :partial => "posts/partials/common/secondary_links" %>

View File

@@ -0,0 +1,4 @@
<p>You can unapprove a post if you believe it breaks the rules or doesn't belong on this site. You must provide a reason.</p>
<%= form_for(@unapproval) do |f| %>
<%= f.text_area :reason, :size => "40x5" %>
<% end %>