Auf der Team-Adresse gibt es die Agenturseiten nicht
Filipe, mit dem Bildschirmfoto des Start-Checks auf crew.: "das gibt
es in der app nicht, dass ist nur auf der workspace app aber nicht
hier."
ES WAR GROESSER ALS DIESE EINE SEITE. Gemessen, bevor gebaut:
DogFather 12 Seiten ohne Kachel erreichbar, 10 davon Agentur
(Automationen, Content, Scouting, Reports, Zahlen,
Team, Calls, Creator-Profil, Dashboard, Start-Check)
rechte Hand 5, davon 3 Agentur
ein Modi 6, davon 3 Agentur -- auch der Start-Check
Die Haustrennung vom 10.09. entscheidet, WAS jemand sieht: sie filtert
Daten und Kacheln. Sie entschied nie, welche SEITEN es auf einer
Adresse gibt. Die Rechtetafel wiederum kennt nur Rollen, keine
Adressen. Zwischen beidem lag das Loch -- und der Start-Check sagte
dort "Es gibt noch keinen Creator", weil ihm die Haustrennung alle
Daten wegnimmt. Eine Seite, die laedt und leer ist, sieht aus wie ein
Fehler.
DIE REGEL WIRD ABGELEITET, NICHT GEPFLEGT: Welche Seiten zu dieser
Adresse gehoeren, steht schon in den KACHELN, die dieselbe Adresse
dieser Person zeigt. Dazu drei Seiten, die in jedem Haus dazugehoeren
und keine Kachel haben (start, treff-regeln, entwicklung). Sie altert
sicher -- eine neue Agenturseite ist dort automatisch zu, eine neue
Crew-Seite ohne Kachel faellt beim ersten Klick auf.
UND SIE AENDERT KEINE RECHTE. Was jemand DARF, steht weiter allein in
rechte.js; diese Regel beantwortet, ob es das hier ueberhaupt gibt.
Nur die Seiten, nicht die Schnittstellen -- die filtern seit dem 10.09.
selbst ueber person.haus.
DREI PRUEFUNGEN, DIE VORHER SCHON ROT WAREN, nachgemessen gegen den
Stand von heute frueh (2712473), damit ich sie nicht mir selbst
zuschreibe -- und zwei davon repariert:
pruef-treff Sie fragte "enthaelt die Antwort irgendein
gefuelltes Feld" und wurde rot, als das
Aufgabenbrett die drei Aufwandsstufen mitzuliefern
begann. Die sagen ueber niemanden etwas. Eine
Warnung, die immer kommt, wird ueberlesen -- also
praeziser statt lauter: Ein Datensatz hat eine id,
ein Vokabular einen schluessel und keine.
pruef-neue-seiten War gruen und wurde durch MEINE Arbeit rot: Mit
dem Umzug der sechs Fragen blieben bei 390 px noch
14 Textstuecke statt der geforderten 15 -- alle
lesbar. Die Zahl auf 14 zu setzen waere derselbe
Fehler mit einer anderen Zahl gewesen; die Aufgabe
("die Seite hat wirklich gerendert") erledigt zwei
Zeilen hoeher schon die Zeichenzahl.
pruef-kachel-universum, pruef-struktur, pruef-modi-wortleck
unveraendert rot, nicht von hier -- offen.
Ausserdem: "wenn alle 1 sie gesetzt haben" auf der eigenen Karte. Das
ist keine Auskunft, sondern eine Rechnung -- derselbe Fall wie "vor 0
Tagen" heute frueh. Zwei Lagen, zwei Saetze.
server/pruef-haus-seiten.mjs 24 Pruefungen, 0 Fehler (Port 4422)
pruef-crew-adresse 132, pruef-modi-verborgen 80, pruef-haus-trennung 66,
pruef-treff 66, pruef-treff-werkzeuge 70, pruef-neue-seiten 93,
pruef-befinden 48, pruef-schritt 46 -- alle 0 Fehler
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -3896,6 +3896,87 @@ function schrankenPfad(roh) {
|
||||
Eintrag in rechte.js oeffnet sich fuer keine Rolle, auch nicht fuer
|
||||
DogFather -- und pruef-rechtetafel meldet sie, statt dass man es
|
||||
beim Ausprobieren merkt. */
|
||||
/* =====================================================================
|
||||
AUF DER ADRESSE VON TEAM DOGI GIBT ES DIE AGENTURSEITEN NICHT
|
||||
(15.09.2026)
|
||||
|
||||
Filipe, mit dem Bildschirmfoto des Start-Checks auf crew.:
|
||||
„das gibt es in der app nicht, dass ist nur auf der workspace app
|
||||
aber nicht hier."
|
||||
|
||||
---------------------------------------------------------------------
|
||||
ES WAR GROESSER ALS DIESE EINE SEITE
|
||||
|
||||
Die Haustrennung von 10.09. entscheidet, WAS jemand sieht -- sie
|
||||
filtert die Daten und die Kacheln. Sie entschied nie, welche SEITEN
|
||||
es auf einer Adresse gibt. Die Rechtetafel wiederum kennt nur Rollen,
|
||||
keine Adressen. Zwischen beidem lag das Loch.
|
||||
|
||||
Gemessen am 15.09.2026, auf crew.:
|
||||
|
||||
DogFather 12 Seiten ohne Kachel erreichbar, 10 davon Agentur
|
||||
(Automationen, Content, Scouting, Reports, Zahlen,
|
||||
Team, Calls, Creator-Profil, Dashboard, Start-Check)
|
||||
rechte Hand 5, davon 3 Agentur
|
||||
ein Modi 6, davon 3 Agentur -- auch der Start-Check
|
||||
|
||||
Der Start-Check sagt dort „Es gibt noch keinen Creator", weil die
|
||||
Haustrennung ihm alle Daten wegnimmt. Das ist genau die Sorte Seite,
|
||||
die aussieht wie ein Fehler: Sie laedt, sie ist leer, und niemand
|
||||
weiss, ob das Absicht ist oder etwas kaputt.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
DIE REGEL WIRD ABGELEITET, NICHT GEPFLEGT
|
||||
|
||||
Welche Seiten zu dieser Adresse gehoeren, steht schon irgendwo:
|
||||
in den KACHELN, die dieselbe Adresse dieser Person zeigt. Eine
|
||||
zweite Liste daneben waere die, die beim naechsten Umbau
|
||||
auseinanderlaeuft -- diesen Fehler hat das Projekt schon zweimal
|
||||
bezahlt (die abgeschriebenen Spalten am 07. und 11.09.).
|
||||
|
||||
Dazu eine kurze Liste von Seiten, die in jedem Haus dazugehoeren und
|
||||
trotzdem keine Kachel haben. Sie altert SICHER: Eine neue
|
||||
Agenturseite ist hier automatisch gesperrt (richtig), eine neue
|
||||
Crew-Seite ohne Kachel faellt beim ersten Klick auf (sichtbar) --
|
||||
nicht still.
|
||||
|
||||
UND SIE AENDERT KEINE RECHTE. Was jemand DARF, steht weiterhin
|
||||
allein in rechte.js. Diese Regel beantwortet eine andere Frage:
|
||||
Gibt es das hier ueberhaupt? Deshalb steht sie neben der
|
||||
Rechtepruefung und nicht in ihr.
|
||||
|
||||
NUR DIE SEITEN, NICHT DIE SCHNITTSTELLEN. Die filtern seit dem
|
||||
10.09. selbst ueber person.haus und brauchen das hier nicht --
|
||||
eine zweite Rechtelogik davor waere die, die irgendwann etwas
|
||||
durchlaesst. Wer das aendert, aendert es dort.
|
||||
===================================================================== */
|
||||
|
||||
/** Seiten, die in JEDEM Haus dazugehoeren und keine Kachel haben. */
|
||||
const OHNE_KACHEL_UEBERALL = new Set([
|
||||
/* Die Startseite selbst -- sie ist das Ziel der Umleitung. */
|
||||
"/workspace/start.html",
|
||||
/* Die Regeln des Treffs. Sie gehoeren der Community und dem Team. */
|
||||
"/workspace/treff-regeln.html",
|
||||
/* Die Entwicklungskarte. Ein Modi hat dafuer keine Kachel, kommt
|
||||
aber ueber „Deine Karte“ und ueber den Verweis von befinden.html
|
||||
dorthin -- und beides ist seine eigene Sache. */
|
||||
"/workspace/entwicklung.html",
|
||||
]);
|
||||
|
||||
/** Gibt es diese Seite auf der Adresse, auf der die Person gerade steht? */
|
||||
export function gehoertAufDieseAdresse(person, pfad) {
|
||||
/* Auf der Agenturadresse aendert sich nichts. Dort leben diese
|
||||
Seiten -- die Frage stellt sich nur andersherum. */
|
||||
if (person?.haus !== "crew") return true;
|
||||
if (OHNE_KACHEL_UEBERALL.has(pfad)) return true;
|
||||
const ziele = new Set(
|
||||
[...(bereicheFuer(person) || []), ...(zusatzBereicheFuer(person) || [])]
|
||||
/* Ohne den Frageteil: Die Brettkacheln zeigen auf
|
||||
bereich.html?b=treff -- gemeint ist die Seite, nicht das Brett. */
|
||||
.map((k) => "/workspace/" + String(k?.ziel || "").split("?")[0]));
|
||||
return ziele.has(pfad);
|
||||
}
|
||||
|
||||
workspaceRouter.use((req, res, next) => {
|
||||
const pfad = schrankenPfad(req.path);
|
||||
if (!pfad.startsWith("/workspace/") || !pfad.endsWith(".html")) return next();
|
||||
@@ -3914,6 +3995,13 @@ workspaceRouter.use((req, res, next) => {
|
||||
if (!darfSeite(person, pfad)) {
|
||||
return res.redirect(302, "/workspace/start.html");
|
||||
}
|
||||
/* UND: GIBT ES DIESE SEITE HIER? Dieselbe Umleitung wie oben und
|
||||
nicht ein 404 -- an dieser Schranke gibt es eine Antwort auf
|
||||
„nein", nicht zwei. Zwei Verhalten nebeneinander waeren die
|
||||
Einladung, aus dem Unterschied etwas abzulesen. */
|
||||
if (!gehoertAufDieseAdresse(person, pfad)) {
|
||||
return res.redirect(302, "/workspace/start.html");
|
||||
}
|
||||
return next();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user