Change preferences page into appearance, notifications, and other (#10977)
This commit is contained in:
		@@ -1,32 +0,0 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::NotificationsController < Settings::BaseController
 | 
			
		||||
  layout 'admin'
 | 
			
		||||
 | 
			
		||||
  before_action :authenticate_user!
 | 
			
		||||
 | 
			
		||||
  def show; end
 | 
			
		||||
 | 
			
		||||
  def update
 | 
			
		||||
    user_settings.update(user_settings_params.to_h)
 | 
			
		||||
 | 
			
		||||
    if current_user.save
 | 
			
		||||
      redirect_to settings_notifications_path, notice: I18n.t('generic.changes_saved_msg')
 | 
			
		||||
    else
 | 
			
		||||
      render :show
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def user_settings
 | 
			
		||||
    UserSettingsDecorator.new(current_user)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def user_settings_params
 | 
			
		||||
    params.require(:user).permit(
 | 
			
		||||
      notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account),
 | 
			
		||||
      interactions: %i(must_be_follower must_be_following must_be_following_dm)
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::Preferences::AppearanceController < Settings::PreferencesController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
    settings_preferences_appearance_path
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
class Settings::Preferences::NotificationsController < Settings::PreferencesController
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
    settings_preferences_notifications_path
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@@ -12,7 +12,7 @@ class Settings::PreferencesController < Settings::BaseController
 | 
			
		||||
 | 
			
		||||
    if current_user.update(user_params)
 | 
			
		||||
      I18n.locale = current_user.locale
 | 
			
		||||
      redirect_to settings_preferences_path, notice: I18n.t('generic.changes_saved_msg')
 | 
			
		||||
      redirect_to after_update_redirect_path, notice: I18n.t('generic.changes_saved_msg')
 | 
			
		||||
    else
 | 
			
		||||
      render :show
 | 
			
		||||
    end
 | 
			
		||||
@@ -20,6 +20,10 @@ class Settings::PreferencesController < Settings::BaseController
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def after_update_redirect_path
 | 
			
		||||
    settings_preferences_path
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def user_settings
 | 
			
		||||
    UserSettingsDecorator.new(current_user)
 | 
			
		||||
  end
 | 
			
		||||
@@ -51,7 +55,7 @@ class Settings::PreferencesController < Settings::BaseController
 | 
			
		||||
      :setting_show_application,
 | 
			
		||||
      :setting_advanced_layout,
 | 
			
		||||
      notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account),
 | 
			
		||||
      interactions: %i(must_be_follower must_be_following)
 | 
			
		||||
      interactions: %i(must_be_follower must_be_following must_be_following_dm)
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user