Workspace: Rolle "Management" heisst jetzt "DogFather"

Auf Wunsch von Filipe. Betrifft ausschliesslich die Anzeige.

Der Rollenschluessel bleibt "admin". Er steckt in der CHECK-Regel der
Datenbank, in jeder bestehenden Sitzung und in jeder Rechteabfrage --
ihn umzubenennen haette alle drei gebrochen, und bestehende Anmeldungen
waeren ungueltig geworden. Umbenannt wird nur, was man LIEST.

Der Anzeigename steht jetzt an EINER Stelle (ROLLEN_NAME in
workspace.js) und kommt ueber /workspace/api/ich als rolle_name mit.
Stand er in elf Dateien, waere er beim naechsten Mal in zehn davon
geaendert.

Dabei aufgefallen: In der Kopfleiste stand auf JEDER Seite der rohe
Rollenschluessel -- "Chef · admin". Das war schon vorher unschoen, faellt
aber jetzt erst richtig auf. Alle elf Seiten zeigen jetzt "Chef ·
DogFather". Geprueft: kein rohes "admin" mehr in der Oberflaeche.

Geaendert: Rollenkachel und Untertitel auf der Anmeldeseite, Kopfleiste
aller Seiten, Rollentext auf dem Dashboard, Rollenmarken und Auswahl in
der Personenverwaltung, die Betreuungs-Auswahl ("nur DogFather"), der
Hinweis auf der Dateienseite, die Erklaerung zur internen Notiz im
Profil, die Hinweise fuer Scouts ohne Zuteilung -- und vier
Fehlermeldungen vom Server.

Schreibweise "DogFather" wie von Filipe geschrieben; das ist auch auf
der oeffentlichen Website die haeufigste Form (717 von 1216).

