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:

  1. HTML - Die Checkbox:
    Im Bereich row_anwendungen eine neue Checkbox hinzufügen.
    Wichtig: data-areas setzen, damit nur die richtigen Mandanten sie sehen. (siehe 2. Mandanten-Logik)
    Beispiel: <input type="checkbox" id="cbFachXY" data-areas="OLG,SDJ">
  2. 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-areas setzen falls die Sichtbarkeit zusätzlich eingeschränkt werden soll.
  3. JavaScript - Die Logik:
    In der Funktion refreshForm() zwei Dinge tun:
    1. Die Checkbox abfragen: const boxXY = document.getElementById('cbFachXY');
    2. Die Sichtbarkeit steuern: if (boxXY && boxXY.checked) { showList.push('gruppeFachXY'); }

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:

  1. Case Sensitivity: JavaScript unterscheidet streng zwischen Groß- und Kleinschreibung. cbDragon ist nicht das gleiche wie cbdragon.
  2. ID vs. Name:
    • id wird für das Styling und JavaScript (Sichtbarkeit) genutzt.
    • name wird für die PDF-Ausgabe genutzt (das ist das Label im PDF).
  3. Checkboxen im PDF: Einzelne Checkboxen (wie das Headset) werden immer automatisch mit "Ja" übersetzt, wenn kein fester value im HTML steht.
  4. 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:

  1. 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.
  2. 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.

  1. Im Formular muss die Version gepflegt werden.
  2. Auf der Intranet-Seite justiz-info muss version_check.js angepasst werden.

Version hinterlegen

  1. Im Formular APP_VERSION_ID entsprechend anpassen (es werden nur ganze Zahlen akzeptiert [Version 1.7 = 17])
  2. in version_check.js window.REMOTE_VERSION_ID = 16; eintragen & die Zahl mit der entsprechenden Versionsnummer ersetzen z.B. 17
  3. version_check.js auf die Intranet-Seite (justiz-info) als Media hochladen, vorhandene Datei ersetzen (Hr. Seidel Ansprechpartner)
Description
Benutzerverwaltung
Readme 534 KiB