diff --git a/server/workspace-vorlagen.js b/server/workspace-vorlagen.js
index ff8f075f..320e028a 100644
--- a/server/workspace-vorlagen.js
+++ b/server/workspace-vorlagen.js
@@ -1778,6 +1778,10 @@ vorlagenRouter.post("/workspace/api/vorlagen/uebernehmen", gleicheHerkunft,
}
const angelegt = [];
+ /* Was nicht angelegt wurde, WEIL es schon offen liegt. Getrennt
+ von "angelegt", damit die Oberflaeche beides sagen kann --
+ eine Zahl allein liesse offen, ob etwas schiefging. */
+ const uebersprungen = [];
const einfuegen = (bereich, unterart, titel, text, zusatz = {}) => {
db().prepare(`INSERT INTO eintraege
(bereich, art, titel, text, datum, status, creator_id, hook, format,
@@ -1931,10 +1935,50 @@ vorlagenRouter.post("/workspace/api/vorlagen/uebernehmen", gleicheHerkunft,
if (!auswahl.length || auswahl.some((v) => !v)) {
return res.status(400).json({ fehler: "Unbekannte Vorlage." });
}
+ /* ==== WAS SCHON OFFEN LIEGT, KOMMT NICHT NOCH EINMAL ========
+
+ AM 22.09.2026 UM 16:05 IST GENAU DAS PASSIERT: 56 Aufgaben
+ um 16:05:24, dieselben 56 um 16:05:53. Ein zweiter Druck auf
+ "Alle uebernehmen", 29 Sekunden spaeter -- und nichts hat
+ ihn aufgehalten. Vier Menschen fanden danach je 28 Aufgaben
+ vor, jede doppelt. Filipe hat sie nicht verteilt und wusste
+ nicht, woher sie kamen.
+
+ NUR BEIM MASSENKNOPF, NICHT BEIM EINZELNEN. Ein "Nochmal"
+ an einer einzelnen Karte ist eine bewusste Entscheidung --
+ manches macht man jede Woche neu, und der Knopf sagt es
+ sogar. Ein Griff, der zwoelf Aufgaben auf einmal holt, ist
+ etwas anderes: Ob er schon gedrueckt wurde, sieht man ihm
+ nicht an, und beim zweiten Mal richtet er zwoelffachen
+ Schaden an.
+
+ "OFFEN" HEISST OFFEN. Was erledigt oder abgebrochen ist,
+ darf wiederkommen -- sonst koennte man eine Aufgabe, die
+ jede Woche ansteht, nach dem ersten Abhaken nie wieder
+ holen. Gefragt wird also nicht "gab es die schon mal",
+ sondern "liegt die gerade noch da".
+
+ Dieselbe Sperre steht seit dem 10.09. im Termin-Zweig weiter
+ unten. Dass sie hier fehlte, ist nicht aufgefallen, weil
+ niemand zweimal drueckt -- bis es jemand tat. */
+ const liegtSchon = art === "katalog_alle"
+ ? new Set(db().prepare(
+ `SELECT vorlage FROM aufgaben
+ WHERE verantwortlich_id = ?
+ AND vorlage IS NOT NULL
+ AND status NOT IN ('erledigt', 'abgebrochen')`)
+ .all(zielPerson.id).map((z) => z.vorlage))
+ : new Set();
+ const lagSchonDa = [];
for (const v of auswahl) {
+ if (liegtSchon.has(v.schluessel)) { lagSchonDa.push(v.titel); continue; }
katalogAufgabeAnlegen(v, zielPerson.id, req.person.id);
angelegt.push(v.titel);
}
+ /* DIE ZAHL GEHOERT IN DIE ANTWORT, nicht nur in die Datenbank.
+ Ein Knopf, der "12 uebernehmen" heisst und dann schweigend
+ drei anlegt, sieht aus wie ein Fehler. */
+ if (lagSchonDa.length) uebersprungen.push(...lagSchonDa);
} else if (art === "katalog_termin") {
/* =============================================================
@@ -2014,8 +2058,10 @@ vorlagenRouter.post("/workspace/api/vorlagen/uebernehmen", gleicheHerkunft,
}
protokolliere("vorlage_uebernommen", req.person, echteIp(req),
- `${art}: ${angelegt.length} Eintrag/Einträge`);
- res.json({ angelegt: angelegt.length, titel: angelegt });
+ `${art}: ${angelegt.length} Eintrag/Einträge`
+ + (uebersprungen.length ? `, ${uebersprungen.length} lagen schon da` : ""));
+ res.json({ angelegt: angelegt.length, titel: angelegt,
+ uebersprungen: uebersprungen.length });
} catch (fehler) {
console.error("[workspace] Vorlage übernehmen:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html
index cb011bff..dbdec61e 100644
--- a/workspace/anruf-probe.html
+++ b/workspace/anruf-probe.html
@@ -16,15 +16,15 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
-
-
+
+
-
+