From b048926e678e5b642cb1e939f629236e77944523 Mon Sep 17 00:00:00 2001 From: ysksn Date: Thu, 13 Dec 2018 06:32:13 +0900 Subject: [PATCH] Create Settings::BaseController (#9507) Define `Settings::BaseController#set_body_classes` so that sub classes inherit `Settings::BaseController` don't need to define `#set_body_classes` agein. --- app/controllers/settings/applications_controller.rb | 7 +------ app/controllers/settings/base_controller.rb | 11 +++++++++++ app/controllers/settings/deletes_controller.rb | 7 +------ app/controllers/settings/exports_controller.rb | 9 +-------- .../settings/follower_domains_controller.rb | 7 +------ app/controllers/settings/imports_controller.rb | 7 +------ app/controllers/settings/migrations_controller.rb | 7 +------ app/controllers/settings/notifications_controller.rb | 7 +------ app/controllers/settings/preferences_controller.rb | 7 +------ app/controllers/settings/profiles_controller.rb | 7 +------ app/controllers/settings/sessions_controller.rb | 7 +------ .../confirmations_controller.rb | 7 +------ .../recovery_codes_controller.rb | 9 +-------- .../settings/two_factor_authentications_controller.rb | 7 +------ 14 files changed, 24 insertions(+), 82 deletions(-) create mode 100644 app/controllers/settings/base_controller.rb diff --git a/app/controllers/settings/applications_controller.rb b/app/controllers/settings/applications_controller.rb index a1a2c57fa..ed3f82a8e 100644 --- a/app/controllers/settings/applications_controller.rb +++ b/app/controllers/settings/applications_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true -class Settings::ApplicationsController < ApplicationController +class Settings::ApplicationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! before_action :set_application, only: [:show, :update, :destroy, :regenerate] before_action :prepare_scopes, only: [:create, :update] - before_action :set_body_classes def index @applications = current_user.applications.order(id: :desc).page(params[:page]) @@ -70,8 +69,4 @@ class Settings::ApplicationsController < ApplicationController scopes = params.fetch(:doorkeeper_application, {}).fetch(:scopes, nil) params[:doorkeeper_application][:scopes] = scopes.join(' ') if scopes.is_a? Array end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/base_controller.rb b/app/controllers/settings/base_controller.rb new file mode 100644 index 000000000..9bb14afa2 --- /dev/null +++ b/app/controllers/settings/base_controller.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class Settings::BaseController < ApplicationController + before_action :set_body_classes + + private + + def set_body_classes + @body_classes = 'admin' + end +end diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb index 97f3946c8..dd19aadf6 100644 --- a/app/controllers/settings/deletes_controller.rb +++ b/app/controllers/settings/deletes_controller.rb @@ -1,11 +1,10 @@ # frozen_string_literal: true -class Settings::DeletesController < ApplicationController +class Settings::DeletesController < Settings::BaseController layout 'admin' before_action :check_enabled_deletion before_action :authenticate_user! - before_action :set_body_classes def show @confirmation = Form::DeleteConfirmation.new @@ -30,8 +29,4 @@ class Settings::DeletesController < ApplicationController def delete_params params.require(:form_delete_confirmation).permit(:password) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb index 3a2334ef0..0135f2189 100644 --- a/app/controllers/settings/exports_controller.rb +++ b/app/controllers/settings/exports_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true -class Settings::ExportsController < ApplicationController +class Settings::ExportsController < Settings::BaseController include Authorization layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @export = Export.new(current_account) @@ -21,10 +20,4 @@ class Settings::ExportsController < ApplicationController redirect_to settings_export_path end - - private - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/follower_domains_controller.rb b/app/controllers/settings/follower_domains_controller.rb index 9c39e66bb..ce8ec985d 100644 --- a/app/controllers/settings/follower_domains_controller.rb +++ b/app/controllers/settings/follower_domains_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::FollowerDomainsController < ApplicationController +class Settings::FollowerDomainsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @account = current_account @@ -26,8 +25,4 @@ class Settings::FollowerDomainsController < ApplicationController def bulk_params params.permit(select: []) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/imports_controller.rb b/app/controllers/settings/imports_controller.rb index e9548ce62..38f2e39c1 100644 --- a/app/controllers/settings/imports_controller.rb +++ b/app/controllers/settings/imports_controller.rb @@ -1,11 +1,10 @@ # frozen_string_literal: true -class Settings::ImportsController < ApplicationController +class Settings::ImportsController < Settings::BaseController layout 'admin' before_action :authenticate_user! before_action :set_account - before_action :set_body_classes def show @import = Import.new @@ -32,8 +31,4 @@ class Settings::ImportsController < ApplicationController def import_params params.require(:import).permit(:data, :type) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/migrations_controller.rb b/app/controllers/settings/migrations_controller.rb index bd4f9c87a..59eb48779 100644 --- a/app/controllers/settings/migrations_controller.rb +++ b/app/controllers/settings/migrations_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::MigrationsController < ApplicationController +class Settings::MigrationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @migration = Form::Migration.new(account: current_account.moved_to_account) @@ -32,8 +31,4 @@ class Settings::MigrationsController < ApplicationController current_account.moved_to_account_id != @migration.account&.id && current_account.id != @migration.account&.id end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/notifications_controller.rb b/app/controllers/settings/notifications_controller.rb index d0754296c..da8a03d96 100644 --- a/app/controllers/settings/notifications_controller.rb +++ b/app/controllers/settings/notifications_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::NotificationsController < ApplicationController +class Settings::NotificationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show; end @@ -30,8 +29,4 @@ class Settings::NotificationsController < ApplicationController interactions: %i(must_be_follower must_be_following must_be_following_dm) ) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 70e71b4a2..41df3bde2 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::PreferencesController < ApplicationController +class Settings::PreferencesController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show; end @@ -53,8 +52,4 @@ class Settings::PreferencesController < ApplicationController interactions: %i(must_be_follower must_be_following) ) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb index 20a55785c..db9081fdf 100644 --- a/app/controllers/settings/profiles_controller.rb +++ b/app/controllers/settings/profiles_controller.rb @@ -1,13 +1,12 @@ # frozen_string_literal: true -class Settings::ProfilesController < ApplicationController +class Settings::ProfilesController < Settings::BaseController include ObfuscateFilename layout 'admin' before_action :authenticate_user! before_action :set_account - before_action :set_body_classes obfuscate_filename [:account, :avatar] obfuscate_filename [:account, :header] @@ -35,8 +34,4 @@ class Settings::ProfilesController < ApplicationController def set_account @account = current_user.account end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/sessions_controller.rb b/app/controllers/settings/sessions_controller.rb index 74cebc07b..11b150ffd 100644 --- a/app/controllers/settings/sessions_controller.rb +++ b/app/controllers/settings/sessions_controller.rb @@ -1,8 +1,7 @@ # frozen_string_literal: true -class Settings::SessionsController < ApplicationController +class Settings::SessionsController < Settings::BaseController before_action :set_session, only: :destroy - before_action :set_body_classes def destroy @session.destroy! @@ -15,8 +14,4 @@ class Settings::SessionsController < ApplicationController def set_session @session = current_user.session_activations.find(params[:id]) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb index ee567c2a7..d87117a50 100644 --- a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb +++ b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb @@ -2,12 +2,11 @@ module Settings module TwoFactorAuthentication - class ConfirmationsController < ApplicationController + class ConfirmationsController < BaseController layout 'admin' before_action :authenticate_user! before_action :ensure_otp_secret - before_action :set_body_classes def new prepare_two_factor_form @@ -44,10 +43,6 @@ module Settings def ensure_otp_secret redirect_to settings_two_factor_authentication_path unless current_user.otp_secret end - - def set_body_classes - @body_classes = 'admin' - end end end end diff --git a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb index bfb103620..c78166c65 100644 --- a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb +++ b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb @@ -2,11 +2,10 @@ module Settings module TwoFactorAuthentication - class RecoveryCodesController < ApplicationController + class RecoveryCodesController < BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def create @recovery_codes = current_user.generate_otp_backup_codes! @@ -14,12 +13,6 @@ module Settings flash[:notice] = I18n.t('two_factor_authentication.recovery_codes_regenerated') render :index end - - private - - def set_body_classes - @body_classes = 'admin' - end end end end diff --git a/app/controllers/settings/two_factor_authentications_controller.rb b/app/controllers/settings/two_factor_authentications_controller.rb index e4d8aed41..e12c43074 100644 --- a/app/controllers/settings/two_factor_authentications_controller.rb +++ b/app/controllers/settings/two_factor_authentications_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true module Settings - class TwoFactorAuthenticationsController < ApplicationController + class TwoFactorAuthenticationsController < BaseController layout 'admin' before_action :authenticate_user! before_action :verify_otp_required, only: [:create] - before_action :set_body_classes def show @confirmation = Form::TwoFactorConfirmation.new @@ -44,9 +43,5 @@ module Settings current_user.validate_and_consume_otp!(confirmation_params[:code]) || current_user.invalidate_otp_backup_code!(confirmation_params[:code]) end - - def set_body_classes - @body_classes = 'admin' - end end end