Zum Hauptinhalt springen

Kurs-Zertifikate (CourseCertificates)

Zweck

CourseCertificate ist eine Vorlage für Zertifikate, die nach Abschluss eines Kurses oder einer Prüfung an Lernende ausgestellt werden. Pro Zertifikat wird über type festgelegt, ob es ein vollwertiges Zertifikat (mit Gueltigkeitsdauer) oder eine Teilnahmebescheinigung ist. Logo, Zertifizierungssiegel, Unterschrift (als Dokument) und Aussteller-Stadt werden eingebunden — beim Ausstellen wird daraus ein PDF generiert.

Voraussetzungen

- Berechtigung `view:CourseCertificate` und `create:CourseCertificate`. - Für Logo, Unterschrift, Zertifizierung: `create:Document` (die Felder akzeptieren Bild- bzw. Signatur-Dokumente).

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_CourseCertificate, CourseCertificateListe/Detail aufrufbar
create/update/deleteCourseCertificatePflegenAPP_SPEAMCORE_CREATE/UPDATE/DELETE_COURSE_CERTIFICATE
createDocumentLogo/Unterschrift/Zertifizierungs-Bild hochladenAPP_SPEAMCORE_CREATE_DOCUMENT

Schritt-für-Schritt-Anleitung

  1. Kurs-Zertifikate (/course-certificates) → + Neu.
  2. type wählen — certificate (mit Gültigkeit) oder participation (reine Teilnahmebescheinigung). Type ist nach Anlage immutable.
  3. name pflegen (z. B. „Brandschutzbeauftragter — Zertifikat").
  4. Bei type = certificate: validDays setzen (Anzahl Tage, in denen das Zertifikat gültig ist).
  5. issuer und courseDescription als ausführliche Texte pflegen.
  6. Unterschrift (signatureDocumentId) als Signatur-Dokument hochladen, plus signatureName und signatureCity.
  7. Logo (logoDocumentId) und Zertifizierungssiegel (certificationDocumentId) als Bild hochladen.

Kurszertifikate-Liste mit Spalten Kurszertifikat-Typ, Name und Gültige Tage — Beispiel „Zertifikat Arbeitssicherheit & DGUV Vorschrift 3" (365 Tage) und Button „+ Kurszertifikat hinzufügen" (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)

Felder und Eingaben

FeldnamePflichtDatentypWirkung beim AusfuellenVoraussetzung
typeja (read-only)ENUM (certificate, participation)Bestimmt, ob validDays sichtbar ist und ob das Dokument als rechtsverbindliches Zertifikat oder als Teilnahmebescheinigung erzeugt wird.
nameneinStringAnzeigename.
validDaysja bei type = certificateIntegerGueltigkeitsdauer in Tagen ab Ausstellung.type = certificate.
issuerneinTEXTAussteller-Beschreibung (Firma/Person).
courseDescriptionneinTEXTBeschreibung des Kurses für das Zertifikat.
signatureDocumentIdneinUUID (Document)Signatur-Datei.documentType = signature, create:Document.
signatureNameneinStringName des Unterzeichnenden.
signatureCityneinStringAusstellungs-Stadt.
logoDocumentIdneinUUID (Document)Logo des Ausstellers.documentType = image, create:Document.
certificationDocumentIdneinUUID (Document)Zusaetzliches Zertifizierungs-Bild (z. B. TUEV-Siegel).documentType = image, create:Document.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

  • Kurse — Zertifikat wird einem Kurs zugeordnet.
  • Kurs-Anmeldungen — beim Abschluss wird das Zertifikat als CourseEnrollmentCertificate ausgestellt.
  • Document-Center — Logo, Unterschrift, Zertifizierung als Document-Einträge.

Häufige Fehler und Lösungen

FehlerLösung
validDays nicht editierbartype = participation — Teilnahmebescheinigungen haben keine Gueltigkeitsdauer.
Unterschrift fehlt im PDFsignatureDocumentId nicht gesetzt oder Document hat falschen Typ.

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/course-certificatesListeview CourseCertificate
POST/api/course-certificatesAnlegencreate CourseCertificate
GET/api/course-certificates/:idDetailview CourseCertificate
PATCH/api/course-certificates/:idÄndernupdate CourseCertificate
DELETE/api/course-certificates/:idSoft-Deletedelete CourseCertificate

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.