d56f0ccb72
* wait for all hash promises to be settled * skeleton tests with policies for write without read * adjust what gets returned from the model hook * refactor secret-edit model hook to use async/await * return a stub version if we can't read secret data * return a stub model for v1 kv * tweak tests to make re-runs friendlier * allow write without CAS if both v2 models cannot be read * show warnings on edit pages for different write without read scenarios * add no read empty states on secret show pages * review feedback * make message language consistent * use version models from metadata if we can read it * refresh route on delete / undelete / destroy * hide controls in the toolbar when you can't read the secret data * show deleted / destroyed messaging over cannot read messaging on the show page * fix test with model stub * refactor large model hook into several functions * comment clarifications
57 lines
1.9 KiB
Handlebars
57 lines
1.9 KiB
Handlebars
<form onsubmit={{action "createOrUpdateKey" "update"}}>
|
|
<div class="box is-sideless is-fullwidth is-marginless is-paddingless">
|
|
<MessageError @model={{model}} @errorMessage={{error}} />
|
|
<NamespaceReminder @mode="edit" @noun="secret" />
|
|
{{#if (and (not model.failedServerRead) (not model.selectedVersion.failedServerRead) (not-eq model.selectedVersion.version model.currentVersion))}}
|
|
<div class="form-section">
|
|
<AlertBanner
|
|
@type="warning"
|
|
@class="is-marginless"
|
|
@message="You are creating a new version based on data from Version {{model.selectedVersion.version}}. The current version for {{model.id}} is Version {{model.currentVersion}}."
|
|
/>
|
|
</div>
|
|
{{/if}}
|
|
<SecretEditDisplay
|
|
@showAdvancedMode={{showAdvancedMode}}
|
|
@codemirrorString={{codemirrorString}}
|
|
@secretData={{secretData}}
|
|
@isV2={{isV2}}
|
|
@canEditV2Secret={{canEditV2Secret}}
|
|
@showWriteWithoutReadWarning={{isWriteWithoutRead}}
|
|
@model={{model}}
|
|
@editActions={{hash
|
|
codemirrorUpdated=(action "codemirrorUpdated")
|
|
formatJSON=(action "formatJSON")
|
|
handleKeyDown=(action "handleKeyDown")
|
|
handleChange=(action "handleChange")
|
|
deleteRow=(action "deleteRow")
|
|
addRow=(action "addRow")
|
|
}}
|
|
/>
|
|
</div>
|
|
<div class="field is-grouped is-grouped-split is-fullwidth box is-bottomless">
|
|
<div class="field is-grouped">
|
|
<div class="control">
|
|
<button
|
|
data-test-secret-save
|
|
type="submit"
|
|
disabled={{buttonDisabled}}
|
|
class="button is-primary"
|
|
>
|
|
Save
|
|
</button>
|
|
</div>
|
|
<div class="control">
|
|
{{#secret-link
|
|
mode="show"
|
|
secret=model.id
|
|
class="button"
|
|
queryParams=(query-params version=this.modelForData.version)
|
|
}}
|
|
Cancel
|
|
{{/secret-link}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|