feat: add CMS inquiries and group bookings
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import type { CollectionConfig } from "payload";
|
||||
import { isAdmin } from "@/access";
|
||||
|
||||
export const GroupRegistrations: CollectionConfig = {
|
||||
slug: "group-registrations",
|
||||
labels: {
|
||||
singular: "Gruppenanmeldung",
|
||||
plural: "Gruppenanmeldungen",
|
||||
},
|
||||
admin: {
|
||||
useAsTitle: "name",
|
||||
defaultColumns: ["name", "email", "offer", "status", "registeredAt"],
|
||||
group: "Buchungen",
|
||||
description: "Anmeldungen und Bewerbungen für Gruppenangebote.",
|
||||
},
|
||||
access: {
|
||||
read: isAdmin,
|
||||
create: () => false,
|
||||
update: isAdmin,
|
||||
delete: isAdmin,
|
||||
},
|
||||
timestamps: true,
|
||||
fields: [
|
||||
{ name: "offer", type: "relationship", relationTo: "offers", label: "Angebot", required: true, index: true },
|
||||
{
|
||||
type: "row",
|
||||
fields: [
|
||||
{ name: "name", type: "text", label: "Name", required: true, admin: { width: "50%" } },
|
||||
{ name: "email", type: "email", label: "E-Mail", required: true, admin: { width: "50%" } },
|
||||
],
|
||||
},
|
||||
{ name: "phone", type: "text", label: "Telefon" },
|
||||
{ name: "message", type: "textarea", label: "Nachricht / Motivation" },
|
||||
{
|
||||
name: "status",
|
||||
type: "select",
|
||||
label: "Status",
|
||||
required: true,
|
||||
defaultValue: "pending",
|
||||
options: [
|
||||
{ label: "Zu prüfen", value: "pending" },
|
||||
{ label: "Angenommen", value: "accepted" },
|
||||
{ label: "Warteliste", value: "waitlist" },
|
||||
{ label: "Abgelehnt", value: "rejected" },
|
||||
{ label: "Storniert", value: "cancelled" },
|
||||
],
|
||||
},
|
||||
{ name: "registeredAt", type: "date", label: "Eingegangen am", defaultValue: () => new Date().toISOString(), admin: { position: "sidebar" } },
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user