diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-14 02:28:49 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-14 02:28:49 +0200 |
commit | 7a6d95f70ccb12d61355ecd677eff40dd13260b7 (patch) | |
tree | 93abd8019a8ca91c1c251307f0773ca008f4b875 /app/controllers | |
parent | 9b195f5dd34ad646e1300abaaa42e10cf43cd5db (diff) |
E-mail preferences page
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/settings/preferences_controller.rb | 27 | ||||
-rw-r--r-- | app/controllers/settings/profiles_controller.rb (renamed from app/controllers/settings_controller.rb) | 4 |
2 files changed, 29 insertions, 2 deletions
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_controller.rb b/app/controllers/settings/profiles_controller.rb index 299e1f3bc..52b6369a6 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings/profiles_controller.rb @@ -1,4 +1,4 @@ -class SettingsController < ApplicationController +class Settings::ProfilesController < ApplicationController layout 'auth' before_action :authenticate_user! @@ -9,7 +9,7 @@ class SettingsController < ApplicationController def update if @account.update(account_params) - redirect_to settings_path, notice: 'Changes successfully saved!' + redirect_to settings_profile_path, notice: 'Changes successfully saved!' else render action: :show end |