diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
commit | e8d2c2579383897a1dd7f9debd359abe8ae8373d (patch) | |
tree | c42be41678c2586d49a75cabce89322082698334 /app/views/shared/members | |
parent | fc845b37ec3a90aaa719975f607740c22ba6a113 (diff) | |
download | gitlab-ce-e8d2c2579383897a1dd7f9debd359abe8ae8373d.tar.gz |
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'app/views/shared/members')
-rw-r--r-- | app/views/shared/members/_group.html.haml | 50 | ||||
-rw-r--r-- | app/views/shared/members/_manage_access_button.html.haml | 7 | ||||
-rw-r--r-- | app/views/shared/members/_member.html.haml | 72 | ||||
-rw-r--r-- | app/views/shared/members/_requests.html.haml | 5 | ||||
-rw-r--r-- | app/views/shared/members/_search_field.html.haml | 6 | ||||
-rw-r--r-- | app/views/shared/members/_sort_dropdown.html.haml | 19 |
6 files changed, 11 insertions, 148 deletions
diff --git a/app/views/shared/members/_group.html.haml b/app/views/shared/members/_group.html.haml deleted file mode 100644 index 2aac3a94c49..00000000000 --- a/app/views/shared/members/_group.html.haml +++ /dev/null @@ -1,50 +0,0 @@ -- group_link = local_assigns[:group_link] -- group = group_link.shared_with_group -- can_admin_member = local_assigns[:can_admin_member] -- group_link_path = local_assigns[:group_link_path] -- dom_id = "group_member_#{group_link.id}" - --# Note this is just for groups. For individual members please see shared/members/_member - -%li.member.js-member.group_member.py-2.px-3.d-flex.flex-column.flex-md-row{ id: dom_id, data: { qa_selector: 'group_row' } } - %span.list-item-name.mb-2.m-md-0 - = group_icon(group, class: "avatar s40 flex-shrink-0 flex-grow-0", alt: '') - .user-info - = link_to group.full_name, group_path(group), class: 'member' - .cgray - Given access #{time_ago_with_tooltip(group_link.created_at)} - %span.js-expires-in{ class: ('gl-display-none' unless group_link.expires?) } - · - %span.js-expires-in-text{ class: ('text-warning' if group_link.expires_soon?) } - - if group_link.expires? - = _("Expires in %{expires_at}").html_safe % { expires_at: distance_of_time_in_words_to_now(group_link.expires_at) } - .controls.member-controls.align-items-center - = form_tag group_link_path, method: :put, remote: true, class: 'js-edit-member-form form-group d-sm-flex' do - = hidden_field_tag "group_link[group_access]", group_link.group_access - .member-form-control.dropdown.mr-sm-2.d-sm-inline-block - %button.dropdown-menu-toggle.js-member-permissions-dropdown{ type: "button", - disabled: !can_admin_member, - data: { toggle: "dropdown", field_name: "group_link[group_access]" } } - %span.dropdown-toggle-text - = group_link.human_access - = sprite_icon("chevron-down", css_class: "dropdown-menu-toggle-icon gl-top-3") - .dropdown-menu.dropdown-select.dropdown-menu-right.dropdown-menu-selectable - = dropdown_title(_("Change role")) - .dropdown-content - %ul - - Gitlab::Access.options_with_owner.each do |role, role_id| - %li - = link_to role, '#', - class: ("is-active" if group_link.group_access == role_id), - data: { id: role_id, el_id: dom_id } - .clearable-input.member-form-control.d-sm-inline-block - = text_field_tag 'group_link[expires_at]', group_link.expires_at, class: 'form-control js-access-expiration-date js-member-update-control', placeholder: _('Expiration date'), id: "member_expires_at_#{group.id}", disabled: !can_admin_member - = sprite_icon('close', size: 16, css_class: 'clear-icon js-clear-input gl-text-gray-200') - - if can_admin_member - = link_to group_link_path, - method: :delete, - data: { confirm: _("Are you sure you want to remove %{group_name}?") % { group_name: group.name }, qa_selector: 'delete_group_access_link' }, - class: 'gl-button btn btn-danger m-0 ml-sm-2 align-self-center' do - %span.d-block.d-sm-none - = _("Delete") - = sprite_icon('remove', css_class: 'd-none d-sm-block') diff --git a/app/views/shared/members/_manage_access_button.html.haml b/app/views/shared/members/_manage_access_button.html.haml new file mode 100644 index 00000000000..13509a7480a --- /dev/null +++ b/app/views/shared/members/_manage_access_button.html.haml @@ -0,0 +1,7 @@ +- path = local_assigns.fetch(:path, nil) + +.gl-float-right + = link_to path, class: 'btn btn-default btn-sm gl-button' do + = sprite_icon('pencil-square', css_class: 'gl-icon gl-button-icon') + %span.gl-button-text + = _('Manage access') diff --git a/app/views/shared/members/_member.html.haml b/app/views/shared/members/_member.html.haml index 8f334be0427..ba0e5e492f4 100644 --- a/app/views/shared/members/_member.html.haml +++ b/app/views/shared/members/_member.html.haml @@ -1,5 +1,4 @@ - show_roles = local_assigns.fetch(:show_roles, true) -- show_controls = local_assigns.fetch(:show_controls, true) - force_mobile_view = local_assigns.fetch(:force_mobile_view, false) - member = local_assigns.fetch(:member) - current_user_is_group_owner = local_assigns.fetch(:current_user_is_group_owner, false) @@ -7,11 +6,10 @@ - group = local_assigns.fetch(:group) - user = local_assigns.fetch(:user, member.user) - source = member.source -- override = member.try(:override) -# Note this is just for individual members. For groups please see shared/members/_group -%li.member.js-member.py-2.px-3.d-flex.flex-column{ class: [dom_class(member), ("is-overridden" if override), ("flex-md-row" unless force_mobile_view)], id: dom_id(member), data: { qa_selector: 'member_row' } } +%li.member.js-member.py-2.px-3.d-flex.flex-column{ class: [dom_class(member), ("flex-md-row" unless force_mobile_view)], id: dom_id(member), data: { qa_selector: 'member_row' } } %span.list-item-name.mb-2.m-md-0 - if user = image_tag avatar_icon_for_user(user, 40), class: "avatar s40 flex-shrink-0 flex-grow-0", alt: '' @@ -62,70 +60,4 @@ - if show_roles .controls.member-controls.align-items-center = render_if_exists 'shared/members/ee/ldap_tag', can_override: member.can_override? - - if show_controls && member.source == membership_source - - - if member.can_resend_invite? - = link_to sprite_icon('paper-airplane'), polymorphic_path([:resend_invite, member]), - method: :post, - class: 'gl-button btn btn-default align-self-center mr-sm-2', - title: _('Resend invite') - - - if user != current_user && member.can_update? - = form_for member, remote: true, html: { class: "js-edit-member-form form-group #{'d-sm-flex' unless force_mobile_view}" } do |f| - = f.hidden_field :access_level - .member-form-control.dropdown{ class: [("mr-sm-2 d-sm-inline-block" unless force_mobile_view)] } - %button.dropdown-menu-toggle.js-member-permissions-dropdown{ type: "button", - disabled: member.can_override? && !override, - data: { toggle: "dropdown", field_name: "#{f.object_name}[access_level]", qa_selector: "access_level_dropdown" } } - %span.dropdown-toggle-text - = member.human_access - = sprite_icon("chevron-down", css_class: "dropdown-menu-toggle-icon gl-top-3") - .dropdown-menu.dropdown-select.dropdown-menu-right.dropdown-menu-selectable - = dropdown_title(_("Change role")) - .dropdown-content - %ul - - member.valid_level_roles.each do |role, role_id| - %li - = link_to role, '#', - class: ("is-active" if member.access_level == role_id), - data: { id: role_id, el_id: dom_id(member), qa_selector: "#{role.downcase}_access_level_link" } - = render_if_exists 'shared/members/ee/revert_ldap_group_sync_option', - group: group, - member: member, - can_override: member.can_override? - .clearable-input.member-form-control{ class: [("d-sm-inline-block" unless force_mobile_view)] } - = f.text_field :expires_at, - disabled: member.can_override? && !override, - class: 'form-control js-access-expiration-date js-member-update-control', - placeholder: _('Expiration date'), - id: "member_expires_at_#{member.id}", - data: { el_id: dom_id(member) } - = sprite_icon('close', size: 16, css_class: 'clear-icon js-clear-input gl-text-gray-200') - - else - %span.member-access-text.user-access-role= member.human_access - - - if member.can_approve? - = link_to polymorphic_path([:approve_access_request, member]), - method: :post, - class: "btn btn-confirm btn-icon gl-button align-self-center m-0 mb-2 #{'mb-sm-0 ml-sm-2' unless force_mobile_view}", - title: _('Grant access') do - %span{ class: ('d-block d-sm-none' unless force_mobile_view) } - = _('Grant access') - - unless force_mobile_view - = sprite_icon('check', css_class: 'd-none d-sm-block') - - - if member.can_remove? - - if current_user == user - = link_to polymorphic_path([:leave, member.source, :members]), method: :delete, data: { confirm: leave_confirmation_message(member.source) }, class: "btn gl-button btn-svg btn-danger align-self-center m-0 #{'ml-sm-2' unless force_mobile_view}" do - = sprite_icon('leave', css_class: 'gl-icon') - = _('Leave') - - else - %button{ data: { member_path: member_path(member.member), member_type: member.type, message: remove_member_message(member), is_access_request: member.request?.to_s, qa_selector: 'delete_member_button' }, - class: "js-remove-member-button btn gl-button btn-danger align-self-center m-0 #{'ml-sm-2 btn-icon' unless force_mobile_view}", - title: remove_member_title(member) } - %span{ class: ('d-block d-sm-none' unless force_mobile_view) } - = _("Delete") - - unless force_mobile_view - = sprite_icon('remove', css_class: 'd-none d-sm-block gl-icon') - - else - %span.member-access-text.user-access-role= member.human_access + %span.member-access-text.user-access-role= member.human_access diff --git a/app/views/shared/members/_requests.html.haml b/app/views/shared/members/_requests.html.haml index 3aa43ed1922..8b0a85656dc 100644 --- a/app/views/shared/members/_requests.html.haml +++ b/app/views/shared/members/_requests.html.haml @@ -1,20 +1,19 @@ - membership_source = local_assigns.fetch(:membership_source) - requesters = local_assigns.fetch(:requesters) -- force_mobile_view = local_assigns.fetch(:force_mobile_view, false) - group = local_assigns.fetch(:group) - current_user_is_group_owner = group && group.has_owner?(current_user) - return if requesters.empty? -.card.gl-mt-3{ class: ('card-mobile' if force_mobile_view ) } +.card.gl-mt-3{ data: { testid: 'access-requests' } } .card-header = _("Users requesting access to") %strong= membership_source.name %span.badge.badge-pill= requesters.size + = render 'shared/members/manage_access_button', path: membership_source.is_a?(Project) ? project_project_members_path(@project, tab: 'access_requests') : group_group_members_path(@group, tab: 'access_requests') %ul.content-list.members-list = render partial: 'shared/members/member', collection: requesters, as: :member, locals: { membership_source: membership_source, group: group, - force_mobile_view: force_mobile_view, current_user_is_group_owner: current_user_is_group_owner } diff --git a/app/views/shared/members/_search_field.html.haml b/app/views/shared/members/_search_field.html.haml deleted file mode 100644 index b1e3134f7aa..00000000000 --- a/app/views/shared/members/_search_field.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -- name = local_assigns.fetch(:name, :search) - -.search-control-wrap.gl-relative - = search_field_tag name, params[name], { placeholder: _('Search'), class: 'form-control', spellcheck: false } - %button.user-search-btn.border-left.gl-display-flex.gl-align-items-center.gl-justify-content-center{ type: 'submit', 'aria': { label: _('Submit search') }, data: { testid: 'user-search-submit' } } - = sprite_icon('search') diff --git a/app/views/shared/members/_sort_dropdown.html.haml b/app/views/shared/members/_sort_dropdown.html.haml deleted file mode 100644 index 682e3a0433b..00000000000 --- a/app/views/shared/members/_sort_dropdown.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -.dropdown.inline.qa-user-sort-dropdown{ data: { testid: 'user-sort-dropdown' } } - = dropdown_toggle(member_sort_options_hash[@sort], { toggle: 'dropdown', testid: 'dropdown-toggle' }) - %ul.dropdown-menu.dropdown-menu-right.dropdown-menu-selectable - %li.dropdown-header - = _("Sort by") - - member_sort_options_hash.each do |value, title| - %li - = link_to filter_group_project_member_path(sort: value), class: ("is-active" if @sort == value) do - = title - %li.divider - %li{ data: { testid: 'filter-members-with-inherited-permissions' } } - = link_to filter_group_project_member_path(with_inherited_permissions: nil), class: ("is-active" unless params[:with_inherited_permissions].present?) do - = _("Show all members") - %li{ data: { testid: 'filter-members-with-inherited-permissions' } } - = link_to filter_group_project_member_path(with_inherited_permissions: 'exclude'), class: ("is-active" if params[:with_inherited_permissions] == 'exclude') do - = _("Show only direct members") - %li{ data: { testid: 'filter-members-with-inherited-permissions' } } - = link_to filter_group_project_member_path(with_inherited_permissions: 'only'), class: ("is-active" if params[:with_inherited_permissions] == 'only') do - = _("Show only inherited members") |