summaryrefslogtreecommitdiff
path: root/app/helpers/members_helper.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-06-27 16:20:57 +0200
committerRémy Coutable <remy@rymai.me>2016-07-01 17:44:46 +0200
commitbd78f5733ca546bf940438b84aefa2fa3abacb36 (patch)
tree9d9ac648a594623489e628e025bde48f7ef2b2f9 /app/helpers/members_helper.rb
parent557ca2b31ff503b36a4b65af2641fcd0f5682d5b (diff)
downloadgitlab-ce-bd78f5733ca546bf940438b84aefa2fa3abacb36.tar.gz
Exclude requesters from Project#members, Group#members and User#membersexplicit-requesters-scope
And create new Project#requesters, Group#requesters scopes. Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/helpers/members_helper.rb')
-rw-r--r--app/helpers/members_helper.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/helpers/members_helper.rb b/app/helpers/members_helper.rb
index ec106418f2d..c70cd19b587 100644
--- a/app/helpers/members_helper.rb
+++ b/app/helpers/members_helper.rb
@@ -12,6 +12,17 @@ module MembersHelper
can?(current_user, action_member_permission(:admin, member), member.source)
end
+ def can_see_request_access_button?(source)
+ source_parent = source.respond_to?(:group) && source.group
+
+ return false if source_parent && source.group.members.exists?(user_id: current_user.id)
+ return false if source_parent && source.group.requesters.exists?(user_id: current_user.id)
+ return false if source.members.exists?(user_id: current_user.id)
+ return true if source.requesters.exists?(user_id: current_user.id)
+
+ true
+ end
+
def remove_member_message(member, user: nil)
user = current_user if defined?(current_user)