implemented reject action for privacy office

This commit is contained in:
2025-11-18 15:53:01 +03:30
parent a6788fdaef
commit 1276fe3079
3 changed files with 41 additions and 8 deletions

View File

@@ -6,7 +6,7 @@ import { Controller, useForm } from "react-hook-form";
export default function ReferForm({ mutate, onClose, rowId }) {
const [isSubmitting, setIsSubmitting] = useState(false);
const request = useRequest({ notificationSuccess: true });
const request = useRequest({ notificationSuccess: true, notificationFailed: true });
const {
control,

View File

@@ -1,19 +1,38 @@
import { PRIVACY_ADMIN_ACTION_API } from "@/core/utils/routes";
import useRequest from "@/lib/hooks/useRequest";
import { Box, Button, DialogActions, TextField } from "@mui/material";
import { useState } from "react";
import { Controller, useForm } from "react-hook-form";
export default function RejectRequestForm({ mutate, onClose }) {
export default function RejectRequestForm({ 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: "",
},
});
const onSubmit = (data) => {
console.log(data);
setIsSubmitting(true);
mutate();
try {
request(`${PRIVACY_ADMIN_ACTION_API}/reject_request/${rowId}`, "post", {
data,
}).then(() => {
onClose();
mutate();
});
} catch (err) {
console.log(err);
} finally {
setIsSubmitting(false);
}
};
return (
@@ -21,14 +40,28 @@ export default function RejectRequestForm({ 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}
/>
)}
/>
<DialogActions>
<Button onClick={onClose} variant="outlined" disabled={isSubmitting}>
انصراف
</Button>
<Button variant="contained" onClick={handleSubmit(onSubmit)} disabled={isSubmitting}>
انجام عملیات
{isSubmitting ? "در حال ثبت..." : "انجام عملیات"}
</Button>
</DialogActions>
</Box>

View File

@@ -14,7 +14,7 @@ export default function RenderActionForm({ type, rowData, mutate, onClose }) {
case "refer_request_2":
return <ReferForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
case "reject_request_2":
return <RejectRequestForm mutate={mutate} onClose={onClose} />;
return <RejectRequestForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
case "reject_request_5":
return <RejectFileForm mutate={mutate} onClose={onClose} />;
case "confirm_request_2":