From 623f0c7d93148323354c809df86f7fa65e222077 Mon Sep 17 00:00:00 2001 From: Shaik-Sirajuddin <89742297+Shaik-Sirajuddin@users.noreply.github.com> Date: Sat, 24 Aug 2024 14:35:50 +0530 Subject: [PATCH] fix: visiting organization without access shows empty page (#15103) * fix : visiting organization without access shows empty page * feat: add serversideprops for navigating user before page load * Update packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx * fix: workaround e2e fix --------- Co-authored-by: Shaik-Sirajuddin Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com> Co-authored-by: Keith Williams Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Co-authored-by: Hariom Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Co-authored-by: Peer Richelsen --- .../pages/settings/organizations/members.tsx | 7 +++- .../settings/getServerSidePropsMembers.tsx | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx diff --git a/apps/web/pages/settings/organizations/members.tsx b/apps/web/pages/settings/organizations/members.tsx index c642078d0c..a175173e5d 100644 --- a/apps/web/pages/settings/organizations/members.tsx +++ b/apps/web/pages/settings/organizations/members.tsx @@ -3,7 +3,12 @@ import MembersView from "@calcom/features/ee/organizations/pages/settings/member import type { CalPageWrapper } from "@components/PageWrapper"; import PageWrapper from "@components/PageWrapper"; -const Page = MembersView as CalPageWrapper; +export { + getServerSidePropsForMembers as getServerSideProps, + type PageProps, +} from "@calcom/features/ee/organizations/pages/settings/getServerSidePropsMembers"; + +const Page = MembersView as unknown as CalPageWrapper; Page.PageWrapper = PageWrapper; export default Page; diff --git a/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx b/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx new file mode 100644 index 0000000000..5e22f75810 --- /dev/null +++ b/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx @@ -0,0 +1,35 @@ +import type { GetServerSidePropsContext } from "next"; + +import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; +import type { inferSSRProps } from "@calcom/types/inferSSRProps"; + +export type PageProps = inferSSRProps; + +export const getServerSidePropsForMembers = async function getServerSidePropsForMembers({ + req, + res, +}: GetServerSidePropsContext) { + const session = await getServerSession({ req, res }); + + if (!session || !session.user) { + return { + redirect: { + permanent: false, + destination: "/auth/login", + }, + }; + } + + if (!session.user.profile?.organizationId) { + return { + redirect: { + permanent: false, + destination: "/enterprise", + }, + }; + } + + return { + props: {}, + }; +};