- type = impersonation ? "Impersonation" : "Personal Access" %hr %h5 Active #{type} Tokens (#{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 Created %th Expires %th Scopes - if impersonation %th Token %th %tbody - active_tokens.each do |token| %tr %td= token.name %td= token.created_at.to_date.to_s(:medium) %td - if token.expires? %span{ class: ('text-warning' if token.expires_soon?) } In #{distance_of_time_in_words_to_now(token.expires_at)} - else %span.token-never-expires-label Never %td= token.scopes.present? ? token.scopes.join(", ") : "" - if impersonation %td.token-token-container = text_field_tag 'impersonation-token-token', token.token, readonly: true, class: "form-control" = clipboard_button(text: token.token) - path = impersonation ? revoke_admin_user_impersonation_token_path(token.user, token) : revoke_profile_personal_access_token_path(token) %td= link_to "Revoke", path, method: :put, class: "btn btn-danger pull-right", data: { confirm: "Are you sure you want to revoke this #{type} Token? This action cannot be undone." } - else .settings-message.text-center This user has no active #{type} Tokens. %hr %h5 Inactive #{type} Tokens (#{inactive_tokens.length}) - if inactive_tokens.present? .table-responsive %table.table.inactive-tokens %thead %tr %th Name %th Created %tbody - inactive_tokens.each do |token| %tr %td= token.name %td= token.created_at.to_date.to_s(:medium) - else .settings-message.text-center This user has no inactive #{type} Tokens.