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:
authorhttp://jneen.net/ <jneen@jneen.net>2017-08-04 23:56:33 +0300
committerhttp://jneen.net/ <jneen@jneen.net>2017-08-12 02:02:04 +0300
commit90dd3fb32c1205ddd31c1c2c89b297e9528e0da8 (patch)
treefa321923853430bce44f3ca5a00861771db6645f
parent0268fc2ffc7cdc12a6e1a0bf565fe70ff8541398 (diff)
a membership with no user is always notifiable
since this is for user invites and the like.
-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