open-vault/ui/lib/pki/addon/components/page/pki-role-details.hbs
2022-12-06 20:34:43 +00:00

92 lines
3.3 KiB
Handlebars

<Toolbar>
<ToolbarActions>
{{#if @role.canDelete}}
<ConfirmAction
@buttonClasses="toolbar-link"
@onConfirmAction={{this.deleteRole}}
@confirmTitle="Delete role?"
@confirmButtonText="Delete"
data-test-pki-role-delete
>
Delete
</ConfirmAction>
<div class="toolbar-separator"></div>
{{/if}}
{{#if @role.canGenerateCert}}
<LinkTo class="toolbar-link" @route="roles.role.generate" @model={{@role.id}} data-test-pki-role-generate-cert>
Generate Certificate
<Icon @name="chevron-right" />
</LinkTo>
{{/if}}
{{#if @role.canSign}}
<LinkTo class="toolbar-link" @route="roles.role.sign" @model={{@role.id}} data-test-pki-role-sign-cert>
Sign Certificate
<Icon @name="chevron-right" />
</LinkTo>
{{/if}}
{{#if @role.canEdit}}
<LinkTo class="toolbar-link" @route="roles.role.edit" @model={{@role.id}} data-test-pki-role-edit-link>
Edit
<Icon @name="chevron-right" />
</LinkTo>
{{/if}}
</ToolbarActions>
</Toolbar>
{{#each @role.formFieldGroups as |fg|}}
{{#each-in fg as |group fields|}}
{{#if (not-eq group "default")}}
<h3 class="is-size-4 has-text-semibold has-top-margin-m">{{group}}</h3>
{{/if}}
{{#each fields as |attr|}}
{{#let (get @role attr.name) as |val|}}
{{#if (eq attr.name "issuerRef")}}
<InfoTableRow
@label={{capitalize (or attr.options.detailsLabel attr.options.label (humanize (dasherize attr.name)))}}
@value={{val}}
@alwaysRender={{true}}
>
<LinkTo @route="issuers.issuer.details" @model={{val}}>{{val}}</LinkTo>
</InfoTableRow>
{{else if (includes attr.name this.arrayAttrs)}}
<InfoTableRow
@label={{capitalize (or attr.options.detailsLabel attr.options.label (humanize (dasherize attr.name)))}}
@value={{val}}
@alwaysRender={{true}}
>
{{#if (gt val.length 0)}}
{{#each val as |key|}}
<span>{{key}}, </span>
{{/each}}
{{else}}
None
{{/if}}
</InfoTableRow>
{{else if (eq attr.name "noStore")}}
<InfoTableRow
@label={{capitalize (or attr.options.detailsLabel attr.options.label (humanize (dasherize attr.name)))}}
@value={{not val}}
@alwaysRender={{true}}
/>
{{else if (eq attr.name "customTtl")}}
{{! Show either notAfter or ttl }}
<InfoTableRow
@label={{capitalize (or attr.options.detailsLabel attr.options.label (humanize (dasherize attr.name)))}}
@value={{or @role.notAfter @role.ttl}}
@alwaysRender={{true}}
@formatDate={{if @role.notAfter "MMM d yyyy HH:mm zzzz"}}
@formatTtl={{@role.ttl}}
/>
{{else}}
<InfoTableRow
@label={{capitalize (or attr.options.detailsLabel attr.options.label (humanize (dasherize attr.name)))}}
@value={{val}}
@alwaysRender={{true}}
@type={{or attr.type attr.options.type}}
@defaultShown={{attr.options.defaultShown}}
@formatTtl={{eq attr.options.editType "ttl"}}
/>
{{/if}}
{{/let}}
{{/each}}
{{/each-in}}
{{/each}}