diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index 35fa040..c7b9d16 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -122,6 +122,8 @@
"reject": "عدم تایید",
"context": "آیا از عدم تایید این آیتم اطمینان دارید",
"button-reject": "عدم تایید",
- "button-cancel": "بستن"
+ "button-cancel": "بستن",
+ "description": "توضیحات",
+ "description_error": "وارد کردن توضیحات الزامی است!"
}
}
diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
index 738428a..43c6bb3 100644
--- a/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
+++ b/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
@@ -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 (
diff --git a/src/components/dashboard/passenger-office/Form/RejectForm.jsx b/src/components/dashboard/passenger-office/Form/RejectForm.jsx
index 5c8ec93..149c480 100644
--- a/src/components/dashboard/passenger-office/Form/RejectForm.jsx
+++ b/src/components/dashboard/passenger-office/Form/RejectForm.jsx
@@ -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 (
);
};
+
export default RejectForm;
diff --git a/src/components/dashboard/passenger-office/TableRowActions.jsx b/src/components/dashboard/passenger-office/TableRowActions.jsx
index 586a976..e9e815e 100644
--- a/src/components/dashboard/passenger-office/TableRowActions.jsx
+++ b/src/components/dashboard/passenger-office/TableRowActions.jsx
@@ -14,8 +14,6 @@ const TableRowActions = ({ row }) => {
handleOpenRejectDialog,
handleCloseConfirmDialog,
handleCloseRejectDialog,
- handleConfirmDialog,
- handleRejectDialog,
rowId,
confirmData,
rejectData,
@@ -30,23 +28,25 @@ const TableRowActions = ({ row }) => {
>
-
+ {openConfirmDialog && (
+
+ )}
handleOpenRejectDialog(row)}>
-
+ {openRejectDialog && (
+
+ )}
);
};
diff --git a/src/lib/app/hooks/useDatatable.jsx b/src/lib/app/hooks/useDatatable.jsx
index cdc84d8..e7730bc 100644
--- a/src/lib/app/hooks/useDatatable.jsx
+++ b/src/lib/app/hooks/useDatatable.jsx
@@ -57,10 +57,10 @@ const useDataTable = () => {
});
}, []);
- 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(() => {
@@ -80,10 +80,6 @@ const useDataTable = () => {
const handleCloseConfirmDialog = () => {
setOpenConfirmDialog(false);
};
-
- const handleConfirmDialog = () => {
- setOpenConfirmDialog(false);
- };
//End Confirm Data
// Reject Data
@@ -95,19 +91,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,