In den Code-Kommentaren der Fachmodule heisst die Rolle weiterhin "das
Management". Das bleibt bewusst so -- eine Massenaenderung an vierzig
Kommentaren waere reines Risiko ohne sichtbaren Nutzen. Ein Hinweis an
der ROLLEN_NAME-Zuordnung erklaert den Zusammenhang.
This commit is contained in:
2026-08-28 11:55:05 +02:00
parent 55450aa83f
commit 1c3e642f12
20 changed files with 54 additions and 36 deletions
+1 -1
View File
@@ -260,7 +260,7 @@ Das laesst sich nicht rueckgaengig machen. Erledigte Aufgaben sollten normalerwe
ich = await antwort.json();
} catch { return; }
$('wer').textContent = `${ich.name} · ${ich.rolle}`;
$('wer').textContent = `${ich.name} · ${ich.rolle_name || ich.rolle}`;
if (ich.rolle === 'admin') {
$('feld-creator').hidden = false;
+1 -1
View File
@@ -200,7 +200,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
let daten;
try {
+1 -1
View File
@@ -328,7 +328,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
await laden();
})();
})();
+1 -1
View File
@@ -214,7 +214,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
/* Creator laden nichts hoch (Wunsch 28.08.2026). Das Ablegefeld
verschwindet, stattdessen steht dort, warum -- ein einfach
+1 -1
View File
@@ -15,7 +15,7 @@
const knopf = $('knopf');
const fuer = $('fuer');
const NAMEN = { admin: 'Management', creator: 'Creator', scout: 'Scout' };
const NAMEN = { admin: 'DogFather', creator: 'Creator', scout: 'Scout' };
const SPEICHER = 'dfw.rolle';
let gewaehlt = null;
+1 -1
View File
@@ -242,7 +242,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
if (ich.rolle === 'admin') {
$('feld-teilnehmer').hidden = false;
+4 -4
View File
@@ -1,12 +1,12 @@
/* ===================================================================
Personen und Zugangscodes verwalten. Nur für Management -- der Server
Personen und Zugangscodes verwalten. Nur für DogFather -- der Server
liefert allen anderen ohnehin 404 auf diese Schnittstellen.
=================================================================== */
(() => {
'use strict';
const $ = (id) => document.getElementById(id);
const ROLLENNAME = { admin: 'Management', creator: 'Creator', scout: 'Scout' };
const ROLLENNAME = { admin: 'DogFather', creator: 'Creator', scout: 'Scout' };
let ich = null;
const el = (tag, klasse, text) => {
@@ -88,7 +88,7 @@
const w = el('select', 'betreuung__wahl');
w.id = 'betreuer-' + p.id;
const leer = document.createElement('option');
leer.value = ''; leer.textContent = 'nur Management';
leer.value = ''; leer.textContent = 'nur DogFather';
w.append(leer);
for (const s2 of betreuerListe) {
const o = document.createElement('option');
@@ -230,7 +230,7 @@
ich = await a.json();
} catch { return; }
if (ich.rolle !== 'admin') { location.assign('/workspace/start.html'); return; }
$('wer').textContent = `${ich.name} · ${ich.rolle}`;
$('wer').textContent = `${ich.name} · ${ich.rolle_name || ich.rolle}`;
await laden();
})();
})();
+3 -3
View File
@@ -97,9 +97,9 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
/* Scouts betreuen ihre zugeteilten Creator wie das Management --
/* Scouts betreuen ihre zugeteilten Creator wie DogFather --
sie sehen aber nur die management-internen Felder nicht. */
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
let liste;
try { liste = await (await hole('/workspace/api/profil')).json(); } catch { return; }
@@ -107,7 +107,7 @@
if (ich.rolle === 'admin' || ich.rolle === 'scout') {
if (!liste.creator.length) {
$('unterzeile').textContent = ich.rolle === 'scout'
? 'Dir ist noch kein Creator zugeteilt. Das Management legt fest, wen du betreust.'
? 'Dir ist noch kein Creator zugeteilt. DogFather legt fest, wen du betreust.'
: 'Es gibt noch keinen Creator. Lege zuerst unter Personen & Zugänge einen an.';
return;
}
+2 -2
View File
@@ -200,7 +200,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
try {
const { creator } = await (await hole('/workspace/api/report/creator')).json();
@@ -214,7 +214,7 @@
fuer ihn nicht, das waere die Gesamtuebersicht. */
if (!creator.length) {
$('unterzeile').textContent =
'Dir ist noch kein Creator zugeteilt. Das Management legt fest, wen du betreust.';
'Dir ist noch kein Creator zugeteilt. DogFather legt fest, wen du betreust.';
return;
}
$('creator-block').hidden = false;
+2 -2
View File
@@ -340,7 +340,7 @@
ich = await a.json();
} catch { return; }
if (ich.rolle === 'creator') { location.assign('/workspace/start.html'); return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
if (ich.rolle === 'admin') {
$('unterzeile').textContent = 'Gesamtübersicht über alle Scouts.';
@@ -358,7 +358,7 @@
} catch { return; }
$('f-scout').addEventListener('change', zeichne);
} else {
$('unterzeile').textContent = 'Deine Pipeline – nur du und das Management sehen sie.';
$('unterzeile').textContent = 'Deine Pipeline – nur du und DogFather sehen sie.';
}
await laden();
+2 -2
View File
@@ -7,7 +7,7 @@
'use strict';
const ROLLENTEXT = {
admin: 'Management · Gesamtübersicht und Freigaben',
admin: 'DogFather · Gesamtübersicht und Freigaben',
creator: 'Creator · dein eigener Bereich',
scout: 'Scout · deine Pipeline und die Creator, die du betreust',
};
@@ -48,7 +48,7 @@
return;
}
$('wer').textContent = `${ich.name} · ${ich.rolle}`;
$('wer').textContent = `${ich.name} · ${ich.rolle_name || ich.rolle}`;
$('gruss').textContent = `Willkommen, ${ich.name}`;
$('rollentext').textContent = ROLLENTEXT[ich.rolle] || ich.rolle;
+2 -2
View File
@@ -254,7 +254,7 @@
if (!a.ok) { location.assign('/workspace/'); return; }
ich = await a.json();
} catch { return; }
$('wer').textContent = ich.name + ' · ' + ich.rolle;
$('wer').textContent = ich.name + ' · ' + (ich.rolle_name || ich.rolle);
let liste;
try { liste = await (await hole('/workspace/api/startcheck/creator')).json(); } catch { return; }
@@ -262,7 +262,7 @@
if (!liste.creator.length) {
$('felder').textContent = '';
$('felder').append(el('p', 'leer-hinweis', ich.rolle === 'scout'
? 'Dir ist noch kein Creator zugeteilt. Das Management legt fest, wen du betreust.'
? 'Dir ist noch kein Creator zugeteilt. DogFather legt fest, wen du betreust.'
: 'Es gibt noch keinen Creator.'));
return;
}