diff --git a/include/person.class.php b/include/person.class.php index e8edc0629..0b0eab4f5 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -87,7 +87,7 @@ class person extends basis_db $qry = "SELECT person_id, sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen, gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen, familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id, - geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung + geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode FROM public.tbl_person WHERE person_id='$person_id'"; if(!$this->db_query($qry)) @@ -126,6 +126,7 @@ class person extends basis_db $this->staatsbuergerschaft = $row->staatsbuergerschaft; $this->geburtsnation = $row->geburtsnation; $this->kurzbeschreibung = $row->kurzbeschreibung; + $this->zugangscode = $row->zugangscode; } else { diff --git a/include/preincoming.class.php b/include/preincoming.class.php index d1e055d82..5b17c2784 100644 --- a/include/preincoming.class.php +++ b/include/preincoming.class.php @@ -426,5 +426,82 @@ class preincoming extends basis_db return false; } } + + /** + * Laedt die PreIncoming anhand von Suchkriterien + * + * @param $filter + * @param $aktiv + * @param $von + * @param $bis + * @param $uebernommen + * @return boolean + */ + public function getPreincoming($filter, $aktiv=true, $von=null, $bis=null, $uebernommen=false) + { + $qry = "SELECT + titelpre, titelpost, vorname, nachname, tbl_preincoming.* + FROM + public.tbl_person + JOIN public.tbl_preincoming USING(person_id) + WHERE + 1=1"; + + if($filter!='') + { + $qry.=" AND (lower(nachname) like lower('%".addslashes($filter)."%') + OR lower(vorname) like lower('%".addslashes($filter)."%') + OR lower(nachname || ' ' || vorname) like lower('%".addslashes($filter)."%') + OR lower(vorname || ' ' || nachname) like lower('%".addslashes($filter)."%'))"; + } + + if(!is_null($aktiv)) + $qry.=" AND tbl_preincoming.aktiv=".($aktiv?'true':'false'); + if(!is_null($uebernommen)) + $qry.=" AND tbl_preincoming.uebernommen=".($uebernommen?'true':'false'); + if($von!='') + $qry.=" AND tbl_preincoming.von>='".addslashes($von)."'"; + if($bis!='') + $qry.=" AND tbl_preincoming.bis<='".addslashes($bis)."'"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new preincoming(); + + $obj->preincoming_id = $row->preincoming_id; + $obj->person_id = $row->person_id; + $obj->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; + $obj->zweck_code = $row->zweck_code; + $obj->firma_id = $row->firma_id; + $obj->anmerkung = $row->anmerkung; + $obj->universitaet = $row->universitaet; + $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->bachelorthesis = ($row->bachelorthesis=='t'?true:false); + $obj->masterthesis = ($row->masterthesis=='t'?true:false); + $obj->von = $row->von; + $obj->bis = $row->bis; + $obj->uebernommen = ($row->uebernommen=='t'?true:false); + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + + $obj->vorname = $row->vorname; + $obj->nachname = $row->nachname; + $obj->titelpre = $row->titelpre; + $obj->titelpost = $row->titelpost; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?> \ No newline at end of file diff --git a/include/zweck.class.php b/include/zweck.class.php new file mode 100644 index 000000000..e07fe9925 --- /dev/null +++ b/include/zweck.class.php @@ -0,0 +1,65 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ + +/** + * Klasse Zweck + */ + +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class zweck extends basis_db +{ + public $new; + public $result = array(); + + //Tabellenspalten + public $zweck_code; + public $kurzbz; + public $bezeichnung; + + + public function getAll() + { + $qry ="SELECT * FROM bis.tbl_zweck ORDER BY kurzbz;"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new zweck(); + + $obj->zweck_code = $row->zweck_code; + $obj->kurzbz = $row->kurzbz; + $obj->bezeichnung = $row->bezeichnung; + + $this->result[]=$obj; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + +} diff --git a/vilesci/personen/incoming_detail.php b/vilesci/personen/incoming_detail.php new file mode 100644 index 000000000..ac83aeae2 --- /dev/null +++ b/vilesci/personen/incoming_detail.php @@ -0,0 +1,451 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Karl Burkhart < burkhart@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/preincoming.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/adresse.class.php'); +require_once('../../include/kontakt.class.php'); +require_once('../../include/nation.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/mobilitaetsprogramm.class.php'); +require_once('../../include/zweck.class.php'); + +$user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$message=''; +echo ' + + + Incoming + + + + + + + + + + + '; + +if(!$rechte->isBerechtigt('inout/incoming', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +$preincoming_id = isset($_GET['preincoming_id'])?$_GET['preincoming_id']:null; +$action = isset($_GET['action'])?$_GET['action']:'personendetails'; +$method = isset($_GET['method'])?$_GET['method']:null; + +if($preincoming_id=='') + exit; + +if($method!='') +{ + switch($method) + { + case 'saveperson': + //Speichern der Personendetails + if(isset($_POST['person_id']) && isset($_POST['adresse_id']) && isset($_POST['kontakt_id']) && + isset($_POST['titelpre']) && isset($_POST['titelpost']) && isset($_POST['vorname']) && + isset($_POST['nachname']) && isset($_POST['anmerkung']) && isset($_POST['strasse']) && + isset($_POST['plz']) && isset($_POST['ort']) && isset($_POST['nation']) && + isset($_POST['email']) && isset($_POST['universitaet']) && isset($_POST['mobilitaetsprogramm']) && + isset($_POST['zweck']) && isset($_POST['von']) && isset($_POST['bis'])) + { + $person_id = $_POST['person_id']; + $adresse_id = $_POST['adresse_id']; + $kontakt_id = $_POST['kontakt_id']; + $titelpre = $_POST['titelpre']; + $titelpost = $_POST['titelpost']; + $vorname = $_POST['vorname']; + $nachname = $_POST['nachname']; + $anmerkung = $_POST['anmerkung']; + $strasse = $_POST['strasse']; + $plz = $_POST['plz']; + $ort = $_POST['ort']; + $nation = $_POST['nation']; + $email = $_POST['email']; + $universitaet = $_POST['universitaet']; + $mobilitaetsprogramm = $_POST['mobilitaetsprogramm']; + $zweck = $_POST['zweck']; + $von = $_POST['von']; + $bis = $_POST['bis']; + $aktiv = isset($_POST['aktiv']); + + //Person + $person = new person(); + if($person->load($person_id)) + { + $person->titelpre = $titelpre; + $person->titelpost = $titelpost; + $person->nachname = $nachname; + $person->vorname = $vorname; + if(!$person->save(false)) + $message.=''.$person->errormsg.''; + } + //Adresse + $adresse = new adresse(); + if($adresse_id=='') + { + $adresse->new = true; + $adresse->insertamum = date('Y-m-d H:i:s'); + $adresse->insertvon = $user; + $adresse->heimatadresse = true; + $adresse->zustelladresse = true; + } + else + { + $adresse->load($adresse_id); + $adresse->new = false; + } + + $adresse->strasse = $strasse; + $adresse->plz = $plz; + $adresse->ort = $ort; + $adresse->nation = $nation; + $adresse->updateamum = date('Y-m-d H:i:s'); + $adresse->updatevon = $user; + + if(!$adresse->save()) + $message.=''.$adresse->errormsg.''; + + //E-Mail + $kontakt = new kontakt(); + + if($kontakt_id=='') + { + $kontakt->new = true; + $kontakt->insertamum = date('Y-m-d H:i:s'); + $kontakt->insertvon = $user; + $kontakt->zustellung = true; + } + else + { + $kontakt->load($kontakt_id); + $kontakt->new = false; + } + + $kontakt->kontakt = $email; + $kontakt->kontakttyp = 'email'; + $kontakt->updateamum = date('Y-m-d H:i:s'); + $kontakt->updatevon = $user; + + if(!$kontakt->save()) + $message.=''.$kontakt->errormsg.''; + + //PreIncoming + $inc = new preincoming(); + + if($inc->load($preincoming_id)) + { + $inc->mobilitaetsprogramm_code = $mobilitaetsprogramm; + $inc->zweck_code = $zweck; + $inc->universitaet = $universitaet; + $inc->anmerkung = $anmerkung; + $inc->aktiv = $aktiv; + $inc->von = $datum_obj->formatDatum($von); + $inc->bis = $datum_obj->formatDatum($bis); + $inc->updateamum = date('Y-m-d H:i:s'); + $inc->updatevon = $user; + $inc->new = false; + + if(!$inc->save()) + $message.=''.$inc->errormsg.''; + } + else + $message.=''.$inc->errormsg.''; + } + if($message=='') + $message.='Daten wurden gespeichert'; + break; + case 'fasuebernahme': + //Uebernahme eines PreIncoming ins FAS + $message.= 'Diese Funktion ist noch nicht implemenetiert'; + break; + default: + break; + } +} +$inc = new preincoming(); +if(!$inc->load($preincoming_id)) + $message.= ''.$inc->errormsg.''; +$person = new person(); +if(!$person->load($inc->person_id)) + $message.=''.$person->errormsg.''; + +echo '

Details - '.$person->vorname.' '.$person->nachname.'

'; + +print_menu('Personendetails', 'personendetails'); +echo ' | '; +print_menu('Dokumente', 'dokumente'); +echo ' | '; +print_menu('Lehrveranstaltungen', 'lehrveranstaltungen'); +echo '
'.$message.'
'; +echo '
'; +switch($action) +{ + case 'personendetails': + print_personendetails(); + break; + case 'dokumente': + print_dokumente(); + break; + case 'lehrveranstaltungen': + print_lehrveranstaltungen(); + break; + default: + break; +} +echo ''; +echo ''; + +/*********** FUNKTIONEN *********************/ +/** + * Erstellt einen MenuLink + * @param $name Name des Links + * @param $value Action + */ +function print_menu($name, $value) +{ + global $action, $preincoming_id; + if($value==$action) + $name = ''.$name.''; + echo ''.$name.''; +} + +/** + * Erstellt den Tab zur Anzeige der Personendetails + */ +function print_personendetails() +{ + global $person, $inc, $preincoming_id, $datum_obj; + + $adresse = new adresse(); + $adresse->load_pers($person->person_id); + if(isset($adresse->result[0])) + $adresse = $adresse->result[0]; + + $kontakt = new kontakt(); + $kontakt->load_pers($person->person_id); + if(isset($kontakt->result[0])) + $kontakt = $kontakt->result[0]; + + echo '
'; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TitelPreStrasse
VornamePlz / Ort + + +
NachnameNation + +
TitelPostE-Mail
Anmerkungen
 
UniversitätAktivaktiv?'checked':'').'>
Mobilitätsprogramm + Von + + + Zugangscode:'.$person->zugangscode.'
Zweck + Bis + + +
+ '; + echo '
'; + echo '
'; + echo ' +
+ Übernahme ins FAS'; + if($inc->uebernommen) + { + echo 'Diese Person wurde bereits ins FAS übernommen'; + } + else + { + echo '
'; + echo ''; + echo ' '; + echo '
'; + } + echo '
'; + +} + +function print_dokumente() +{ + echo 'Dokumente'; +} + +function print_lehrveranstaltungen() +{ + echo 'Lehrveranstaltungen'; +} + +?> \ No newline at end of file diff --git a/vilesci/personen/incoming_frameset.php b/vilesci/personen/incoming_frameset.php new file mode 100644 index 000000000..5930677e9 --- /dev/null +++ b/vilesci/personen/incoming_frameset.php @@ -0,0 +1,21 @@ + + + + + Incoming + + + + + + + + + + <body bgcolor="#FFFFFF"> + This application works only with a frames-enabled browser.<br /> + </body> + + + + \ No newline at end of file diff --git a/vilesci/personen/incoming_uebersicht.php b/vilesci/personen/incoming_uebersicht.php new file mode 100644 index 000000000..fc2221813 --- /dev/null +++ b/vilesci/personen/incoming_uebersicht.php @@ -0,0 +1,196 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Karl Burkhart < burkhart@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/preincoming.class.php'); + +$user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$message=''; +echo ' + + + Incoming + + + + + + + + + +

