diff --git a/cis/private/menu.php b/cis/private/menu.php index ea0602ac8..cca876bac 100644 --- a/cis/private/menu.php +++ b/cis/private/menu.php @@ -157,7 +157,25 @@ else    LV-Plan '; - + + //Projekt-Zeitaufzeichnung + $qry = "SELECT count(*) as anzahl FROM fue.tbl_projektbenutzer WHERE uid='$user'"; + + if($result = pg_query($db_conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + if($row->anzahl>0) + { + echo ' + +   +  Zeitaufzeichnung + '; + } + } + } + if ($is_student) { echo ' diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php new file mode 100644 index 000000000..22bdf8ec6 --- /dev/null +++ b/cis/private/tools/zeitaufzeichnung.php @@ -0,0 +1,342 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +require_once('../../config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/person.class.php'); +require_once('../../../include/benutzer.class.php'); +require_once('../../../include/studiengang.class.php'); +require_once('../../../include/fachbereich.class.php'); +require_once('../../../include/zeitaufzeichnung.class.php'); +require_once('../../../include/datum.class.php'); + +echo ' + + + +Zeitaufzeichnung + + + + + + +'; + +echo ' + + + + +
  + + + + +
Zeitaufzeichnung
+
'; + +//Variablen initialisieren +if(!$conn = pg_pconnect(CONN_STRING)) + die('Datenbankverbindung fehlgeschlagen'); + +$user = get_uid(); +$datum = new datum(); +$studiengang = new studiengang($conn); +$studiengang->getAll('typ, kurzbz', false); +$stg_arr = array(); + +foreach ($studiengang->result as $stg) +{ + $stg_arr[$stg->studiengang_kz]=$stg->kuerzel; +} + +$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:''); +$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:''); +$studiengang_kz = (isset($_POST['studiengang'])?$_POST['studiengang']:''); +$fachbereich_kurzbz = (isset($_POST['fachbereich'])?$_POST['fachbereich']:''); +$aktivitaet_kurzbz = (isset($_POST['aktivitaet'])?$_POST['aktivitaet']:''); +$von = (isset($_POST['von'])?$_POST['von']:date('d.m.Y H:i:s')); +$bis = (isset($_POST['bis'])?$_POST['bis']:date('d.m.Y H:i:s')); +$beschreibung = (isset($_POST['beschreibung'])?$_POST['beschreibung']:''); + +//Speichern der Daten +if(isset($_POST['save']) || isset($_POST['edit'])) +{ + $zeit = new zeitaufzeichnung($conn); + + if(isset($_POST['edit'])) + { + if(!$zeit->load($zeitaufzeichnung_id)) + die('Fehler beim Laden des Datensatzes'); + + $zeit->new = false; + } + else + { + $zeit->new = true; + $zeit->insertamum = date('Y-m-d H:i:s'); + $zeit->insertvon = $user; + } + + $zeit->uid = $user; + $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; + $zeit->start = $von; + $zeit->ende = $bis; + $zeit->beschreibung = $beschreibung; + $zeit->studiengang_kz = $studiengang_kz; + $zeit->fachbereich_kurzbz = $fachbereich_kurzbz; + $zeit->updateamum = date('Y-m-d H:i:s'); + $zeit->updatevon = $user; + $zeit->projekt_kurzbz = $projekt_kurzbz; + + if(!$zeit->save()) + { + echo 'Fehler beim Speichern der Daten:'.$zeit->errormsg.'
'; + } + else + { + echo 'Daten wurden gespeichert
'; + } +} + +//Datensatz loeschen +if(isset($_GET['type']) && $_GET['type']=='delete') +{ + $zeit = new zeitaufzeichnung($conn); + + if($zeit->load($zeitaufzeichnung_id)) + { + if($zeit->uid==$user) + { + if($zeit->delete($zeitaufzeichnung_id)) + echo 'Eintrag wurde geloescht
'; + else + echo 'Fehler beim Loeschen des Eintrages
'; + } + else + echo 'Keine Berechtigung!
'; + } + else + echo 'Datensatz wurde nicht gefunden
'; +} + +//Laden der Daten zum aendern +if(isset($_GET['type']) && $_GET['type']=='edit') +{ + $zeit = new zeitaufzeichnung($conn); + + if($zeit->load($zeitaufzeichnung_id)) + { + if($zeit->uid==$user) + { + $uid = $zeit->uid; + $aktivitaet_kurzbz = $zeit->aktivitaet_kurzbz; + $von = date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($zeit->start)); + $bis = date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($zeit->ende)); + $beschreibung = $zeit->beschreibung; + $studiengang_kz = $zeit->studiengang_kz; + $fachbereich_kurzbz = $zeit->fachbereich_kurzbz; + $projekt_kurzbz = $zeit->projekt_kurzbz; + } + } +} + +//Projekte holen fuer zu denen der Benutzer zugeteilt ist +$qry_projekt = "SELECT distinct tbl_projekt.* FROM fue.tbl_projektbenutzer JOIN fue.tbl_projekt USING(projekt_kurzbz) WHERE beginn<=now() AND (ende>=now() OR ende is null)"; + +if($result_projekt = pg_query($conn, $qry_projekt)) +{ + if(pg_num_rows($result_projekt)>0) + { + $bn = new benutzer($conn); + if(!$bn->load($user)) + die("Benutzer $user wurde nicht gefunden"); + + echo " +
Zeitaufzeichnung von $bn->vorname $bn->nachnameNEU
"; + + //Formular + echo '

