implemented confirm action for privacy office
This commit is contained in:
@@ -1,10 +1,18 @@
|
||||
import { PRIVACY_ADMIN_ACTION_API } from "@/core/utils/routes";
|
||||
import useRequest from "@/lib/hooks/useRequest";
|
||||
import { Box, Button, Checkbox, DialogActions, FormControlLabel, TextField } from "@mui/material";
|
||||
import { useState } from "react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
|
||||
export default function ConfirmRequestForm({ mutate, onClose }) {
|
||||
export default function ConfirmRequestForm({ mutate, onClose, rowId }) {
|
||||
const [isSubmitting, setIsSubmitting] = useState(false);
|
||||
const { control, handleSubmit } = useForm({
|
||||
const request = useRequest({ notificationSuccess: true, notificationFailed: true });
|
||||
|
||||
const {
|
||||
control,
|
||||
handleSubmit,
|
||||
formState: { errors },
|
||||
} = useForm({
|
||||
defaultValues: {
|
||||
expert_description: "",
|
||||
need_payment: false,
|
||||
@@ -13,10 +21,25 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
||||
});
|
||||
|
||||
const onSubmit = (data) => {
|
||||
console.log(data);
|
||||
const confirmType = data.needsAccessRoad ? "need_road_access" : "without_road_access";
|
||||
const url = `${PRIVACY_ADMIN_ACTION_API}/${confirmType}/${rowId}`;
|
||||
const body = {
|
||||
expert_description: data.expert_description,
|
||||
need_payment: data.need_payment ? 1 : 0,
|
||||
};
|
||||
|
||||
setIsSubmitting(true);
|
||||
mutate();
|
||||
onClose();
|
||||
try {
|
||||
request(url, "post", {
|
||||
data: body,
|
||||
}).then(() => {
|
||||
mutate();
|
||||
onClose();
|
||||
});
|
||||
} catch (error) {
|
||||
} finally {
|
||||
setIsSubmitting(false);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -24,8 +47,20 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
||||
<Controller
|
||||
name="expert_description"
|
||||
control={control}
|
||||
render={({ field }) => <TextField {...field} fullWidth multiline minRows={3} label="توضیحات" />}
|
||||
rules={{ required: "توضیحات الزامی است" }}
|
||||
render={({ field }) => (
|
||||
<TextField
|
||||
{...field}
|
||||
fullWidth
|
||||
multiline
|
||||
minRows={3}
|
||||
label="توضیحات"
|
||||
error={!!errors.expert_description}
|
||||
helperText={errors.expert_description?.message}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
|
||||
<Controller
|
||||
name="need_payment"
|
||||
control={control}
|
||||
@@ -36,13 +71,14 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
|
||||
<Controller
|
||||
name="needsAccessRoad"
|
||||
control={control}
|
||||
render={({ field }) => (
|
||||
<FormControlLabel
|
||||
control={<Checkbox {...field} checked={field.value} />}
|
||||
label="نیاز به پرداخت وجه خزانه"
|
||||
label="نیاز به راه دسترسی"
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
|
||||
@@ -18,7 +18,7 @@ export default function RenderActionForm({ type, rowData, mutate, onClose }) {
|
||||
case "reject_request_5":
|
||||
return <RejectFileForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
|
||||
case "confirm_request_2":
|
||||
return <ConfirmRequestForm mutate={mutate} onClose={onClose} />;
|
||||
return <ConfirmRequestForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
|
||||
case "confirm_request_5":
|
||||
return <ConfirmFileForm mutate={mutate} onClose={onClose} />;
|
||||
case "confirm_request_13":
|
||||
|
||||
Reference in New Issue
Block a user