diff options
author | http://jneen.net/ <jneen@jneen.net> | 2017-07-11 10:10:39 -0700 |
---|---|---|
committer | http://jneen.net/ <jneen@jneen.net> | 2017-07-11 10:33:13 -0700 |
commit | 4a4a190d06076f86d1c9fa122b215fbcf8d464f3 (patch) | |
tree | 15d2b8443b2f5a7c9be61f4673df584d0445b218 | |
parent | 464d83b29fcf3331d4035c7f0e5f81564aa30091 (diff) | |
download | gitlab-ce-4a4a190d06076f86d1c9fa122b215fbcf8d464f3.tar.gz |
prevent users who have opted out from :receive_notifications
-rw-r--r-- | app/policies/global_policy.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/policies/global_policy.rb b/app/policies/global_policy.rb index 8ed5c470fc2..65af71321ad 100644 --- a/app/policies/global_policy.rb +++ b/app/policies/global_policy.rb @@ -20,6 +20,12 @@ class GlobalPolicy < BasePolicy prevent :create_group end + desc "User has globally disabled notifications" + with_options scope: :user + condition(:notifications_disabled) do + @user&.global_notification_setting.level.to_s == 'disabled' + end + rule { default }.policy do enable :log_in enable :access_api @@ -36,6 +42,8 @@ class GlobalPolicy < BasePolicy prevent :use_quick_actions end + rule { notifications_disabled }.prevent :receive_notifications + rule { can_create_group }.policy do enable :create_group end |