refactor: 💡 Refactor ldap account view and serializer (#1826)
* refactor: 💡 Refactor ldap account view and serializer Refactor LDAP account view to only show `InfoField` fields if values are not `undefined`. Also fixed bug for updating accounts. ✅ Closes: ICU-10514 * refactor: 💡 clean up code Quick cleanup of code for accounts * Update account.js change text for commit * Update index.hbs * refactor: 💡 format hbs format hbs
This commit is contained in:
1 parent
de77f8807d
commit
e089d1c3ff
4 files changed
+50
-23
No files matched your search
@@ -13,13 +13,11 @@ export default class GeneratedAccountModel extends BaseModel {
|
||||
// =attributes
|
||||
|
||||
@attr('string', {
|
||||
readOnly: true,
|
||||
description: 'The type of the resource, to help differentiate schemas',
|
||||
})
|
||||
type;
|
||||
|
||||
@attr('string', {
|
||||
readOnly: true,
|
||||
description: 'The owning auth method ID.',
|
||||
})
|
||||
auth_method_id;
|
||||
|
||||
@@ -52,6 +52,10 @@ export default class AccountSerializer extends ApplicationSerializer {
|
||||
serialized.attributes = {};
|
||||
const { login_name } = snapshot.record;
|
||||
if (login_name) serialized.attributes.login_name = login_name;
|
||||
} else {
|
||||
// LDAP does not support updating the readonly auth method ID or type attributes.
|
||||
delete serialized.auth_method_id;
|
||||
delete serialized.type;
|
||||
}
|
||||
return serialized;
|
||||
}
|
||||
@@ -69,6 +73,10 @@ export default class AccountSerializer extends ApplicationSerializer {
|
||||
const { issuer, subject } = snapshot.record;
|
||||
if (issuer) serialized.attributes.issuer = issuer;
|
||||
if (subject) serialized.attributes.subject = subject;
|
||||
} else {
|
||||
// OIDC does not support updating the readonly auth method ID or type attributes.
|
||||
delete serialized.auth_method_id;
|
||||
delete serialized.type;
|
||||
}
|
||||
return serialized;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,9 @@ module('Unit | Serializer | account', function (hooks) {
|
||||
const snapshot = record._createSnapshot();
|
||||
const serializedRecord = serializer.serialize(snapshot);
|
||||
assert.deepEqual(serializedRecord, {
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
name: 'Name',
|
||||
auth_method_id: '1',
|
||||
description: 'Description',
|
||||
version: 1,
|
||||
attributes: {
|
||||
@@ -89,7 +91,9 @@ module('Unit | Serializer | account', function (hooks) {
|
||||
const snapshot = record._createSnapshot();
|
||||
const serializedRecord = serializer.serialize(snapshot);
|
||||
assert.deepEqual(serializedRecord, {
|
||||
type: TYPE_AUTH_METHOD_PASSWORD,
|
||||
name: 'Name',
|
||||
auth_method_id: '1',
|
||||
description: 'Description',
|
||||
attributes: {
|
||||
login_name: 'Login Name',
|
||||
@@ -116,7 +120,9 @@ module('Unit | Serializer | account', function (hooks) {
|
||||
};
|
||||
const serializedRecord = serializer.serialize(snapshot);
|
||||
assert.deepEqual(serializedRecord, {
|
||||
type: TYPE_AUTH_METHOD_PASSWORD,
|
||||
name: 'Name',
|
||||
auth_method_id: '1',
|
||||
description: 'Description',
|
||||
attributes: {
|
||||
login_name: 'Login Name',
|
||||
@@ -199,7 +205,9 @@ module('Unit | Serializer | account', function (hooks) {
|
||||
const snapshot = record._createSnapshot();
|
||||
const serializedRecord = serializer.serialize(snapshot);
|
||||
assert.deepEqual(serializedRecord, {
|
||||
type: TYPE_AUTH_METHOD_LDAP,
|
||||
name: 'Name',
|
||||
auth_method_id: '1',
|
||||
description: 'Description',
|
||||
version: 1,
|
||||
attributes: {
|
||||
|
||||
@@ -86,27 +86,40 @@
|
||||
'form.other_fields.help'
|
||||
}}</Hds::Form::HelperText>
|
||||
</div>
|
||||
<InfoField @value={{@model.login_name}} as |F|>
|
||||
<F.Label>{{t 'form.login_name.label'}}</F.Label>
|
||||
</InfoField>
|
||||
<InfoField @value={{@model.email}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.email.label'}}</F.Label>
|
||||
</InfoField>
|
||||
<InfoField @value={{@model.full_name}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.full_name.label'}}</F.Label>
|
||||
</InfoField>
|
||||
<InfoField @value={{@model.dn}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.dn.label'}}</F.Label>
|
||||
</InfoField>
|
||||
<p class='hds-font-weight-semibold'>{{t
|
||||
'resources.account.form.member_of_groups.label'
|
||||
}}</p>
|
||||
{{#each @model.member_of_groups as |group|}}
|
||||
<Hds::Form::TextInput::Field
|
||||
@value={{group.value}}
|
||||
disabled={{true}}
|
||||
/>
|
||||
{{/each}}
|
||||
|
||||
{{#if @model.login_name}}
|
||||
<InfoField @value={{@model.login_name}} as |F|>
|
||||
<F.Label>{{t 'form.login_name.label'}}</F.Label>
|
||||
</InfoField>
|
||||
{{/if}}
|
||||
{{#if @model.email}}
|
||||
<InfoField @value={{@model.email}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.email.label'}}</F.Label>
|
||||
</InfoField>
|
||||
{{/if}}
|
||||
{{#if @model.full_name}}
|
||||
<InfoField @value={{@model.full_name}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.full_name.label'}}</F.Label>
|
||||
</InfoField>
|
||||
{{/if}}
|
||||
{{#if @model.dn}}
|
||||
<InfoField @value={{@model.dn}} as |F|>
|
||||
<F.Label>{{t 'resources.account.form.dn.label'}}</F.Label>
|
||||
</InfoField>
|
||||
{{/if}}
|
||||
|
||||
{{#if @model.member_of_groups}}
|
||||
<p class='hds-font-weight-semibold'>
|
||||
{{t 'resources.account.form.member_of_groups.label'}}
|
||||
</p>
|
||||
{{#each @model.member_of_groups as |group|}}
|
||||
<Hds::Form::TextInput::Field
|
||||
@value={{group.value}}
|
||||
disabled={{true}}
|
||||
/>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
</F.Control>
|
||||
</Hds::Form::Fieldset>
|
||||
{{/unless}}
|
||||
|
||||
Reference in new issue
Block a user