diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/[id]/edit/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/[id]/edit/page.tsx index c60161bb78..224c6a160e 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/[id]/edit/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/[id]/edit/page.tsx @@ -1,8 +1,9 @@ import { _generateMetadata } from "app/_utils"; import OrgAttributesEditPage from "@calcom/ee/organizations/pages/settings/attributes/attributes-edit-view"; +import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrgPerms } from "../../../../actions/validateUserHasOrgPerms"; export const generateMetadata = async ({ params }: { params: Promise<{ id: string }> }) => await _generateMetadata( @@ -14,7 +15,10 @@ export const generateMetadata = async ({ params }: { params: Promise<{ id: strin ); const OrgAttributesEditPageWrapper = async () => { - await validateUserHasOrgAdmin(); + await validateUserHasOrgPerms({ + permission: "organization.attributes.update", + fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN], + }); return ; }; diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/create/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/create/page.tsx index 6a8b0690b3..d503230653 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/create/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/create/page.tsx @@ -1,8 +1,9 @@ import { _generateMetadata } from "app/_utils"; import OrgAttributesCreatePage from "@calcom/ee/organizations/pages/settings/attributes/attributes-create-view"; +import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrgPerms } from "../../../actions/validateUserHasOrgPerms"; export const generateMetadata = async () => await _generateMetadata( @@ -14,7 +15,10 @@ export const generateMetadata = async () => ); const OrgAttributesCreatePageWrapper = async () => { - await validateUserHasOrgAdmin(); + await validateUserHasOrgPerms({ + permission: "organization.attributes.create", + fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN], + }); return ; }; diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/page.tsx index 343fbc45e1..a260fb36ac 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/page.tsx @@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrg } from "../../actions/validateUserHasOrg"; export const generateMetadata = async () => await _generateMetadata( @@ -20,7 +20,7 @@ export const generateMetadata = async () => const Page = async () => { const t = await getTranslate(); - const session = await validateUserHasOrgAdmin(); + const session = await validateUserHasOrg(); const { canRead, canEdit, canDelete, canCreate } = await getResourcePermissions({ userId: session.user.id, diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/delegation-credential/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/delegation-credential/page.tsx index 20e5d6af4f..a6ebd3e48c 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/delegation-credential/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/delegation-credential/page.tsx @@ -2,8 +2,9 @@ import { _generateMetadata, getTranslate } from "app/_utils"; import DelegationCredentialList from "@calcom/features/ee/organizations/pages/settings/delegationCredential"; import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; +import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrgPerms } from "../../actions/validateUserHasOrgPerms"; export const generateMetadata = async () => await _generateMetadata( @@ -17,7 +18,10 @@ export const generateMetadata = async () => const Page = async () => { const t = await getTranslate(); - await validateUserHasOrgAdmin(); + await validateUserHasOrgPerms({ + permission: "organization.update", + fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN], + }); return ( await _generateMetadata( @@ -19,7 +19,7 @@ export const generateMetadata = async () => const Page = async () => { const t = await getTranslate(); - const session = await validateUserHasOrgAdmin(); + const session = await validateUserHasOrg(); const { canEdit } = await getResourcePermissions({ userId: session.user.id, diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/privacy/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/privacy/page.tsx index 1d786ea76f..8200641230 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/privacy/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/privacy/page.tsx @@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrg } from "../../actions/validateUserHasOrg"; export const generateMetadata = async () => await _generateMetadata( @@ -21,7 +21,7 @@ export const generateMetadata = async () => const Page = async () => { const t = await getTranslate(); - const session = await validateUserHasOrgAdmin(); + const session = await validateUserHasOrg(); if (!session?.user.id || !session?.user.profile?.organizationId || !session?.user.org) { return redirect("/settings/profile"); diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/sso/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/sso/page.tsx index 12b8c76905..c5011563c5 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/sso/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/sso/page.tsx @@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; import { MembershipRole } from "@calcom/prisma/enums"; -import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin"; +import { validateUserHasOrg } from "../../actions/validateUserHasOrg"; export const generateMetadata = async () => await _generateMetadata( @@ -20,7 +20,7 @@ export const generateMetadata = async () => const Page = async () => { const t = await getTranslate(); - const session = await validateUserHasOrgAdmin(); + const session = await validateUserHasOrg(); if (!session?.user.id || !session?.user.profile?.organizationId || !session?.user.org) { return redirect("/settings/organizations/general");