discourse/app/assets/javascripts/admin/templates/api-keys-show.hbs

130 lines
4.0 KiB
Handlebars

{{#link-to "adminApiKeys.index" class="go-back"}}
{{d-icon "arrow-left"}}
{{i18n "admin.api.all_api_keys"}}
{{/link-to}}
<div class="api-key api-key-show">
{{#admin-form-row label="admin.api.key"}}
{{#if model.revoked_at}}{{d-icon "times-circle"}}{{/if}}
{{model.truncatedKey}}
{{/admin-form-row}}
{{#admin-form-row label="admin.api.description"}}
{{#if editingDescription}}
{{input value=buffered.description maxlength="255" placeholder=(i18n "admin.api.description_placeholder")}}
{{else}}
<span>
{{if model.description model.description (i18n "admin.api.no_description")}}
</span>
{{/if}}
<div class="controls">
{{#if editingDescription}}
{{d-button class="ok" action=(action "saveDescription") icon="check"}}
{{d-button class="cancel" action=(action "editDescription") icon="times"}}
{{else}}
{{d-button class="btn-default" action=(action "editDescription") icon="pencil-alt"}}
{{/if}}
</div>
{{/admin-form-row}}
{{#admin-form-row label="admin.api.user"}}
{{#if model.user}}
{{#link-to "adminUser" model.user}}
{{avatar model.user imageSize="small"}} {{model.user.username}}
{{/link-to}}
{{else}}
{{i18n "admin.api.all_users"}}
{{/if}}
{{/admin-form-row}}
{{#admin-form-row label="admin.api.created"}}
{{format-date model.created_at leaveAgo="true"}}
{{/admin-form-row}}
{{#admin-form-row label="admin.api.updated"}}
{{format-date model.updated_at leaveAgo="true"}}
{{/admin-form-row}}
{{#admin-form-row label="admin.api.last_used"}}
{{#if model.last_used_at}}
{{format-date model.last_used_at leaveAgo="true"}}
{{else}}
{{i18n "admin.api.never_used"}}
{{/if}}
{{/admin-form-row}}
{{#admin-form-row label="admin.api.revoked"}}
{{#if model.revoked_at}}
{{format-date model.revoked_at leaveAgo="true"}}
{{else}}
<span>{{i18n "no_value"}}</span>
{{/if}}
<div class="controls">
{{#if model.revoked_at}}
{{d-button
action=(action "undoRevokeKey")
actionParam=model icon="undo"
label="admin.api.undo_revoke"}}
{{d-button
action=(action "deleteKey")
actionParam=model icon="trash-alt"
label="admin.api.delete"
class="btn-danger"}}
{{else}}
{{d-button
class="btn-danger"
action=(action "revokeKey")
actionParam=model
icon="times"
label="admin.api.revoke"}}
{{/if}}
</div>
{{/admin-form-row}}
{{#if model.api_key_scopes.length}}
<div class="scopes-title">{{i18n "admin.api.scopes.title"}}</div>
<table class="scopes-table grid">
<thead>
<tr>
<td>{{i18n "admin.api.scopes.resource"}}</td>
<td>{{i18n "admin.api.scopes.action"}}</td>
<td>{{i18n "admin.api.scopes.allowed_urls"}}</td>
<td>{{i18n "admin.api.scopes.allowed_parameters"}}</td>
</tr>
</thead>
<tbody>
{{#each model.api_key_scopes as |scope|}}
<tr>
<td>{{scope.resource}}</td>
<td>
{{scope.action}}
<span
class="scope-tooltip"
data-tooltip={{i18n (concat "admin.api.scopes.descriptions." scope.resource "." scope.key)}}>
{{d-icon "question-circle"}}
</span>
</td>
<td>
{{d-button icon="link" action=(action "showURLs" scope.urls) class="btn-info"}}
</td>
<td>
{{#each scope.parameters as |p|}}
<div>
<b>{{p}}:</b>
{{#if (get scope.allowed_parameters p)}}
{{get scope.allowed_parameters p}}
{{else}}
{{i18n "admin.api.scopes.any_parameter"}}
{{/if}}
</div>
{{/each}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{/if}}
</div>