debian-mirror-gitlab/app/controllers/profiles/notifications_controller.rb

35 lines
1.1 KiB
Ruby
Raw Normal View History

2015-09-11 14:41:01 +05:30
class Profiles::NotificationsController < Profiles::ApplicationController
2014-09-02 18:07:02 +05:30
def show
@user = current_user
@group_notifications = current_user.notification_settings.for_groups
@project_notifications = current_user.notification_settings.for_projects
@global_notification_setting = current_user.global_notification_setting
2014-09-02 18:07:02 +05:30
end
def update
if current_user.update_attributes(user_params) && update_notification_settings
2016-06-02 11:05:42 +05:30
flash[:notice] = "Notification settings saved"
else
flash[:alert] = "Failed to save new settings"
2015-04-26 12:48:37 +05:30
end
2016-06-02 11:05:42 +05:30
redirect_back_or_default(default: profile_notifications_path)
2015-04-26 12:48:37 +05:30
end
def user_params
params.require(:user).permit(:notification_email)
end
def global_notification_setting_params
params.require(:global_notification_setting).permit(:level)
end
private
def update_notification_settings
return true unless global_notification_setting_params
current_user.global_notification_setting.update_attributes(global_notification_setting_params)
2014-09-02 18:07:02 +05:30
end
end