2013-06-24 11:24:14 -04:00
|
|
|
class Profiles::NotificationsController < ApplicationController
|
2013-03-27 13:04:29 -04:00
|
|
|
layout 'profile'
|
|
|
|
|
|
|
|
def show
|
2015-02-06 18:23:58 -05:00
|
|
|
@user = current_user
|
2013-03-27 13:04:29 -04:00
|
|
|
@notification = current_user.notification
|
2014-09-14 12:51:54 -04:00
|
|
|
@project_members = current_user.project_members
|
|
|
|
@group_members = current_user.group_members
|
2013-03-27 13:04:29 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
2013-04-04 15:11:51 -04:00
|
|
|
type = params[:notification_type]
|
|
|
|
|
|
|
|
@saved = if type == 'global'
|
2015-02-06 18:23:58 -05:00
|
|
|
current_user.update_attributes(user_params)
|
2013-06-21 16:17:58 -04:00
|
|
|
elsif type == 'group'
|
2015-03-13 11:16:51 -04:00
|
|
|
group_member = current_user.group_members.find(params[:notification_id])
|
|
|
|
group_member.notification_level = params[:notification_level]
|
|
|
|
group_member.save
|
2013-04-04 15:11:51 -04:00
|
|
|
else
|
2014-09-15 03:57:02 -04:00
|
|
|
project_member = current_user.project_members.find(params[:notification_id])
|
|
|
|
project_member.notification_level = params[:notification_level]
|
|
|
|
project_member.save
|
2013-04-04 15:11:51 -04:00
|
|
|
end
|
2015-02-06 18:23:58 -05:00
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
format.html do
|
|
|
|
if @saved
|
|
|
|
flash[:notice] = "Notification settings saved"
|
|
|
|
else
|
|
|
|
flash[:alert] = "Failed to save new settings"
|
|
|
|
end
|
|
|
|
|
|
|
|
redirect_to :back
|
|
|
|
end
|
|
|
|
|
|
|
|
format.js
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def user_params
|
|
|
|
params.require(:user).permit(:notification_email, :notification_level)
|
2013-03-27 13:04:29 -04:00
|
|
|
end
|
|
|
|
end
|