From 7a6d95f70ccb12d61355ecd677eff40dd13260b7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 14 Oct 2016 02:28:49 +0200 Subject: E-mail preferences page --- app/controllers/settings/preferences_controller.rb | 27 ++++++++++++++++++++++ app/controllers/settings/profiles_controller.rb | 27 ++++++++++++++++++++++ app/controllers/settings_controller.rb | 27 ---------------------- 3 files changed, 54 insertions(+), 27 deletions(-) create mode 100644 app/controllers/settings/preferences_controller.rb create mode 100644 app/controllers/settings/profiles_controller.rb delete mode 100644 app/controllers/settings_controller.rb (limited to 'app/controllers') diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb new file mode 100644 index 000000000..8a038f2fe --- /dev/null +++ b/app/controllers/settings/preferences_controller.rb @@ -0,0 +1,27 @@ +class Settings::PreferencesController < ApplicationController + layout 'auth' + + before_action :authenticate_user! + + def show + end + + def update + current_user.settings(:notification_emails).follow = user_params[:notification_emails][:follow] == '1' + current_user.settings(:notification_emails).reblog = user_params[:notification_emails][:reblog] == '1' + current_user.settings(:notification_emails).favourite = user_params[:notification_emails][:favourite] == '1' + current_user.settings(:notification_emails).mention = user_params[:notification_emails][:mention] == '1' + + if current_user.save + redirect_to settings_preferences_path, notice: 'Changes successfully saved!' + else + render action: :show + end + end + + private + + def user_params + params.require(:user).permit(notification_emails: [:follow, :reblog, :favourite, :mention]) + end +end diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb new file mode 100644 index 000000000..52b6369a6 --- /dev/null +++ b/app/controllers/settings/profiles_controller.rb @@ -0,0 +1,27 @@ +class Settings::ProfilesController < ApplicationController + layout 'auth' + + before_action :authenticate_user! + before_action :set_account + + def show + end + + def update + if @account.update(account_params) + redirect_to settings_profile_path, notice: 'Changes successfully saved!' + else + render action: :show + end + end + + private + + def account_params + params.require(:account).permit(:display_name, :note, :avatar, :header) + end + + def set_account + @account = current_user.account + end +end diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb deleted file mode 100644 index 299e1f3bc..000000000 --- a/app/controllers/settings_controller.rb +++ /dev/null @@ -1,27 +0,0 @@ -class SettingsController < ApplicationController - layout 'auth' - - before_action :authenticate_user! - before_action :set_account - - def show - end - - def update - if @account.update(account_params) - redirect_to settings_path, notice: 'Changes successfully saved!' - else - render action: :show - end - end - - private - - def account_params - params.require(:account).permit(:display_name, :note, :avatar, :header) - end - - def set_account - @account = current_user.account - end -end -- cgit