From 3befcc19a35d535311d0b1f7aa249b2587138460 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Fri, 11 Sep 2026 23:58:46 +0200 Subject: [PATCH] feat: Aufgaben einzeln zum Spiegeln freigeben Der Schalter erscheint nur, wo auch gespiegelt wird. Co-Authored-By: Claude Opus 5 --- src/app/(app)/aufgaben/page.tsx | 4 ++++ src/lib/aufgabe-anzeige.test.ts | 1 + src/lib/aufgabe-anzeige.ts | 4 ++++ src/server/abfragen/aufgaben.ts | 1 + 4 files changed, 10 insertions(+) diff --git a/src/app/(app)/aufgaben/page.tsx b/src/app/(app)/aufgaben/page.tsx index ee47777..d46ec4a 100644 --- a/src/app/(app)/aufgaben/page.tsx +++ b/src/app/(app)/aufgaben/page.tsx @@ -14,6 +14,7 @@ import { type AufgabenFilter, } from '@/server/abfragen/aufgaben' import { verlangeAnmeldung } from '@/server/berechtigung' +import { umgebung } from '@/server/umgebung' export const metadata: Metadata = { title: 'Aufgaben' } @@ -67,6 +68,7 @@ export default async function AufgabenSeite({ searchParams: Promise> }) { await verlangeAnmeldung('/aufgaben') + const spiegelt = umgebung().spiegelSendenAktiv const parameter = await searchParams const [aufgaben, bereiche, projekte] = await Promise.all([ @@ -101,11 +103,13 @@ export default async function AufgabenSeite({ + {/* Nur wo auch gespiegelt wird, hat der Schalter einen Sinn. */} ) diff --git a/src/lib/aufgabe-anzeige.test.ts b/src/lib/aufgabe-anzeige.test.ts index 2d78313..69d7774 100644 --- a/src/lib/aufgabe-anzeige.test.ts +++ b/src/lib/aufgabe-anzeige.test.ts @@ -16,6 +16,7 @@ function roh(teil: Partial = {}): AufgabeRoh { faelligAm: null, quelle: 'MANUELL', quelleUrl: null, + spiegeln: false, bereich: null, projekt: null, ...teil, diff --git a/src/lib/aufgabe-anzeige.ts b/src/lib/aufgabe-anzeige.ts index 2403aa7..b5aeffa 100644 --- a/src/lib/aufgabe-anzeige.ts +++ b/src/lib/aufgabe-anzeige.ts @@ -26,6 +26,7 @@ export type AufgabeRoh = { faelligAm: Date | null quelle: Quelle quelleUrl: string | null + spiegeln: boolean bereich: { id: string; name: string; farbe: string } | null projekt: { id: string; name: string } | null } @@ -48,6 +49,8 @@ export type AufgabeAnzeige = { ueberfaellig: boolean quelle: Quelle quelleUrl: string | null + /** Ausdruecklich zum Spiegeln freigegeben. */ + spiegeln: boolean bereich: { id: string; name: string; farbe: string } | null projekt: { id: string; name: string } | null } @@ -79,6 +82,7 @@ export function fuerAnzeige(aufgabe: AufgabeRoh, jetzt: Date): AufgabeAnzeige { ueberfaellig: istUeberfaellig(aufgabe.faelligAm, aufgabe.status, jetzt), quelle: aufgabe.quelle, quelleUrl: aufgabe.quelleUrl, + spiegeln: aufgabe.spiegeln, bereich: aufgabe.bereich, projekt: aufgabe.projekt, } diff --git a/src/server/abfragen/aufgaben.ts b/src/server/abfragen/aufgaben.ts index 8e0a43c..98a0195 100644 --- a/src/server/abfragen/aufgaben.ts +++ b/src/server/abfragen/aufgaben.ts @@ -25,6 +25,7 @@ const AUSWAHL = { faelligAm: true, quelle: true, quelleUrl: true, + spiegeln: true, bereich: { select: { id: true, name: true, farbe: true } }, projekt: { select: { id: true, name: true } }, } satisfies Prisma.AufgabeSelect