Damn, a checkbox returns 'on' for true
[misc/kostenrechnung] / masks / arbeitsberichte.php
index 6ad35d2..cfd7656 100644 (file)
@@ -28,7 +28,15 @@ function select_geraet_callback(data)
     var id = 'edit_anbaugeraet';
     if (num > 0) id += ':' + num;
 
-    select_update(id,data.info);
+    var obj = document.getElementById(id);
+
+    if (data.info.length) {
+      if (obj.options.length == 0)
+       obj.options[0] = new Option('Bitte wählen Sie','',false,false);
+      select_update(id,data.info, 1);
+    } else
+      obj.options.length = 0;
+
 }
 
 function select_geraet(obj)
@@ -128,9 +136,7 @@ function einsatz_check()
        ordnung: 'Gewässerordnung',
        arbeitsart: 'Arbeiten',
        personal: 'Mitarbeiter',
-       stunden: 'Stunden',
-       geraet: 'Gerät',
-       geraetstunden: 'Gerätestunden'};
+       stunden: 'Stunden'};
 
     for (id in fields) {
        var elem = document.getElementById('edit_' + id);
@@ -222,7 +228,7 @@ $formular = <<<EOC
 <tr>
  <td width="30%"><select id="edit_geraet" name="geraet" onchange="select_geraet(this)"><option value="">Bitte wählen Sie</option></select></td>
  <td width="30%"><select id="edit_anbaugeraet" name="anbaugeraet"></select></td>
- <td width="30%"><input id="edit_geraetstunden" name="stunden" size="5" type="text"></td>
+ <td width="30%"><input id="edit_geraetstunden" name="geraetstunden" size="5" type="text"></td>
  <td width="10%" align="right"valign="bottom"><button onclick="return replicate_geraete()" style="color: red; font-weight: bold;">+&nbsp;</button></td>
 </tr>
 </table>
@@ -258,7 +264,7 @@ function einsatz_insert($mask)
                 $_POST['gebiet'],
                 $_POST['kostenstelle'],
                 $_POST['arbeitsart'],
-                $_POST['akkord'],
+                $_POST['akkord']==='on'?1:0,
                 empty($_POST['bemerkung']) ? 'NULL' : "'" . pg_escape_string($_POST['bemerkung']) . "'",
                 pg_escape_string($_SESSION['sys']['login']));
 
@@ -288,6 +294,7 @@ function einsatz_insert($mask)
       $app = ':'.$num;
       if (empty($_POST['personal'.$app])) break;
     }
+    $_POST['stunden'.$app] = str_replace(',','.',$_POST['stunden'.$app]);
     $sql = sprintf("INSERT INTO einsatzpersonal (einsatz,personal,stunden,sys_user,sys_edit) " .
                   "VALUES (%d,%d,%.2f,'%s',now())",
                   $einsatz,
@@ -308,16 +315,15 @@ function einsatz_insert($mask)
 
   $num = 0;$app='';
   while (true) {
-    if ($num) {
-      $app = ':'.$num;
-      if (empty($_POST['geraet'.$app])) break;
-    }
+    if ($num) $app = ':'.$num;
+    if (empty($_POST['geraet'.$app])) break;
+    $_POST['geraetstunden'.$app] = str_replace(',','.',$_POST['geraetstunden'.$app]);
     $sql = sprintf("INSERT INTO einsatzgeraete (einsatz,geraet,anbaugeraet,stunden,sys_user,sys_edit) " .
                   "VALUES (%d,%d,%s,%.2f,'%s',now())",
                   $einsatz,
                   $_POST['geraet'.$app],
                   empty($_POST['anbaugeraet'.$app]) ? 'NULL' : intval($_POST['anbaugeraet'.$app]),
-                  $_POST['stunden'.$app],
+                  $_POST['geraetstunden'.$app],
                   pg_escape_string($_SESSION['sys']['login']));
 
     $sth = pg_query($sql);
@@ -347,7 +353,7 @@ $mask = array(
                                            'sql' => 'SELECT id,name AS text FROM ordnungen ORDER BY id',
                                            ),
                              'mitarbeiter' => array(
-                                           'sql' => 'SELECT id,vorname || \' \' || name AS text FROM personal WHERE aktiv = 1 ORDER BY text',
+                                           'sql' => 'SELECT id,name || \', \' || vorname AS text FROM personal WHERE aktiv = 1 ORDER BY text',
                                            ),
                              'geraete' => array(
                                            'sql' => 'SELECT id,geraet AS text FROM gerate ORDER BY text',