$jscode[] = <<<EOC
+post_save = materialverbrauch_post_save;
+pre_insert = materialverbrauch_pre_insert;
+
+function materialverbrauch_post_save()
+{
+ var einsatz = document.getElementById('edit_einsatz');
+
+ var params = 'source=' + grid.tableId.substr(5) + '&id=' + einsatz.value;
+ ajax_request('details', params, details_callback);
+
+ var material = document.getElementById('edit_material');
+ material.selectedIndex = 0;
+}
+
+function materialverbrauch_pre_insert()
+{
+ var material = document.getElementById('edit_material');
+ var einsatz = document.getElementById('edit_einsatz');
+ var menge = document.getElementById('edit_menge');
+
+ if (!material.options[material.selectedIndex].value.length) {
+ alert('Sie haben kein Material ausgewählt.');
+ return false;
+ }
+
+ if (!einsatz.value.length) {
+ alert('Sie haben keinen Einsatzbericht ausgewählt.');
+ return false;
+ }
+
+ if (!menge.value.length) {
+ alert('Sie haben keine Menge angegeben.');
+ return false;
+ }
+
+ return true;
+}
+
function einheit_callback(data)
{
var einheit = document.getElementById('edit_einheit');
$sql = 'SELECT materialien.material,menge,einheiten.einheit FROM materialverbrauch '
. 'JOIN materialien ON materialverbrauch.material = materialien.id '
. 'JOIN einheiten ON materialien.einheit = einheiten.id '
- . 'WHERE einsatz = ' . intval($_POST['id']);
+ . 'WHERE einsatz = ' . intval($_POST['id']) . ' '
+ . 'ORDER BY materialien.material';
$data = query_db($sql);
$mask = array(
'table' => 'einsatz',
'title' => 'Materialverbrauch zu Arbeitsberichten',
- 'join' => array('kostenstellen ON einsatz.kostenstelle = kostenstellen.id'),
+ 'join' => array(
+ 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
+ 'gebiet ON kostenstellen.gebiet = gebiet.id',
+ ),
'list' => array(
'id' => array(
'name' => 'ID',
'sql' => 'einsatz.id',
+ 'width' => 60,
'visible' => false,
),
'datum' => array(
'type' => 'date',
'width' => 70,
),
+ 'gebiet' => array(
+ 'name' => 'Gebiet',
+ 'width' => 230,
+ 'sql' => 'gebiet.gebiet',
+ ),
'kostenstelle' => array(
'name' => 'Kostenstelle',
'width' => 230,
'name' => 'Material',
'type' => 'select',
'options' => 'SELECT id,material AS text FROM materialien ORDER BY text',
+ 'option_empty' => 'Bitte wählen Sie',
'onchange' => 'select_material(this)',
'sql' => false,
),