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:
authorRémy Coutable <remy@rymai.me>2016-04-18 19:53:32 +0300
committerRémy Coutable <remy@rymai.me>2016-06-14 14:07:26 +0300
commitd26f81239a33b80694783ee35f0da0e2ed082c9b (patch)
treef092e818d4b81805a16879b13407a335bbda0054 /app/models/members
parent17c22156c5fa5663aae65178ed38cbeef9a80b7e (diff)
Add request access for groups
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/models/members')
-rw-r--r--app/models/members/group_member.rb15
-rw-r--r--app/models/members/project_member.rb30
2 files changed, 23 insertions, 22 deletions
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index f63a0debf1a..476b4816b90 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -8,9 +8,6 @@ class GroupMember < Member
validates_format_of :source_type, with: /\ANamespace\z/
default_scope { where(source_type: SOURCE_TYPE) }
- scope :with_group, ->(group) { where(source_id: group.id) }
- scope :with_user, ->(user) { where(user_id: user.id) }
-
def self.access_level_roles
Gitlab::Access.options_with_owner
end
@@ -31,6 +28,12 @@ class GroupMember < Member
super
end
+ def send_request
+ notification_service.new_group_access_request(self)
+
+ super
+ end
+
def post_create_hook
notification_service.new_group_member(self)
@@ -56,4 +59,10 @@ class GroupMember < Member
super
end
+
+ def after_decline_request
+ notification_service.decline_group_access_request(group, created_by)
+
+ super
+ end
end
diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb
index 9db8db8450d..c6fd1a5c3d1 100644
--- a/app/models/members/project_member.rb
+++ b/app/models/members/project_member.rb
@@ -11,8 +11,6 @@ class ProjectMember < Member
default_scope { where(source_type: SOURCE_TYPE) }
scope :in_project, ->(project) { where(source_id: project.id) }
- scope :in_projects, ->(projects) { where(source_id: projects.pluck(:id)) }
- scope :with_user, ->(user) { where(user_id: user.id) }
before_destroy :delete_member_todos
@@ -84,7 +82,7 @@ class ProjectMember < Member
Gitlab::Access.sym_options
end
- def access_roles
+ def access_level_roles
Gitlab::Access.options
end
end
@@ -107,14 +105,14 @@ class ProjectMember < Member
user.todos.where(project_id: source_id).destroy_all if user
end
- def send_request_access
- notification_service.request_access_project_member(self)
+ def send_invite
+ notification_service.invite_project_member(self, @raw_invite_token)
super
end
- def send_invite
- notification_service.invite_project_member(self, @raw_invite_token)
+ def send_request
+ notification_service.new_project_access_request(self)
super
end
@@ -142,18 +140,6 @@ class ProjectMember < Member
super
end
- def after_accept_request_access
- notification_service.accept_project_request_access(self)
-
- super
- end
-
- def after_decline_request_access
- notification_service.decline_project_request_access(self)
-
- super
- end
-
def after_accept_invite
notification_service.accept_project_invite(self)
@@ -166,6 +152,12 @@ class ProjectMember < Member
super
end
+ def after_decline_request
+ notification_service.decline_project_access_request(project, created_by)
+
+ super
+ end
+
def event_service
EventCreateService.new
end