c31671ce04
* add dot-to-dash helper * fix context menu on policy page and add test for deletion * use dot-to-dash where we use confirm component * fix acceptance test
129 lines
5.3 KiB
Handlebars
129 lines
5.3 KiB
Handlebars
{{identity/entity-nav identityType=identityType model=model}}
|
|
{{#if model.meta.total}}
|
|
{{#each model as |item|}}
|
|
{{#linked-block
|
|
"vault.cluster.access.identity.show"
|
|
item.id
|
|
"details"
|
|
class="list-item-row"
|
|
data-test-identity-row=true
|
|
}}
|
|
<div class="columns is-mobile">
|
|
<div class="column is-7-tablet is-10-mobile">
|
|
{{#link-to
|
|
"vault.cluster.access.identity.show"
|
|
item.id
|
|
"details"
|
|
class="is-block has-text-black has-text-weight-semibold"
|
|
data-test-identity-link=true
|
|
}}{{i-con
|
|
glyph="role"
|
|
size=14
|
|
class="has-text-grey-light"
|
|
}}<span class="has-text-weight-semibold">{{item.name}}</span>{{/link-to}}
|
|
<div class="has-text-grey is-size-8">
|
|
{{item.id}}
|
|
</div>
|
|
</div>
|
|
<div class="column is-3 is-hidden-mobile">
|
|
{{#if item.aliases.length}}
|
|
{{pluralize item.aliases.length "alias"}}
|
|
{{/if}}
|
|
</div>
|
|
<div class="column has-text-right">
|
|
{{#popup-menu name="identity-item" onOpen=(action "reloadRecord" item)}}
|
|
<nav class="menu">
|
|
<ul class="menu-list">
|
|
<li class="action">
|
|
{{#link-to "vault.cluster.access.identity.show" item.id "details"}}
|
|
Details
|
|
{{/link-to}}
|
|
</li>
|
|
{{#if (or item.isReloading item.updatePath.isPending item.aliasPath.isPending)}}
|
|
<li class="action">
|
|
<button disabled type="button" class="link button is-loading is-transparent">
|
|
loading
|
|
</button>
|
|
</li>
|
|
{{else}}
|
|
{{#if item.canEdit}}
|
|
<li class="action">
|
|
{{#link-to "vault.cluster.access.identity.edit" item.id}}
|
|
Edit
|
|
{{/link-to}}
|
|
</li>
|
|
<li class="action">
|
|
{{#if item.disabled}}
|
|
<button type="button" {{action "toggleDisabled" item}} class="link">
|
|
Enable
|
|
</button>
|
|
{{else if (eq identityType 'entity')}}
|
|
{{#confirm-action
|
|
confirmButtonClasses="button is-primary"
|
|
confirmButtonText="Disable"
|
|
buttonClasses="link"
|
|
onConfirmAction=(action "toggleDisabled" item)
|
|
confirmMessage=(concat "Are you sure you want to disable " item.id "?")
|
|
showConfirm=(get this (concat "shouldDisable-" (dot-to-dash item.id)))
|
|
class=(if (get this (concat "shouldDisable-" (dot-to-dash item.id))) "message is-block is-warning is-outline")
|
|
containerClasses="message-body is-block"
|
|
messageClasses="is-block"
|
|
}}
|
|
Disable
|
|
{{/confirm-action}}
|
|
{{/if}}
|
|
</li>
|
|
{{/if}}
|
|
{{#if item.canAddAlias}}
|
|
<li class="action">
|
|
{{#link-to "vault.cluster.access.identity.aliases.add" (pluralize identityType) item.id}}
|
|
Create alias
|
|
{{/link-to}}
|
|
</li>
|
|
{{/if}}
|
|
{{#if item.canDelete}}
|
|
<li class="action">
|
|
{{#confirm-action
|
|
data-test-item-delete=true
|
|
confirmButtonClasses="button is-primary"
|
|
buttonClasses="link"
|
|
onConfirmAction=(action "delete" item)
|
|
confirmMessage=(concat "Are you sure you want to delete " item.id "?")
|
|
showConfirm=(get this (concat "shouldDelete-" (dot-to-dash item.id)))
|
|
class=(if (get this (concat "shouldDelete-" (dot-to-dash item.id))) "message is-block is-warning is-outline")
|
|
containerClasses="message-body is-block"
|
|
messageClasses="is-block"
|
|
}}
|
|
Delete
|
|
{{/confirm-action}}
|
|
</li>
|
|
{{/if}}
|
|
{{/if}}
|
|
</ul>
|
|
</nav>
|
|
{{/popup-menu}}
|
|
</div>
|
|
</div>
|
|
{{/linked-block}}
|
|
{{/each}}
|
|
{{#if (gt model.meta.lastPage 1) }}
|
|
{{list-pagination
|
|
page=model.meta.currentPage
|
|
lastPage=model.meta.lastPage
|
|
link="vault.cluster.access.identity.index"
|
|
}}
|
|
{{/if}}
|
|
{{else}}
|
|
<EmptyState
|
|
@title="No {{pluralize identityType}} yet"
|
|
@message="A list of {{pluralize identityType}} in this namespace will be listed here. Create your first {{identityType}} to get started."
|
|
>
|
|
{{#link-to "vault.cluster.access.identity.create" (pluralize identityType) tagName="button" class="link"}}
|
|
Create {{identityType}}
|
|
{{/link-to}}
|
|
<LearnLink @path="/vault/identity-access-management/iam-identity">
|
|
Learn More
|
|
</LearnLink>
|
|
</EmptyState>
|
|
{{/if}}
|