merge conflict

This commit is contained in:
2023-07-16 16:59:10 +03:30
12 changed files with 353 additions and 199 deletions

View File

@@ -1,3 +1,4 @@
import { CONFIRM_MACHINARY_OFFICE } from "@/core/data/apiRoutes";
import {
Dialog,
DialogTitle,
@@ -5,32 +6,86 @@ import {
DialogContentText,
DialogActions,
Button,
TextField,
} from "@mui/material";
import { useTranslations } from "next-intl";
import { useState } from "react";
import { useFormik } from "formik";
import * as Yup from "yup";
const ConfirmForm = ({
open,
handleClose,
handleDelete,
rowId,
deleteData,
}) => {
const ConfirmForm = ({ open, handleClose, rowId, confirmData }) => {
const t = useTranslations();
const handleDeleteExpert = () => {
handleDelete();
const [proposedAmount, setProposedAmount] = useState("");
const [description, setDescription] = useState("");
//formik
const validationSchema = Yup.object().shape({
proposed_amount: Yup.string().required(t("ConfirmDialog.amount_error")),
});
const formik = useFormik({
initialValues: {
proposed_amount: "",
description: "",
},
validationSchema,
onSubmit: () => {
const formData = new FormData();
formData.append("proposed_amount", proposedAmount);
if (description != "") formData.append("expert_description", description);
handleClose();
confirmData(CONFIRM_MACHINARY_OFFICE, rowId, formData);
},
});
const handleDescriptionChange = (event) => {
setDescription(event.target.value);
};
const handleAmountChange = (event) => {
setProposedAmount(event.target.value);
formik.handleChange(event);
};
return (
<Dialog open={open} onClose={handleClose}>
<DialogTitle>{t("delete-dialog.confirm")}</DialogTitle>
<DialogTitle>{t("ConfirmDialog.confirm")}</DialogTitle>
<DialogContent>
<DialogContentText>{t("delete-dialog.context")}</DialogContentText>
<DialogContentText>{t("ConfirmDialog.context")}</DialogContentText>
<TextField
name="description"
multiline
rows={8}
placeholder={t("RejectDialog.description")}
value={description}
onChange={handleDescriptionChange}
fullWidth
variant="outlined"
sx={{ mt: 1 }}
/>
<TextField
name="proposed_amount"
label={t("MachinaryOffice.proposed_amount")}
type="number"
variant="outlined"
value={proposedAmount}
onChange={handleAmountChange}
onBlur={formik.handleBlur("proposed_amount")}
error={
formik.touched.proposed_amount &&
Boolean(formik.errors.proposed_amount)
}
helperText={
formik.touched.proposed_amount && formik.errors.proposed_amount
}
sx={{ mt: 1 }}
fullWidth
/>
</DialogContent>
<DialogActions>
<Button onClick={handleDeleteExpert} color="primary">
{t("delete-dialog.button-delete")}
<Button onClick={formik.handleSubmit} color="primary">
{t("ConfirmDialog.button-confirm")}
</Button>
<Button onClick={handleClose} color="secondary" autoFocus>
{t("delete-dialog.button-cancel")}
{t("ConfirmDialog.button-cancel")}
</Button>
</DialogActions>
</Dialog>

View File

@@ -1,3 +1,4 @@
import { REJECT_MACHINARY_OFFICE } from "@/core/data/apiRoutes";
import {
Dialog,
DialogTitle,
@@ -5,29 +6,71 @@ import {
DialogContentText,
DialogActions,
Button,
TextField,
} from "@mui/material";
import { useTranslations } from "next-intl";
import { useFormik } from "formik";
import * as Yup from "yup";
import { useState } from "react";
const RejectForm = ({ open, handleClose, handleDelete, rowId, deleteData }) => {
const RejectForm = ({ open, handleClose, rowId, rejectData }) => {
const t = useTranslations();
const handleDeleteExpert = () => {
handleDelete();
const [description, setDescription] = useState("");
const validationSchema = Yup.object().shape({
description: Yup.string().required(t("RejectDialog.description_error")),
});
const formik = useFormik({
initialValues: {
description: "",
},
validationSchema,
onSubmit: () => {
const formData = new FormData();
formData.append("expert_description", description);
handleClose();
rejectData(REJECT_MACHINARY_OFFICE, rowId, formData);
},
});
const handleDescriptionChange = (event) => {
setDescription(event.target.value);
formik.handleChange(event);
};
return (
<Dialog open={open} onClose={handleClose}>
<DialogTitle>{t("delete-dialog.confirm")}</DialogTitle>
<DialogTitle>{t("RejectDialog.reject")}</DialogTitle>
<DialogContent>
<DialogContentText>{t("delete-dialog.context")}</DialogContentText>
<DialogContentText>{t("RejectDialog.context")}</DialogContentText>
<TextField
name="description"
multiline
rows={8}
placeholder={t("RejectDialog.description")}
value={description}
onChange={handleDescriptionChange}
onBlur={formik.handleBlur("description")}
error={
formik.touched.description && Boolean(formik.errors.description)
}
helperText={formik.touched.description && formik.errors.description}
fullWidth
variant="outlined"
sx={{ mt: 1 }}
/>
</DialogContent>
<DialogActions>
<Button onClick={handleDeleteExpert} color="primary">
{t("delete-dialog.button-delete")}
<Button onClick={formik.handleSubmit} color="primary">
{t("RejectDialog.button-reject")}
</Button>
<Button onClick={handleClose} color="secondary" autoFocus>
{t("delete-dialog.button-cancel")}
{t("RejectDialog.button-cancel")}
</Button>
</DialogActions>
</Dialog>
);
};
export default RejectForm;

View File

@@ -6,39 +6,47 @@ import { DataTableContext } from "@/lib/app/contexts/DataTableContext";
import ConfirmForm from "./Form/ConfirmForm";
import RejectForm from "./Form/RejectForm";
// import DeleteForm from "./Form/DeleteForm";
const TableRowActions = ({ row }) => {
// const {
// openDeleteDialog,
// handleOpenDeleteDialog,
// handleCloseDeleteDialog,
// handleDeleteDialog,
// rowId,
// deleteData,
// } = useContext(DataTableContext);
const {
openConfirmDialog,
openRejectDialog,
handleOpenConfirmDialog,
handleOpenRejectDialog,
handleCloseConfirmDialog,
handleCloseRejectDialog,
rowId,
confirmData,
rejectData,
} = useContext(DataTableContext);
return (
<Box sx={{ display: "flex", flexWrap: "nowrap", gap: "8px" }}>
<IconButton color="primary" onClick={() => handleOpenDeleteDialog(row)}>
<IconButton
color="primary"
onClick={() => {
handleOpenConfirmDialog(row);
}}
>
<ThumbUpAltIcon />
</IconButton>
{/* <ConfirmForm
rowId={rowId}
open={openDeleteDialog}
handleClose={handleCloseDeleteDialog}
handleDelete={handleDeleteDialog}
deleteData={deleteData}
/> */}
<IconButton color="primary" onClick={() => handleOpenDeleteDialog(row)}>
{openConfirmDialog && (
<ConfirmForm
rowId={rowId}
open={openConfirmDialog}
handleClose={handleCloseConfirmDialog}
confirmData={confirmData}
/>
)}
<IconButton color="primary" onClick={() => handleOpenRejectDialog(row)}>
<ThumbDownIcon />
</IconButton>
{/* <RejectForm
rowId={rowId}
open={openDeleteDialog}
handleClose={handleCloseDeleteDialog}
handleDelete={handleDeleteDialog}
deleteData={deleteData}
/> */}
{openRejectDialog && (
<RejectForm
rowId={rowId}
open={openRejectDialog}
handleClose={handleCloseRejectDialog}
rejectData={rejectData}
/>
)}
</Box>
);
};

View File

@@ -3,7 +3,7 @@ import DashboardLayouts from "@/layouts/dashboardLayouts";
import { Box, Typography } from "@mui/material";
import { useMemo } from "react";
// import TableToolbar from "./TableTollbar";
import { GET_PASSENGER_OFFICE } from "@/core/data/apiRoutes";
import { GET_MACHINARY_OFFICE } from "@/core/data/apiRoutes";
import { useTranslations } from "next-intl";
import TableRowActions from "./TableRowActions";
@@ -24,9 +24,9 @@ function DashboardMachinaryOfficeComponent() {
),
},
{
accessorFn: (row) => row.id,
id: "id",
header: t("MachinaryOffice.id"),
accessorFn: (row) => row.national_id,
id: "national_id",
header: t("MachinaryOffice.national_id"),
enableColumnFilter: true,
datatype: "numeric",
filterFn: "equals",
@@ -153,7 +153,7 @@ function DashboardMachinaryOfficeComponent() {
<DashboardLayouts>
<Box sx={{ px: 3 }}>
<DataTableStructure
tableUrl={GET_PASSENGER_OFFICE}
tableUrl={GET_MACHINARY_OFFICE}
columns={columns}
selectableRow={false}
enableCustomToolbar={true}

View File

@@ -9,16 +9,10 @@ import {
} from "@mui/material";
import { useTranslations } from "next-intl";
const ConfirmForm = ({
open,
handleClose,
handleDelete,
rowId,
confirmData,
}) => {
const ConfirmForm = ({ open, handleClose, rowId, confirmData }) => {
const t = useTranslations();
const handleConfirm = () => {
handleDelete();
handleClose();
confirmData(CONFIRM_PASSENGER_OFFICE, rowId);
};
return (

View File

@@ -6,23 +6,63 @@ import {
DialogContentText,
DialogActions,
Button,
TextField,
} from "@mui/material";
import { useTranslations } from "next-intl";
import { useFormik } from "formik";
import * as Yup from "yup";
import { useState } from "react";
const RejectForm = ({ open, handleClose, handleDelete, rowId, rejectData }) => {
const RejectForm = ({ open, handleClose, rowId, rejectData }) => {
const t = useTranslations();
const handleRejectRequest = () => {
handleDelete();
rejectData(REJECT_PASSENGER_OFFICE, rowId);
const [description, setDescription] = useState("");
const validationSchema = Yup.object().shape({
description: Yup.string().required(t("RejectDialog.description_error")),
});
const formik = useFormik({
initialValues: {
description: "",
},
validationSchema,
onSubmit: () => {
const formData = new FormData();
formData.append("expert_description", description);
handleClose();
rejectData(REJECT_PASSENGER_OFFICE, rowId, formData);
},
});
const handleDescriptionChange = (event) => {
setDescription(event.target.value);
formik.handleChange(event);
};
return (
<Dialog open={open} onClose={handleClose}>
<DialogTitle>{t("RejectDialog.reject")}</DialogTitle>
<DialogContent>
<DialogContentText>{t("RejectDialog.context")}</DialogContentText>
<TextField
name="description"
multiline
rows={8}
placeholder={t("RejectDialog.description")}
value={description}
onChange={handleDescriptionChange}
onBlur={formik.handleBlur("description")}
error={
formik.touched.description && Boolean(formik.errors.description)
}
helperText={formik.touched.description && formik.errors.description}
fullWidth
variant="outlined"
sx={{ mt: 1 }}
/>
</DialogContent>
<DialogActions>
<Button onClick={handleRejectRequest} color="primary">
<Button onClick={formik.handleSubmit} color="primary">
{t("RejectDialog.button-reject")}
</Button>
<Button onClick={handleClose} color="secondary" autoFocus>
@@ -32,4 +72,5 @@ const RejectForm = ({ open, handleClose, handleDelete, rowId, rejectData }) => {
</Dialog>
);
};
export default RejectForm;

View File

@@ -6,8 +6,6 @@ import { DataTableContext } from "@/lib/app/contexts/DataTableContext";
import ConfirmForm from "./Form/ConfirmForm";
import RejectForm from "./Form/RejectForm";
// import DeleteForm from "./Form/DeleteForm";
const TableRowActions = ({ row }) => {
const {
openConfirmDialog,
@@ -16,34 +14,39 @@ const TableRowActions = ({ row }) => {
handleOpenRejectDialog,
handleCloseConfirmDialog,
handleCloseRejectDialog,
handleConfirmDialog,
handleRejectDialog,
rowId,
confirmData,
rejectData,
} = useContext(DataTableContext);
return (
<Box sx={{ display: "flex", flexWrap: "nowrap", gap: "8px" }}>
<IconButton color="primary" onClick={() => handleOpenConfirmDialog(row)}>
<IconButton
color="primary"
onClick={() => {
handleOpenConfirmDialog(row);
}}
>
<ThumbUpAltIcon />
</IconButton>
<ConfirmForm
rowId={rowId}
open={openConfirmDialog}
handleClose={handleCloseConfirmDialog}
handleDelete={handleConfirmDialog}
confirmData={confirmData}
/>
{openConfirmDialog && (
<ConfirmForm
rowId={rowId}
open={openConfirmDialog}
handleClose={handleCloseConfirmDialog}
confirmData={confirmData}
/>
)}
<IconButton color="primary" onClick={() => handleOpenRejectDialog(row)}>
<ThumbDownIcon />
</IconButton>
<RejectForm
rowId={rowId}
open={openRejectDialog}
handleClose={handleCloseRejectDialog}
handleDelete={handleRejectDialog}
rejectData={rejectData}
/>
{openRejectDialog && (
<RejectForm
rowId={rowId}
open={openRejectDialog}
handleClose={handleCloseRejectDialog}
rejectData={rejectData}
/>
)}
</Box>
);
};

View File

@@ -24,9 +24,9 @@ function DashboardPassengerOfficeComponent() {
),
},
{
accessorFn: (row) => row.id,
id: "id",
header: t("PassengerOffice.id"),
accessorFn: (row) => row.national_id,
id: "national_id",
header: t("PassengerOffice.national_id"),
enableColumnFilter: true,
datatype: "numeric",
filterFn: "equals",

View File

@@ -23,6 +23,7 @@ export const REJECT_PASSENGER_OFFICE =
BASE_URL + "/dashboard/passenger_office_chief/reject";
//passenger office
<<<<<<< HEAD
//transportation assistance
export const GET_TRANSPORTATION_ASSISTANCE =
BASE_URL + "/dashboard/transportation_asisstants/show";
@@ -33,3 +34,15 @@ export const CONFIRM_TRANSPORTATION_ASSISTANCE =
export const REJECT_TRANSPORTATION_ASSISTANCE =
BASE_URL + "/dashboard/transportation_asisstants/reject";
//transportation assistance
=======
//machinary office
export const GET_MACHINARY_OFFICE =
BASE_URL + "/dashboard/machinery_expert/show";
export const CONFIRM_MACHINARY_OFFICE =
BASE_URL + "/dashboard/machinery_expert/confirm";
export const REJECT_MACHINARY_OFFICE =
BASE_URL + "/dashboard/machinery_expert/reject";
//passenger office
>>>>>>> a683c4029fdd3b3cae26a4cc7823835ad7e687b1

View File

@@ -43,30 +43,33 @@ const useDataTable = () => {
const { token } = useUser();
const confirmData = useCallback(async (url, rowID) => {
dispatch({ type: "CONFIRM_DATA", url: url, rowID: rowID });
const confirmData = useCallback(async (url, rowID, values) => {
dispatch({ type: "CONFIRM_DATA", url: url, rowID: rowID, values: values });
axios
.post(`${url}/${rowID}`, null, {
.post(`${url}/${rowID}`, values, {
headers: { authorization: `Bearer ${token}` },
})
.then(() => {
.then((response) => {
setReloadDataTable(true);
Notifications(directionApp, response, t);
})
.catch((error) => {
Notifications(directionApp, error.response, t);
});
}, []);
const rejectData = useCallback(async (url, rowID) => {
dispatch({ type: "REJECT_DATA", url: url, rowID: rowID });
const rejectData = useCallback(async (url, rowID, values) => {
dispatch({ type: "REJECT_DATA", url: url, rowID: rowID, values: values });
axios
.post(`${url}/${rowID}`, {
.post(`${url}/${rowID}`, values, {
headers: { authorization: `Bearer ${token}` },
})
.then(() => {
.then((response) => {
setReloadDataTable(true);
Notifications(directionApp, response, t);
})
.catch((error) => {
console.log(error);
Notifications(directionApp, error.response, t);
});
}, []);
@@ -80,10 +83,6 @@ const useDataTable = () => {
const handleCloseConfirmDialog = () => {
setOpenConfirmDialog(false);
};
const handleConfirmDialog = () => {
setOpenConfirmDialog(false);
};
//End Confirm Data
// Reject Data
@@ -95,19 +94,13 @@ const useDataTable = () => {
const handleCloseRejectDialog = () => {
setOpenRejectDialog(false);
};
const handleRejectDialog = () => {
setOpenRejectDialog(false);
};
// End Reject Data
const contextValue = {
handleOpenConfirmDialog,
handleCloseConfirmDialog,
handleConfirmDialog,
handleOpenRejectDialog,
handleCloseRejectDialog,
handleRejectDialog,
rowId,
openConfirmDialog,
openRejectDialog,