'; + + echo ''; + //Projekt + echo ''; + + //Studiengang + echo ''; + echo ''; + + //Aktivitaet + echo ''; + echo ''; + echo ''; + //Start/Ende + echo ' + + + + '; + //Beschreibung + echo ''; + echo ''; + else + echo ''; + echo '
ProjektStudiengang'; + echo '
Aktivität'; + + $qry = "SELECT * FROM fue.tbl_aktivitaet ORDER by beschreibung"; + if($result = pg_query($conn, $qry)) + { + echo ''; + } + //Fachbereich + echo 'Fachbereich
  
VonBis
Beschreibung
'; + //SpeichernButton + if($zeitaufzeichnung_id=='') + echo '
'; + echo '
'; + + echo '

'; + + //Uebersichtstabelle + echo "\n"; + echo " \n"; + echo " "; + echo " \n"; + + $qry = "SELECT *, ende-start as diff FROM campus.tbl_zeitaufzeichnung WHERE uid='$user' AND ende>(now() - INTERVAL '40 days') ORDER BY ende DESC"; + if($result = pg_query($conn, $qry)) + { + $i = 0; + while($row=pg_fetch_object($result)) + { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + $i++; + } + } + echo "
IDProjektAktivitaetStartEndeDauerBeschreibungStudiengangFachbereichAktion
".$row->zeitaufzeichnung_id."".$row->projekt_kurzbz."$row->aktivitaet_kurzbz".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->start))."".date('d.m.Y H:i:s', $datum->mktime_fromtimestamp($row->ende))."".$row->diff."".(strlen($row->beschreibung)>53?substr($row->beschreibung,0,50).'...':$row->beschreibung)."".(isset($stg_arr[$row->studiengang_kz])?$stg_arr[$row->studiengang_kz]:$row->studiengang_kz)."$row->fachbereich_kurzbzzeitaufzeichnung_id' class='Item'>editzeitaufzeichnung_id' class='Item' onclick='return confdel()'>delete
\n"; + } + else + { + echo 'Sie sind derzeit keinen Projekten zugeordnet'; + } +} +else +{ + echo 'Fehler beim Ermitteln der Projekte'; +} + +?> +
+ + \ No newline at end of file diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html index 602da8723..6d0061305 100644 --- a/content/ToDo_FASo.html +++ b/content/ToDo_FASo.html @@ -313,6 +313,10 @@ Studenten

Erledigte Anforderungen