Ein Modi sieht nur SEINE Aufgaben -- und gibt sich selbst keine
Filipe, unmissverstaendlich und mehrfach: "die modis sollen immer nur ihre aufgaben auch sehen und nicht die von anderen, so wie bei den daten ... damit wir endlich den modis aufgaben anstaendig verteilen koennen und sie sich nicht selber aufgaben geben." DAS DREHT DIE ENTSCHEIDUNG VOM 09.09. AUSDRUECKLICH UM. Damals: "ja, sie sind untereinander ein team", damit ein Schichttausch ohne Umweg geht. Beides steht jetzt im Code nebeneinander, damit niemand spaeter die aeltere findet und fuer die gueltige haelt. VIER AENDERUNGEN: Die Sicht. Ein Modi sieht nur `a.verantwortlich_id = ich`. Was ihm ueber aufgaben_zuteilung gegeben wurde, haengt mitZugeteilten() an -- ein Pool, in dem er steht, bleibt also sichtbar, bis ihn jemand uebernimmt. Die rechte und die linke Hand behalten die Uebersicht. Das Anlegen. Im Team Dogi legt nur an, wer auch verteilen darf. In der AGENTUR bleibt es, wie es war -- dort ist eine Aufgabe eine Notiz an sich selbst, kein Auftrag von jemandem. Eine Regel, die beide Haeuser ueber einen Kamm schert, waere falsch. Der Knopf. "Neue Aufgabe" steht fuer einen Modi gar nicht mehr da. Ein Knopf, der mit 403 antwortet, ist schlimmer als keiner: Die Meldung erscheint ganz oben, und wer weiter unten steht, sieht nur, dass nichts passiert. Die Kacheln. Ein Modi sieht jetzt den Bereich "Entwicklung & Nachwuchs" mit denselben zwei Kacheln wie die Leitung -- nicht mehr zwei eigene mit anderem Namen. Zwei Namen fuer dieselbe Sache ist genau der Fehler, der am 19.09. zwei Kacheln "Chat" ergeben hat. "Talente" bleibt draussen: Dort stehen Notizen ueber Zuschauer, die nichts davon wissen. UND DIE LINKE HAND SIEHT "DEIN TEAM" NICHT MEHR (Filipes Wunsch). Abgeleitet, nicht nachgebaut: Ihre Liste ist die der rechten Hand MINUS dieser einen Kachel, erkannt am ZIEL statt am Namen -- der Name ist am 17.09. schon einmal gewandert. Gemessen: admin 30 Kacheln, hand 30, linke 29 (ohne "Dein Team"), modi 25 (mit dem Bereich, ohne Talente). Zwei Pruefungen hielten die alte Regel fest und wurden dadurch rot -- genau ihre Aufgabe. Beide umgedreht, mit der alten Entscheidung im Kommentar. pruef-zuteilung 65/0, pruef-verteilen 19/0 (war 15), pruef-aufgabenbrett 49/0.
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
import express from "express";
|
||||
import {
|
||||
db, protokolliere, echteIp, sitzungLesen, betreutWo, istLeitung, darfAufgabenVerteilen, ohneDogFather, heuteLokal, ROLLEN_SORTIERUNG, ROLLEN_GRUPPE, betreuteIds,
|
||||
db, protokolliere, echteIp, sitzungLesen, betreutWo, istLeitung, darfAufgabenVerteilen, darfAufgabenAnlegen, ohneDogFather, heuteLokal, ROLLEN_SORTIERUNG, ROLLEN_GRUPPE, betreuteIds,
|
||||
externPruefen, externSql, sichtbarePersonenIds, sichtbareCreatorIds,
|
||||
MODI_KATEGORIEN, kategorienFuer, kategoriePersonen,
|
||||
KANAELE, kanaeleFuer,
|
||||
@@ -209,10 +209,32 @@ function sichtbarRoh(person) {
|
||||
`case` ohne `break` faellt in den naechsten -- genau das ist hier
|
||||
gewollt und der kuerzeste ehrliche Weg, "diese beiden gleich" zu
|
||||
sagen. */
|
||||
/* =================================================================
|
||||
EIN MODI SIEHT NUR SEINE EIGENEN (22.09.2026) -- und das dreht
|
||||
die Entscheidung vom 09.09. ausdruecklich um.
|
||||
|
||||
Filipe, mehrfach und zuletzt unmissverstaendlich: "die modis
|
||||
sollen immer nur ihre aufgaben auch sehen und nicht die von
|
||||
anderen, so wie bei den daten ... damit wir endlich den modis
|
||||
aufgaben anstaendig verteilen koennen und sie sich nicht selber
|
||||
aufgaben geben."
|
||||
|
||||
Am 09.09. hatte er das Gegenteil entschieden ("ja, sie sind
|
||||
untereinander ein team"), damit ein Schichttausch ohne Umweg
|
||||
geht. Diese Zeile haelt beides fest, damit niemand spaeter die
|
||||
aeltere Entscheidung findet und sie fuer die gueltige haelt: Die
|
||||
neuere gilt.
|
||||
|
||||
WAS BLEIBT: Was ihm ueber `aufgaben_zuteilung` gegeben wurde,
|
||||
sieht er weiterhin -- das haengt `mitZugeteilten()` an diese
|
||||
Bedingung an. Ein Pool, in dem er steht, bleibt also sichtbar,
|
||||
bis ihn jemand uebernimmt. */
|
||||
case "modi":
|
||||
return { wo: "a.verantwortlich_id = ?", werte: [person.id] };
|
||||
|
||||
case "hand":
|
||||
/* Die linke Hand sieht dasselbe wie die rechte (21.09.2026). */
|
||||
case "linke":
|
||||
case "modi": {
|
||||
case "linke": {
|
||||
const liste = [...TEAM_DOGI_ROLLEN].map((r) => `'${r}'`).join(", ");
|
||||
const modis = db().prepare(
|
||||
`SELECT id FROM personen WHERE rolle IN (${liste})`).all().map((z) => z.id);
|
||||
@@ -777,6 +799,13 @@ aufgabenRouter.delete("/workspace/api/notizen/:id", gleicheHerkunft, (req, res)
|
||||
|
||||
aufgabenRouter.post("/workspace/api/aufgaben", gleicheHerkunft, (req, res) => {
|
||||
try {
|
||||
/* IM TEAM DOGI LEGT NUR DIE LEITUNG AN (22.09.2026). Ein Modi
|
||||
bekommt Aufgaben; er gibt sich keine. Die Schranke steht VOR der
|
||||
Feldpruefung, damit die Antwort nicht erst ueber Feldfehler
|
||||
redet, wenn der Weg ohnehin zu ist. */
|
||||
if (!darfAufgabenAnlegen(req.person)) {
|
||||
return res.status(403).json({ fehler: "nur_leitung_legt_an" });
|
||||
}
|
||||
const { aus, fehler } = pruefeFelder(req.body || {}, { neu: true, person: req.person });
|
||||
if (fehler.length) return res.status(400).json({ fehler: fehler.join(" ") });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user