mirror of
https://github.com/ansible/awx.git
synced 2024-10-31 15:21:13 +03:00
Merge pull request #5553 from keithjgrant/inventory-add-save
Inventory Add form fixes Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
commit
5c1713460b
@ -16,7 +16,7 @@ import ErrorDetail from '@components/ErrorDetail';
|
||||
|
||||
const EmptyState = styled(PFEmptyState)`
|
||||
width: var(--pf-c-empty-state--m-lg--MaxWidth);
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
`;
|
||||
|
||||
async function logout() {
|
||||
|
@ -48,7 +48,9 @@ function InventoryAdd({ history, i18n }) {
|
||||
data: { id: inventoryId },
|
||||
} = await InventoriesAPI.create({
|
||||
organization: organization.id,
|
||||
insights_credential: insights_credential.id,
|
||||
insights_credential: insights_credential
|
||||
? insights_credential.id
|
||||
: null,
|
||||
...remainingValues,
|
||||
});
|
||||
if (instanceGroups) {
|
||||
@ -68,7 +70,15 @@ function InventoryAdd({ history, i18n }) {
|
||||
};
|
||||
|
||||
if (error) {
|
||||
return <ContentError />;
|
||||
return (
|
||||
<PageSection>
|
||||
<Card>
|
||||
<CardBody>
|
||||
<ContentError error={error} />
|
||||
</CardBody>
|
||||
</Card>
|
||||
</PageSection>
|
||||
);
|
||||
}
|
||||
if (isLoading) {
|
||||
return <ContentLoading />;
|
||||
|
@ -77,6 +77,8 @@ function InventoryForm({
|
||||
form.setFieldValue('organization', value);
|
||||
}}
|
||||
value={field.value}
|
||||
touched={form.touched.organization}
|
||||
error={form.errors.organization}
|
||||
required
|
||||
/>
|
||||
)}
|
||||
|
@ -1,9 +1,16 @@
|
||||
import { t } from '@lingui/macro';
|
||||
|
||||
export function required(message, i18n) {
|
||||
const errorMessage = message || i18n._(t`This field must not be blank`);
|
||||
return value => {
|
||||
if (typeof value === 'string' && !value.trim()) {
|
||||
return message || i18n._(t`This field must not be blank`);
|
||||
return errorMessage;
|
||||
}
|
||||
if (typeof value === 'number' && !Number.isNaN(value)) {
|
||||
return undefined;
|
||||
}
|
||||
if (!value) {
|
||||
return errorMessage;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
|
@ -27,6 +27,16 @@ describe('validators', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test('required interprets undefined as empty value', () => {
|
||||
expect(required(null, i18n)(undefined)).toEqual({
|
||||
id: 'This field must not be blank',
|
||||
});
|
||||
});
|
||||
|
||||
test('required interprets 0 as non-empty value', () => {
|
||||
expect(required(null, i18n)(0)).toBeUndefined();
|
||||
});
|
||||
|
||||
test('maxLength accepts value below max', () => {
|
||||
expect(maxLength(10, i18n)('snazzy')).toBeUndefined();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user