Allow updating the filters separately
[misc/kostenrechnung] / masks / overview_mitarbeiter.php
1 <?php
2
3 $jscode[] = <<<EOC
4
5 function select_year_calback(data)
6 {
7   grid_update(grid);
8 }
9
10 function select_year_status(obj, value, html)
11 {
12   if (value.length)
13     info('Jahr ' + value + ' ausgewählt');
14   else
15     info('');
16 }
17 EOC;
18
19 include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
20
21 if (empty($_SESSION['overview_mitarbeiter.year'])) $_SESSION['overview_mitarbeiter.year'] = 0;
22
23 $mask = array(
24               'table' => 'einsatz',
25               'title' => 'Gesamtstundenaufwand pro Mitarbeiter',
26               'join' => array('personal ON einsatz.personal = personal.id',
27                               'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
28                               ),
29               'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
30                        . " AND date_part('year', datum) = " . $_SESSION['overview_mitarbeiter.year'],
31               'select' => array(
32                                 'title' => 'Auswahl',
33                                 'options' => discover_years(),
34                                 'default' => 'Jahr wählen',
35                                 'selected' => $_SESSION['overview_mitarbeiter.year'],
36                                 'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
37                                 ),
38               'variables' => array(
39                                    'year' => array(),
40                                    ),
41               'list' => array(
42                               'id' => array(
43                                             'name' => 'ID',
44                                             'visible' => false,
45                                             'sql' => 'einsatz.id',
46                                             ),
47                               'datum' => array(
48                                             'name' => 'Datum',
49                                             'type' => 'date',
50                                             'width' => 70,
51                                             ),
52                               'personal' => array(
53                                             'name' => 'Mitarbeiter',
54                                             'sql' => "personal.vorname || ' ' || personal.name",
55                                             'width' => 150,
56                                             'specs' => "filterUI: 's'",
57                                             ),
58                               'arbeitsarten' => array(
59                                             'name' => 'Arbeiten',
60                                             'sql' => "arbeitsarten.arbeitsart",
61                                             'width' => 150,
62                                             'specs' => "filterUI: 's'",
63                                             ),
64                               'stunden' => array(
65                                             'name' => 'Stunden',
66                                             'type' => 'number',
67                                             'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
68                                             'width' => 60,
69                                             ),
70                               ),
71               );
72
73 ?>