mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-06-11 11:01:43 +00:00
refactor(FE-208): rename PurchaseRequisitions to PurchaseRequest and update related API references
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import * as Yup from 'yup';
|
||||
import { Purchase } from '@/types/api/purchase/purchase';
|
||||
|
||||
type PurchaseRequisitionsFormSchemaType = {
|
||||
type PurchaseRequestFormSchemaType = {
|
||||
supplier?: {
|
||||
value: number;
|
||||
label: string;
|
||||
@@ -85,7 +85,7 @@ const PurchaseItemObjectSchema: Yup.ObjectSchema<PurchaseItemSchema> =
|
||||
),
|
||||
});
|
||||
|
||||
export const PurchaseRequisitionsFormSchema: Yup.ObjectSchema<PurchaseRequisitionsFormSchemaType> =
|
||||
export const PurchaseRequestFormSchema: Yup.ObjectSchema<PurchaseRequestFormSchemaType> =
|
||||
Yup.object({
|
||||
supplier: Yup.object({
|
||||
value: Yup.number().min(1).required(),
|
||||
@@ -127,16 +127,15 @@ export const PurchaseRequisitionsFormSchema: Yup.ObjectSchema<PurchaseRequisitio
|
||||
.typeError('Item pembelian wajib diisi!'),
|
||||
});
|
||||
|
||||
export const UpdatePurchaseRequisitionsFormSchema =
|
||||
PurchaseRequisitionsFormSchema;
|
||||
export const UpdatePurchaseRequestFormSchema = PurchaseRequestFormSchema;
|
||||
|
||||
export type PurchaseRequisitionsFormValues = Yup.InferType<
|
||||
typeof PurchaseRequisitionsFormSchema
|
||||
export type PurchaseRequestFormValues = Yup.InferType<
|
||||
typeof PurchaseRequestFormSchema
|
||||
>;
|
||||
|
||||
export const getPurchaseRequisitionsFormInitialValues = (
|
||||
export const getPurchaseRequestFormInitialValues = (
|
||||
initialValues?: Purchase
|
||||
): PurchaseRequisitionsFormValues => ({
|
||||
): PurchaseRequestFormValues => ({
|
||||
supplier: initialValues?.supplier
|
||||
? {
|
||||
value: initialValues.supplier.id,
|
||||
|
||||
@@ -18,10 +18,10 @@ import ConfirmationModal from '@/components/modal/ConfirmationModal';
|
||||
import { useModal } from '@/components/Modal';
|
||||
|
||||
import {
|
||||
PurchaseRequisitionsFormSchema,
|
||||
PurchaseRequisitionsFormValues,
|
||||
getPurchaseRequisitionsFormInitialValues,
|
||||
UpdatePurchaseRequisitionsFormSchema,
|
||||
PurchaseRequestFormSchema,
|
||||
PurchaseRequestFormValues,
|
||||
getPurchaseRequestFormInitialValues,
|
||||
UpdatePurchaseRequestFormSchema,
|
||||
} from './PurchaseRequisitionsForm.schema';
|
||||
import {
|
||||
SupplierApi,
|
||||
@@ -34,11 +34,11 @@ import { Supplier } from '@/types/api/master-data/supplier';
|
||||
import { Product } from '@/types/api/master-data/product';
|
||||
import { ProductWarehouseApi } from '@/services/api/inventory';
|
||||
import { isResponseSuccess, isResponseError } from '@/lib/api-helper';
|
||||
import { PurchaseRequisitionsApi } from '@/services/api/purchase';
|
||||
import { PurchaseRequestApi } from '@/services/api/purchase';
|
||||
|
||||
import Card from '@/components/Card';
|
||||
import {
|
||||
CreatePurchaseRequisitionsPayload,
|
||||
CreatePurchaseRequestPayload,
|
||||
Purchase,
|
||||
} from '@/types/api/purchase/purchase';
|
||||
|
||||
@@ -47,7 +47,7 @@ interface PurchaseRequestFormProps {
|
||||
initialValues?: Purchase;
|
||||
}
|
||||
|
||||
const PurchaseRequisitionsForm = ({
|
||||
const PurchaseRequestForm = ({
|
||||
type = 'add',
|
||||
initialValues,
|
||||
}: PurchaseRequestFormProps) => {
|
||||
@@ -105,8 +105,8 @@ const PurchaseRequisitionsForm = ({
|
||||
|
||||
// ===== SUBMISSION HANDLERS =====
|
||||
const createPurchaseRequestHandler = useCallback(
|
||||
async (payload: CreatePurchaseRequisitionsPayload) => {
|
||||
const res = await PurchaseRequisitionsApi.create(payload);
|
||||
async (payload: CreatePurchaseRequestPayload) => {
|
||||
const res = await PurchaseRequestApi.create(payload);
|
||||
if (isResponseError(res)) {
|
||||
setPurchaseRequestFormErrorMessage(res.message);
|
||||
return;
|
||||
@@ -120,12 +120,9 @@ const PurchaseRequisitionsForm = ({
|
||||
const updatePurchaseRequestHandler = useCallback(
|
||||
async (
|
||||
purchaseRequestId: number,
|
||||
payload: CreatePurchaseRequisitionsPayload
|
||||
payload: CreatePurchaseRequestPayload
|
||||
) => {
|
||||
const res = await PurchaseRequisitionsApi.update(
|
||||
purchaseRequestId,
|
||||
payload
|
||||
);
|
||||
const res = await PurchaseRequestApi.update(purchaseRequestId, payload);
|
||||
if (isResponseError(res)) {
|
||||
setPurchaseRequestFormErrorMessage(res.message);
|
||||
return;
|
||||
@@ -145,7 +142,7 @@ const PurchaseRequisitionsForm = ({
|
||||
if (!initialValues?.id) return;
|
||||
|
||||
setIsDeleteLoading(true);
|
||||
await PurchaseRequisitionsApi.delete(initialValues.id);
|
||||
await PurchaseRequestApi.delete(initialValues.id);
|
||||
deleteModal.closeModal();
|
||||
toast.success('Successfully delete Purchase Request!');
|
||||
setIsDeleteLoading(false);
|
||||
@@ -175,21 +172,21 @@ const PurchaseRequisitionsForm = ({
|
||||
} = useSelect(WarehouseApi.basePath, 'id', 'name', 'search');
|
||||
|
||||
// ===== FORM CONFIGURATION =====
|
||||
const formikInitialValues = useMemo<PurchaseRequisitionsFormValues>(
|
||||
() => getPurchaseRequisitionsFormInitialValues(initialValues),
|
||||
const formikInitialValues = useMemo<PurchaseRequestFormValues>(
|
||||
() => getPurchaseRequestFormInitialValues(initialValues),
|
||||
[initialValues]
|
||||
);
|
||||
|
||||
const formik = useFormik<PurchaseRequisitionsFormValues>({
|
||||
const formik = useFormik<PurchaseRequestFormValues>({
|
||||
initialValues: formikInitialValues,
|
||||
validationSchema:
|
||||
type === 'edit'
|
||||
? UpdatePurchaseRequisitionsFormSchema
|
||||
: PurchaseRequisitionsFormSchema,
|
||||
? UpdatePurchaseRequestFormSchema
|
||||
: PurchaseRequestFormSchema,
|
||||
validateOnChange: true,
|
||||
validateOnBlur: true,
|
||||
onSubmit: async (values) => {
|
||||
const payload: CreatePurchaseRequisitionsPayload = {
|
||||
const payload: CreatePurchaseRequestPayload = {
|
||||
supplier_id:
|
||||
typeof values.supplier_id === 'string'
|
||||
? parseInt(values.supplier_id) || 0
|
||||
@@ -486,9 +483,9 @@ const PurchaseRequisitionsForm = ({
|
||||
Kembali
|
||||
</Button>
|
||||
<h1 className='text-2xl font-bold text-center'>
|
||||
{type === 'add' && 'Tambah Purchase Requisitions'}
|
||||
{type === 'edit' && 'Edit Purchase Requisitions'}
|
||||
{type === 'detail' && 'Detail Purchase Requisitions'}
|
||||
{type === 'add' && 'Tambah Purchase Request'}
|
||||
{type === 'edit' && 'Edit Purchase Request'}
|
||||
{type === 'detail' && 'Detail Purchase Request'}
|
||||
</h1>
|
||||
</header>
|
||||
<form
|
||||
@@ -1118,4 +1115,4 @@ const PurchaseRequisitionsForm = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default PurchaseRequisitionsForm;
|
||||
export default PurchaseRequestForm;
|
||||
|
||||
Reference in New Issue
Block a user