From 86af6bd626638eef73f68658d0f316d84ebc8d5e Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Tue, 22 Oct 2024 13:46:30 +0530 Subject: [PATCH] Allow non-admin team members also to reroute (#17234) --- apps/web/components/dialog/RerouteDialog.tsx | 10 +++++++--- apps/web/public/static/locales/en/common.json | 2 ++ .../trpc/getResponseWithFormFields.handler.ts | 19 +++++++++++-------- packages/lib/entityPermissionUtils.ts | 15 +++++++++++++++ 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/apps/web/components/dialog/RerouteDialog.tsx b/apps/web/components/dialog/RerouteDialog.tsx index fe04c10004..c78d8aa989 100644 --- a/apps/web/components/dialog/RerouteDialog.tsx +++ b/apps/web/components/dialog/RerouteDialog.tsx @@ -696,13 +696,13 @@ const RerouteDialogContentAndFooter = ({ }: Pick & { booking: TeamEventTypeBookingToReroute; }) => { - const { data: responseWithForm, isPending: isRoutingFormLoading } = + const { data: responseWithForm, isPending: isRoutingFormLoading, error: formResponseFetchError } = trpc.viewer.appRoutingForms.getResponseWithFormFields.useQuery({ formResponseId: booking.routedFromRoutingFormReponse.id, }); const { t } = useLocale(); - // useUpdateIsReroutingQueryParam({ isOpenDialog }); + if (isRoutingFormLoading) return ( <> @@ -718,7 +718,11 @@ const RerouteDialogContentAndFooter = ({ ); - if (!responseWithForm) return
{t("something_went_wrong")}
; + if (formResponseFetchError) { + return
{formResponseFetchError.message}
; + } + + if (!responseWithForm) return
{t("something_went_wrong")}
; return ( [0], + userId: Parameters[1] +) { + const permissionLevel = getEntityPermissionLevel(entity, userId); + return ( + permissionLevel === ENTITY_PERMISSION_LEVEL.TEAM_WRITE || + permissionLevel === ENTITY_PERMISSION_LEVEL.USER_ONLY_WRITE || + permissionLevel === ENTITY_PERMISSION_LEVEL.TEAM_READ_ONLY + ); +} + export function getEntityPermissionLevel( entity: { userId: number | null;