From bd6ebceda398fa8be4c2497117f2fbe1192d4997 Mon Sep 17 00:00:00 2001 From: evazion Date: Fri, 14 Oct 2016 05:04:40 +0000 Subject: [PATCH] Refactor post_approvers_only to approver_only. Don't duplicate code with post_approvers_only; use the approver_only? method dynamically defined in `User::Roles.each do ... end`. --- app/controllers/application_controller.rb | 9 --------- app/controllers/moderator/post/approvals_controller.rb | 2 +- .../moderator/post/disapprovals_controller.rb | 2 +- app/controllers/moderator/post/posts_controller.rb | 2 +- app/controllers/moderator/post/queues_controller.rb | 2 +- app/models/user.rb | 4 ++++ 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 36a81839d..5bbc02c22 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -174,13 +174,4 @@ protected Rails.application.config.session_store :cookie_store, :key => '_danbooru_session', :secure => false end end - - def post_approvers_only - if CurrentUser.can_approve_posts? - true - else - access_denied() - false - end - end end diff --git a/app/controllers/moderator/post/approvals_controller.rb b/app/controllers/moderator/post/approvals_controller.rb index 534422a47..c9d4feb3f 100644 --- a/app/controllers/moderator/post/approvals_controller.rb +++ b/app/controllers/moderator/post/approvals_controller.rb @@ -1,7 +1,7 @@ module Moderator module Post class ApprovalsController < ApplicationController - before_filter :post_approvers_only + before_filter :approver_only def create cookies.permanent[:moderated] = Time.now.to_i diff --git a/app/controllers/moderator/post/disapprovals_controller.rb b/app/controllers/moderator/post/disapprovals_controller.rb index bc304596b..271178ed0 100644 --- a/app/controllers/moderator/post/disapprovals_controller.rb +++ b/app/controllers/moderator/post/disapprovals_controller.rb @@ -1,7 +1,7 @@ module Moderator module Post class DisapprovalsController < ApplicationController - before_filter :post_approvers_only + before_filter :approver_only def create cookies.permanent[:moderated] = Time.now.to_i diff --git a/app/controllers/moderator/post/posts_controller.rb b/app/controllers/moderator/post/posts_controller.rb index ffc0c8a79..83b3584d0 100644 --- a/app/controllers/moderator/post/posts_controller.rb +++ b/app/controllers/moderator/post/posts_controller.rb @@ -1,7 +1,7 @@ module Moderator module Post class PostsController < ApplicationController - before_filter :post_approvers_only, :only => [:delete, :undelete, :move_favorites, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban] + before_filter :approver_only, :only => [:delete, :undelete, :move_favorites, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban] before_filter :admin_only, :only => [:expunge] rescue_from ::PostFlag::Error, ::Post::ApprovalError, :with => :rescue_exception diff --git a/app/controllers/moderator/post/queues_controller.rb b/app/controllers/moderator/post/queues_controller.rb index 89a03cd7b..668f5fb88 100644 --- a/app/controllers/moderator/post/queues_controller.rb +++ b/app/controllers/moderator/post/queues_controller.rb @@ -2,7 +2,7 @@ module Moderator module Post class QueuesController < ApplicationController respond_to :html, :json - before_filter :post_approvers_only + before_filter :approver_only def show cookies.permanent[:moderated] = Time.now.to_i diff --git a/app/models/user.rb b/app/models/user.rb index a1eb4b248..aff970590 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -430,6 +430,10 @@ class User < ActiveRecord::Base is_gold? || is_super_voter? end + def is_approver? + can_approve_posts? + end + def create_mod_action if level_changed? ModAction.create(:description => %{"#{name}":/users/#{id} level changed #{level_string_was} -> #{level_string}})