mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-08 00:45:41 +00:00
contrat nad booking modification
This commit is contained in:
@@ -122,6 +122,15 @@ export function useContractMutations(contractId: string) {
|
||||
const onSuccess = (data: { id: string }, message: string) => {
|
||||
toast.success(message);
|
||||
void invalidateContractDetail(qc, data.id);
|
||||
// Approving or editing can change who holds document-editing rights (it
|
||||
// passes to the next approver), and edits add revisions — so both the draft
|
||||
// and the history are refreshed on every contract mutation.
|
||||
void qc.invalidateQueries({
|
||||
queryKey: ["contracts", data.id, "document-draft"],
|
||||
});
|
||||
void qc.invalidateQueries({
|
||||
queryKey: ["contracts", data.id, "document-revisions"],
|
||||
});
|
||||
};
|
||||
|
||||
const staffAccept = useMutation({
|
||||
@@ -160,21 +169,16 @@ export function useContractMutations(contractId: string) {
|
||||
});
|
||||
|
||||
const approveStep = useMutation({
|
||||
mutationFn: ({
|
||||
stepId,
|
||||
requiredRole,
|
||||
}: {
|
||||
stepId: string;
|
||||
requiredRole: string;
|
||||
}) =>
|
||||
contractsService.approveStep({ id: contractId, stepId, requiredRole }),
|
||||
// The server derives the required role from the step itself, so the client
|
||||
// does not send one.
|
||||
mutationFn: ({ stepId }: { stepId: string }) =>
|
||||
contractsService.approveStep({ id: contractId, stepId }),
|
||||
onSuccess: (data) => {
|
||||
// The document is generated at the accept stage and reviewed during
|
||||
// approval, so the final approval moves the contract straight to
|
||||
// CONTRACT_READY on the server — no client-side generate call here.
|
||||
// The final approval is what generates the PDF and moves the contract to
|
||||
// CONTRACT_READY — before that approvers review a live preview.
|
||||
const message =
|
||||
data.status === "CONTRACT_READY"
|
||||
? "Final approval complete — contract ready to sign"
|
||||
? "Final approval complete — contract generated and ready to sign"
|
||||
: "Approval step completed";
|
||||
onSuccess(data, message);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user