diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php
index 4515a316b..2484d316c 100644
--- a/cis/private/profile/zeitsperre.php
+++ b/cis/private/profile/zeitsperre.php
@@ -134,7 +134,7 @@ require_once('../../../include/Excel/excel.php');
if (is_null($funktion))
$mitarbeiter=$ma->getMitarbeiter($lektor,$fix);
else
- $mitarbeiter=$ma->getMitarbeiterStg(true,null,$stge,$funktion);
+ $mitarbeiter=$ma->getMitarbeiterStg(false,null,$stge,$funktion,'nachname,vorname');
}
}
@@ -199,39 +199,44 @@ if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls')
$zeile=0;
$spalte=0;
+ $uid='';
$zs=new zeitsperre();
if(is_array($mitarbeiter))
{
foreach ($mitarbeiter as $ma)
{
- if($ma->aktiv)
- {
- $zeile++;
- $spalte=0;
- $zs->getzeitsperren($ma->uid, false);
- $worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen);
- for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
- {
- $wt=date('N',$ts);
- $grund=$zs->getTyp($ts);
- $erbk=html_entity_decode($zs->getErreichbarkeit($ts));
- $vertretung=$zs->getVertretung($ts);
- $zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
- $zelleninhalt .= ($erbk!=''?(($erbk!=''?substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk. "\n"):'');
- $zelleninhalt .= ($erbk!=''?($erbk!=''?substr($p->t('urlaubstool/vertretung'),0,1).': ':''):'');
- $count = 0;
- foreach ($vertretung as $vt)
+ if ($ma->uid!=$uid) //Um doppelte Eintraege rauszufiltern
+ {
+ if($ma->aktiv)
+ {
+ $zeile++;
+ $spalte=0;
+ $zs->getzeitsperren($ma->uid, false);
+ $worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen);
+ for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
{
- if ($vt!='')
+ $wt=date('N',$ts);
+ $grund=$zs->getTyp($ts);
+ $erbk=html_entity_decode($zs->getErreichbarkeit($ts));
+ $vertretung=$zs->getVertretung($ts);
+ $zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
+ $zelleninhalt .= ($erbk!=''?(($erbk!=''?substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk. "\n"):'');
+ $zelleninhalt .= ($erbk!=''?($erbk!=''?substr($p->t('urlaubstool/vertretung'),0,1).': ':''):'');
+ $count = 0;
+ foreach ($vertretung as $vt)
{
- $ma_kurzbz = new mitarbeiter();
- $ma_kurzbz->load($vt);
- $zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')';
- $count++;
+ if ($vt!='')
+ {
+ $ma_kurzbz = new mitarbeiter();
+ $ma_kurzbz->load($vt);
+ $zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')';
+ $count++;
+ }
}
+ $worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig);
}
- $worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig);
}
+ $uid=$ma->uid;
}
}
}
@@ -309,46 +314,50 @@ else
echo '';
-
+ $uid='';
$zs=new zeitsperre();
if(is_array($mitarbeiter))
{
foreach ($mitarbeiter as $ma)
{
- if($ma->aktiv)
+ if ($ma->uid!=$uid) //Um doppelte Eintraege rauszufiltern
{
- $zs->getzeitsperren($ma->uid, false);
- echo '
';
- echo '| '.trim($ma->nachname).' '.trim($ma->vorname).' | ';
- for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
+ if($ma->aktiv)
{
- $tag=date('d',$ts);
- $monat=date('M',$ts);
- $wt=date('N',$ts);
-
- if ($wt==7 || $wt==6)
- $class=' class="feiertag" ';
- else
- $class='';
- $grund=$zs->getTyp($ts);
- $erbk=$zs->getErreichbarkeit($ts);
- $vertretung=$zs->getVertretung($ts);
- echo ''.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund;
- echo ' '.($erbk!=''?''.substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk;
- echo ' '.($erbk!=''?''.substr($p->t('urlaubstool/vertretung'),0,1).': ':'');
- foreach ($vertretung as $vt)
+ $zs->getzeitsperren($ma->uid, false);
+ echo ' |
';
+ echo '| '.trim($ma->nachname).' '.trim($ma->vorname).' | ';
+ for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
{
- if ($vt!='')
+ $tag=date('d',$ts);
+ $monat=date('M',$ts);
+ $wt=date('N',$ts);
+
+ if ($wt==7 || $wt==6)
+ $class=' class="feiertag" ';
+ else
+ $class='';
+ $grund=$zs->getTyp($ts);
+ $erbk=$zs->getErreichbarkeit($ts);
+ $vertretung=$zs->getVertretung($ts);
+ echo ''.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund;
+ echo ' '.($erbk!=''?''.substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk;
+ echo ' '.($erbk!=''?''.substr($p->t('urlaubstool/vertretung'),0,1).': ':'');
+ foreach ($vertretung as $vt)
{
- $ma_kurzbz = new mitarbeiter();
- $ma_kurzbz->load($vt);
- echo ''.$ma_kurzbz->kurzbz.' ';
+ if ($vt!='')
+ {
+ $ma_kurzbz = new mitarbeiter();
+ $ma_kurzbz->load($vt);
+ echo ''.$ma_kurzbz->kurzbz.' ';
+ }
}
+ echo ' | ';
}
- echo '';
+ echo '
';
}
- echo '';
- }
+ $uid=$ma->uid;
+ }
}
}
diff --git a/cms/menu/menu_addon_zeitsperren.inc.php b/cms/menu/menu_addon_zeitsperren.inc.php
index d4a6a31f6..a7d89ca90 100755
--- a/cms/menu/menu_addon_zeitsperren.inc.php
+++ b/cms/menu/menu_addon_zeitsperren.inc.php
@@ -79,6 +79,11 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre.php?organisationseinheit=',
'name' => $p->t('menu/organisationseinheit')
);
+ $this->items[] = array('title' => $p->t('menu/assistenz'),
+ 'target'=> 'content',
+ 'link' => 'private/profile/zeitsperre.php?funktion=ass',
+ 'name' => $p->t('menu/assistenz')
+ );
}
$stg_obj = new studiengang();
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index aaffe3933..175517fc4 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -396,7 +396,7 @@ class mitarbeiter extends benutzer
* @param $fkt_kurzbz
* @return boolean
*/
- public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz)
+ public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz, $order='studiengang_kz, nachname, vorname, kurzbz')
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz FROM campus.vw_mitarbeiter
JOIN public.tbl_benutzerfunktion USING (uid) JOIN public.tbl_studiengang USING(oe_kurzbz)
@@ -435,7 +435,7 @@ class mitarbeiter extends benutzer
if($in!='')
$sql_query.=' AND studiengang_kz in (-1'.$in.')';
}
- $sql_query.=' ORDER BY studiengang_kz, nachname, vorname, kurzbz;';
+ $sql_query.=' ORDER BY '.$order.';';
//echo $sql_query;
if(!$this->db_query($sql_query))
diff --git a/locale/de-AT/menu.php b/locale/de-AT/menu.php
index 6edea8165..e376a55b1 100755
--- a/locale/de-AT/menu.php
+++ b/locale/de-AT/menu.php
@@ -4,6 +4,7 @@ $this->phrasen['menu/resturlaub']='Resturlaubstage';
$this->phrasen['menu/fixangestellte']='Zeitsperren aller Fixangestellten';
$this->phrasen['menu/fixelektoren']='Zeitsperren aller fixen LektorInnen';
$this->phrasen['menu/organisationseinheit']='Zeitsperren nach Organisationseinheit';
+$this->phrasen['menu/assistenz']='Zeitsperren aller AssistentInnen';
$this->phrasen['menu/lektoren']='Lektoren';
$this->phrasen['menu/urlaubAlle']='Alle';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Suche Person / Ort / Dokument / Inhalt / Durchwahl';
diff --git a/locale/en-US/menu.php b/locale/en-US/menu.php
index 700b9ccf9..6a3ebec38 100755
--- a/locale/en-US/menu.php
+++ b/locale/en-US/menu.php
@@ -4,6 +4,7 @@ $this->phrasen['menu/resturlaub']='Remaining leave';
$this->phrasen['menu/fixangestellte']='Salaried';
$this->phrasen['menu/fixelektoren']='salaried Lector';
$this->phrasen['menu/organisationseinheit']='Organization Units';
+$this->phrasen['menu/assistenz']='Assistants';
$this->phrasen['menu/lektoren']='Lector';
$this->phrasen['menu/urlaubAlle']='All';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Search Person / Room / Document / Content / Extension';