Workspace: Creator-Profile (Onboarding aus dem Konzept)
/workspace/profil.html -- Stammdaten, Ziele und 90-Tage-Plan, genau nach Seite 5 des Konzepts. Management waehlt oben den Creator aus, ein Creator sieht nur sein eigenes Profil. Sicherheitskern ist das Feld admin_notiz. Das Konzept fordert "private Admin-Notizen separat". Die Notiz wird deshalb nicht im Browser ausgeblendet, sondern gar nicht erst gesendet: Die Spaltenliste der Abfrage haengt an der Rolle (FELDER_OFFEN / FELDER_ADMIN). Dasselbe gilt fuer Plan-Start und Review-Termin. Geprueft: - In der kompletten Rohantwort an den Creator kommt der Inhalt der internen Notiz 0-mal vor - Creator auf fremdes Profil: 404 (lesend wie schreibend) - Scout auf ein Profil: 404, profil.html leitet ihn weg - Creator setzt admin_notiz selbst: wird stillschweigend ignoriert, der Inhalt bleibt unveraendert - Profil einer Nicht-Creator-Person: 404 Dabei ist ein aelterer Fehler aufgefallen: /api/ich lieferte nur Name und Rolle, nicht die eigene Nummer. Dadurch rief die Profilseite eines Creators /api/profil/undefined auf und blieb leer. Derselbe Fehler machte in der Personenverwaltung den Selbstvergleich unwirksam -- beim eigenen Eintrag erschien ein "Sperren"-Knopf, den der Server dann ablehnte. /api/ich liefert jetzt zusaetzlich die id. Im Protokoll landen nur die Feldnamen, nie die Inhalte: Im Profil stehen persoenliche Angaben, die nicht zusaetzlich im Audit-Log auftauchen sollen.
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
/* ===================================================================
|
||||
Creator-Profil (Onboarding).
|
||||
=================================================================== */
|
||||
|
||||
.gruppe {
|
||||
margin: 0 0 22px;
|
||||
padding: 20px 22px 22px;
|
||||
background: rgba(255, 255, 255, .03);
|
||||
border: 1px solid var(--rand);
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
.gruppe__titel {
|
||||
padding: 0 6px;
|
||||
font-size: .96rem; font-weight: 700;
|
||||
color: var(--text);
|
||||
}
|
||||
.gruppe__text { margin: 2px 0 18px; font-size: .86rem; color: var(--text-still); }
|
||||
|
||||
.gruppe .feld-schild { margin-top: 14px; }
|
||||
.gruppe .feld-schild:first-of-type { margin-top: 0; }
|
||||
|
||||
.gruppe textarea, .gruppe input {
|
||||
width: 100%; padding: 10px 12px;
|
||||
background: rgba(255, 255, 255, .045);
|
||||
border: 1px solid var(--rand);
|
||||
border-radius: var(--radius-klein);
|
||||
color: var(--text); font: inherit;
|
||||
transition: border-color var(--tempo), box-shadow var(--tempo);
|
||||
}
|
||||
.gruppe textarea { resize: vertical; min-height: 46px; }
|
||||
.gruppe textarea:focus, .gruppe input:focus {
|
||||
outline: none; border-color: rgba(63, 189, 245, .7);
|
||||
box-shadow: 0 0 0 3px rgba(63, 189, 245, .16);
|
||||
}
|
||||
.gruppe input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(.75); cursor: pointer; }
|
||||
|
||||
.gruppe__raster {
|
||||
display: grid; gap: 14px; margin-top: 16px;
|
||||
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
|
||||
}
|
||||
|
||||
/* Die interne Notiz hebt sich deutlich ab, damit im Gespräch mit dem
|
||||
Creator niemand versehentlich hineinschreibt, was er lesen soll. */
|
||||
.gruppe--intern {
|
||||
border-color: rgba(224, 163, 60, .38);
|
||||
background: rgba(224, 163, 60, .05);
|
||||
}
|
||||
.gruppe--intern .gruppe__titel { color: #e6b45c; }
|
||||
|
||||
#auswahl-block select {
|
||||
min-width: 210px; padding: 10px 12px;
|
||||
background: rgba(255, 255, 255, .045);
|
||||
border: 1px solid var(--rand); border-radius: var(--radius-klein);
|
||||
color: var(--text); font: inherit;
|
||||
}
|
||||
|
||||
.speicher-leiste {
|
||||
position: sticky; bottom: 0;
|
||||
display: flex; align-items: center; gap: 14px;
|
||||
margin-top: 26px; padding: 14px 0;
|
||||
background: linear-gradient(180deg, transparent, var(--tinte) 34%);
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
.gruppe { padding: 16px 15px 18px; }
|
||||
}
|
||||
Reference in New Issue
Block a user