open-vault/ui/app/templates/components/generated-item-list.hbs
Madalyn 977af116c8 Enable generated items for more auth methods (#7513)
* enable auth method item configuration in go code

* properly parse and list generated items

* make sure we only set name on attrs if a label comes from openAPI

* correctly construct paths object for method index route

* set sensitive property on password for userpass

* remove debugger statements

* pass method model to list route template to use paths on model for tabs

* update tab generation in generated item list, undo enabling userpass users

* enable openapi generated itams for certs and userpass, update ldap to no longer have action on list endpoint

* add editType to DisplayAttributes, pull tokenutil fields into field group

* show sensitive message for sensitive fields displayed in fieldGroupShow component

* grab sensitive and editType fields from displayAttrs in openapi-to-attrs util

* make sure we don't ask for paths for secret backends since that isn't setup yet

* fix styling of sensitive text for fieldGroupShow component

* update openapi-to-attrs util test to no longer include label by default, change debugger to console.err in path-help, remove dynamic ui auth methods from tab count test

* properly log errors to the console

* capitalize This value is sensitive...

* get rid of extra padding on bottom of fieldgroupshow

* make auth methods clickable and use new confirm ux

* Update sdk/framework/path.go

Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com>

* Update sdk/framework/path.go

Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com>

* add whitespace

* return intErr instead of err

* uncomment out helpUrl because we need it

* remove extra box class

* use const instead of let

* remove extra conditional since we already split the pathName later on

* ensure we request the correct url when listing generated items

* use const

* link to list and show pages

* remove dead code

* show nested item name instead of id

* add comments

* show tooltip for text-file inputs

* fix storybook

* remove extra filter

* add TODOs

* add comments

* comment out unused variables but leave them in function signature

* only link to auth methods that can be fully managed in the ui

* clean up comments

* only render tooltip if there is helpText

* rename id authMethodPath

* remove optionsForQuery since we don't need it

* add indentation

* standardize ConfirmMessage and show model name instead of id when editing

* standardize ConfirmMessage and show model name instead of id when editing

* add comments

* post to the correct updateUrl so we can edit users and groups

* use pop instead of slice

* add TODO for finding a better way to store ids

* ensure ids are handled the same way on list and show pages; fix editing and deleting

* add comment about difference between list and show urls

* use model.id instead of name since we do not need it

* remove dead code

* ensure list pages have page headers

* standardize using authMethodPath instead of method and remove dead code

* i love indentation

* remove more dead code

* use new Confirm

* show correct flash message when deleting an item

* update flash message for creating and updating

* use plus icon for creating group/user instead of an arrow
2019-10-17 16:19:14 -07:00

105 lines
3.2 KiB
Handlebars

<PageHeader as |p|>
<p.top>
{{#key-value-header path="vault.cluster.access.methods"}}
<li>
<span class="sep">
/
</span>
{{#link-to "vault.cluster.access.methods"}}
methods
{{/link-to}}
</li>
{{/key-value-header}}
</p.top>
<p.levelLeft>
<h1 class="title is-3">
{{methodModel.id}}
</h1>
</p.levelLeft>
</PageHeader>
{{#with (tabs-for-auth-section methodModel 'authConfig' paths) as |tabs|}}
{{#if tabs.length}}
<div class="tabs-container box is-sideless is-fullwidth is-paddingless is-marginless">
<nav class="tabs">
<ul>
{{#each tabs as |tab|}}
{{#link-to
params=tab.routeParams
tagName="li"
data-test-auth-section-tab=true
}}
{{#link-to params=tab.routeParams}}
{{tab.label}}
{{/link-to}}
{{/link-to}}
{{/each}}
</ul>
</nav>
</div>
{{/if}}
{{/with}}
<Toolbar>
<ToolbarActions>
<ToolbarLink
@type="add"
@params={{array
"vault.cluster.access.method.item.create"
itemType
}}>
Create
{{singularize itemType}}
</ToolbarLink>
</ToolbarActions>
</Toolbar>
<ListView @items={{model}} @itemNoun={{itemType}} as |list|>
{{#if list.empty}}
<list.empty @title="No {{pluralize itemType}} yet"
@message="A list of {{pluralize itemType}} will be listed here. Create your first {{itemType}} to get started.">
{{#link-to
"vault.cluster.access.method.item.create"
itemType
class="link"
}}
Create {{singularize itemType}}
{{/link-to}}
</list.empty>
{{else if list.item}}
<ListItem @linkParams={{array "vault.cluster.access.method.item.show"
itemType list.item.id}} as |Item|>
<Item.content>
<Icon @glyph="folder-outline" class="has-text-grey-light" @size="l" />{{list.item.id}}
</Item.content>
<Item.menu as |Menu|>
<li class="action">
{{#link-to "vault.cluster.access.method.item.show" list.item.id class="is-block"}}
View {{singularize itemType}}
{{/link-to}}
</li>
<li class="action">
{{#link-to "vault.cluster.access.method.item.edit" list.item.id class="is-block"}}
Edit {{singularize itemType}}
{{/link-to}}
</li>
<li>
<Menu.Message
@id={{list.item.id}}
@buttonClasses="link is-destroy"
@onConfirm={{action
(perform
Item.callMethod
"destroyRecord"
list.item
(concat "Successfully deleted " (singularize itemType) " " list.item.id ".")
(concat "There was an error deleting this " (singularize itemType))
(action "refreshItemList")
)
}}
@message={{concat "Are you sure you want to delete " (singularize itemType) " " list.item.id "?"}}
data-test-secret-delete="true"
@triggerText={{concat "Delete " (singularize itemType)}}/>
</li>
</Item.menu>
</ListItem>
{{/if}}
</ListView>