BNV - Formular (Benutzerverwaltung) Justiz - README
(c) ZenIT - Zentraler IT-Dienstleister der Justiz d. Landes Brandenburg
Autor: P. Seidel (ZenIT)
Code: P. Seidel (ZenIT)
Test: M. Schöne (ZenIT)
Bug-Report: to P. Seidel (ZenIT)
Feature Request: to P. Seidel (ZenIT)
Release-Notes: release.md
I. neue Anwendung
Wenn eine neue Anwendung (z.B. "Fachverfahren XY") hinzufügt werden soll, müssen immer diese drei Orte angepasst werden:
- HTML - Die Checkbox:
Im Bereichrow_anwendungeneine neue Checkbox hinzufügen.
Wichtig:data-areassetzen, damit nur die richtigen Mandanten sie sehen. (siehe 2. Mandanten-Logik)
Beispiel:<input type="checkbox" id="cbFachXY" data-areas="OLG,SDJ"> - HTML - Die Gruppe:
Einen neuen Container<div class="form-grouping hidden" id="gruppeFachXY">erstellen, der die speziellen Felder für diese Software enthält.
Ggf.data-areassetzen falls die Sichtbarkeit zusätzlich eingeschränkt werden soll. - JavaScript - Die Logik:
In der FunktionrefreshForm()zwei Dinge tun:- Die Checkbox abfragen:
const boxXY = document.getElementById('cbFachXY'); - Die Sichtbarkeit steuern:
if (boxXY && boxXY.checked) { showList.push('gruppeFachXY'); }
- Die Checkbox abfragen:
II. Mandanten-Logik (data-areas)
Jedes Element mit dem Attribut data-areas="OLG,SDJ" wird nur angezeigt, wenn in window.MANDANT = '###' der entsprechende Mandant eingetragen wurde.
Wichtig: Wenn ein übergeordneter Container (z.B. eine Zeile oder eine Gruppe) ein data-areas Attribut hat, sind alle Felder darin automatisch mit gesperrt, auch wenn sie selbst kein Attribut haben.
Der DEBUG-Mandant: Dieser sollte in jedem data-areas stehen, damit beim Testen immer alles angezeigt wird.
III. wichtige technische Hinweise
Hinweise die sich aus der Erstellung des Codes ergeben haben und zum Fehlverfahlten des Formulars führen können:
- Case Sensitivity: JavaScript unterscheidet streng zwischen Groß- und Kleinschreibung.
cbDragonist nicht das gleiche wiecbdragon. - ID vs. Name:
idwird für das Styling und JavaScript (Sichtbarkeit) genutzt.namewird für die PDF-Ausgabe genutzt (das ist das Label im PDF).
- Checkboxen im PDF: Einzelne Checkboxen (wie das Headset) werden immer automatisch mit "Ja" übersetzt, wenn kein fester
valueim HTML steht. - Datum: Datumsfelder werden beim Auslesen für das PDF automatisch von YYYY-MM-DD in DD.MM.YYYY umgewandelt.
IV. Version-Check
Version-Logik
Die Versionen zum Vergleichen sind immer ganze Zahlen.
Das bedeutet eine Version 1.2 ist 12 bei der Prüfung (1.2 = 12). Wenn im folgenden von -2 Versionen gesprochen wird, ist somit die Versionsnummer hinter dem . gemeint!
Version-Check
Das Formular prüft beim Start automatisch ob es eine neuere Version von sich gibt. Sollte festgestellt werden, dass:
- die Version -1 alt ist, erscheint am Anfang eine rote Box mit dem Hinweis, dass es eine neuere Version gibt mit entsprechenden Download-Link. Ein Arbeiten ist weiterhin möglich.
- die Version -2 oder älter, erscheint am Anfang eine rote Box mit eindringlichen Hinweis, dass es eine neuere Version gibt mit entsprechenden Download-Link. Ein Arbeiten ist NICHT mehr möglich.
Version-Dokumentation
Die Versionssteuerung erfolgt an 2 Stellen.
- Im Formular muss die Version gepflegt werden.
- Auf der Intranet-Seite justiz-info muss
version_check.jsangepasst werden.
Version hinterlegen
- Im Formular
APP_VERSION_IDentsprechend anpassen (es werden nur ganze Zahlen akzeptiert [Version 1.7 = 17]) - in
version_check.jswindow.REMOTE_VERSION_ID = 16;eintragen & die Zahl mit der entsprechenden Versionsnummer ersetzen z.B.17 version_check.jsauf die Intranet-Seite (justiz-info) als Media hochladen, vorhandene Datei ersetzen (Hr. Seidel Ansprechpartner)