From: Joey Schulze Date: Thu, 9 Dec 2010 18:39:31 +0000 (+0100) Subject: Use Rico.TableColumn.lookup and table for some columns X-Git-Url: https://git.infodrom.org/?p=misc%2Fkostenrechnung;a=commitdiff_plain;h=f4f10947a07576ef04aabc8aeef8f9de9d98094b Use Rico.TableColumn.lookup and table for some columns --- diff --git a/masks/gereinigt.php b/masks/gereinigt.php index e9a1679..15637cc 100644 --- a/masks/gereinigt.php +++ b/masks/gereinigt.php @@ -14,10 +14,21 @@ $details = << EOC; +function gebiete() +{ + $sql = "SELECT id,gebiet FROM gebiet ORDER BY id"; + $sth = pg_query($sql); + + $result = array(); + while ($row = pg_fetch_assoc($sth)) + $result[] = sprintf("%d: '%s'", $row['id'], $row['gebiet']); + + return '{' . implode(', ', $result) . '}'; +} + $mask = array( 'table' => 'kostenstellen', 'title' => 'Gewässer gereinigt?', - 'join' => array('gebiet ON kostenstellen.gebiet = gebiet.id'), 'select' => array( 'title' => 'Auswahl', 'options' => discover_years(true), @@ -36,7 +47,8 @@ $mask = array( ), 'gebiet' => array( 'name' => 'Gebiet', - 'sql' => 'gebiet.gebiet', + 'sql' => 'gebiet', + 'control' => "new Rico.TableColumn.lookup(".gebiete().", 0, '')", 'specs' => "filterUI: 's'", 'width' => 270, ), diff --git a/masks/korrektur.php b/masks/korrektur.php index a799e29..093c2ed 100644 --- a/masks/korrektur.php +++ b/masks/korrektur.php @@ -548,13 +548,24 @@ function korrektur_delete($mask) return delete_or_copy_row($mask['table'], $id); } +function gebiete() +{ + $sql = "SELECT id,gebiet FROM gebiet ORDER BY id"; + $sth = pg_query($sql); + + $result = array(); + while ($row = pg_fetch_assoc($sth)) + $result[] = sprintf("%d: '%s'", $row['id'], $row['gebiet']); + + return '{' . implode(', ', $result) . '}'; +} + $mask = array( 'table' => 'einsatz', 'tables_delete' => array('einsatzpersonal','einsatzgeraete'), 'title' => 'Korrektur von Arbeitsberichten', 'join' => array( 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id', - 'gebiet ON kostenstellen.gebiet = gebiet.id', ), 'list' => array( 'id' => array( @@ -572,7 +583,8 @@ $mask = array( 'gebiet' => array( 'name' => 'Gebiet', 'width' => 230, - 'sql' => 'gebiet.gebiet', + 'sql' => 'einsatz.gebiet', + 'control' => "new Rico.TableColumn.lookup(".gebiete().", 0, '')", 'specs' => "filterUI: 's'", ), 'kostenstelle' => array( diff --git a/masks/kostenstellen.php b/masks/kostenstellen.php index b11f36e..4992fe4 100644 --- a/masks/kostenstellen.php +++ b/masks/kostenstellen.php @@ -1,9 +1,20 @@ 'kostenstellen', 'title' => 'Kostenstellen', - 'join' => array('gebiet ON kostenstellen.gebiet = gebiet.id'), 'list' => array( 'id' => array( 'name' => 'ID', @@ -17,7 +28,8 @@ $mask = array( ), 'gebiet' => array( 'name' => 'Gebiet', - 'sql' => 'gebiet.gebiet', + 'sql' => 'kostenstellen.gebiet', + 'control' => "new Rico.TableColumn.lookup(".gebiete().", 0, '')", 'specs' => "filterUI: 's'", 'width' => 220, ), diff --git a/masks/overview_kostenstellen.php b/masks/overview_kostenstellen.php index 0fae553..9bc7e6f 100644 --- a/masks/overview_kostenstellen.php +++ b/masks/overview_kostenstellen.php @@ -4,10 +4,21 @@ include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php'); if (empty($_SESSION['overview_kostenstellen.year'])) $_SESSION['overview_kostenstellen.year'] = 0; +function gebiete() +{ + $sql = "SELECT id,gebiet FROM gebiet ORDER BY id"; + $sth = pg_query($sql); + + $result = array(); + while ($row = pg_fetch_assoc($sth)) + $result[] = sprintf("%d: '%s'", $row['id'], $row['gebiet']); + + return '{' . implode(', ', $result) . '}'; +} + $mask = array( 'table' => 'kostenstellen', 'title' => 'Übersicht nach Kostenstellen', - 'join' => array('gebiet ON kostenstellen.gebiet = gebiet.id'), 'select' => array( 'title' => 'Auswahl', 'options' => discover_years(), @@ -27,9 +38,10 @@ $mask = array( ), 'gebiet' => array( 'name' => 'Gebiet', - 'sql' => "gebiet.gebiet", + 'sql' => 'kostenstellen.gebiet', + 'control' => "new Rico.TableColumn.lookup(".gebiete().", 0, '')", 'width' => 220, - 'specs' => "filterUI: 't'", + 'specs' => "filterUI: 's'", ), 'kostenstelle' => array( 'name' => 'Gewässer',