debian-mirror-gitlab/app/helpers/members_helper.rb

69 lines
2 KiB
Ruby
Raw Normal View History

2018-12-05 23:21:45 +05:30
# frozen_string_literal: true
module MembersHelper
def remove_member_message(member, user: nil)
user = current_user if defined?(current_user)
2018-12-05 23:21:45 +05:30
text = 'Are you sure you want to'
action =
if member.request?
if member.user == user
'withdraw your access request for'
else
"deny #{member.user.name}'s request to join"
end
elsif member.invite?
"revoke the invitation for #{member.invite_email} to join"
else
2020-05-24 23:13:21 +05:30
if member.user
"remove #{member.user.name} from"
else
e = RuntimeError.new("Data integrity error: no associated user for member ID #{member.id}")
Gitlab::ErrorTracking.track_exception(e,
member_id: member.id,
invite_email: member.invite_email,
invite_accepted_at: member.invite_accepted_at,
source_id: member.source_id,
source_type: member.source_type)
"remove this orphaned member from"
end
end
2019-01-03 12:48:30 +05:30
"#{text} #{action} the #{member.source.human_name} #{source_text(member)}?"
end
def remove_member_title(member)
2018-12-05 23:21:45 +05:30
action = member.request? ? 'Deny access request' : 'Remove user'
2019-01-03 12:48:30 +05:30
"#{action} from #{source_text(member)}"
end
def leave_confirmation_message(member_source)
"Are you sure you want to leave the " \
"\"#{member_source.human_name}\" #{member_source.class.to_s.humanize(capitalize: false)}?"
end
2017-08-17 22:00:37 +05:30
def filter_group_project_member_path(options = {})
2019-03-02 22:35:43 +05:30
options = params.slice(:search, :sort).merge(options).permit!
2018-12-05 23:21:45 +05:30
"#{request.path}?#{options.to_param}"
2017-08-17 22:00:37 +05:30
end
2019-01-03 12:48:30 +05:30
2020-07-28 23:09:34 +05:30
def member_path(member)
if member.is_a?(GroupMember)
group_group_member_path(member.source, member)
else
project_project_member_path(member.source, member)
end
end
2019-01-03 12:48:30 +05:30
private
def source_text(member)
type = member.real_source_type.humanize(capitalize: false)
return type if member.request? || member.invite? || type != 'group'
'group and any subresources'
end
end