Implemented rescheduling functionality on event BOD-167
This commit is contained in:
@@ -3,6 +3,7 @@ import ScheduleJobModalComponent from "./schedule-job-modal.component";
|
||||
import { useMutation, useQuery } from "@apollo/react-hooks";
|
||||
import {
|
||||
INSERT_APPOINTMENT,
|
||||
CANCEL_APPOINTMENT_BY_ID,
|
||||
QUERY_APPOINTMENTS_BY_JOBID,
|
||||
} from "../../graphql/appointments.queries";
|
||||
import moment from "moment";
|
||||
@@ -32,13 +33,13 @@ export function ScheduleJobModalContainer({
|
||||
setEmailOptions,
|
||||
}) {
|
||||
const { visible, context, actions } = scheduleModal;
|
||||
const { jobId, job } = context;
|
||||
const { jobId, job, previousEvent } = context;
|
||||
const { refetch } = actions;
|
||||
|
||||
const [appData, setAppData] = useState({
|
||||
start: null,
|
||||
});
|
||||
|
||||
const [cancelAppointment] = useMutation(CANCEL_APPOINTMENT_BY_ID);
|
||||
const [insertAppointment] = useMutation(INSERT_APPOINTMENT);
|
||||
const [updateJobStatus] = useMutation(UPDATE_JOBS);
|
||||
const [formData, setFormData] = useState({
|
||||
@@ -52,7 +53,10 @@ export function ScheduleJobModalContainer({
|
||||
email: (job && job.ownr_ea) || "",
|
||||
start: null,
|
||||
});
|
||||
}, [job, setFormData]);
|
||||
setAppData({
|
||||
start: null,
|
||||
});
|
||||
}, [job, setFormData, setAppData]);
|
||||
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -64,6 +68,24 @@ export function ScheduleJobModalContainer({
|
||||
|
||||
//TODO Customize the amount of minutes it will add.
|
||||
const handleOk = async () => {
|
||||
if (!!previousEvent) {
|
||||
const cancelAppt = await cancelAppointment({
|
||||
variables: { appid: previousEvent },
|
||||
});
|
||||
notification["success"]({
|
||||
message: t("appointments.successes.canceled"),
|
||||
});
|
||||
|
||||
if (!!cancelAppt.errors) {
|
||||
notification["error"]({
|
||||
message: t("appointments.errors.canceling", {
|
||||
message: JSON.stringify(cancelAppt.errors),
|
||||
}),
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const appt = await insertAppointment({
|
||||
variables: {
|
||||
app: {
|
||||
|
||||
Reference in New Issue
Block a user