49 lines
2.2 KiB
Text
49 lines
2.2 KiB
Text
- no_active_tokens_message = local_assigns.fetch(:no_active_tokens_message, _('This user has no active %{type}.') % { type: type_plural })
|
|
- impersonation = local_assigns.fetch(:impersonation, false)
|
|
|
|
%hr
|
|
|
|
%h5
|
|
= _('Active %{type} (%{token_length})') % { type: type_plural, token_length: active_tokens.length }
|
|
- if impersonation
|
|
%p.profile-settings-content
|
|
= _("To see all the user's personal access tokens you must impersonate them first.")
|
|
|
|
- if active_tokens.present?
|
|
.table-responsive
|
|
%table.table.active-tokens
|
|
%thead
|
|
%tr
|
|
%th= _('Name')
|
|
%th= s_('AccessTokens|Created')
|
|
%th
|
|
= _('Last Used')
|
|
= link_to sprite_icon('question-o'), help_page_path('user/profile/personal_access_tokens.md', anchor: 'token-activity'), target: '_blank'
|
|
%th= _('Expires')
|
|
%th= _('Scopes')
|
|
%th
|
|
%tbody
|
|
- active_tokens.each do |token|
|
|
%tr
|
|
%td= token.name
|
|
%td= token.created_at.to_date.to_s(:medium)
|
|
%td
|
|
- if token.last_used_at?
|
|
%span.token-last-used-label= _(time_ago_with_tooltip(token.last_used_at))
|
|
- else
|
|
%span.token-never-used-label= _('Never')
|
|
%td
|
|
- if token.expires?
|
|
- if token.expires_at.past? || token.expires_at.today?
|
|
%span{ class: 'text-danger has-tooltip', title: _('Token valid until revoked') }
|
|
= _('Expired')
|
|
- else
|
|
%span{ class: ('text-warning' if token.expires_soon?) }
|
|
= _('In %{time_to_now}') % { time_to_now: distance_of_time_in_words_to_now(token.expires_at) }
|
|
- else
|
|
%span.token-never-expires-label= _('Never')
|
|
%td= token.scopes.present? ? token.scopes.join(', ') : _('no scopes selected')
|
|
%td= link_to _('Revoke'), revoke_route_helper.call(token), method: :put, class: 'gl-button btn btn-danger btn-sm float-right qa-revoke-button', data: { confirm: _('Are you sure you want to revoke this %{type}? This action cannot be undone.') % { type: type } }
|
|
- else
|
|
.settings-message.text-center
|
|
= no_active_tokens_message
|