summaryrefslogtreecommitdiff
path: root/app/views/projects/settings/access_tokens/index.html.haml
blob: 7ecc80043347f687c2f22e7d73ac533743180ac7 (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
45
46
47
48
49
50
- breadcrumb_title s_('AccessTokens|Access Tokens')
- page_title _('Project Access Tokens')
- type = _('project access token')
- type_plural = _('project access tokens')
- @content_class = 'limit-container-width' unless fluid_layout

.row.gl-mt-3
  .col-lg-4
    %h4.gl-mt-0
      = page_title
    %p
    - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/settings/project_access_tokens') }
    - if current_user.can?(:create_resource_access_tokens, @project)
      = _('Generate project access tokens scoped to this project for your applications that need access to the GitLab API.')
      %p
        = _('You can also use project access tokens with Git to authenticate over HTTP(S). %{link_start}Learn more.%{link_end}').html_safe % { link_start: link_start, link_end: '</a>'.html_safe }
    - else
      = _('Project access token creation is disabled in this group. You can still use and manage existing tokens. %{link_start}Learn more.%{link_end}').html_safe % { link_start: link_start, link_end: '</a>'.html_safe }
      %p
      - root_group = @project.group.root_ancestor
      - if current_user.can?(:admin_group, root_group)
        - group_settings_link = edit_group_path(root_group)
        - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: group_settings_link }
        = _('You can enable project access token creation in %{link_start}group settings%{link_end}.').html_safe % { link_start: link_start, link_end: '</a>'.html_safe }

  .col-lg-8
    - if @new_resource_access_token
      = render 'shared/access_tokens/created_container',
          type: type,
          new_token_value: @new_resource_access_token

    - if current_user.can?(:create_resource_access_tokens, @project)
      = render 'shared/access_tokens/form',
          type: type,
          path: project_settings_access_tokens_path(@project),
          resource: @project,
          token: @resource_access_token,
          scopes: @scopes,
          access_levels: ProjectMember.permissible_access_level_roles(current_user, @project),
          default_access_level: Gitlab::Access::GUEST,
          prefix: :resource_access_token,
          help_path: help_page_path('user/project/settings/project_access_tokens', anchor: 'scopes-for-a-project-access-token')

    = render 'shared/access_tokens/table',
        active_tokens: @active_resource_access_tokens,
        resource: @project,
        type: type,
        type_plural: type_plural,
        revoke_route_helper: ->(token) { revoke_namespace_project_settings_access_token_path(id: token) },
        no_active_tokens_message: _('This project has no active access tokens.')