diff options
Diffstat (limited to 'app/views/projects/project_members/index.html.haml')
-rw-r--r-- | app/views/projects/project_members/index.html.haml | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/app/views/projects/project_members/index.html.haml b/app/views/projects/project_members/index.html.haml index 22bf61b6873..0fa9fb7079b 100644 --- a/app/views/projects/project_members/index.html.haml +++ b/app/views/projects/project_members/index.html.haml @@ -4,7 +4,7 @@ .js-remove-member-modal .row.gl-mt-3 .col-lg-12 - - if can_invite_members_for_project?(@project) + - if can_invite_members_for_project?(@project) || can_invite_group_for_project?(@project) .row .col-md-12.col-lg-6.gl-display-flex .gl-flex-direction-column.gl-flex-wrap.align-items-baseline @@ -18,8 +18,15 @@ = html_escape(_("Members can be added by project %{i_open}Maintainers%{i_close} or %{i_open}Owners%{i_close}")) % { i_open: '<i>'.html_safe, i_close: '</i>'.html_safe } .col-md-12.col-lg-6 .gl-display-flex.gl-flex-wrap.gl-justify-content-end - .js-invite-group-trigger{ data: { classes: 'gl-mt-3 gl-sm-w-auto gl-w-full', display_text: _('Invite a group') } } - .js-invite-members-trigger{ data: { variant: 'success', classes: 'gl-mt-3 gl-sm-w-auto gl-w-full gl-sm-ml-3', display_text: _('Invite members') } } + - if can_import_members? + = link_to _("Import a project"), + import_project_project_members_path(@project), + class: "btn btn-default btn-md gl-button gl-mt-3 gl-sm-w-auto gl-w-full", + title: _("Import members from another project") + - if @project.allowed_to_share_with_group? + .js-invite-group-trigger{ data: { classes: 'gl-mt-3 gl-sm-w-auto gl-w-full gl-sm-ml-3', display_text: _('Invite a group') } } + - if !membership_locked? + .js-invite-members-trigger{ data: { variant: 'success', classes: 'gl-mt-3 gl-sm-w-auto gl-w-full gl-sm-ml-3', display_text: _('Invite members') } } = render 'projects/invite_members_modal', project: @project - else @@ -32,7 +39,7 @@ %p = html_escape(_("Members can be added by project %{i_open}Maintainers%{i_close} or %{i_open}Owners%{i_close}")) % { i_open: '<i>'.html_safe, i_close: '</i>'.html_safe } - - if !can_invite_members_for_project?(@project) && can_manage_project_members?(@project) && project_can_be_shared? + - if Feature.disabled?(:invite_members_group_modal, @project.group) && can_manage_project_members?(@project) && project_can_be_shared? - if !membership_locked? && @project.allowed_to_share_with_group? %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' } %li.nav-tab{ role: 'presentation' } @@ -75,22 +82,21 @@ %span.badge.gl-tab-counter-badge.badge-muted.badge-pill.gl-badge.sm= @requesters.count .tab-content #tab-members.tab-pane{ class: ('active' unless groups_tab_active?) } - .js-project-members-list{ data: project_members_list_data_attributes(@project, @project_members) } + .js-project-members-list{ data: { members_data: project_members_list_data_json(@project, @project_members, { param_name: :page, params: { search_groups: nil } }) } } .loading - .spinner.spinner-md - = paginate @project_members, theme: "gitlab", params: { search_groups: nil } + .gl-spinner.gl-spinner-md - if show_groups?(@group_links) #tab-groups.tab-pane{ class: ('active' if groups_tab_active?) } - .js-project-group-links-list{ data: project_group_links_list_data_attributes(@project, @group_links) } + .js-project-group-links-list{ data: { members_data: project_group_links_list_data_json(@project, @group_links) } } .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md - if show_invited_members?(@project, @invited_members) #tab-invited-members.tab-pane - .js-project-invited-members-list{ data: project_members_list_data_attributes(@project, @invited_members) } + .js-project-invited-members-list{ data: { members_data: project_members_list_data_json(@project, @invited_members) } } .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md - if show_access_requests?(@project, @requesters) #tab-access-requests.tab-pane - .js-project-access-requests-list{ data: project_members_list_data_attributes(@project, @requesters) } + .js-project-access-requests-list{ data: { members_data: project_members_list_data_json(@project, @requesters) } } .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md |