diff --git a/app/assets/javascripts/mod_queue.js b/app/assets/javascripts/mod_queue.js new file mode 100644 index 000000000..b133502e9 --- /dev/null +++ b/app/assets/javascripts/mod_queue.js @@ -0,0 +1,24 @@ +(function() { + Danbooru.ModQueue = {}; + + Danbooru.ModQueue.initialize_approve_all_button = function(e) { + $("#c-moderator-post-queues #approve-all-button").click(function() { + $(".approve-link").trigger("click"); + }); + + e.preventDefault(); + } + + Danbooru.ModQueue.initialize_hide_all_button = function(e) { + $("#c-moderator-post-queues #hide-all-button").click(function() { + $(".disapprove-link").trigger("click"); + }); + + e.preventDefault(); + } +})(); + +$(function() { + Danbooru.ModQueue.initialize_approve_all_button(); + Danbooru.ModQueue.initialize_hide_all_button(); +}); diff --git a/app/assets/stylesheets/specific/mod_queue.css.scss b/app/assets/stylesheets/specific/mod_queue.css.scss index 1e4d84a84..ba52c99bc 100644 --- a/app/assets/stylesheets/specific/mod_queue.css.scss +++ b/app/assets/stylesheets/specific/mod_queue.css.scss @@ -9,6 +9,8 @@ div#c-moderator-post-queues { aside { float: left; width: 520px; + text-align: right; + padding-right: 20px; } section { diff --git a/app/controllers/moderator/post/queues_controller.rb b/app/controllers/moderator/post/queues_controller.rb index 53871b453..16e7675e6 100644 --- a/app/controllers/moderator/post/queues_controller.rb +++ b/app/controllers/moderator/post/queues_controller.rb @@ -5,7 +5,7 @@ module Moderator before_filter :janitor_only def show - @search = ::Post.order("id asc").pending_or_flagged.available_for_moderation.search(:tag_match => params[:query]) + @search = ::Post.order("id asc").pending_or_flagged.available_for_moderation(params[:hidden]).search(:tag_match => params[:query]) @posts = @search.paginate(params[:page]) respond_with(@posts) end diff --git a/app/models/post.rb b/app/models/post.rb index 83932800d..39363252b 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -41,7 +41,7 @@ class Post < ActiveRecord::Base scope :commented_before, lambda {|date| where("last_commented_at < ?", date).order("last_commented_at DESC")} scope :has_notes, where("last_noted_at is not null") scope :for_user, lambda {|user_id| where(["uploader_id = ?", user_id])} - scope :available_for_moderation, lambda {where(["id NOT IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id])} + scope :available_for_moderation, lambda {|hidden| hidden.present? ? where(["id NOT IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id]) : where(["id NOT IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id])} scope :hidden_from_moderation, lambda {where(["id IN (SELECT pd.post_id FROM post_disapprovals pd WHERE pd.user_id = ?)", CurrentUser.id])} scope :tag_match, lambda {|query| Post.tag_match_helper(query)} scope :exact_tag_match, lambda {|query| Post.exact_tag_match_helper(query)} diff --git a/app/models/post_disapproval.rb b/app/models/post_disapproval.rb index 18c7cbafc..4c657b1ae 100644 --- a/app/models/post_disapproval.rb +++ b/app/models/post_disapproval.rb @@ -1,7 +1,7 @@ class PostDisapproval < ActiveRecord::Base belongs_to :post belongs_to :user - validates_uniqueness_of :post_id, :scope => [:user_id] + validates_uniqueness_of :post_id, :scope => [:user_id], :message => "have already hidden this post" def self.prune! joins(:post).where("posts.is_pending = FALSE AND posts.is_flagged = FALSE").each do |post_disapproval| diff --git a/app/views/moderator/post/approvals/create.js.erb b/app/views/moderator/post/approvals/create.js.erb index 67222d726..2cfc5aa82 100644 --- a/app/views/moderator/post/approvals/create.js.erb +++ b/app/views/moderator/post/approvals/create.js.erb @@ -10,7 +10,7 @@ $("#c-posts #flag").show(); $("#pending-approval-notice").hide(); -$("#c-post-moderation #post-<%= @post.id %>").hide(); +$("#c-moderator-post-queues #post-<%= @post.id %>").hide(); Danbooru.notice("Post was approved"); <% end %> \ No newline at end of file diff --git a/app/views/moderator/post/disapprovals/create.js.erb b/app/views/moderator/post/disapprovals/create.js.erb index cebea6fb4..49474b2a0 100644 --- a/app/views/moderator/post/disapprovals/create.js.erb +++ b/app/views/moderator/post/disapprovals/create.js.erb @@ -9,7 +9,7 @@ $("#c-posts #disapprove").hide(); $("#pending-approval-notice").hide(); -$("#c-post-moderation #post-<%= @post.id %>").hide(); -Danbooru.notice("Post was disapproved"); +$("#c-moderator-post-queues #post-<%= @post.id %>").hide(); +Danbooru.notice("Post was hidden"); <% end %> \ No newline at end of file diff --git a/app/views/moderator/post/queues/show.html.erb b/app/views/moderator/post/queues/show.html.erb index c0026792f..82f90e3b8 100644 --- a/app/views/moderator/post/queues/show.html.erb +++ b/app/views/moderator/post/queues/show.html.erb @@ -32,18 +32,25 @@
diff --git a/config/locales/en.yml b/config/locales/en.yml index 8c18d4c1f..af66c24ee 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -17,3 +17,6 @@ en: post_appeal: creator: "You" creator_id: "You" + post_disapproval: + post: "You" + post_id: "You" \ No newline at end of file