From 69e08a2fc788c83b7587ed7e0478caf8f75f4881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 1 Aug 2012 14:17:18 +0000 Subject: [PATCH] =?UTF-8?q?Betriebsmittel=20-=20doppelte=20Eintr=C3=A4ge?= =?UTF-8?q?=20bei=20Suchergebnissen=20entfernt=20-=20Filter=20f=C3=BCr=20Z?= =?UTF-8?q?utrittskarte=20und=20Schl=C3=BCssel=20hinzugef=C3=BCgt=20-=20Be?= =?UTF-8?q?triebsmittel=20die=20=C3=BCber=20Inventar=20verwaltet=20werden?= =?UTF-8?q?=20herausgefiltert=20-=20Verwendung=20des=20JQuery=20Tablesort?= =?UTF-8?q?=20-=20alte=20fehlerhafte=20Betriebsmittelverwaltung=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tw/vilesci_menu_main.inc.php | 2 +- vilesci/personen/betriebsmittel.php | 196 ------------- vilesci/personen/betriebsmitteldetail.php | 270 ------------------ vilesci/personen/personen_details.php | 6 +- .../stammdaten/betriebsmittel_frameset.html | 21 -- .../betriebsmittel_frameset.php} | 38 +-- .../stammdaten/betriebsmittel_uebersicht.php | 164 +++++++---- 7 files changed, 141 insertions(+), 556 deletions(-) delete mode 100644 vilesci/personen/betriebsmittel.php delete mode 100644 vilesci/personen/betriebsmitteldetail.php delete mode 100644 vilesci/stammdaten/betriebsmittel_frameset.html rename vilesci/{personen/betriebsmittel_index.php => stammdaten/betriebsmittel_frameset.php} (58%) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 5f4a501e8..2ae48a1b0 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -145,7 +145,7 @@ $menu=array ( 'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma'), 'image'=>'folder.png', 'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav', - 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main','permissions'=>array('basis/betriebsmittel')), + 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')), 'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')), 'User'=>array diff --git a/vilesci/personen/betriebsmittel.php b/vilesci/personen/betriebsmittel.php deleted file mode 100644 index 12eede8c8..000000000 --- a/vilesci/personen/betriebsmittel.php +++ /dev/null @@ -1,196 +0,0 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * 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/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - require_once('../../include/studiengang.class.php'); - require_once('../../include/functions.inc.php'); - require_once('../../include/benutzerberechtigung.class.php'); - require_once('../../include/betriebsmittelperson.class.php'); - - - if (!$user=get_uid()) - die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück'); - - -//Berechtigung pruefen -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support')) - die('Sie haben keine Berechtigung fuer diese Seite Zurück'); - -echo ' - - Betriebsmittel - - - - - - - -

Betriebsmittel

- '; - -$search = (isset($_REQUEST['search'])?$_REQUEST['search']:''); - -//Loeschen eines Datensatzes -if(isset($_GET['type']) && $_GET['type']=='delete') -{ - if(isset($_GET['betriebsmittel_id']) && is_numeric($_GET['betriebsmittel_id']) - && isset($_GET['person_id']) && is_numeric($_GET['person_id'])) - { - $bmp = new betriebsmittelperson(); - if($bmp->delete($_GET['betriebsmittel_id'], $_GET['person_id'])) - echo 'Datensatz wurde geloescht'; - else - echo 'Fehler beim Loeschen des Datensatzes: '.$bmp->errormsg.''; - } - else - { - die('Fehlerhafte Parameteruebergabe'); - } -} - -echo '
-
- Nummer/Uid:   - -
NEU


