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:
Diffstat (limited to 'app/helpers/groups/group_members_helper.rb')
-rw-r--r--app/helpers/groups/group_members_helper.rb42
1 files changed, 35 insertions, 7 deletions
diff --git a/app/helpers/groups/group_members_helper.rb b/app/helpers/groups/group_members_helper.rb
index dcff2be34da..ee90585112b 100644
--- a/app/helpers/groups/group_members_helper.rb
+++ b/app/helpers/groups/group_members_helper.rb
@@ -10,17 +10,34 @@ module Groups::GroupMembersHelper
end
def render_invite_member_for_group(group, default_access_level)
- render 'shared/members/invite_member', submit_url: group_group_members_path(group), access_levels: GroupMember.access_level_roles, default_access_level: default_access_level
+ render 'shared/members/invite_member', submit_url: group_group_members_path(group), access_levels: group.access_level_roles, default_access_level: default_access_level
end
def linked_groups_data_json(group_links)
- GroupGroupLinkSerializer.new.represent(group_links).to_json
+ GroupGroupLinkSerializer.new.represent(group_links, { current_user: current_user }).to_json
end
def members_data_json(group, members)
members_data(group, members).to_json
end
+ # Overridden in `ee/app/helpers/ee/groups/group_members_helper.rb`
+ def group_members_list_data_attributes(group, members)
+ {
+ members: members_data_json(group, members),
+ member_path: group_group_member_path(group, ':id'),
+ group_id: group.id
+ }
+ end
+
+ def linked_groups_list_data_attributes(group)
+ {
+ members: linked_groups_data_json(group.shared_with_group_links),
+ member_path: group_group_link_path(group, ':id'),
+ group_id: group.id
+ }
+ end
+
private
def members_data(group, members)
@@ -35,7 +52,6 @@ module Groups::GroupMembersHelper
requested_at: member.requested_at,
can_update: member.can_update?,
can_remove: member.can_remove?,
- can_override: member.can_override?,
access_level: {
string_value: member.human_access,
integer_value: member.access_level
@@ -44,13 +60,14 @@ module Groups::GroupMembersHelper
id: source.id,
name: source.full_name,
web_url: Gitlab::UrlBuilder.build(source)
- }
+ },
+ valid_roles: member.valid_level_roles
}.merge(member_created_by_data(member.created_by))
- if user.present?
- data[:user] = member_user_data(user)
- else
+ if member.invite?
data[:invite] = member_invite_data(member)
+ elsif user.present?
+ data[:user] = member_user_data(user)
end
data
@@ -77,6 +94,17 @@ module Groups::GroupMembersHelper
avatar_url: avatar_icon_for_user(user, AVATAR_SIZE),
blocked: user.blocked?,
two_factor_enabled: user.two_factor_enabled?
+ }.merge(member_user_status_data(user.status))
+ end
+
+ def member_user_status_data(status)
+ return {} unless status.present?
+
+ {
+ status: {
+ emoji: status.emoji,
+ message_html: status.message_html
+ }
}
end