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
path: root/app
diff options
context:
space:
mode:
authorhttp://jneen.net/ <jneen@jneen.net>2017-03-01 02:24:04 +0300
committerhttp://jneen.net/ <jneen@jneen.net>2017-03-09 22:49:53 +0300
commitf7a111e97656a441e1c78e9ed81d4212f46dfb23 (patch)
tree412e5539b895104cf2e53209fda5a6103d50d970 /app
parentbb0cba920ae5ce46ecc80907c445ddc85f3b4ed1 (diff)
use policies to protect sending email
Diffstat (limited to 'app')
-rw-r--r--app/policies/global_policy.rb1
-rw-r--r--app/services/notification_service.rb2
2 files changed, 2 insertions, 1 deletions
diff --git a/app/policies/global_policy.rb b/app/policies/global_policy.rb
index e1a527b95bf..cb72c2b4590 100644
--- a/app/policies/global_policy.rb
+++ b/app/policies/global_policy.rb
@@ -9,6 +9,7 @@ class GlobalPolicy < BasePolicy
can! :log_in unless @user.access_locked?
can! :access_api
can! :access_git
+ can! :receive_notifications
end
end
end
diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb
index fbad85d310e..d12692ecc90 100644
--- a/app/services/notification_service.rb
+++ b/app/services/notification_service.rb
@@ -465,7 +465,7 @@ class NotificationService
end
users = users.to_a.compact.uniq
- users = users.reject(&:blocked?)
+ users = users.select { |u| u.can?(:receive_notifications) }
users.reject do |user|
global_notification_setting = user.global_notification_setting