Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoramaia <alexandre.maia@gmail.com>2016-10-18 19:18:09 +0300
committerRémy Coutable <remy@rymai.me>2017-01-30 20:21:54 +0300
commitbf0fd497bf3370edd7bbaf8c3421ff333719d004 (patch)
treedbb4a3f718a3271799a5061376854f5f17ad95f6 /app/services/notification_service.rb
parent6aec85ac4403e2e687473a5d14a72d7d1aa6df4a (diff)
Fix notification when global=disabled, group=watch
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/services/notification_service.rb')
-rw-r--r--app/services/notification_service.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb
index f74e6cac174..b2cc39763f3 100644
--- a/app/services/notification_service.rb
+++ b/app/services/notification_service.rb
@@ -365,7 +365,7 @@ class NotificationService
users = users_with_global_level_watch([users_with_project_level_global, users_with_group_level_global].flatten.uniq)
users_with_project_setting = select_project_member_setting(project, users_with_project_level_global, users)
- users_with_group_setting = select_group_member_setting(project, project_members, users_with_group_level_global, users)
+ users_with_group_setting = select_group_member_setting(project.group, project_members, users_with_group_level_global, users)
User.where(id: users_with_project_setting.concat(users_with_group_setting).uniq).to_a
end
@@ -415,8 +415,8 @@ class NotificationService
end
# Build a list of users based on group notification settings
- def select_group_member_setting(project, project_members, global_setting, users_global_level_watch)
- uids = notification_settings_for(project, :watch)
+ def select_group_member_setting(group, project_members, global_setting, users_global_level_watch)
+ uids = notification_settings_for(group, :watch)
# Group setting is watch, add to users list if user is not project member
users = []
@@ -473,7 +473,7 @@ class NotificationService
setting = user.notification_settings_for(project)
- if !setting && project.group
+ if project.group && (setting.nil? || setting.global?)
setting = user.notification_settings_for(project.group)
end