2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 21:15:41 +00:00

Test result choices (#7417)

* Add "choices" field to PartTestTemplate

- Will allow validation of "value" field on StockItemTestResult

* Run validation against StockItemTestResult

* Expose 'choices' to serializer

* Update unit test

* Add unit test for test result validation

* Add 'choices' field for CUI forms

* Add "choices" field to PUI form

* Add 'choices' column to PartTestTemplateTable

* memoize stockitemtestresult fields

- Adjust field type of "value" field based on template choices

* Bump API version
This commit is contained in:
Oliver
2024-06-08 11:21:27 +10:00
committed by GitHub
parent bae5dcdbdc
commit a90b05add5
11 changed files with 298 additions and 82 deletions

View File

@ -19,6 +19,7 @@ import { RenderUser } from '../../components/render/User';
import { renderDate } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { UserRoles } from '../../enums/Roles';
import { useTestResultFields } from '../../forms/StockForms';
import {
useCreateApiFormModal,
useDeleteApiFormModal,
@ -232,27 +233,10 @@ export default function StockItemTestResultTable({
];
}, [itemId]);
const resultFields: ApiFormFieldSet = useMemo(() => {
return {
template: {
filters: {
include_inherited: true,
part: partId
}
},
result: {},
value: {},
attachment: {},
notes: {},
test_station: {},
started_datetime: {},
finished_datetime: {},
stock_item: {
value: itemId,
hidden: true
}
};
}, [partId, itemId]);
const resultFields: ApiFormFieldSet = useTestResultFields({
partId: partId,
itemId: itemId
});
const [selectedTemplate, setSelectedTemplate] = useState<number | undefined>(
undefined
@ -260,7 +244,7 @@ export default function StockItemTestResultTable({
const newTestModal = useCreateApiFormModal({
url: ApiEndpoints.stock_test_result_list,
fields: resultFields,
fields: useMemo(() => ({ ...resultFields }), [resultFields]),
initialData: {
template: selectedTemplate,
result: true
@ -275,7 +259,7 @@ export default function StockItemTestResultTable({
const editTestModal = useEditApiFormModal({
url: ApiEndpoints.stock_test_result_list,
pk: selectedTest,
fields: resultFields,
fields: useMemo(() => ({ ...resultFields }), [resultFields]),
title: t`Edit Test Result`,
table: table,
successMessage: t`Test result updated`