Zum Hauptinhalt springen

Anpassung (Customization)

Zweck

Die Customization-Page-Gruppe steuert das Branding, die Login-Praesentation und das Beleg-/Mail-Erscheinungsbild des Mandanten. Sie besteht aus acht Sub-Routen mit gemeinsamem CustomizationTabList-Layout:

Sub-RouteInhalt
/customization/generalAllgemeine Marken-Tokens — Primaer-/Sekundaerfarbe, Logo, Favicon.
/customization/login-bannerLogin-Banner (Bild oben in der Login-Maske).
/customization/loginLogin-Hintergrundbild und -Texte.
/customization/qr-codeLayout-Token für QR-Code-Aufkleber (z. B. Lager-Spots, Anlagen).
/customization/profile-buttonsKonfigurierbare Profil-Buttons in der Top-Bar.
/customization/printBriefpapier — Kopf-/Fußbereich und Layout für gedruckte Belege/Briefe (im UI „Briefpapier").
/customization/stampStempel — Firmen-/Freigabe-Stempel für Belege.
/customization/mail-signatureMail-Signatur — Standard-Signatur für ausgehende E-Mails.

Hinter den Kulissen werden alle Werte als PublicAttribute-Einträge gespeichert — Schlüssel-Werte mit Typ (color, document, ...) und Gruppe (general, loginBanner, ...). Diese sind „public" im Sinne von „auch für noch nicht angemeldete Anwender lesbar" — z. B. für den Login-Bildschirm.

Voraussetzungen

- Berechtigung `view:PublicAttribute` und `update:PublicAttribute`. - Bilder werden über `documentId`-Felder hochgeladen — Berechtigung `create:Document`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_Customization, PublicAttributeTabs aufrufbar
updatePublicAttributeWerte speichernAPP_SPEAMCORE_UPDATE_PUBLIC_ATTRIBUTE

Schritt-für-Schritt-Anleitung

Branding ändern

  1. Anpassung — Allgemein (/customization/general).
  2. Primaerfarbe / Sekundaerfarbe als Hex pflegen — wirkt sofort auf das ganze UI über die CSS-Tokens.
  3. Logo und Favicon als Document-Upload bereitstellen.

Login-Banner

/customization/login-banner — Bild für das Banner in der Login-Maske. Format: PNG/JPG, 16:9 empfohlen.

Login-Hintergrund

/customization/login — Hintergrundbild und ggf. Welcome-Texte für die Login-Page.

QR-Code-Layout

/customization/qr-code — Token für Aufkleber-Layout (Hintergrundfarbe, Logo-Platzierung, Text). Wird in QR-IDs, Lager-Spots und Anlagen gerendert.

Profile-Buttons

/customization/profile-buttons — Anzeige-Reihenfolge und Sichtbarkeit der Top-Bar-Profile-Buttons (z. B. Sprachwechsler, Logout, eigene Buttons).

Anpassungen-Seite mit Tab-Leiste (Allgemein, Login, QR-Code, Login Banner, Profil-Buttons, Briefpapier, Stempel, Mail-Signatur) — aktiver Tab Allgemein mit Primär-/Sekundärfarbe-Pickern und Upload-Feldern für Icon und Logo (Test-Daten).

Toolbar (Detail-Seite)

Schlanke Toolbar oben rechts:

IconAktion (aria-label)CASLWirkung
ZurückgehenZurück zur Liste.
🏠Zur Startseite gehenSpringt auf das Dashboard / /.
⏮/◀/▶/⏭PaginationNavigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung.

Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:

  • KAL. (Mini-Kalender)
  • ZEIT (Persoenliche Wochen-Arbeitszeit)
  • ARBEIT (Eigene bevorstehende Aufträge)

UI-Elemente

Komponente: CustomizationTabList

Tab-Leiste, die zwischen den acht Sub-Routen wechselt.

Komponente: PublicAttributeDataProvider

Generischer Loader für PublicAttribute-Werte — pro Page mit keyType- und keyGroup-Filter.

Komponente: CustomizationGeneralTab

Konkretes Tab-Inhalt für /customization/general. Analog CustomizationLoginBannerTab, CustomizationLoginTab, CustomizationQRCodeTab, CustomizationProfileButtonsTab sowie die eigenständigen Seiten CustomizationPrintPage (Briefpapier), CustomizationStampPage (Stempel) und CustomizationMailSignaturePage (Mail-Signatur).

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

  • Setup-Wizard — Schritt 7 (Branding) setzt erste Werte über dieselben PublicAttribute-Einträge.
  • Document-Center — Logo, Favicon, Banner-Bilder als Documents.
  • QR-IDs, Lager-Spots — verwenden QR-Code-Layout-Token.

Häufige Fehler und Lösungen

FehlerLösung
Änderung wirkt nicht sofortPublic-Attribute werden nach Auto-Save sofort übernommen; harter Browser-Reload kann helfen.
Logo wird nicht angezeigtDocument-Upload fehlgeschlagen; in /document-center prüfen.
Login-Banner zerschnittenEmpfohlene Bildgroesse beachten (16:9).

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/public-attributes?filter[keyGroup=general/loginBanner/...]Werte ladenview PublicAttribute
PATCH/api/public-attributes/:idWert aktualisierenupdate PublicAttribute

Versionshinweise

  • 2026-06-02: Drift-Korrektur — Customization hat acht statt fünf Sub-Tabs. Ergänzt: /customization/print (Briefpapier), /customization/stamp (Stempel), /customization/mail-signature (Mail-Signatur). Quelle: routes.tsx:1883-1885.
  • 2026-04-30: Initiale Veroeffentlichung.