develop => add buyer discovered all types of user
This commit is contained in:
@@ -8,6 +8,10 @@ import { DRAWER } from "../../../../lib/redux/slices/appSlice";
|
||||
import { getRoleFromUrl } from "../../../../utils/getRoleFromUrl";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import {
|
||||
ROUTE_ADMINX_ROUTE_MANAGE_STEWARDS_OUT_PROVINCE_LEGAL,
|
||||
ROUTE_ADMINX_ROUTE_MANAGE_STEWARDS_OUT_PROVINCE_TRUE,
|
||||
ROUTE_ADMINX_ROUTE_OUT_PROVINCE_LEGAL_GUILDS,
|
||||
ROUTE_ADMINX_ROUTE_OUT_PROVINCE_TRUE_GUILDS,
|
||||
ROUTE_SLAUGHTER_INVENTORY_SELL_CARCASS_OUT_PROVINCE,
|
||||
ROUTE_SLAUGHTER_MANAGE_GUILDS_OUT_PROVINCE_TRUE,
|
||||
ROUTE_STEWARD_SALE_OUT_PROVINCE,
|
||||
@@ -29,6 +33,15 @@ import {
|
||||
validationSchemaForSlaughterAddBuyer,
|
||||
} from "./InquiryForSlaughterAddBuyer";
|
||||
import { useFormik } from "formik";
|
||||
import {
|
||||
AdminAddBuyerForm,
|
||||
handleSetFormDataFromTableDataForAdminAddBuyer,
|
||||
handleSubmitForAdminAddBuyer,
|
||||
InquiryForAdminAddBuyer,
|
||||
validationSchemaForAdminAddBuyer,
|
||||
} from "./InquiryForAdminAddBuyer";
|
||||
import { inspectorGetKillHousesService } from "../../../inspector/services/inspector-get-kill-houses";
|
||||
import { slaughterGetStewardsForAllocateService } from "../../../slaughter-house/services/slaughter-get-guilds-for-allocate";
|
||||
|
||||
// userType enums = steward | steward_true | steward_legal | _true | _legal
|
||||
|
||||
@@ -46,6 +59,17 @@ const getCurrentPage = (role, pathname) => {
|
||||
return "slaughter_manage_add_buyer";
|
||||
}
|
||||
}
|
||||
if (role === "AdminX") {
|
||||
const routes = [
|
||||
ROUTE_ADMINX_ROUTE_OUT_PROVINCE_TRUE_GUILDS,
|
||||
ROUTE_ADMINX_ROUTE_OUT_PROVINCE_LEGAL_GUILDS,
|
||||
ROUTE_ADMINX_ROUTE_MANAGE_STEWARDS_OUT_PROVINCE_LEGAL,
|
||||
ROUTE_ADMINX_ROUTE_MANAGE_STEWARDS_OUT_PROVINCE_TRUE,
|
||||
];
|
||||
if (routes.some((r) => r === pathname)) {
|
||||
return "admin_add_buyer";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const getInitialValues = (page) => {
|
||||
@@ -60,8 +84,16 @@ const getInitialValues = (page) => {
|
||||
if (page === "steward_add_buyer" || page === "slaughter_manage_add_buyer") {
|
||||
return initialValues;
|
||||
} else if (page === "slaughter_add_buyer") {
|
||||
initialValues.nationalId = "";
|
||||
return initialValues;
|
||||
return {
|
||||
...initialValues,
|
||||
nationalId: "",
|
||||
};
|
||||
} else if (page === "admin_add_buyer") {
|
||||
return {
|
||||
...initialValues,
|
||||
role_key: "",
|
||||
type: "",
|
||||
};
|
||||
}
|
||||
return initialValues;
|
||||
};
|
||||
@@ -74,9 +106,18 @@ export const StewardAddBuyer = ({
|
||||
buyerType = "",
|
||||
// buyerYype => "Guilds" | "Steward"
|
||||
}) => {
|
||||
const role = getRoleFromUrl();
|
||||
const { pathname } = useLocation();
|
||||
|
||||
const page = getCurrentPage(role, pathname);
|
||||
|
||||
const IS_STEWARD_ADD_BUYER = page === "steward_add_buyer";
|
||||
const IS_SLAUGHTER_ADD_BUYER = page === "slaughter_add_buyer";
|
||||
const IS_SLAUGHTER_MANAGE_ADD_BUYER = page === "slaughter_manage_add_buyer";
|
||||
const IS_ADMIN_ADD_BUYER = page === "admin_add_buyer";
|
||||
|
||||
const {
|
||||
killHouses,
|
||||
setKillhouses,
|
||||
stewards,
|
||||
setStewards,
|
||||
provinceData,
|
||||
@@ -84,21 +125,10 @@ export const StewardAddBuyer = ({
|
||||
setCityData,
|
||||
userData,
|
||||
setUserData,
|
||||
} = useAddBuyer();
|
||||
const role = getRoleFromUrl();
|
||||
const { pathname } = useLocation();
|
||||
const { selectedSubUser } = useSelector((state) => state.userSlice);
|
||||
const page = getCurrentPage(role, pathname);
|
||||
const IS_STEWARD_ADD_BUYER = page === "steward_add_buyer";
|
||||
const IS_SLAUGHTER_ADD_BUYER = page === "slaughter_add_buyer";
|
||||
const IS_SLAUGHTER_MANAGE_ADD_BUYER = page === "slaughter_manage_add_buyer";
|
||||
} = useAddBuyer(page);
|
||||
|
||||
const { selectedSubUser } = useSelector((state) => state.userSlice);
|
||||
|
||||
// const IS_MANAGE_STEWARDS = userType === "steward";
|
||||
// const IS_ADMINX = role === "AdminX";
|
||||
// const IS_OUT_PROVINCE = pathname.includes("out-province");
|
||||
// const { inspectorGetKillHouses } = useSelector(
|
||||
// (state) => state.inspectorSlice
|
||||
// );
|
||||
const [openNotif] = useContext(AppContext);
|
||||
const [notFound, setNotFound] = useState(false);
|
||||
const dispatch = useDispatch();
|
||||
@@ -109,12 +139,32 @@ export const StewardAddBuyer = ({
|
||||
? validationSchemaForStewardAddBuyer
|
||||
: IS_SLAUGHTER_ADD_BUYER || IS_SLAUGHTER_MANAGE_ADD_BUYER
|
||||
? validationSchemaForSlaughterAddBuyer(isRealPerson, isEdit)
|
||||
: IS_ADMIN_ADD_BUYER
|
||||
? validationSchemaForAdminAddBuyer(isRealPerson, isEdit)
|
||||
: Yup.object({}),
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
formik.validateForm();
|
||||
}, []);
|
||||
if (isEdit) {
|
||||
formik.validateForm();
|
||||
}
|
||||
}, [isEdit]);
|
||||
|
||||
useEffect(() => {
|
||||
if (IS_ADMIN_ADD_BUYER) {
|
||||
if (formik.values.type === "KillHouse") {
|
||||
dispatch(inspectorGetKillHousesService());
|
||||
} else {
|
||||
dispatch(
|
||||
slaughterGetStewardsForAllocateService({
|
||||
free: true,
|
||||
})
|
||||
).then((r) => {
|
||||
setStewards(r.payload.data || []);
|
||||
});
|
||||
}
|
||||
}
|
||||
}, [formik.values.type]);
|
||||
|
||||
useEffect(() => {
|
||||
if (isEdit) {
|
||||
@@ -124,6 +174,9 @@ export const StewardAddBuyer = ({
|
||||
if (IS_SLAUGHTER_ADD_BUYER || IS_SLAUGHTER_MANAGE_ADD_BUYER) {
|
||||
handleSetFormDataFromTableDataForSlaughterAddBuyer(data, formik);
|
||||
}
|
||||
if (IS_ADMIN_ADD_BUYER) {
|
||||
handleSetFormDataFromTableDataForAdminAddBuyer(data, formik);
|
||||
}
|
||||
}
|
||||
}, [isEdit]);
|
||||
|
||||
@@ -167,6 +220,16 @@ export const StewardAddBuyer = ({
|
||||
isRealPerson={isRealPerson}
|
||||
provinceData={provinceData}
|
||||
/>
|
||||
) : IS_ADMIN_ADD_BUYER ? (
|
||||
<InquiryForAdminAddBuyer
|
||||
notFound={notFound}
|
||||
setNotFound={setNotFound}
|
||||
setUserData={setUserData}
|
||||
formik={formik}
|
||||
isEdit={isEdit}
|
||||
isRealPerson={isRealPerson}
|
||||
provinceData={provinceData}
|
||||
/>
|
||||
) : null
|
||||
) : null}
|
||||
{userData || notFound || isEdit ? (
|
||||
@@ -185,6 +248,16 @@ export const StewardAddBuyer = ({
|
||||
notFound={notFound}
|
||||
isRealPerson={isRealPerson}
|
||||
/>
|
||||
) : IS_ADMIN_ADD_BUYER ? (
|
||||
<AdminAddBuyerForm
|
||||
formik={formik}
|
||||
provinceData={provinceData}
|
||||
cityData={cityData}
|
||||
notFound={notFound}
|
||||
isRealPerson={isRealPerson}
|
||||
killHouses={killHouses}
|
||||
stewards={stewards}
|
||||
/>
|
||||
) : null
|
||||
) : null}
|
||||
{(userData || notFound || isEdit) && (
|
||||
@@ -233,6 +306,19 @@ export const StewardAddBuyer = ({
|
||||
buyerType
|
||||
);
|
||||
}
|
||||
if (IS_ADMIN_ADD_BUYER) {
|
||||
handleSubmitForAdminAddBuyer(
|
||||
formik,
|
||||
dispatch,
|
||||
isEdit,
|
||||
data,
|
||||
updateTable,
|
||||
openNotif,
|
||||
DRAWER,
|
||||
isRealPerson,
|
||||
buyerType
|
||||
);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{isEdit ? "ویرایش" : "ثبت"}
|
||||
|
||||
Reference in New Issue
Block a user