summaryrefslogtreecommitdiff
path: root/app/controllers/profiles
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-03-28 18:17:42 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-03-30 10:44:20 +0200
commit359157c097993a9b917ca590e128e85cf358d95d (patch)
tree08a29f8221442621506f38fa8dce7095d630f7d0 /app/controllers/profiles
parent73c5a3410596165244bfa3d2f657c313ec1c558c (diff)
downloadgitlab-ce-359157c097993a9b917ca590e128e85cf358d95d.tar.gz
Introduce NotificationSetting to user interface
* visiting project will create notification setting if missing * change notification setting per project even without membership * use notification settings instead of membership on profile page Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/controllers/profiles')
-rw-r--r--app/controllers/profiles/notifications_controller.rb14
1 files changed, 5 insertions, 9 deletions
diff --git a/app/controllers/profiles/notifications_controller.rb b/app/controllers/profiles/notifications_controller.rb
index 1fd1d6882df..6ca7537300f 100644
--- a/app/controllers/profiles/notifications_controller.rb
+++ b/app/controllers/profiles/notifications_controller.rb
@@ -2,8 +2,8 @@ class Profiles::NotificationsController < Profiles::ApplicationController
def show
@user = current_user
@notification = current_user.notification
- @project_members = current_user.project_members
- @group_members = current_user.group_members
+ @group_notifications = current_user.notification_settings.for_groups
+ @project_notifications = current_user.notification_settings.for_projects
end
def update
@@ -11,14 +11,10 @@ class Profiles::NotificationsController < Profiles::ApplicationController
@saved = if type == 'global'
current_user.update_attributes(user_params)
- elsif type == 'group'
- group_member = current_user.group_members.find(params[:notification_id])
- group_member.notification_level = params[:notification_level]
- group_member.save
else
- project_member = current_user.project_members.find(params[:notification_id])
- project_member.notification_level = params[:notification_level]
- project_member.save
+ notification_setting = current_user.notification_settings.find(params[:notification_id])
+ notification_setting.level = params[:notification_level]
+ notification_setting.save
end
respond_to do |format|