From 73b06936324a0febb1c025039b96b2e719afcc51 Mon Sep 17 00:00:00 2001 From: Sahitya Chandra Date: Sat, 30 Aug 2025 20:58:58 +0530 Subject: [PATCH] fix: remove event type URL for managed event types (#23357) * fix(event-types): remove event type URL for managed event types * /teamSlug/eventTypeSlug returns 404 for managed event types * chore --------- Co-authored-by: Kartik Saini <41051387+kart1ka@users.noreply.github.com> --- apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx | 6 +++++- .../event-types/views/event-types-listing-view.tsx | 9 ++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx b/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx index a050a86511..ccb38afc3c 100644 --- a/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx +++ b/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx @@ -12,7 +12,7 @@ import { shouldHideBrandingForTeamEvent } from "@calcom/lib/hideBranding"; import slugify from "@calcom/lib/slugify"; import prisma from "@calcom/prisma"; import type { User } from "@calcom/prisma/client"; -import { BookingStatus, RedirectType } from "@calcom/prisma/client"; +import { BookingStatus, RedirectType, SchedulingType } from "@calcom/prisma/client"; import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils"; import { handleOrgRedirect } from "@lib/handleOrgRedirect"; @@ -54,6 +54,10 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => const eventData = team.eventTypes[0]; + if (eventData.schedulingType === SchedulingType.MANAGED) { + return { notFound: true } as const; + } + if (rescheduleUid && eventData.disableRescheduling) { return { redirect: { destination: `/booking/${rescheduleUid}`, permanent: false } }; } diff --git a/apps/web/modules/event-types/views/event-types-listing-view.tsx b/apps/web/modules/event-types/views/event-types-listing-view.tsx index b26652ca87..4b9c7cafe5 100644 --- a/apps/web/modules/event-types/views/event-types-listing-view.tsx +++ b/apps/web/modules/event-types/views/event-types-listing-view.tsx @@ -26,6 +26,7 @@ import { useGetTheme } from "@calcom/lib/hooks/useTheme"; import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery"; import { HttpError } from "@calcom/lib/http-error"; import { parseEventTypeColor } from "@calcom/lib/isEventTypeColor"; +import { localStorage } from "@calcom/lib/webstorage"; import type { MembershipRole } from "@calcom/prisma/enums"; import { SchedulingType } from "@calcom/prisma/enums"; import type { RouterOutputs } from "@calcom/trpc/react"; @@ -176,13 +177,11 @@ const Item = ({ data-testid={`event-type-title-${type.id}`}> {type.title} - {group.profile.slug ? ( + {group.profile.slug && type.schedulingType !== SchedulingType.MANAGED ? ( - {`/${ - type.schedulingType !== SchedulingType.MANAGED ? group.profile.slug : t("username_placeholder") - }/${type.slug}`} + {`/${group.profile.slug}/${type.slug}`} ) : null} {readOnly && ( @@ -212,7 +211,7 @@ const Item = ({ data-testid={`event-type-title-${type.id}`}> {type.title} - {group.profile.slug ? ( + {group.profile.slug && type.schedulingType !== SchedulingType.MANAGED ? (