diff --git a/packages/features/ee/organizations/pages/settings/other-team-members-view.tsx b/packages/features/ee/organizations/pages/settings/other-team-members-view.tsx
index 47f1d1c10e..1eb267ceda 100644
--- a/packages/features/ee/organizations/pages/settings/other-team-members-view.tsx
+++ b/packages/features/ee/organizations/pages/settings/other-team-members-view.tsx
@@ -7,10 +7,10 @@ import { useRouter } from "next/navigation";
import { useState, useEffect } from "react";
import MemberInvitationModal from "@calcom/ee/teams/components/MemberInvitationModal";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { useParamsWithFallback } from "@calcom/lib/hooks/useParamsWithFallback";
import { CreationSource } from "@calcom/prisma/enums";
-import { MembershipRole } from "@calcom/prisma/enums";
import { trpc } from "@calcom/trpc/react";
import type { RouterOutputs } from "@calcom/trpc/react";
import { Button } from "@calcom/ui/components/button";
@@ -72,9 +72,7 @@ export const TeamMembersCTA = () => {
enabled: !!session.data?.user?.org,
});
- const isOrgAdminOrOwner =
- currentOrg &&
- (currentOrg.user.role === MembershipRole.OWNER || currentOrg.user.role === MembershipRole.ADMIN);
+ const isOrgAdminOrOwner = currentOrg && checkAdminOrOwner(currentOrg.user.role);
if (!isOrgAdminOrOwner) return null;
diff --git a/packages/features/ee/organizations/pages/settings/privacy.tsx b/packages/features/ee/organizations/pages/settings/privacy.tsx
index 8823bf8c77..e328d623c3 100644
--- a/packages/features/ee/organizations/pages/settings/privacy.tsx
+++ b/packages/features/ee/organizations/pages/settings/privacy.tsx
@@ -1,15 +1,13 @@
"use client";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import LicenseRequired from "@calcom/features/ee/common/components/LicenseRequired";
import MakeTeamPrivateSwitch from "@calcom/features/ee/teams/components/MakeTeamPrivateSwitch";
-import { MembershipRole } from "@calcom/prisma/enums";
import { trpc } from "@calcom/trpc/react";
const PrivacyView = () => {
const { data: currentOrg } = trpc.viewer.organizations.listCurrent.useQuery();
- const isOrgAdminOrOwner =
- currentOrg &&
- (currentOrg.user.role === MembershipRole.OWNER || currentOrg.user.role === MembershipRole.ADMIN);
+ const isOrgAdminOrOwner = currentOrg && checkAdminOrOwner(currentOrg.user.role);
const isInviteOpen = !currentOrg?.user.accepted;
const isDisabled = isInviteOpen || !isOrgAdminOrOwner;
diff --git a/packages/features/ee/organizations/pages/settings/profile.tsx b/packages/features/ee/organizations/pages/settings/profile.tsx
index ce1abd0a30..a8201bc06a 100644
--- a/packages/features/ee/organizations/pages/settings/profile.tsx
+++ b/packages/features/ee/organizations/pages/settings/profile.tsx
@@ -7,6 +7,7 @@ import { useEffect, useLayoutEffect, useState } from "react";
import { Controller, useForm } from "react-hook-form";
import { z } from "zod";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import LicenseRequired from "@calcom/features/ee/common/components/LicenseRequired";
import { subdomainSuffix } from "@calcom/features/ee/organizations/lib/orgDomains";
import OrgAppearanceViewWrapper from "@calcom/features/ee/organizations/pages/settings/appearance";
@@ -16,7 +17,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
import { md } from "@calcom/lib/markdownIt";
import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML";
import turndown from "@calcom/lib/turndownService";
-import { MembershipRole } from "@calcom/prisma/enums";
import { trpc } from "@calcom/trpc/react";
import { Avatar } from "@calcom/ui/components/avatar";
import { Button } from "@calcom/ui/components/button";
@@ -103,9 +103,7 @@ const OrgProfileView = () => {
return ;
}
- const isOrgAdminOrOwner =
- currentOrganisation.user.role === MembershipRole.OWNER ||
- currentOrganisation.user.role === MembershipRole.ADMIN;
+ const isOrgAdminOrOwner = checkAdminOrOwner(currentOrganisation.user.role);
const isBioEmpty =
!currentOrganisation ||
diff --git a/packages/features/ee/platform/pages/settings/members.tsx b/packages/features/ee/platform/pages/settings/members.tsx
index 20b9704ab3..930ea36bc6 100644
--- a/packages/features/ee/platform/pages/settings/members.tsx
+++ b/packages/features/ee/platform/pages/settings/members.tsx
@@ -1,10 +1,10 @@
"use client";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import { CTA_CONTAINER_CLASS_NAME } from "@calcom/features/data-table/lib/utils";
import Shell from "@calcom/features/shell/Shell";
import { UserListTable } from "@calcom/features/users/components/UserTable/UserListTable";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { MembershipRole } from "@calcom/prisma/enums";
import { trpc } from "@calcom/trpc/react";
import { Button } from "@calcom/ui/components/button";
import NoPlatformPlan from "@calcom/web/components/settings/platform/dashboard/NoPlatformPlan";
@@ -17,9 +17,7 @@ const PlatformMembersView = () => {
useGetUserAttributes();
const { data: currentOrg, isPending } = trpc.viewer.organizations.listCurrent.useQuery();
- const isOrgAdminOrOwner =
- currentOrg &&
- (currentOrg.user.role === MembershipRole.OWNER || currentOrg.user.role === MembershipRole.ADMIN);
+ const isOrgAdminOrOwner = currentOrg && checkAdminOrOwner(currentOrg.user.role);
const canLoggedInUserSeeMembers =
(currentOrg?.isPrivate && isOrgAdminOrOwner) || isOrgAdminOrOwner || !currentOrg?.isPrivate;
diff --git a/packages/features/ee/sso/page/orgs-sso-view.tsx b/packages/features/ee/sso/page/orgs-sso-view.tsx
index 8a700c9519..ebbcd3bff6 100644
--- a/packages/features/ee/sso/page/orgs-sso-view.tsx
+++ b/packages/features/ee/sso/page/orgs-sso-view.tsx
@@ -3,8 +3,8 @@
import { useSession } from "next-auth/react";
import { SkeletonLoader } from "@calcom/features/apps/components/SkeletonLoader";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { MembershipRole } from "@calcom/prisma/enums";
import SSOConfiguration from "../components/SSOConfiguration";
@@ -12,6 +12,7 @@ const SAMLSSO = () => {
const { t } = useLocale();
const { data, status } = useSession();
+ const isAdminOrOwner = checkAdminOrOwner(data?.user?.org?.role);
const org = data?.user.org;
if (status === "loading") ;
@@ -20,8 +21,6 @@ const SAMLSSO = () => {
return null;
}
- const isAdminOrOwner = org.role === MembershipRole.OWNER || org.role === MembershipRole.ADMIN;
-
return !!isAdminOrOwner ? (
diff --git a/packages/features/ee/teams/components/AddNewTeamMembers.tsx b/packages/features/ee/teams/components/AddNewTeamMembers.tsx
index 24950a49d5..7699bcb778 100644
--- a/packages/features/ee/teams/components/AddNewTeamMembers.tsx
+++ b/packages/features/ee/teams/components/AddNewTeamMembers.tsx
@@ -5,6 +5,7 @@ import { useSession } from "next-auth/react";
import { useRouter } from "next/navigation";
import { useEffect, useState, useMemo } from "react";
+import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import { useOrgBranding } from "@calcom/features/ee/organizations/context/provider";
import InviteLinkSettingsModal from "@calcom/features/ee/teams/components/InviteLinkSettingsModal";
import { MemberInvitationModalWithoutMembers } from "@calcom/features/ee/teams/components/MemberInvitationModal";
@@ -205,7 +206,7 @@ const PendingMemberItem = (props: { member: TeamMember; index: number; teamId: n
const { t } = useLocale();
const utils = trpc.useUtils();
const session = useSession();
- const orgRole = session?.data?.user.org?.role;
+ const isAdminOrOwner = checkAdminOrOwner(session.data?.user?.org?.role);
const bookerUrl = member.bookerUrl;
const removeMemberMutation = trpc.viewer.teams.removeMember.useMutation({
async onSuccess() {
@@ -219,8 +220,6 @@ const PendingMemberItem = (props: { member: TeamMember; index: number; teamId: n
},
});
- const isOrgAdminOrOwner = orgRole === MembershipRole.OWNER || orgRole === MembershipRole.ADMIN;
-
return (
- {(member.role !== "OWNER" || isOrgAdminOrOwner) && member.id !== session.data?.user.id && (
+ {(member.role !== "OWNER" || isAdminOrOwner) && member.id !== session.data?.user.id && (