Simplify notification check for participating

This commit is contained in:
Heinrich Lee Yu 2019-06-05 15:37:08 +08:00
parent f7ec4df5f0
commit a1684d1440
2 changed files with 4 additions and 13 deletions

View file

@ -50,7 +50,7 @@ class NotificationRecipient
when :mention
@type == :mention
when :participating
!excluded_participating_action? && %i[participating mention watch].include?(@type)
@custom_action == :failed_pipeline || %i[participating mention].include?(@type)
when :custom
custom_enabled? || %i[participating mention].include?(@type)
when :watch
@ -106,12 +106,6 @@ class NotificationRecipient
NotificationSetting::EXCLUDED_WATCHER_EVENTS.include?(@custom_action)
end
def excluded_participating_action?
return false unless @custom_action
NotificationSetting::EXCLUDED_PARTICIPATING_EVENTS.include?(@custom_action)
end
private
def read_ability

View file

@ -54,14 +54,11 @@ class NotificationSetting < ApplicationRecord
self.class.email_events(source)
end
EXCLUDED_PARTICIPATING_EVENTS = [
:success_pipeline
].freeze
EXCLUDED_WATCHER_EVENTS = [
:push_to_merge_request,
:issue_due
].push(*EXCLUDED_PARTICIPATING_EVENTS).freeze
:issue_due,
:success_pipeline
].freeze
def self.find_or_create_for(source)
setting = find_or_initialize_by(source: source)