+
+
+
+
+
+
-Zeitsperren
vorgesetzter)?$row->vorgesetzter:'');
+}
+
//Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
{
@@ -153,6 +179,11 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$zeitsperre->insertvon = $uid;
}
+ if(!$error && $zeitsperre->freigabeamum!='')
+ {
+ $error = true;
+ $error_msg.='Dieser Urlaub kann nicht mehr editiert werden, da er schon freigegeben wurde';
+ }
if(!$error)
{
$zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
@@ -170,6 +201,35 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
if($zeitsperre->save())
{
echo "Daten wurden erfolgreich gespeichert";
+ if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
+ {
+ //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
+ $vorgesetzter = getVorgesetzten($uid);
+ if($vorgesetzter!='')
+ {
+ $to = $vorgesetzter.'@'.DOMAIN;
+ //$to = 'oesi@technikum-wien.at';
+ $benutzer = new benutzer($conn);
+ $benutzer->load($uid);
+ $message = "Dies ist eine automatische Mail! \n".
+ "$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
+ "$zeitsperre->bezeichnung von $zeitsperre->vondatum bis $zeitsperre->bisdatum\n\n".
+ "Sie können diesen unter folgender Adresse freigeben:\n".
+ "https://cis.technikum-wien.at/cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
+ if(mail($to, 'Freigabeansuchen', $message,'From: vilesci@'.DOMAIN))
+ {
+ echo "Freigabemail wurde an $to versandt ";
+ }
+ else
+ {
+ echo "Fehler beim Senden des Freigabemails an $to ";
+ }
+ }
+ else
+ {
+ echo "Es konnte keine Freigabemail versendet werden da kein Vorgesetzter eingetragen ist ";
+ }
+ }
}
else
echo "Fehler beim Speichern der Daten ";
@@ -201,11 +261,21 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
//zeitsperren des users laden
$zeit = new zeitsperre($conn);
$zeit->getzeitsperren($uid);
-$content_table='';
+$content_table=' ';
+
+$qry = "SELECT * FROM campus.tbl_erreichbarkeit";
+$erreichbarkeit_arr=array();
+if($result = pg_query($conn, $qry))
+{
+ while($row = pg_fetch_object($result))
+ {
+ $erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung;
+ }
+}
//liste aller zeitsperren ausgeben
if(count($zeit->result)>0)
{
- $content_table.= 'Bezeichnung Grund Von Bis Vertretung Erreichbarkeit ';
+ $content_table.= 'Bezeichnung Grund Von Bis Vertretung Erreichbarkeit Freigegeben ';
$i=0;
foreach ($zeit->result as $row)
{
@@ -214,7 +284,20 @@ if(count($zeit->result)>0)
$qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND tbl_benutzer.person_id=tbl_person.person_id AND mitarbeiter_uid='$row->vertretung_uid'";
$result_vertretung = pg_query($conn, $qry);
$row_vertretung = pg_fetch_object($result_vertretung);
- $content_table.= "$row->bezeichnung $row->zeitsperretyp_kurzbz ".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')." ".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')." ".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')." $row->erreichbarkeit edit delete ";
+ $content_table.= "
+ $row->bezeichnung
+ $row->zeitsperretyp_kurzbz
+ ".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."
+ ".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."
+ ".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."
+ ".$erreichbarkeit_arr[$row->erreichbarkeit]."
+ ".($row->freigabeamum!=''?'Ja':'')." ";
+ if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
+ {
+ $content_table.="edit
+ delete ";
+ }
+ $content_table.=" ";
}
$content_table.= '
';
}
@@ -304,19 +387,14 @@ for($i=0;$i<$num_rows_stunde;$i++)
$content_form.= "";
$content_form.= "Erreichbarkeit ";
-//dropdown fuer vertretung
-$qry = "SELECT * FROM campus.tbl_erreichbarkeit";
-
-if($result = pg_query($conn, $qry))
+foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
{
- while($row = pg_fetch_object($result))
- {
- if($zeitsperre->erreichbarkeit == $row->erreichbarkeit_kurzbz)
- $content_form.= "$row->beschreibung \n";
- else
- $content_form.= "$row->beschreibung \n";
- }
+ if($zeitsperre->erreichbarkeit == $erreichbarkeit_key)
+ $content_form.= "$erreichbarkeit_beschreibung \n";
+ else
+ $content_form.= "$erreichbarkeit_beschreibung \n";
}
+
$content_form.= ' ';
$content_form.= "Vertretung ";
@@ -350,7 +428,7 @@ $content_resturlaub = '';
$resturlaubstage = '0';
$mehrarbeitsstunden = '0';
$anspruch = '25';
-
+/*
if(isset($_GET['type']) && $_GET['type']=='save_resturlaub')
{
$_POST['mehrarbeitsstunden'] = str_replace(',','.',$_POST['mehrarbeitsstunden']);
@@ -389,7 +467,7 @@ if(isset($_GET['type']) && $_GET['type']=='save_resturlaub')
$anspruch = htmlspecialchars($resturlaub->urlaubstageprojahr,ENT_QUOTES);
}
else
-{
+{*/
$resturlaub = new resturlaub($conn);
if($resturlaub->load($uid))
@@ -398,20 +476,21 @@ else
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}
-}
+/*}
if($anspruch=='')
$anspruch=25;
-
+
//Eingabefelder am 15.12.2007 deaktivieren
if((date('d')>=15 && date('m')>=12 && date('Y')>=2007) || date('Y')>2007)
$disabled='disabled="true"';
else
$disabled='';
-
+*/
//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies
//im config angegeben ist
if(URLAUB_TOOLS)
{
+ /*
$content_resturlaub.='
\ No newline at end of file
diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index b210f095f..404ba0594 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -429,6 +429,16 @@ Seamonkey Version nicht möglich
Erledigte Anforderungen
+ LVPlanung ist jetzt auch im Excel-Format verfügbar.
+Betreuungen sind in dieser Liste allerdings nicht enthalten
+02.06.2008 oesi
+
+
+ Wenn der Zustelladresse eines Mitarbeiters eine Firma zugeordnet
+ist, scheint die Firmenadresse am Lehrauftrag auf anstatt der eigenen.
+02.06.2008 oesi
+
+
Bei der Zuteilung von Lektoren zu Lehreinheiten werden jetzt
automatisch die Semesterstunden der LV vorgeschlagen
27.05.2008 oesi
diff --git a/content/fas.xul.php b/content/fas.xul.php
index 41b48eac4..b1c9f3b4c 100644
--- a/content/fas.xul.php
+++ b/content/fas.xul.php
@@ -81,6 +81,7 @@ echo '';
+
@@ -231,12 +232,22 @@ echo '';
label = "&menu-statistic-lehrauftraege.label;"
command = "menu-statistic-lehrauftraege:command"
accesskey = "&menu-statistic-lehrauftraege.accesskey;"/>
-
+
funktion_kurzbz=='fbl')
+ {
+ if($institut!='')
+ $institut.=',';
+
+ $institut.="'".addslashes($row->fachbereich_kurzbz)."'";
+ }
+ elseif($row->funktion_kurzbz=='stgl')
+ {
+ if($stge!='')
+ $stge.=',';
+ $stge.="'".$row->studiengang_kz."'";
+ }
+
+ }
+ }
+
+ $qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='Institut' AND (false ";
+
+ if($institut!='')
+ $qry.=" OR fachbereich_kurzbz in($institut)";
+ if($stge!='')
+ $qry.=" OR studiengang_kz in($stge)";
+
+ $qry.=")";
+
+ $untergebene='';
+ if($result = pg_query($db_conn, $qry))
+ {
+
+
+ while($row = pg_fetch_object($result))
+ {
+ if($untergebene!='')
+ $untergebene.=',';
+ $untergebene.="'".addslashes($row->uid)."'";
+ }
+ }
+
+ if($untergebene!='')
+ {
+ $qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene) ORDER BY nachname, vorname";
+
+ if($result = pg_query($db_conn, $qry))
+ {
+ echo '
+
+
+
+
+
+
+
+
+
+
+
+ ';
+ }
+
+ }
}
?>
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index dfbdb57d7..ce867dab6 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -42,6 +42,8 @@ class zeitsperre
var $updatevon; // string
var $insertamum; // timestamp
var $insertvon; // string
+ var $freigabeamum;
+ var $freigabevon;
/**
@@ -70,9 +72,14 @@ class zeitsperre
WHERE mitarbeiter_uid='".addslashes($uid)."'";
if($bisgrenze)
- $qry.=" AND bisdatum>=now()::date";
+ $qry.=" AND (
+ (date_part('month',vondatum)>=9 AND date_part('year', vondatum)>='".(date('Y')-1)."')
+ OR
+ (date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."')
+ )";
+ //$qry.=" AND bisdatum>=now()::date";
- $qry.= " ORDER BY vondatum";
+ $qry.= " ORDER BY vondatum DESC";
//echo $qry;
if($result = pg_query($this->conn, $qry))
{
@@ -100,6 +107,8 @@ class zeitsperre
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
+ $obj->freigabeamum = $row->freigabeamum;
+ $obj->freigabevon = $row->freigabevon;
$this->result[] = $obj;
@@ -151,6 +160,8 @@ class zeitsperre
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
+ $this->freigabeamum = $row->freigabeamum;
+ $this->freigabevon = $row->freigabevon;
}
else
{
@@ -237,7 +248,7 @@ class zeitsperre
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit_kurzbz, vertretung_uid, insertamum,'.
- ' insertvon, updateamum, updatevon) VALUES ('.
+ ' insertvon, updateamum, updatevon, freigabeamum, freigabevon) VALUES ('.
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->bezeichnung).', '.
@@ -250,7 +261,9 @@ class zeitsperre
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
- $this->addslashes($this->updatevon).'); ';
+ $this->addslashes($this->updatevon).','.
+ $this->addslashes($this->freigabeamum).','.
+ $this->addslashes($this->freigabevon).'); ';
}
else
{
@@ -275,6 +288,8 @@ class zeitsperre
'vertretung_uid='.$this->addslashes($this->vertretung_uid).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
+ 'freigabeamum='.$this->addslashes($this->freigabeamum).', '.
+ 'freigabevon='.$this->addslashes($this->freigabevon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
diff --git a/locale/de-AT/fas.dtd b/locale/de-AT/fas.dtd
index f2f8d04a3..7bbdaea88 100644
--- a/locale/de-AT/fas.dtd
+++ b/locale/de-AT/fas.dtd
@@ -50,9 +50,17 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php
index eca91d723..e0849a392 100644
--- a/rdf/lehrauftrag.xml.php
+++ b/rdf/lehrauftrag.xml.php
@@ -181,22 +181,44 @@ function drawLehrauftrag($uid)