Incoming Verwaltung

+ '; + +if(!$rechte->isBerechtigt('inout/incoming', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +$filter = isset($_POST['filter'])?$_POST['filter']:null; +$von = isset($_POST['von'])?$_POST['von']:null; +$bis = isset($_POST['bis'])?$_POST['bis']:null; + +if(isset($_POST['aktiv'])) +{ + switch($_POST['aktiv']) + { + case 'true': + $aktiv=true; + break; + case 'false': + $aktiv=false; + break; + default: + $aktiv=null; + break; + } +} +else + $aktiv=true; + +if(isset($_POST['uebernommen'])) +{ + switch($_POST['uebernommen']) + { + case 'true': + $uebernommen=true; + break; + case 'false': + $uebernommen=false; + break; + default: + $uebernommen=null; + break; + } +} +else + $uebernommen=false; + +//Suchfilter +echo ' +
+ + + + + + + + + + + + + + + +
Aktiv + + Übernommen + + Von + + + Bis + + + Name
+
+'; +if($von!='') + $von = $datum_obj->formatDatum($von); +if($bis!='') + $bis = $datum_obj->formatDatum($bis); + +$inc = new preincoming(); +if(!$inc->getPreincoming($filter, $aktiv, $von, $bis, $uebernommen)) + $message = ''.$inc->errormsg.''; + +echo $message; +echo ' + + + + + + + + + + + + '; +foreach($inc->result as $row) +{ + echo "\n"; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; +} +echo ' + +
IDVornameNachnameVonBis
'.$row->preincoming_id.''.$row->vorname.''.$row->nachname.''.$row->von.''.$row->bis.'Details
'; + +echo ''; +echo ''; +?> \ No newline at end of file