Anzeige-/Editierregel erstellen
Aus Limbas Wiki
→ zurück zu LIMBAS Admin
Anzeige- und Editierregeln können sowohl bei den allgemeinen Tabellen-Einstellungen als auch bei den Tabellenrechten der einzelnen Benutzergruppen, die Regel für Schreibrecht nur bei den Tabellenrechten der einzelnen Benutzergruppen eingetragen werden.
Für das vom Return-Wert der Funktionen abhängige Verhalten gilt:
- false: Bewirkt keine Veränderung verglichen mit dem Verhalten, wenn keine Regel eingetragen wäre. Die Tabelle oder das Tabellenfeld wird angezeigt bzw. ist editierbar.
- true: Die Tabelle oder das Tabellenfeld wird NICHT angezeigt bzw. ist NICHT editierbar.
Die aufzurufenden Funktionen können in ext_gtab.inc implementiert werden.
Im Funktionsaufruf können folgende Variablen verwendet werden:
- $gresult[]: Array mit Rückgabe-Ergebnis des letzten Datenbank-Zugriffs, dies kann der Inhalt der ganzen Tabelle oder eines Datensatzes sein
- $gtabid: Tabellen-ID der aktuell angezeigten Tabelle
- $key: Tabellenfeld-ID des zu überprüfenden Tabellenfeldes
Beispiel 1:
function extShowDateBeforeYear($year, $tabId, $dataFieldId, &$gresult)
{
# time stamp to be compared
$tsYear = strtotime($year."-01-01");
# time stamp from DB entry
$tsDB = strtotime($gresult[$tabId][$dataFieldId][0]);
# time in database before $year
if ($tsDB < $tsYear)
{
return false;
}
# value in DB later
return true;
}
Wird diese Funktion für ein Tabellenfeld vom Typ Datum bei der Anzeigeregel wie folgt eingetragen, so wird dieses in der Detail- und Bearbeitungsansicht eines Datensatzes nur angezeigt, wenn ein Datum vor dem Jahr 2000 eingetragen ist:
return extShowDateBeforeYear(2000, $gtabid, $key, $gresult);
Beispiel 2:
function extShowOnlyOnWeekday($day)
{
$today = getdate();
if ($today[weekday] == $day)
{
return false;
}
return true;
}
Wird diese Funktion bei den Tabellenrechten einer Benutzergruppe als Regel für Schreibrecht wie folgt eingetragen, so kann diese Benutzergruppe die Tabelle nur an Freitagen editieren:
return extShowOnlyOnWeekday("Friday");