'; - - -if($search!='') -{ - //Suche in Datenbank -/* - $qry = "SELECT distinct t bl_betriebsmittelperson.*, t bl_betriebsmittel.*, tbl_person.*, t bl_betriebsmittelperson.updateamum as updateamum, - t bl_betriebsmittelperson.updatevon as updatevon - FROM public.t bl_betriebsmittelperson - JOIN public.".t bl_betriebsmittel USING(betriebsmittel_id) - JOIN public.t bl_person USING(person_id) - LEFT JOIN public.t bl_benutzer USING(person_id) - WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'"; -*/ - - $qry = "SELECT distinct public.vw_betriebsmittelperson.*, public.vw_betriebsmittelperson.updateamum as updateamum, - public.vw_betriebsmittelperson.updatevon as updatevon - FROM public.vw_betriebsmittelperson - WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'"; - - - if($result = $db->db_query($qry)) - { - echo "Datenbank Result
- - "; - echo " - - - - - - - - - - "; - echo ''; - echo ''; - - while($row = $db->db_fetch_object($result)) - { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } - - echo ''; - echo '
NummerTypKautionAusgegebenRetourVornameNachnameUIDUpdateAmUmUpdateVonAktion
$row->nummer$row->betriebsmitteltyp$row->kaution$row->ausgegebenam$row->retouram$row->vorname$row->nachname"; - //Alle UIDs zu dieser Person suchen - $qry_uid = "SELECT uid FROM public.tbl_benutzer WHERE person_id='$row->person_id'"; - if($result_uid = $db->db_query($qry_uid)) - { - while($row_uid = $db->db_fetch_object($result_uid)) - { - echo "$row_uid->uid
"; - } - } - echo "
$row->updateamum$row->updatevoneditbetriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete
'; - } - - //Suche im LDAP - - // LDAP Verbindung herstellen - if (!$ds=ldap_connect(LDAP_SERVER)) - die('Keine Verbindung zum LDAP '.LDAP_SERVER); - - if (!$r=@ldap_bind($ds)) // this is an "anonymous" bind, typically - die("

Unable to connect to LDAP server! ".LDAP_SERVER."

