diff options
Diffstat (limited to 'app/helpers/groups/group_members_helper.rb')
-rw-r--r-- | app/helpers/groups/group_members_helper.rb | 42 |
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 |