feat: add isAdmin parameter to interruzioneServizio and update related components
This commit is contained in:
parent
a11fc1241c
commit
aec6860cbd
3 changed files with 22 additions and 7 deletions
|
|
@ -135,7 +135,7 @@ export const DisclaimerInterruzioneServizio = () => {
|
|||
<Confirm
|
||||
description={t.servizio.interruzione.description}
|
||||
onConfirm={() => {
|
||||
interrompiServizio({ servizioId });
|
||||
interrompiServizio({ servizioId, isAdmin: false });
|
||||
}}
|
||||
title={t.servizio.interruzione.title}
|
||||
>
|
||||
|
|
@ -177,7 +177,16 @@ export const InterruzioneServizio = () => {
|
|||
toast.success("Interruzione richiesta");
|
||||
},
|
||||
});
|
||||
if (!servizio.decorrenza) return null;
|
||||
if (!servizio.decorrenza)
|
||||
return (
|
||||
<Button
|
||||
aria-label="Request Interruzione"
|
||||
className="w-full"
|
||||
disabled={true}
|
||||
>
|
||||
<ClockAlert /> <span>{t.servizio.interruzione.btn}</span>
|
||||
</Button>
|
||||
);
|
||||
const fineInterruzione = add(servizio.decorrenza, {
|
||||
days: servizio.interruzioneDays,
|
||||
});
|
||||
|
|
@ -238,7 +247,9 @@ export const InterruzioneServizio = () => {
|
|||
<AlertDialogCancel>{t.annulla}</AlertDialogCancel>
|
||||
<AlertDialogAction
|
||||
aria-label="Confirm Interruzione"
|
||||
onClick={() => mutate({ servizioId: servizio.servizio_id })}
|
||||
onClick={() =>
|
||||
mutate({ servizioId: servizio.servizio_id, isAdmin })
|
||||
}
|
||||
>
|
||||
{t.conferma}
|
||||
</AlertDialogAction>
|
||||
|
|
|
|||
|
|
@ -244,10 +244,11 @@ export const servizioRouter = createTRPCRouter({
|
|||
.input(
|
||||
z.object({
|
||||
servizioId: zServizioId,
|
||||
isAdmin: z.boolean(),
|
||||
}),
|
||||
)
|
||||
.mutation(async ({ input }) => {
|
||||
return await interruzioneServizio(input.servizioId);
|
||||
return await interruzioneServizio(input.servizioId, input.isAdmin);
|
||||
}),
|
||||
|
||||
processServizioOnboard: protectedProcedure
|
||||
|
|
|
|||
|
|
@ -889,7 +889,10 @@ export const SbloccaContatti = async ({
|
|||
}
|
||||
};
|
||||
|
||||
export const interruzioneServizio = async (servizioId: ServizioServizioId) => {
|
||||
export const interruzioneServizio = async (
|
||||
servizioId: ServizioServizioId,
|
||||
isAdmin: boolean,
|
||||
) => {
|
||||
try {
|
||||
const servizio = await getServizioById(servizioId);
|
||||
|
||||
|
|
@ -918,8 +921,8 @@ export const interruzioneServizio = async (servizioId: ServizioServizioId) => {
|
|||
days: servizio.interruzioneDays,
|
||||
}),
|
||||
);
|
||||
|
||||
if (!isWithinRipensamento) {
|
||||
//se non è admin deve essere entro il periodo di ripensamento per poter interrompere il servizio
|
||||
if (!isWithinRipensamento && !isAdmin) {
|
||||
throw new TRPCError({
|
||||
code: "BAD_REQUEST",
|
||||
message: "Periodo di ripensamento scaduto",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue