diff --git a/prisma/seed.ts b/prisma/seed.ts index 9df837f..1ec38db 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -659,6 +659,24 @@ async function createAnnouncements(context: SeedContext) { }, }); + const longTitle = await prisma.announcement.create({ + data: { + kitaId: kita.id, + title: "Dies ist eine extrem lange Ankuendigung mit einem superlangen Titel um das Layout des Dashboards und des Schwarzen Bretts auf korrekten Textumbruch und Mobilfreundlichkeit zu testen", + content: "Inhalt der superlangen Ankuendigung fuer Layout-Testing.", + authorId: admin.id, + }, + }); + + const xssTitle = await prisma.announcement.create({ + data: { + kitaId: kita.id, + title: "Boesartiger Titel mit HTML Tags", + content: "Dieser Beitrag testet, ob die Anwendung XSS-Angriffe im Titel oder im Inhalt filtert. ", + authorId: admin.id, + }, + }); + await prisma.attachment.create({ data: { announcementId: sommerfest.id, @@ -808,6 +826,41 @@ async function createTermine( }, }); + const highDensityDay = addDays(now, 7); + for (let i = 1; i <= 8; i++) { + await prisma.termin.create({ + data: { + kitaId: kita.id, + title: `Parallel-Termin #${i}`, + description: `Beschreibung fuer Parallel-Termin #${i}`, + type: TerminType.SONSTIGES, + status: TerminStatus.CONFIRMED, + startDate: highDensityDay, + endDate: highDensityDay, + allDay: false, + createdById: admin.id, + approvedById: admin.id, + approvedAt: now, + }, + }); + } + + await prisma.termin.create({ + data: { + kitaId: kita.id, + title: "Boesartiger Termin ", + description: "XSS Test im Terminkalender ", + type: TerminType.SONSTIGES, + status: TerminStatus.CONFIRMED, + startDate: addDays(now, 5), + endDate: addDays(now, 5), + allDay: true, + createdById: admin.id, + approvedById: admin.id, + approvedAt: now, + }, + }); + await prisma.mitbringselItem.createMany({ data: [ { diff --git a/src/app/dashboard/profil/_components/contact-form.tsx b/src/app/dashboard/profil/_components/contact-form.tsx index 7a2247e..d7f4d2e 100644 --- a/src/app/dashboard/profil/_components/contact-form.tsx +++ b/src/app/dashboard/profil/_components/contact-form.tsx @@ -16,6 +16,7 @@ type ContactFormProps = { street: string | null; postalCode: string | null; city: string | null; + directoryOptIn: boolean; }; }; @@ -30,6 +31,7 @@ export function ContactForm({ contact }: ContactFormProps) { street: String(formData.get("street") ?? ""), postalCode: String(formData.get("postalCode") ?? ""), city: String(formData.get("city") ?? ""), + directoryOptIn: formData.get("directoryOptIn") === "on", }); if (result.error) { @@ -106,6 +108,22 @@ export function ContactForm({ contact }: ContactFormProps) { +