Icu 12860 retain values in form fields in credential library when switching types (#2169)

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12860

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
This commit is contained in:
Devon AndersonandZhihe Li authored and GitHub committed 2024-03-27 15:18:58 -04:00
1 parent db75b2e292
commit 9843310dfb
4 files changed
+26 -15

No files matched your search

@@ -11,11 +11,10 @@
as |form|
>
<Hds::Form::TextInput::Field
@isOptional={{true}}
name='name'
@value={{@model.name}}
@isInvalid={{@model.errors.name}}
@type='text'
name='name'
@isOptional={{true}}
disabled={{form.disabled}}
{{on 'input' (set-from-event @model 'name')}}
as |F|
@@ -25,17 +24,19 @@
{{#if @model.errors.name}}
<F.Error as |E|>
{{#each @model.errors.name as |error|}}
<E.Message>{{error.message}}</E.Message>
<E.Message>
{{error.message}}
</E.Message>
{{/each}}
</F.Error>
{{/if}}
</Hds::Form::TextInput::Field>
<Hds::Form::Textarea::Field
@isOptional={{true}}
name='description'
@value={{@model.description}}
@isInvalid={{@model.errors.description}}
name='description'
@isOptional={{true}}
disabled={{form.disabled}}
as |F|
>
@@ -11,12 +11,12 @@
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<Hds::Form::TextInput::Field
@isOptional={{true}}
name='name'
@value={{@model.name}}
@isInvalid={{@model.errors.name}}
@type='text'
name='name'
@isOptional={{true}}
disabled={{form.disabled}}
{{on 'input' (set-from-event @model 'name')}}
as |F|
@@ -26,17 +26,19 @@
{{#if @model.errors.name}}
<F.Error as |E|>
{{#each @model.errors.name as |error|}}
<E.Message>{{error.message}}</E.Message>
<E.Message>
{{error.message}}
</E.Message>
{{/each}}
</F.Error>
{{/if}}
</Hds::Form::TextInput::Field>
<Hds::Form::Textarea::Field
@isOptional={{true}}
name='description'
@value={{@model.description}}
@isInvalid={{@model.errors.description}}
name='description'
@isOptional={{true}}
disabled={{form.disabled}}
as |F|
>
@@ -51,6 +51,7 @@
</F.Error>
{{/if}}
</Hds::Form::Textarea::Field>
{{#if @model.isNew}}
<Hds::Form::RadioCard::Group @name='type' as |G|>
<G.Legend>{{t 'form.type.label'}}</G.Legend>
@@ -51,16 +51,23 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
const { id: credential_store_id } = this.modelFor(
'scopes.scope.credential-stores.credential-store',
);
const { name, description } = this.currentModel ?? {};
if (this.currentModel?.isNew) {
this.currentModel.rollbackAttributes();
}
// Set the type to generic vault if feature flag isn't enabled in cases where
// user sets the query parameter manually
if (!this.features.isEnabled('ssh-target')) {
type = TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
}
type = this.features.isEnabled('ssh-target')
? type
: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
return this.store.createRecord('credential-library', {
type,
credential_store_id,
name,
description,
});
}
}