5c2a08de6d
* Update browserslist * Add browserslistrc * ember-cli-update --to 3.26, fix conflicts * Run codemodes that start with ember-* * More codemods - before cp* * More codemods (curly data-test-*) * WIP ember-basic-dropdown template errors * updates ember-basic-dropdown and related deps to fix build issues * updates basic dropdown instances to new version API * updates more deps -- ember-template-lint is working again * runs no-implicit-this codemod * creates and runs no-quoteless-attributes codemod * runs angle brackets codemod * updates lint:hbs globs to only touch hbs files * removes yield only templates * creates and runs deprecated args transform * supresses lint error for invokeAction on LinkTo component * resolves remaining ambiguous path lint errors * resolves simple-unless lint errors * adds warnings for deprecated tagName arg on LinkTo components * adds warnings for remaining curly component invocation * updates global template lint rules * resolves remaining template lint errors * disables some ember specfic lint rules that target pre octane patterns * js lint fix run * resolves remaining js lint errors * fixes test run * adds npm-run-all dep * fixes test attribute issues * fixes console acceptance tests * fixes tests * adds yield only wizard/tutorial-active template * fixes more tests * attempts to fix more flaky tests * removes commented out settled in transit test * updates deprecations workflow and adds initializer to filter by version * updates flaky policies acl old test * updates to flaky transit test * bumps ember deps down to LTS version * runs linters after main merge * fixes client count tests after bad merge conflict fixes * fixes client count history test * more updates to lint config * another round of hbs lint fixes after extending stylistic rule * updates lint-staged commands * removes indent eslint rule since it seems to break things * fixes bad attribute in transform-edit-form template * test fixes * fixes enterprise tests * adds changelog * removes deprecated ember-concurrency-test-waiters dep and adds @ember/test-waiters * flaky test fix Co-authored-by: hashishaw <cshaw@hashicorp.com>
143 lines
4.7 KiB
Handlebars
143 lines
4.7 KiB
Handlebars
<PageHeader as |p|>
|
|
<p.top>
|
|
<KeyValueHeader @path="vault.cluster.secrets.backend.show" @mode={{this.mode}} @root={{@root}} @showCurrent={{true}} />
|
|
</p.top>
|
|
<p.levelLeft>
|
|
<h1 class="title is-3" data-test-secret-header="true">
|
|
{{#if (eq @mode "create")}}
|
|
Create Role
|
|
{{else if (eq @mode "edit")}}
|
|
Edit Role
|
|
{{else}}
|
|
{{@model.id}}
|
|
{{/if}}
|
|
</h1>
|
|
</p.levelLeft>
|
|
</PageHeader>
|
|
|
|
{{#if (eq @mode "show")}}
|
|
<Toolbar>
|
|
<ToolbarActions>
|
|
{{#if @model.canDelete}}
|
|
<ConfirmAction
|
|
@buttonClasses="toolbar-link"
|
|
@onConfirmAction={{action "delete"}}
|
|
@confirmTitle="Delete role?"
|
|
@confirmMessage="This role will be permanently deleted. You will need to recreate it to use it again."
|
|
@confirmButtonText="Delete"
|
|
data-test-database-role-delete
|
|
>
|
|
Delete role
|
|
</ConfirmAction>
|
|
<div class="toolbar-separator"></div>
|
|
{{/if}}
|
|
{{#if @model.canGenerateCredentials}}
|
|
<button
|
|
type="button"
|
|
class="toolbar-link"
|
|
{{on "click" (fn this.generateCreds @model.id @model.type)}}
|
|
data-test-database-role-generate-creds
|
|
>
|
|
{{if (eq @model.type "static") "Get credentials" "Generate credentials"}}
|
|
</button>
|
|
{{/if}}
|
|
{{#if @model.canEditRole}}
|
|
<ToolbarSecretLink
|
|
@secret={{concat "role/" @model.id}}
|
|
@mode="edit"
|
|
@replace={{true}}
|
|
@queryParams={{query-params itemType="role"}}
|
|
@data-test-edit-link={{true}}
|
|
>
|
|
Edit role
|
|
</ToolbarSecretLink>
|
|
{{/if}}
|
|
</ToolbarActions>
|
|
</Toolbar>
|
|
{{#each @model.showFields as |attr|}}
|
|
{{#let attr.options.defaultShown as |defaultDisplay|}}
|
|
{{#if (eq attr.type "object")}}
|
|
<InfoTableRow
|
|
@alwaysRender={{true}}
|
|
@defaultShown={{defaultDisplay}}
|
|
@label={{capitalize (or attr.options.label (humanize (dasherize attr.name)))}}
|
|
@value={{stringify (get @model attr.name)}}
|
|
/>
|
|
{{else}}
|
|
<InfoTableRow
|
|
@alwaysRender={{true}}
|
|
@defaultShown={{defaultDisplay}}
|
|
@label={{capitalize (or attr.options.label (humanize (dasherize attr.name)))}}
|
|
@value={{get @model attr.name}}
|
|
@isLink={{eq attr.name "database"}}
|
|
/>
|
|
{{/if}}
|
|
{{/let}}
|
|
{{/each}}
|
|
{{else}}
|
|
{{! Edit or Create }}
|
|
<div class="box is-sideless is-fullwidth is-marginless">
|
|
<form {{on "submit" this.handleCreateEditRole}}>
|
|
{{#each @model.fieldAttrs as |attr|}}
|
|
{{#if (eq @mode "edit")}}
|
|
<ReadonlyFormField @attr={{attr}} @value={{get @model attr.name}} />
|
|
{{else if (not-eq attr.options.readOnly true)}}
|
|
<FormField data-test-field={{true}} @attr={{attr}} @model={{@model}} />
|
|
{{! TODO: If database && !updateDB show warning }}
|
|
{{#if (get this.warningMessages attr.name)}}
|
|
<AlertBanner @type="warning" @message={{get this.warningMessages attr.name}} />
|
|
{{/if}}
|
|
{{/if}}
|
|
{{/each}}
|
|
|
|
<DatabaseRoleSettingForm
|
|
@attrs={{@model.roleSettingAttrs}}
|
|
@roleType={{@model.type}}
|
|
@model={{@model}}
|
|
@mode={{@mode}}
|
|
@dbType={{await this.databaseType}}
|
|
/>
|
|
|
|
<div class="field is-grouped is-grouped-split is-fullwidth box is-bottomless">
|
|
<div class="field is-grouped">
|
|
<div class="control">
|
|
{{#if (is-empty-value this.warningMessages)}}
|
|
<button
|
|
data-test-secret-save
|
|
type="submit"
|
|
disabled={{this.loading}}
|
|
class="button is-primary {{if this.loading "is-loading"}}"
|
|
>
|
|
{{#if (eq @mode "create")}}
|
|
Create role
|
|
{{else}}
|
|
Save
|
|
{{/if}}
|
|
</button>
|
|
{{else}}
|
|
<ToolTip @horizontalPosition="left" as |T|>
|
|
<T.Trigger>
|
|
<button data-test-secret-save type="submit" disabled={{true}} class="button is-primary">
|
|
Save
|
|
</button>
|
|
</T.Trigger>
|
|
<T.Content class="tool-tip">
|
|
<div class="box">
|
|
You don't have permissions required to
|
|
{{if (eq @mode "create") "create" "update"}}
|
|
this role. See form for details.
|
|
</div>
|
|
</T.Content>
|
|
</ToolTip>
|
|
{{/if}}
|
|
</div>
|
|
<div class="control">
|
|
<SecretLink @mode="list" @class="button">
|
|
Cancel
|
|
</SecretLink>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{{/if}} |