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:
-rw-r--r--app/models/member.rb12
-rw-r--r--app/models/members/group_member.rb4
-rw-r--r--app/models/members/project_member.rb4
3 files changed, 14 insertions, 6 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index b5f75c9bff0..57f85a9adaf 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -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
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index cf434ec070b..661e668dbf9 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -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
diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb
index 47e47caad82..b6f1dd272cd 100644
--- a/app/models/members/project_member.rb
+++ b/app/models/members/project_member.rb
@@ -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