summaryrefslogtreecommitdiff
path: root/app/views/projects/project_members/index.html.haml
blob: cad76d7aeacaaa3a7fed9028a6ff09186fe8af0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
- page_title _("Members")
- can_admin_project_members = can?(current_user, :admin_project_member, @project)
- group = @project.group

.js-remove-member-modal
.row.gl-mt-3
  .col-lg-12
    - if project_can_be_shared?
      %h4
        = _("Project members")
      - if can_admin_project_members
        %p= share_project_description(@project)
      - else
        %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 }

    .light
      - if can_admin_project_members && 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' }
              %a.nav-link.active{ href: '#invite-member-pane', id: 'invite-member-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite member")
            %li.nav-tab{ role: 'presentation', class: ('active' if membership_locked?) }
              %a.nav-link{ href: '#invite-group-pane', id: 'invite-group-tab', data: { toggle: 'tab', qa_selector: 'invite_group_tab' }, role: 'tab' }= _("Invite group")

          .tab-content.gitlab-tab-content
            .tab-pane.active{ id: 'invite-member-pane', role: 'tabpanel' }
              = render 'shared/members/invite_member', submit_url: project_project_members_path(@project), access_levels: ProjectMember.access_level_roles, default_access_level: @project_member.access_level, can_import_members?: can_import_members?, import_path: import_project_project_members_path(@project)
            .tab-pane{ id: 'invite-group-pane', role: 'tabpanel', class: ('active' if membership_locked?) }
              = render 'shared/members/invite_group', submit_url: project_group_links_path(@project), access_levels: ProjectGroupLink.access_options, default_access_level: ProjectGroupLink.default_access, group_link_field: 'link_group_id', group_access_field: 'link_group_access'
        - elsif !membership_locked?
          .invite-member= render 'shared/members/invite_member', submit_url: project_project_members_path(@project), access_levels: ProjectMember.access_level_roles, default_access_level: @project_member.access_level, can_import_members?: can_import_members?, import_path: import_project_project_members_path(@project)
        - elsif @project.allowed_to_share_with_group?
          .invite-group= render 'shared/members/invite_group', access_levels: ProjectGroupLink.access_options, default_access_level: ProjectGroupLink.default_access, submit_url: project_group_links_path(@project), group_link_field: 'link_group_id', group_access_field: 'link_group_access'

        = render 'shared/members/requests', membership_source: @project, group: group, requesters: @requesters
        .clearfix
          %h5.member.existing-title
            = _("Existing members and groups")
        - if @group_links.any?
          = render 'projects/project_members/groups', group_links: @group_links

    = render 'projects/project_members/team', project: @project, group: group, members: @project_members
    = paginate @project_members, theme: "gitlab"