From a06217a031bb644a507cfa7e53db09d21b3491f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 11 Nov 2009 08:37:15 +0000 Subject: [PATCH] =?UTF-8?q?-=20Berechtigungen=20f=C3=BCr=20die=20Zeitsperr?= =?UTF-8?q?en-=20und=20Urlaubsverwaltung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/personen/resturlaub.php | 118 +++---- vilesci/personen/resturlaub_details.php | 399 ++++++++++++------------ vilesci/personen/urlaubsverwaltung.php | 20 +- 3 files changed, 278 insertions(+), 259 deletions(-) diff --git a/vilesci/personen/resturlaub.php b/vilesci/personen/resturlaub.php index dfbfe5a4c..2b684a112 100644 --- a/vilesci/personen/resturlaub.php +++ b/vilesci/personen/resturlaub.php @@ -28,9 +28,11 @@ require_once('../../include/benutzer.class.php'); require_once('../../include/mitarbeiter.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/resturlaub.class.php'); +require_once('../../include/zeitsperre.class.php'); require_once('../../include/benutzerberechtigung.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); echo ' @@ -58,18 +60,28 @@ function conf_del() '; $user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); +if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre')) + die('Sie haben keine Berechtigung fuer diese Seite'); + $uid=(isset($_GET['uid'])?$_GET['uid']:''); if(isset($_GET['type']) && $_GET['type']=='edit' && isset($_GET['uid'])) { if(isset($_GET['del']) && isset($_GET['zeitsperre_id'])) { - //echo ""; - $qry="DELETE FROM campus.tbl_zeitsperre WHERE mitarbeiter_uid='".$_GET['uid']."' AND zeitsperre_id='".$_GET['zeitsperre_id']."' ;"; - if(!$db->db_query($qry)) + if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Aktion'); + + $zs_obj = new zeitsperre(); + + if(!$zs_obj->delete($_GET['zeitsperre_id'])) { die("Zeitsperren konnte nicht gelo¨scht werden!"); } } + $ma = new mitarbeiter(); $ma->load($_GET['uid']); @@ -101,64 +113,62 @@ if(isset($_GET['type']) && $_GET['type']=='edit' && isset($_GET['uid'])) '; - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($user); - if($rechte->isBerechtigt('admin', '0', 'suid')) + + echo "

Übersicht Zeitsperren

"; + echo ""; + echo" + + "; + echo " + + + + + + + + + + + + \n"; + echo ""; + echo ""; + $zeitsperre = new zeitsperre(); + $zeitsperre->getzeitsperren($uid); + + if (count($zeitsperre->result>0)) { - echo "

Übersicht Zeitsperren

"; - echo ""; - echo"
  IDKurzbzBezeichnungVon-DatumVon-StundeBis-DatumBis-StundeVertretungErreichbarkeitFreigabeFreigabedatum
- - "; - echo " - - - - - - - - - - - - \n"; - echo ""; - echo ""; - $qry="SELECT * FROM campus.tbl_zeitsperre WHERE mitarbeiter_uid='".$uid."' ORDER BY vondatum DESC"; - if(!$result_urlaub = $db->db_query($qry)) - die("Zeitsperren nicht gefunden!"); - $num_rows=$db->db_num_rows($result_urlaub); - if ($num_rows>0) + foreach($zeitsperre->result as $row_urlaub) { - for($i=0;$i<$num_rows;$i++) - { - $row_urlaub=$db->db_fetch_object($result_urlaub); - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; } - else - echo ""; } + else + echo ""; + exit; } if(isset($_GET['type']) && $_GET['type']=='save') { + if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Aktion'); + $resturlaub = new resturlaub(); if($resturlaub->load($_GET['uid'])) diff --git a/vilesci/personen/resturlaub_details.php b/vilesci/personen/resturlaub_details.php index 2ac7048bc..5e090ed52 100644 --- a/vilesci/personen/resturlaub_details.php +++ b/vilesci/personen/resturlaub_details.php @@ -20,223 +20,226 @@ * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/benutzer.class.php'); +require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/resturlaub.class.php'); +require_once('../../include/zeitsperre.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); - require_once('../../config/vilesci.config.inc.php'); - require_once('../../include/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - require_once('../../include/functions.inc.php'); - require_once('../../include/person.class.php'); - require_once('../../include/benutzer.class.php'); - require_once('../../include/mitarbeiter.class.php'); - require_once('../../include/studiengang.class.php'); - require_once('../../include/resturlaub.class.php'); - require_once('../../include/zeitsperre.class.php'); +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - $user = get_uid(); - $reloadstr = ""; // neuladen der liste im oberen frame - $errorstr=''; - $htmlstr=''; +$user = get_uid(); - $zeitsperre_arr=array(); - $vertretung_arr=array(); - $erreichbarkeit_arr=array(); - $freigabe_arr=array(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); +if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre')) + die('Sie haben keine Berechtigung fuer diese Seite'); - if(isset($_POST["schick"]) && $_POST['uid']!='') +$reloadstr = ""; // neuladen der liste im oberen frame +$errorstr=''; +$htmlstr=''; + +$zeitsperre_arr=array(); +$vertretung_arr=array(); +$erreichbarkeit_arr=array(); +$freigabe_arr=array(); + +if(isset($_POST["schick"]) && $_POST['uid']!='') +{ + if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Aktion'); + + $zs = new zeitsperre(); + + if(isset($_POST['zeitsperre_id']) && $_POST['zeitsperre_id']!='') { - $zs = new zeitsperre(); - - if(isset($_POST['zeitsperre_id']) && $_POST['zeitsperre_id']!='') + if($zs->load($_POST['zeitsperre_id'])) { - if($zs->load($_POST['zeitsperre_id'])) - { - $zs->new=false; - } - } - else - { - $zs->new=true; - $zs->insertamum=date('Y-m-d H:i:s'); - $zs->insertvon = $user; - } - $zs->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz']; - $zs->bezeichnung = $_POST['bezeichnung']; - $zs->mitarbeiter_uid = $_POST['uid']; - $zs->vondatum = $_POST['vondatum']; - $zs->vonstunde = $_POST['vonstunde']; - $zs->bisdatum = $_POST['bisdatum']; - $zs->bisstunde = $_POST['bisstunde']; - $zs->vertretung_uid = $_POST['vertretung_uid']; - $zs->erreichbarkeit_kurzbz = $_POST['erreichbarkeit_kurzbz']; - $zs->freigabeamum = $_POST['freigabeamum']; - $zs->freigabevon = $_POST['freigabevon']; - $zs->updateamum = date('Y-m-d H:i:s'); - $zs->updatevon = $user; - if(!$zs->save()) - - $errorstr = "Fehler beim Speichern der Daten: $zs->errormsg"; - else - { - $reloadstr .= "\n"; - } - - } - - - - $qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $zeitsperre_arr[] = $row->zeitsperretyp_kurzbz; + $zs->new=false; } } - - $qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; - if($result = $db->db_query($qry)) + else { - while($row = $db->db_fetch_object($result)) - { - $vertretung_arr[] = $row->uid; - } + $zs->new=true; + $zs->insertamum=date('Y-m-d H:i:s'); + $zs->insertvon = $user; + } + $zs->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz']; + $zs->bezeichnung = $_POST['bezeichnung']; + $zs->mitarbeiter_uid = $_POST['uid']; + $zs->vondatum = $_POST['vondatum']; + $zs->vonstunde = $_POST['vonstunde']; + $zs->bisdatum = $_POST['bisdatum']; + $zs->bisstunde = $_POST['bisstunde']; + $zs->vertretung_uid = $_POST['vertretung_uid']; + $zs->erreichbarkeit_kurzbz = $_POST['erreichbarkeit_kurzbz']; + $zs->freigabeamum = $_POST['freigabeamum']; + $zs->freigabevon = $_POST['freigabevon']; + $zs->updateamum = date('Y-m-d H:i:s'); + $zs->updatevon = $user; + if(!$zs->save()) + + $errorstr = "Fehler beim Speichern der Daten: $zs->errormsg"; + else + { + $reloadstr .= "\n"; } - $qry = "SELECT * FROM campus.tbl_erreichbarkeit ORDER BY erreichbarkeit_kurzbz"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $erreichbarkeit_arr[] = $row->erreichbarkeit_kurzbz; - } - } - - $qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $freigabe_arr[] = $row->uid; - } - } +} - if (isset($_REQUEST['zeitsperre_id']) || isset($_REQUEST['neu'])) + + +$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz"; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) { - $zs = new zeitsperre(); - if (isset($_REQUEST['zeitsperre_id'])) - { - $zsid = $_REQUEST['zeitsperre_id']; - if (!$zs->load($zsid)) - $htmlstr .= "
Zeitsperre ".$zsid." existiert nicht
"; - } - else - { - $zs->mitarbeiter_uid=$_REQUEST['uid']; - } - $htmlstr .= "
Zeitsperre ".(!isset($zs->zeitsperre_id)?'':$zs->zeitsperre_id)."
\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "
  IDKurzbzBezeichnungVon-DatumVon-StundeBis-DatumBis-StundeVertretungErreichbarkeitFreigabeFreigabedatum
editzeitsperre_id' onclick='return conf_del()' target='uebersicht'>delete".$row_urlaub->zeitsperre_id."".$row_urlaub->zeitsperretyp_kurzbz."".$row_urlaub->bezeichnung."".$row_urlaub->vondatum."".$row_urlaub->vonstunde."".$row_urlaub->bisdatum."".$row_urlaub->bisstunde."".$row_urlaub->vertretung_uid."".$row_urlaub->erreichbarkeit_kurzbz."".$row_urlaub->freigabevon."".$row_urlaub->freigabeamum."
editzeitsperre_id' onclick='return conf_del()' target='uebersicht'>delete".$row_urlaub->zeitsperre_id."".$row_urlaub->zeitsperretyp_kurzbz."".$row_urlaub->bezeichnung."".$row_urlaub->vondatum."".$row_urlaub->vonstunde."".$row_urlaub->bisdatum."".$row_urlaub->bisstunde."".$row_urlaub->vertretung_uid."".$row_urlaub->erreichbarkeit_kurzbz."".$row_urlaub->freigabevon."".$row_urlaub->freigabeamum."
Kein Eintrag gefunden!
Kein Eintrag gefunden!
\n"; - $htmlstr .= "\n"; - - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - - $htmlstr .= " \n"; - $htmlstr .= "
TypBezeichnung
VertretungErreichbarkeit
Von-DatumVon-Stunde
Bis-DatumBis-Stunde
FreigabedatumFreigabe
\n"; - $htmlstr .= "
\n"; - $htmlstr .= "\n"; - + $zeitsperre_arr[] = $row->zeitsperretyp_kurzbz; } - $htmlstr .= "
".$errorstr."
\n"; +} + +$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $vertretung_arr[] = $row->uid; + } +} + +$qry = "SELECT * FROM campus.tbl_erreichbarkeit ORDER BY erreichbarkeit_kurzbz"; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $erreichbarkeit_arr[] = $row->erreichbarkeit_kurzbz; + } +} + +$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $freigabe_arr[] = $row->uid; + } +} + +if (isset($_REQUEST['zeitsperre_id']) || isset($_REQUEST['neu'])) +{ + $zs = new zeitsperre(); + if (isset($_REQUEST['zeitsperre_id'])) + { + $zsid = $_REQUEST['zeitsperre_id']; + if (!$zs->load($zsid)) + $htmlstr .= "
Zeitsperre ".$zsid." existiert nicht
"; + } + else + { + $zs->mitarbeiter_uid=$_REQUEST['uid']; + } + $htmlstr .= "
Zeitsperre ".(!isset($zs->zeitsperre_id)?'':$zs->zeitsperre_id)."
\n"; + $htmlstr .= "
\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + + $htmlstr .= " \n"; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " \n"; + $htmlstr .= " "; + $htmlstr .= ""; + $htmlstr .= ""; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= ""; + $htmlstr .= ""; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= ""; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= ""; + $htmlstr .= ""; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= " "; + $htmlstr .= ""; + $htmlstr .= " "; + $htmlstr .= " "; + + $htmlstr .= " \n"; + $htmlstr .= "
TypBezeichnung
VertretungErreichbarkeit
Von-DatumVon-Stunde
Bis-DatumBis-Stunde
FreigabedatumFreigabe
\n"; + $htmlstr .= "
\n"; + $htmlstr .= "
\n"; + +} +$htmlstr .= "
".$errorstr."
\n"; ?> - -Zeitsperren - Details - - - - + Zeitsperren - Details + + diff --git a/vilesci/personen/urlaubsverwaltung.php b/vilesci/personen/urlaubsverwaltung.php index e6c1b391c..099e04ecc 100644 --- a/vilesci/personen/urlaubsverwaltung.php +++ b/vilesci/personen/urlaubsverwaltung.php @@ -20,14 +20,11 @@ * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ - - require_once('../../config/vilesci.config.inc.php'); - /** * * Seite zur Verwaltung der Urlaubs- und Zeitausgleichstage der Mitarbeiter */ - +require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/zeitsperre.class.php'); require_once('../../include/person.class.php'); @@ -35,8 +32,9 @@ require_once('../../include/benutzer.class.php'); require_once('../../include/mitarbeiter.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $user = get_uid(); $datum = new datum(); @@ -81,7 +79,7 @@ echo ' $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); -if(!$rechte->isBerechtigt('admin')) +if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre')) die('Sie haben keine Berechtigung für diese Seite'); //Formular zur Eingabe der UID @@ -93,6 +91,9 @@ echo ''; //Loeschen von Zeitsperren if($action=='delete') { + if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) + die('Sie haben keine Berechtigung für diese Aktion'); + if($zeitsperre_id!='' && is_numeric($zeitsperre_id)) { $zeitsperre = new zeitsperre(); @@ -107,6 +108,9 @@ if($action=='delete') if(isset($_POST['save'])) { + if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) + die('Sie haben keine Berechtigung für diese Aktion'); + //Speichern der Daten $zeitsperre = new zeitsperre(); @@ -324,4 +328,6 @@ if($uid!='') echo ''; echo ''; } + +echo ''; ?> \ No newline at end of file