a membership with no user is always notifiable
since this is for user invites and the like.
This commit is contained in:
parent
0268fc2ffc
commit
90dd3fb32c
3 changed files with 14 additions and 6 deletions
|
@ -276,6 +276,14 @@ class Member < ActiveRecord::Base
|
|||
@notification_setting ||= user.notification_settings_for(source)
|
||||
end
|
||||
|
||||
def notifiable?(type, opts={})
|
||||
# always notify when there isn't a user yet
|
||||
return true if user.blank?
|
||||
|
||||
NotificationRecipientService.notifiable?(user, type, notifiable_options.merge(opts))
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def send_invite
|
||||
|
@ -333,7 +341,7 @@ class Member < ActiveRecord::Base
|
|||
NotificationService.new
|
||||
end
|
||||
|
||||
def notifiable?(type, opts={})
|
||||
raise 'abstract'
|
||||
def notifiable_options
|
||||
{}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,8 +30,8 @@ class GroupMember < Member
|
|||
'Group'
|
||||
end
|
||||
|
||||
def notifiable?(type, opts={})
|
||||
NotificationRecipientService.notifiable?(user, type, { group: group }.merge(opts))
|
||||
def notifiable_options
|
||||
{ group: group }
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -87,8 +87,8 @@ class ProjectMember < Member
|
|||
project.owner == user
|
||||
end
|
||||
|
||||
def notifiable?(type, opts={})
|
||||
NotificationRecipientService.notifiable?(user, type, { project: project }.merge(opts))
|
||||
def notifiable_options
|
||||
{ project: project }
|
||||
end
|
||||
|
||||
private
|
||||
|
|
Loading…
Reference in a new issue