5 function select_gebiet_callback(data)
7 var obj = document.getElementById('edit_kostenstelle');
10 obj.options.length = 0;
12 for (var i=0; i < data.info.length; i++)
13 obj.options[i] = new Option(data.info[i].kostenstelle,data.info[i].id,false,false);
16 function select_group(obj)
18 setvar(obj,'gebiet',false,false);
20 get_info('kostenstellen', {gebiet: obj.options[obj.selectedIndex].value}, select_gebiet_callback);
23 function select_geraet_callback(data)
25 var obj = document.getElementById('edit_anbaugeraet');
28 obj.options.length = 0;
30 for (var i=0; i < data.info.length; i++)
31 obj.options[i] = new Option(data.info[i].anbaugeraet,data.info[i].id,false,false);
34 function select_geraet(obj)
36 setvar(obj,'geraet',false,false);
38 get_info('anbaugeraete', {geraet: obj.options[obj.selectedIndex].value}, select_geraet_callback);
42 function first_gebiet()
44 $sql = "SELECT id FROM gebiet ORDER BY gebiet LIMIT 1";
46 $sth = pg_query($sql);
48 if ($sth === false) return 0;
50 if ($row = pg_fetch_assoc($sth))
56 if (empty($_SESSION['arbeitsberichte.gebiet'])) $_SESSION['arbeitsberichte.gebiet'] = first_gebiet();
57 if (empty($_SESSION['arbeitsberichte.geraet'])) $_SESSION['arbeitsberichte.geraet'] = 0;
61 'title' => 'Arbeitsberichte',
62 'subtitle' => 'Eingabe und Übersicht',
64 'einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id',
65 'personal ON einsatzpersonal.personal = personal.id',
66 'einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id',
67 'gebiet ON einsatz.gebiet = gebiet.id',
68 'gerate ON einsatzgeraete.geraet = gerate.id',
69 'anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id',
70 'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
71 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
73 'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'",
82 'sql' => 'einsatz.id',
89 'kostenstelle' => array(
91 'sql' => "kostenstellen.kostenstelle",
93 'specs' => "filterUI: 's'",
97 'sql' => "gebiet.gebiet",
99 'specs' => "filterUI: 's'",
103 'name' => 'Personal',
104 'sql' => "personal.vorname || ' ' || personal.name",
106 'specs' => "filterUI: 's'",
111 'sql' => 'gerate.geraet',
113 'specs' => "filterUI: 's'",
115 'anbaugeraet' => array(
116 'name' => 'Anbaugerät',
117 'sql' => 'anbaugeraete.anbaugeraet',
119 'specs' => "filterUI: 's'",
121 'personalstunden' => array(
122 'name' => 'Mitarbeiterstunden',
124 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
125 'sql' => 'einsatzpersonal.stunden',
129 'geraetstunden' => array(
130 'name' => 'Gerätstunden',
132 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
133 'sql' => 'einsatzgeraete.stunden',
144 'name' => 'Mitarbeiter',
146 'options' => "SELECT id,vorname || ' ' || name AS text FROM personal ORDER BY text",
151 'options' => "SELECT id,gebiet AS text FROM gebiet ORDER BY text",
152 'selected' => $_SESSION['arbeitsberichte.gebiet'],
153 'onchange' => 'select_group(this)',
155 'kostenstelle' => array(
156 'name' => 'Gewässer',
158 'options' => "SELECT id,kostenstelle AS text FROM kostenstellen WHERE gebiet = " .
159 intval($_SESSION['arbeitsberichte.gebiet']) .
165 'options' => "SELECT id,geraet AS text FROM gerate ORDER BY text",
166 'selected' => $_SESSION['arbeitsberichte.geraet'],
167 'onchange' => 'select_geraet(this)',
169 'anbaugeraet' => array(
170 'name' => 'Anbaugerät',
172 'options' => "SELECT anbaugeraete.id,anbaugeraet AS text FROM anbaugeraete " .
173 "JOIN gerate ON anbaugeraete.geraetetyp = gerate.geraetetyp " .
174 "WHERE gerate.id = " . intval($_SESSION['arbeitsberichte.geraet']) . " " .
178 'name' => 'Arbeitsart',
180 'options' => "SELECT id,arbeitsart AS text FROM arbeitsarten ORDER BY text",
187 'geraetstunden' => array(
188 'name' => 'Gerätstunden',
193 'name' => 'Gewässerordnung',
195 'options' => "SELECT id,name AS text FROM ordnungen ORDER BY text",
201 'bemerkung' => array(
202 'name' => 'Bemerkung',
203 'type' => 'textarea',
207 'kostenstellen' => array(
208 'sql' => 'SELECT id,kostenstelle FROM kostenstellen WHERE gebiet = {gebiet}',
210 'anbaugeraete' => array(
211 'sql' => 'SELECT anbaugeraete.id,anbaugeraet FROM anbaugeraete ' .
212 'JOIN gerate ON anbaugeraete.geraetetyp = gerate.geraetetyp ' .
213 'WHERE gerate.id = {geraet}',