"); - - - if(is_numeric($search)) - $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "departmentNumber=".$search); - else - $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "uid=".$search); - - $info = ldap_get_entries($ds, $sr); - - echo "
LDAP Result
- - "; - echo " - - "; - echo ''; - echo ''; - //Kartennummer - echo ''; - //UID - echo ''; - //Gesamter Name - echo ''; - echo '
KartennummerUIDName
'.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').''.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').''.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').'
'; -} -?> - - \ No newline at end of file diff --git a/vilesci/personen/betriebsmitteldetail.php b/vilesci/personen/betriebsmitteldetail.php deleted file mode 100644 index 02f000f23..000000000 --- a/vilesci/personen/betriebsmitteldetail.php +++ /dev/null @@ -1,270 +0,0 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * 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/studiengang.class.php'); - require_once('../../include/functions.inc.php'); - require_once('../../include/benutzerberechtigung.class.php'); - require_once('../../include/betriebsmittelperson.class.php'); - require_once('../../include/betriebsmittel.class.php'); - require_once('../../include/betriebsmitteltyp.class.php'); - - require_once('../../include/datum.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - if (!$user=get_uid()) - die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück'); - - - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($user); - if(!$rechte->isBerechtigt('admin', 0, 'suid') && !$rechte->isBerechtigt('support', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Seite Zurück'); - - -$datum_obj = new datum(); - -echo ' - - Betriebsmittel Details - - - - -

Details

- '; - - - -$betriebsmittel_id = (isset($_GET['betriebsmittel_id'])?$_GET['betriebsmittel_id']:''); -$person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); -$error = false; - -//Speichern der Daten -if(isset($_POST['save'])) -{ - $bm = new betriebsmittel(); - - //Nachschauen ob dieses Betriebsmittel schon existiert - if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummerold'])) - { - if(count($bm->result)>0) - { - //Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert - if($bm->load($bm->result[0]->betriebsmittel_id)) - { - $bm->beschreibung = $_POST['beschreibung']; - $bm->nummer = $_POST['nummer']; - $bm->updatevon = $user; - $bm->updateamum = date('Y-m-d H:i:s'); - - if(!$bm->save(false)) - { - $return = false; - $error = true; - echo 'Fehler beim Speichern des Betriebsmittels'; - } - else - { - $betriebsmittel_id = $bm->betriebsmittel_id; - } - } - else - { - $return = false; - $error = true; - echo 'Gefundener Eintrag konnte nicht geladen werden!?!?'; - } - } - else - { - //Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt - $bm->betriebsmitteltyp = $_POST['betriebsmitteltyp']; - $bm->nummer = $_POST['nummer']; - $bm->beschreibung = $_POST['beschreibung']; - $bm->reservieren = false; - $bm->ort_kurzbz = null; - $bm->insertamum = date('Y-m-d H:i:s'); - $bm->insertvon = $user; - - if($bm->save(true)) - { - $betriebsmittel_id = $bm->betriebsmittel_id; - } - else - { - $error = true; - $return = false; - echo 'Fehler beim Anlegen des Betriebsmittels'; - } - } - - //Zuordnung Betriebsmittel-Person anlegen - $bmp = new betriebsmittelperson(); - if($_POST['new']=='true') - { - if($bmp->load($betriebsmittel_id, $_POST['person_id'])) - { - $bmp->updateamum = date('Y-m-d H:i:s'); - $bmp->updatevon = $user; - $bmp->new = false; - } - else - { - $error = true; - $return = false; - echo 'Fehler beim Laden der Betriebmittelperson Zuordnung'; - } - } - else - { - $bmp->insertamum = date('Y-m-d H:i:s'); - $bmp->insertvon = $user; - $bmp->new = true; - } - - if(!$error) - { - $bmp->person_id = $_POST['person_id']; - $bmp->betriebsmittel_id=$betriebsmittel_id; - $bmp->anmerkung = $_POST['anmerkung']; - $bmp->kaution = trim(mb_eregi_replace(',','.',$_POST['kaution'])); - $bmp->ausgegebenam = $_POST['ausgegebenam']; - $bmp->retouram = $_POST['retouram']; - - if($bmp->save()) - { - echo 'Daten wurden erfolgreich gespeichert'; - } - else - { - echo $bmp->errormsg; - } - } - } - else - { - echo 'Fehler:'.$bm->errormsg; - } -} - -$bm = new betriebsmittelperson(); - -//Laden der Daten -$new = 'false'; -if($betriebsmittel_id!='' && $person_id!='') -{ - if(!$bm->load($betriebsmittel_id, $person_id)) - die('betriebsmittel konnte nicht geladen werden'); - else - $new ='true'; -} -else -{ - $bm->kaution = '0.0'; - $bm->ausgegebenam = date('Y-m-d'); - $bm->betriebsmitteltyp = 'Zutrittskarte'; -} - -$nummer = $bm->nummer; -$beschreibung = $bm->beschreibung; -$betriebsmitteltyp =$bm->betriebsmitteltyp; -$kaution = $bm->kaution; -$anmerkung = $bm->anmerkung; -$ausgegebenam = ($bm->ausgegebenam!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->ausgegebenam)):''); -$retouram = ($bm->retouram!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->retouram)):''); - - -//Formular -echo '
'; -echo ''; -echo ''; -echo ''; -echo '
'; -echo ''; -//Person -echo ''; - - $oBetriebsmitteltyp = new betriebsmitteltyp(); - $oBetriebsmitteltyp->result=array(); - // Typtable - if (!$oBetriebsmitteltyp->getAll()) - $errormsg[]=$oBetriebsmitteltyp->errormsg; - - - -//TYP -echo ''; -//
Person
Typ
'; -//Nummer -echo ''; -//Beschreibung -echo ''; -echo '
Nummer
Beschreibung
'; -echo '
'; -//Kaution -echo ''; -//Anmerkung -echo ''; -//echo '
Kaution
Anmerkung
'; -//Ausgegeben am -echo ''; -//Retour am -echo ''; -echo '
Ausgegeben am
Retour am
'; -echo '
'; -echo '
'; -?> - - \ No newline at end of file diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php index 712363e35..eb2c66a81 100644 --- a/vilesci/personen/personen_details.php +++ b/vilesci/personen/personen_details.php @@ -465,12 +465,14 @@ echo " - + Bild hochladen

Bild aktualisieren

Bild entfernen +

+ FH-Ausweis Status @@ -531,7 +533,7 @@ if(isset($uid) && $uid!='') echo '
AccountInfoBlatt erstellen'; - echo '
Betriebsmittel (Zutrittskarten) verwalten'; + echo '
Betriebsmittel verwalten'; echo ""; diff --git a/vilesci/stammdaten/betriebsmittel_frameset.html b/vilesci/stammdaten/betriebsmittel_frameset.html deleted file mode 100644 index ab189ba7a..000000000 --- a/vilesci/stammdaten/betriebsmittel_frameset.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - VileSci-Betriebsmittel - - - - - - - - - <body bgcolor="#FFFFFF"> - This application works only with a frames-enabled browser.<br /> - <a href="main.php">Use without frames</a> - </body> - - - - \ No newline at end of file diff --git a/vilesci/personen/betriebsmittel_index.php b/vilesci/stammdaten/betriebsmittel_frameset.php similarity index 58% rename from vilesci/personen/betriebsmittel_index.php rename to vilesci/stammdaten/betriebsmittel_frameset.php index cbaa4b7b2..9115a242f 100644 --- a/vilesci/personen/betriebsmittel_index.php +++ b/vilesci/stammdaten/betriebsmittel_frameset.php @@ -1,5 +1,5 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . + * Authors: Andreas Oesterreicher */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/basis_db.class.php'); +$db = new basis_db(); -if(isset($_GET['search'])) - $search = $_GET['search']; -else - $search = ''; -?> - +echo ' - - Betriebsmittel + VileSci-Betriebsmittel - - " id="uebersicht" name="uebersicht" frameborder="0" /> - +'; + +if(isset($_GET['searchstr'])) + $searchstr=$_GET['searchstr']; +else + $searchstr=''; + +echo ' '; +echo ' + <body bgcolor="#FFFFFF"> This application works only with a frames-enabled browser.<br /> @@ -46,4 +47,5 @@ else - \ No newline at end of file +'; +?> \ No newline at end of file diff --git a/vilesci/stammdaten/betriebsmittel_uebersicht.php b/vilesci/stammdaten/betriebsmittel_uebersicht.php index 73cec2cc1..7de85a1b6 100644 --- a/vilesci/stammdaten/betriebsmittel_uebersicht.php +++ b/vilesci/stammdaten/betriebsmittel_uebersicht.php @@ -44,6 +44,10 @@ if(isset($_GET['searchstr'])) $searchstr = $_GET['searchstr']; else $searchstr = ''; +if(isset($_GET['typ'])) + $typ=$_GET['typ']; +else + $typ='Zutrittskarte'; $htmlstr.=' @@ -51,7 +55,11 @@ $htmlstr.=' @@ -66,70 +74,130 @@ $htmlstr.=' if(isset($_GET['searchstr']) || isset($_POST['bmsuche'])) { $bm_obj = new betriebsmittel(); + $sql_query=''; if (isset($_POST['bmsuche'])) { $bmsuche=strtoupper($_POST['bmsuche']); $kartennummer = $bm_obj->transform_kartennummer($bmsuche); - $sql_query="SELECT * FROM public.vw_betriebsmittelperson - WHERE upper(nummer) LIKE '%".addslashes($kartennummer)."%' LIMIT 30"; + $sql_query="SELECT + distinct on(tbl_betriebsmittelperson.betriebsmittelperson_id) + tbl_betriebsmittel.*, + tbl_betriebsmittelperson.*, + tbl_person.vorname, tbl_person.nachname, + tbl_benutzer.uid, tbl_betriebsmittelperson.uid as bmpuid + FROM + wawi.tbl_betriebsmittel + JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_benutzer USING(person_id) + WHERE + ( + upper(nummer) LIKE '%".$db->db_escape($kartennummer)."%' + OR + upper(nummer2) LIKE '%".$db->db_escape($kartennummer)."%' + OR + upper(nummer) LIKE '%".$db->db_escape($bmsuche)."%' + OR + upper(nummer2) LIKE '%".$db->db_escape($bmsuche)."%' + ) + AND betriebsmitteltyp=".$db->db_add_param($typ)." LIMIT 30"; //echo $sql_query; } - else + elseif(!empty($searchstr)) { - $sql_query = 'SELECT * FROM public.vw_betriebsmittelperson '; - if(!empty($searchstr)) - { + + $sql_query = ' + SELECT + distinct on(tbl_betriebsmittelperson.betriebsmittelperson_id) + tbl_betriebsmittel.*, + tbl_betriebsmittelperson.*, + tbl_person.vorname, tbl_person.nachname, + tbl_benutzer.uid, tbl_betriebsmittelperson.uid as bmpuid + FROM + wawi.tbl_betriebsmittel + JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_benutzer USING(person_id) + '; + + //Wenn searchstring nur Hexwerte enthaelt, dann in kartennummer umwandeln + if(preg_match("/^[A-F0-9]+$/", $searchstr)) $kartennummer = $bm_obj->transform_kartennummer($searchstr); - $sql_query.=" where uid ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($searchstr)."' OR nummer ~* '".addslashes($kartennummer)."' OR nachname ~* '".addslashes($searchstr)."' OR vorname ~* '".addslashes($searchstr)."' "; - } - $sql_query.=" ORDER BY nummer "; - if(empty($searchstr)) - $sql_query.=" LIMIT 100 "; + else + $kartennummer=''; + $sql_query.=" WHERE + (tbl_benutzer.uid ~* ".$db->db_add_param($searchstr)." + OR nummer = ".$db->db_add_param($searchstr)." + OR nummer = ".$db->db_add_param($kartennummer)." + OR nachname ~* ".$db->db_add_param($searchstr)." + OR vorname ~* ".$db->db_add_param($searchstr).") "; + + $sql_query.=" AND betriebsmitteltyp=".$db->db_add_param($typ); } - - if(!$erg=$db->db_query($sql_query)) + //echo $sql_query; + if($sql_query!='') { - $htmlstr='Fehler beim Laden der Berechtigungen'; - } - else - { - $htmlstr .= "
Bitte Suchbegriff eingeben: - + +
\n"; - $htmlstr .= " - - "; - $htmlstr .= " \n"; - $i = 0; - - while($row=$db->db_fetch_object($erg)) + if(!$erg=$db->db_query($sql_query)) { - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= ' \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $i++; + $htmlstr='Fehler beim Laden der Daten'; + } + else + { + $htmlstr .= "
TypNummerPerson (UID)AusgabeRetour
".$row->betriebsmitteltyp." - '.$row->nummer."$row->nachname $row->vorname   ( $row->uid )".$row->ausgegebenam."$row->retouram
\n"; + $htmlstr .= " + + + + + "; + $htmlstr .= " \n"; + $i = 0; + + while($row=$db->db_fetch_object($erg)) + { + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= ' \n"; + $htmlstr .= ' \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $i++; + } + $htmlstr .= "
TypNummerNummer2Person (UID)AusgabeRetour
".$row->betriebsmitteltyp." + '.$db->convert_html_chars($row->nummer)." + '.$db->convert_html_chars($row->nummer2)."".$db->convert_html_chars($row->nachname.' '.$row->vorname)."   ( ".$db->convert_html_chars($row->bmpuid)." )".$db->convert_html_chars($row->ausgegebenam)."".$db->convert_html_chars($row->retouram)."
\n"; } - $htmlstr .= "\n"; } -} +} ?> -Betriebsmittel-Uebersicht - - - - - + Betriebsmittel - Uebersicht + + + + + + +