Die Rechte Hand steht ueber den Modis -- sortiert statt geschrieben
Filipe, mit dem Bildschirmfoto: "rechte hand soll immer ueber modi stehen bitte." DIE REIHENFOLGE STAND AN ZWEI STELLEN, und die zweite war falsch herum: ROLLEN_REIHE hatte die Rechte Hand laengst vor den Modis (und die SQL-Sortierung leitet sich daraus ab) -- aber `zusatzrollen` in workspace-personen.js schrieb sie von Hand, und dort kam Modi zuerst. Genau diese Liste baut die Abschnitte auf der Personenseite und die zusaetzlichen Knoepfe im Anlegen-Formular. Das ist an diesem Tag das VIERTE Mal dieselbe Sache: eine Aussage, zwei Listen, und die zweite ist die, die abweicht. Vorher: der Zeitraum-Schutz (an einer von drei Stellen), die Dauer-Einheit (dieselbe), das Recht zum Aufloesen (Liste kannte es, Nachrichtenweg nicht). Deshalb wird jetzt SORTIERT und nicht geschrieben: Die Liste geht durch ROLLEN_REIHE. Wer die Reihenfolge aendern will, aendert sie dort -- und alles andere zieht nach, statt nachgezogen werden zu muessen. Was in ROLLEN_REIHE nicht vorkommt (heute "gast"/Community), wandert ans Ende statt stillschweigend nach vorn. pruef-haus-trennung 63 -> 66. GEPRUEFT WIRD DIE REIHENFOLGE, NICHT DIE ANWESENHEIT: "beide sind da" waere auch dann gruen gewesen, wenn sie vertauscht sind -- und genau das war der Fall. Dazu eine Zeile, die nachweist, dass die Reihenfolge wirklich aus ROLLEN_REIHE kommt und nicht nur zufaellig stimmt; sonst haette jemand sie auch von Hand andersherum schreiben koennen: richtig im Ergebnis, falsch im Aufbau, und beim naechsten Mal wieder auseinander. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -430,6 +430,42 @@ console.log("=== Personen & Zugaenge ===");
|
||||
ok(neuWs.status === 201, `auf workspace. geht es (${neuWs.status})`);
|
||||
}
|
||||
|
||||
/* =======================================================================
|
||||
9b. DIE RECHTE HAND STEHT UEBER DEN MODIS (14.09.2026)
|
||||
=======================================================================
|
||||
Filipe, mit dem Bildschirmfoto: "rechte hand soll immer ueber modi
|
||||
stehen bitte."
|
||||
|
||||
Die Reihenfolge stand an ZWEI Stellen: in ROLLEN_REIHE (richtig) und
|
||||
von Hand in `zusatzrollen` (falsch herum). Dasselbe Muster wie heute
|
||||
schon dreimal -- eine Aussage, zwei Listen, und die zweite ist die
|
||||
unvollstaendige. Jetzt wird sortiert, nicht geschrieben.
|
||||
|
||||
GEPRUEFT WIRD DIE REIHENFOLGE, NICHT DIE ANWESENHEIT: "beide sind
|
||||
da" waere auch dann gruen, wenn sie vertauscht sind -- und genau das
|
||||
war der Fall. */
|
||||
{
|
||||
const antwort = await hole("/workspace/api/verwaltung/personen",
|
||||
{ host: CREW, keks: dogi.keks });
|
||||
const zusatz = (antwort.daten?.zusatzrollen || []).map((z) => z.wert);
|
||||
ok(zusatz.includes("hand") && zusatz.includes("modi"),
|
||||
`beide Rollen stehen in der Liste (${zusatz.join(", ")})`);
|
||||
ok(zusatz.indexOf("hand") < zusatz.indexOf("modi"),
|
||||
`die Rechte Hand steht VOR den Modis (${zusatz.join(" -> ")})`);
|
||||
|
||||
/* UND SIE FOLGT DER EINEN LISTE. Ohne diese Zeile haette jemand die
|
||||
Reihenfolge auch von Hand andersherum schreiben koennen -- richtig
|
||||
im Ergebnis, falsch im Aufbau, und beim naechsten Mal wieder
|
||||
auseinander. */
|
||||
const { ROLLEN_REIHE } = await import("./workspace.js");
|
||||
const erwartet = [...zusatz].sort((a, b) => {
|
||||
const p = (r) => (ROLLEN_REIHE.indexOf(r) < 0 ? ROLLEN_REIHE.length : ROLLEN_REIHE.indexOf(r));
|
||||
return p(a) - p(b);
|
||||
});
|
||||
ok(JSON.stringify(zusatz) === JSON.stringify(erwartet),
|
||||
`die Reihenfolge folgt ROLLEN_REIHE (${zusatz.join(", ")})`);
|
||||
}
|
||||
|
||||
/* =======================================================================
|
||||
10. Eine Rolle aendern -- es gab die Funktion gar nicht
|
||||
=======================================================================
|
||||
|
||||
Reference in New Issue
Block a user