Next: wf_table_edit_frist_datum($parent, $condition_list, $recursive =
Up: Funktionen für Workflow-Tabellen
Previous: Funktionen für Workflow-Tabellen
erstellt HTML-Code für eine Tabelle, in der pro Zeile Informationen
über den Zustand eines Schrittes des Workflows angezeigt wird (bzw.
Formulare miteingebunden werden können, um bestimmte Änderungen zu
ermöglichen). Dabei kann festgelegt werden, über welche Schritte welche
Information wie angezeigt wird.
Die Festlegung, welche Schritte in der Tabelle vorkommen, geschieht
mit den Parametern $parent, $recursive. Und zwar werden genau die
Schritte angezeigt, die den Parent-Schritt $parent als direkten und
oder indirekten Parent haben, je nachdem $recursive 'false' oder
'true' ist. D.h. diese Funktion zeigt die Schritte eines Subworkflows
auf einer bestimmten Ebene oder sogar alle Schritte eines Subworkflows
(rekursiv) an. Die Reihenfolge der Schritte wird dabei durch die Navigations-Reihenfolge
(d.h. das Attribut 'naechster_schritt' aus 'workflow_schritt') bestimmt.
Die Zeilen der HTML-Tabelle werden hierbei durch die 'html_table'-Funktionen
aus 'lib-html.inc.php' erstellt (siehe Dokumentation 'lib-html').
Dabei wird an die Funktion 'html_table_line' stets als Parameter
$cols eine feste Liste aus den Werten ``schrittnummer'', ``namensfeld'',
``status'', ``info'', ``datumsfeld'', ``erklaerung''
und ``bemerkung'' (in dieser Reihenfolge) übergeben. Damit werden
die Tabellenspalten festgelegt: Jeweils eine Spalte für die Schrittnummer,
den Namen des Schrittes (Attribut 'name' aus Relation 'workflow_schritt'),
den Status ('inaktiv', 'offen', 'erledigt'), weitere Statusinformation
(z.B. besonderer Schritt-Typ oder Subworkflow-Status bei Parent-Schritten),
Datumsinformation (entweder Erledigungs-Frist oder der Zeitpunkt,
als der Schritt als 'erledigt' markiert wurde), die Erklärung (Attribut
'erklaerung' in Relation 'workflow_schritt', fest vorgegeben) und
die Bemerkung (Attribut 'bemerkung' aus Relation 'workflow_schritt')
des Schrittes.
Das Parameter-Array $table_param dient als Parameter $param für
die Funktion 'html_table_line'. Vorher wird er jedoch von 'wf_table'
bearbeitet. Ganz zu Beginn werden einige Standardwerte vorgegeben,
falls sie nicht spezifiziert wurden (siehe globale Variable $wf_table_defaults
am Anfang von 'lib-workflow-table.inc.php') .
Die Funktion 'html_table_line' erhält als übergebenes Datentupel,
eine Array das folgenden Information über jeweiligen Schritt enthält:
- [schrittnummer:]Schrittnummer des anzuzeigenden Schrittes, gedacht
für Tabellen-Spalte ``schrittnummer''
- [name:]Name des Schrittes, d.h. Attribut 'name' aus Relation 'workflow_schritt'
- [namensfeld:]HTML-Link, der zum Schritt verweist und als Beschriftung
dessen Namen trägt , gedacht als Inhalt der Spalte ``namensfeld''
- [status:]``inaktiv'', ``offen'' oder ``erledigt''
(wie von Funktion 'wf_step_status' zurückgegeben'), gedacht als
Inhalt der Spalte ``status''
- [info:]abhängig vom Schritt-Typ, gedacht als Inhalt der Spalte ``info''
- [frist_datum:]Frist, bis zu der der schritt erledigt sein sollte,
d.h. Attribut 'frist_datum' aus Relation 'workflow_schritt' in lesbaren
String umgewandelt
- [erledigt_datum:]Zeitpunkt, zu der der Schritt als 'erledigt' gekennzeichnet
wurde, d.h. Attribut 'erledigt_datum' aus Relation 'workflow_schritt'
in lesbaren String umgewandelt
- [datumsfeld:]je nachdem, ob der Schritt 'offen' oder 'erledigt' ist,
die Frist, bis zu der er erledigt sein sollte oder der Zeitpunkt,
als er als 'erledigt' markiert wurde, d.h. entweder identisch mit
dem Parameter 'frist_datum' oder dem Parameter 'erledigt_datum',
gedacht als Inhalt der Spalte ``datumsfeld''.
Auch der Parameter 'data_bgcolor' in $table_param für die Farbe
der Spalte ``datumsfeld'' wird pro Schritt mit Hilfe der zusätzlichen
Parameter 'data_bgcolor_Inaktiv', 'data_bgcolor_Offen', 'data_bgcolor_FristAbgelaufen'
und 'data_bgcolor_Erledigt' (je nach Status des Schrittes) angepasst.
- [erklaerung:]Attribut 'erklaerung' aus Relation 'workflow_schritt'
für die Spalte ``erklaerung''
- [bemerkung:]Attribut 'bemerkung' aus Relation 'workflow_schritt'
für die Spalte ``bemerkung''
Darüberhinaus enthält das Datentupel die Variablen 'typ', 'voriger_schritt',
'naechster_schritt', 'erster_subschritt', 'letzter_subschritt',
'parent_schritt', 'abhaengigkeiten_sind_strikt', 'subworkflow_aktiv',
und 'durchlaufnummer', die den übrigen Attributen der Relation 'workflow_schritt'
entsprechen. Diese könnten bei Bedarf in die Darstellung (über $table_param[datacell_format])
verwendet werden.
Um verschiedene Schritte verschieden anzuzeigen, dient der Parameter
$condition_table_param. Dieser ist eine Liste von sogenannten bedingten
Table-Parameter-Arrays, d.h. jedes Listenelement ist ein Array, das
die Parameter 'condition_type', 'condition_arg' und 'table_param'
enthält. Dabei ist der Parameter 'table_param' ein Parameter-Array,
dessen Inhalt pro Schritt in $table_param aufgenommen wird, falls
die durch die beiden Parameter 'condition_type' und 'condition_arg'
spezifizierte Bedingung für den Schritt wahr ist. Dabei gibt es für
'condition_type' bisher folgende mögliche Werte:
- [``parent is'':]die Bedingung ist für einen Schritt genau dann
wahr, falls die Schrittnummer seines (direkten) Parent-Schrittes identisch
mit dem Wert des Parameters 'condition_arg' ist, d.h. der Schritt
im Subworkflow des Schrittes mit Schrittnummer 'condition_arg' ist,
und zwar direkt in der Ebene unter diesem Parent.
- [``in parentlist'':]die Bedingung ist für einen Schritt genau
dann wahr, falls für einen der indirekten Parent-Schritte des Schrittes
dessen Schrittnummer gleich dem Wert des Parameters 'condition_arg'
ist, d.h. der Schritt im Subworkflow unter dem Schritt mit Schrittnummer
'condition_arg' ist (evtl. indirekt)
- [``step in list'':]die Bedingung ist für einen Schritt genau
dann wahr, wenn seine Schrittnummer in der Liste enthalten ist, die
der Parameter 'condition_arg' in diesem Fall als Wert hat.
Mit diesen Bedingungen kann man die Schritte eines Subworkflows innerhalb
des insgesamt angezeigten Subworkflows (z.B. wenn man alle Schritt
eines Workflows auf einmal anzeigt, d.h. $parent=''top'') oder
die Mitglieder-Schritte einer Schleife innerhalb des Subworkflows
besonders hervorheben, in dem man entsprechende bedingte Table-Parameter
(z.b. für die Anzeige-Farbe) definiert.
Das boolsche Parameter $with_head_and_end gibt an, ob vor den
Tabellen-Zeilen der Schritte ein Tabellenkopf und eine Kopfzeile mit
'html_table_head' bzw. dahinter ein Tabellenende mit 'html_table_end'
mit erstellt werden soll.
Rückgabe der Funktion ist ein String, der den HTML-Code für die Tabellen
der Schrittinformationen enthält
Next: wf_table_edit_frist_datum($parent, $condition_list, $recursive =
Up: Funktionen für Workflow-Tabellen
Previous: Funktionen für Workflow-Tabellen
Copyright Munich Network Management Team