From 3a5b982bf702f3f1df5af587252a6f4099f0bdbb Mon Sep 17 00:00:00 2001 From: Benno Tielen Date: Mon, 9 Mar 2026 11:49:13 +0100 Subject: [PATCH] fix: permissions and views --- src/collections/DonationForms.ts | 5 ++++- src/collections/Magazine.ts | 5 ++++- src/collections/Prayers.ts | 3 ++- src/globals/Design.ts | 1 + src/globals/Footer.ts | 1 + src/globals/Menu.ts | 5 +++-- src/globals/SiteConfig.ts | 1 + 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/collections/DonationForms.ts b/src/collections/DonationForms.ts index 1c200c6..32b7541 100644 --- a/src/collections/DonationForms.ts +++ b/src/collections/DonationForms.ts @@ -1,5 +1,5 @@ import { CollectionConfig } from 'payload' -import { isAdminOrEmployee } from '@/collections/access/admin' +import { hide, isAdminOrEmployee } from '@/collections/access/admin' export const DonationForms: CollectionConfig = { slug: 'donation-form', @@ -35,6 +35,9 @@ export const DonationForms: CollectionConfig = { required: true } ], + admin: { + hidden: hide + }, access: { read: () => true, create: isAdminOrEmployee(), diff --git a/src/collections/Magazine.ts b/src/collections/Magazine.ts index b0161ab..cee7552 100644 --- a/src/collections/Magazine.ts +++ b/src/collections/Magazine.ts @@ -1,5 +1,5 @@ import { CollectionConfig } from 'payload' -import { isAdminOrEmployee } from '@/collections/access/admin' +import { hide, isAdminOrEmployee } from '@/collections/access/admin' export const Magazine: CollectionConfig = { slug: 'magazine', @@ -39,6 +39,9 @@ export const Magazine: CollectionConfig = { required: true } ], + admin: { + hidden: hide + }, access: { read: () => true, update: isAdminOrEmployee(), diff --git a/src/collections/Prayers.ts b/src/collections/Prayers.ts index 06d6fa6..481fb15 100644 --- a/src/collections/Prayers.ts +++ b/src/collections/Prayers.ts @@ -1,6 +1,6 @@ import { CollectionConfig } from 'payload' import { revalidateTag } from 'next/cache' -import { isAdminOrEmployee } from '@/collections/access/admin' +import { hide, isAdminOrEmployee } from '@/collections/access/admin' export const Prayers: CollectionConfig = { slug: 'prayers', @@ -24,6 +24,7 @@ export const Prayers: CollectionConfig = { ], admin: { useAsTitle: 'text', + hidden: hide }, access: { read: () => true, diff --git a/src/globals/Design.ts b/src/globals/Design.ts index 499a1fc..a9fd592 100644 --- a/src/globals/Design.ts +++ b/src/globals/Design.ts @@ -17,6 +17,7 @@ export const DesignGlobal: GlobalConfig = { admin: { description: 'Hier können Sie die Farben und das Erscheinungsbild der Website konfigurieren.', + hidden: args => args.user?.roles === "user" }, fields: [ { diff --git a/src/globals/Footer.ts b/src/globals/Footer.ts index 85e77f5..d377bb3 100644 --- a/src/globals/Footer.ts +++ b/src/globals/Footer.ts @@ -10,6 +10,7 @@ export const FooterGlobal: GlobalConfig = { admin: { description: 'Hier können Sie die Linkgruppen im Fußzeile konfigurieren.', + hidden: args => args.user?.roles === "user" }, fields: [ { diff --git a/src/globals/Menu.ts b/src/globals/Menu.ts index 58f063b..4721eca 100644 --- a/src/globals/Menu.ts +++ b/src/globals/Menu.ts @@ -1,5 +1,5 @@ import { Block, GlobalConfig } from 'payload' -import { isAdmin } from '@/collections/access/admin' +import { hide, isAdmin } from '@/collections/access/admin' import { revalidateTag } from 'next/cache' const SimpleItem: Block = { @@ -111,7 +111,8 @@ export const MenuGlobal: GlobalConfig = { de: 'Navigationsmenü' }, admin: { - description: "Hier können Sie die Einträge und die Reihenfolge der Hauptnavigation festlegen." + description: "Hier können Sie die Einträge und die Reihenfolge der Hauptnavigation festlegen.", + hidden: args => args.user?.roles === "user" }, fields: [ { diff --git a/src/globals/SiteConfig.ts b/src/globals/SiteConfig.ts index f760d78..d720d38 100644 --- a/src/globals/SiteConfig.ts +++ b/src/globals/SiteConfig.ts @@ -10,6 +10,7 @@ export const SiteConfigGlobal: GlobalConfig = { admin: { description: 'Hier können Sie den Namen, die Beschreibung und andere allgemeine Einstellungen der Website konfigurieren.', + hidden: args => args.user?.roles === "user" }, fields: [ {