feat(FE-311): Disable approval actions when rejected

This commit is contained in:
rstubryan
2025-12-10 13:56:13 +07:00
parent 429f5ffb62
commit 7be32326a9
3 changed files with 11 additions and 3 deletions
@@ -52,6 +52,8 @@ const PurchaseOrderAcceptApprovalForm = ({
const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] = const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] =
useState(''); useState('');
const isRejected = initialValues?.latest_approval?.action === 'REJECTED';
// ===== UTILITY FUNCTIONS ===== // ===== UTILITY FUNCTIONS =====
const isRepeaterInputError = ( const isRepeaterInputError = (
idx: number, idx: number,
@@ -672,7 +674,8 @@ const PurchaseOrderAcceptApprovalForm = ({
disabled={ disabled={
!formik.isValid || !formik.isValid ||
formik.isSubmitting || formik.isSubmitting ||
hasQuantityExceededErrors hasQuantityExceededErrors ||
isRejected
} }
> >
Submit Submit
@@ -79,6 +79,8 @@ const PurchaseOrderStaffApprovalForm = ({
} }
}, [rawDataApprovals, propType, initialValues?.latest_approval?.step_number]); }, [rawDataApprovals, propType, initialValues?.latest_approval?.step_number]);
const isRejected = initialValues?.latest_approval?.action === 'REJECTED';
const router = useRouter(); const router = useRouter();
const searchParams = useSearchParams(); const searchParams = useSearchParams();
const deleteModal = useModal(); const deleteModal = useModal();
@@ -1142,7 +1144,7 @@ const PurchaseOrderStaffApprovalForm = ({
color='primary' color='primary'
className='px-4' className='px-4'
isLoading={formik.isSubmitting} isLoading={formik.isSubmitting}
disabled={!formik.isValid || formik.isSubmitting} disabled={!formik.isValid || formik.isSubmitting || isRejected}
> >
Submit Submit
</Button> </Button>
@@ -180,7 +180,10 @@ const PurchaseOrderDetail = ({
}); });
const showApprovalButton = const showApprovalButton =
approvalStep !== null && approvalStep >= 1 && approvalStep <= 3; approvalStep !== null &&
approvalStep >= 1 &&
approvalStep <= 3 &&
initialValues?.latest_approval?.action !== 'REJECTED';
const canDeleteItems = useMemo(() => { const canDeleteItems = useMemo(() => {
if (!initialValues?.latest_approval) return false; if (!initialValues?.latest_approval) return false;