From 8c27bc0876c60b1be65de24d35b0ffd49f470a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 19 May 2008 15:51:13 +0000 Subject: [PATCH] --- include/preinteressent.class.php | 635 ++++++++++++++++++ index.cis.html | 2 +- vilesci/personen/preinteressent_detail.php | 455 +++++++++++++ vilesci/personen/preinteressent_frameset.html | 20 + .../personen/preinteressent_uebernahme.php | 224 ++++++ .../personen/preinteressent_uebersicht.php | 197 ++++++ 6 files changed, 1532 insertions(+), 1 deletion(-) create mode 100644 include/preinteressent.class.php create mode 100644 vilesci/personen/preinteressent_detail.php create mode 100644 vilesci/personen/preinteressent_frameset.html create mode 100644 vilesci/personen/preinteressent_uebernahme.php create mode 100644 vilesci/personen/preinteressent_uebersicht.php diff --git a/include/preinteressent.class.php b/include/preinteressent.class.php new file mode 100644 index 000000000..903c138e8 --- /dev/null +++ b/include/preinteressent.class.php @@ -0,0 +1,635 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class preinteressent +{ + var $conn; // resource DB-Handle + var $new; // boolean + var $errormsg; // string + var $result = array(); + + //Tabellenspalten + var $preinteressent_id; // serial + var $person_id; + var $studiensemester_kurzbz; // varchar(16) + var $aufmerksamdurch_kurzbz; // varchar(16) + var $firma_id; // integer + var $anmerkung; // text + var $erfassungsdatum; // date + var $einverstaendnis; // boolean + var $absagedatum; // timestamp + var $insertamum; // timestamp + var $insertvon; // varchar(16) + var $updateamum; // timestamp + var $updatevon; // varchar(16) + var $maturajahr; // numeric(4,0) + var $infozusendung; // date + + var $studiengang_kz; + var $prioritaet; // smallint + var $freigabedatum; // timestamp + var $uebernahmedatum; // timestamp + + // *********************************************** + // * Konstruktor + // * @param conn Connection zur Datenbank + // * preinteressent_id ID des zu ladenden Datensatzes + // *********************************************** + function preinteressent($conn, $preinteressent_id=null, $unicode=false) + { + $this->conn = $conn; + if($unicode!=null) + { + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + + if(!pg_query($conn,$qry)) + { + $this->errormsg = "Encoding konnte nicht gesetzt werden"; + return false; + } + } + + if($preinteressent_id != null) + $this->load($preinteressent_id); + } + + // *********************************************** + // * Laedt einen Datensatz + // * @param preinteressent_id ID des zu ladenden Datensatzes + // *********************************************** + function load($preinteressent_id) + { + //id auf gueltigkeit pruefen + if(!is_numeric($preinteressent_id) || $preinteressent_id == '') + { + $this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein'; + return false; + } + + //laden des Datensatzes + $qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id='$preinteressent_id';"; + + if($result = pg_query($this->conn,$qry)) + { + if($row=pg_fetch_object($result)) + { + $this->preinteressent_id = $row->preinteressent_id; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; + $this->firma_id = $row->firma_id; + $this->anmerkung = $row->anmerkung; + $this->erfassungsdatum = $row->erfassungsdatum; + $this->einverstaendnis = ($row->einverstaendnis=='t'?true:false); + $this->maturajahr = $row->maturajahr; + $this->infozusendung = $row->infozusendung; + $this->absagedatum = $row->absagedatum; + $this->person_id = $row->person_id; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + return true; + } + else + { + $this->errormsg = 'Fehler bei der Datenbankabfrage'; + return false; + } + } + else + { + $this->errormsg = 'Fehler bei der Datenbankabfrage'; + return false; + } + } + + // ************************************************** + // * Loescht einen Datensatz, erstellt einen UNDO Befehl + // * und einen LOG Eintrag + // * @param preinteressent_id ID des zu loeschenden Datensatzes + // * @return true wenn ok, false im Fehlerfall + // ************************************************** + function delete($preinteressent_id) + { + //id auf Gueltigkeit pruefen + if(!is_numeric($preinteressent_id) || $preinteressent_id == '') + { + $this->errormsg = 'preinteressent_id muss eine gueltige Zahl sein'; + return false; + } + $undo=''; + //UNDO Befehl zusammenbauen + pg_query($this->conn, 'BEGIN;'); + + $qry = "SELECT * FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id'"; + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $undo.=" INSERT INTO public.tbl_preinteressent(preinteressent_id, person_id, studiensemester_kurzbz, + aufmerksamdurch_kurzbz, firma_id, erfassungsdatum, einverstaendnis, absagedatum, anmerkung, + insertamum, insertvon, updateamum, updatevon, maturajahr, infozusendung) VALUES (". + $this->addslashes($row->preinteressent_id).', '. + $this->addslashes($row->person_id).', '. + $this->addslashes($row->studiensemester_kurzbz).', '. + $this->addslashes($row->aufmerksamdurch_kurzbz).', '. + $this->addslashes($row->firma_id).', '. + $this->addslashes($row->erfassungsdatum).', '. + ($row->einverstaendnis?'true':'false').', '. + $this->addslashes($row->absagedatum).', '. + $this->addslashes($row->anmerkung).', '. + $this->addslashes($row->insertamum).', '. + $this->addslashes($row->insertvon).','. + $this->addslashes($row->updateamum).', '. + $this->addslashes($row->updatevon).', '. + $this->addslashes($row->maturajahr).', '. + $this->addslashes($row->infozusendung).');'; + } + } + else + { + $this->errormsg = 'Fehler beim Erstellen des UNDO Befehls'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + + + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id'"; + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $undo.=" INSERT INTO public.tbl_preinteressentstudiengang(studiengang_kz, preinteressent_id, prioritaet, + freigabedatum, uebernahmedatum, insertamum, insertvon, updateamum, updatevon) VALUES(". + $this->addslashes($row->studiengang_kz).','. + $this->addslashes($row->preinteressent_id).','. + $this->addslashes($row->prioritaet).','. + $this->addslashes($row->freigabedatum).','. + $this->addslashes($row->uebernahmedatum).','. + $this->addslashes($row->insertamum).','. + $this->addslashes($row->insertvon).','. + $this->addslashes($row->updateamum).','. + $this->addslashes($row->updatevon).');'; + } + } + else + { + $this->errormsg = 'Fehler beim Erstellen des UNDO Befehls'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + + $qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id'; + DELETE FROM public.tbl_preinteressent WHERE preinteressent_id = '$preinteressent_id';"; + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + $log = new log($this->conn); + + $log->new = true; + $log->sql = $qry; + $log->sqlundo = $undo; + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = get_uid(); + $log->beschreibung = "Preinteressent loeschen - $preinteressent_id"; + + if(!$log->save()) + { + $this->errormsg = 'Fehler beim Schreiben des Log-Eintrages'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + + pg_query($this->conn, 'COMMIT;'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + } + + // ****************************************** + // * Prueft die Daten vor dem Speichern + // * @return true wenn ok, false wenn fehler + // ****************************************** + function validate() + { + if($this->person_id=='') + { + $this->errormsg = 'Person_id muss angegeben werden'; + return false; + } + if($this->studiensemester_kurzbz=='') + { + $this->errormsg = 'Studiensemester_kurzbz muss angegeben werden'; + return false; + } + if($this->aufmerksamdurch_kurzbz=='') + { + $this->errormsg = 'Aufmerksamdurch muss angegeben werden'; + return false; + } + if($this->firma_id=='') + { + $this->errormsg = 'Es muss eine Schule angegeben werden'; + return false; + } + return true; + } + + // ************************************************ + // * wenn $var '' ist wird "null" zurueckgegeben + // * wenn $var !='' ist werden datenbankkritische + // * Zeichen mit backslash versehen und das Ergebnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ********************************************************************* + // * Speichert den aktuellen Datensatz + // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + // * andernfalls wird der Datensatz mit der ID in $preinteressent_id aktualisiert + // * @return true wenn ok, false im Fehlerfall + // ********************************************************************* + function save($new=null) + { + if(!$this->validate()) + return false; + if($new==null) + $new = $this->new; + + if($new) + { + //Neuen Datensatz anlegen + $qry = "BEGIN;INSERT INTO public.tbl_preinteressent (studiensemester_kurzbz, + aufmerksamdurch_kurzbz, firma_id, anmerkung, erfassungsdatum, einverstaendnis, absagedatum, + maturajahr, infozusendung, person_id, updateamum, updatevon, insertamum, insertvon) VALUES (". + $this->addslashes($this->studiensemester_kurzbz).', '. + $this->addslashes($this->aufmerksamdurch_kurzbz).', '. + $this->addslashes($this->firma_id).', '. + $this->addslashes($this->anmerkung).', '. + $this->addslashes($this->erfassungsdatum).', '. + ($this->einverstaendnis?'true':'false').', '. + $this->addslashes($this->absagedatum).', '. + $this->addslashes($this->maturajahr).', '. + $this->addslashes($this->infozusendung).', '. + $this->addslashes($this->person_id).', '. + $this->addslashes($this->updateamum).', '. + $this->addslashes($this->updatevon).', '. + $this->addslashes($this->insertamum).', '. + $this->addslashes($this->insertvon).');'; + } + else + { + //Bestehenden Datensatz aktualisieren + $qry= "UPDATE public.tbl_preinteressent SET". + " studiensemester_kurzbz=".$this->addslashes($this->studiensemester_kurzbz).",". + " aufmerksamdurch_kurzbz=".$this->addslashes($this->aufmerksamdurch_kurzbz).",". + " firma_id=".$this->addslashes($this->firma_id).",". + " anmerkung=".$this->addslashes($this->anmerkung).",". + " erfassungsdatum=".$this->addslashes($this->erfassungsdatum).",". + " einverstaendnis=".($this->einverstaendnis?'true':'false').",". + " absagedatum=".$this->addslashes($this->absagedatum).",". + " maturajahr=".$this->addslashes($this->maturajahr).",". + " infozusendung=".$this->addslashes($this->infozusendung).",". + " person_id=".$this->addslashes($this->person_id).",". + " updatevon=".$this->addslashes($this->updatevon).",". + " updateamum=".$this->addslashes($this->updateamum). + " WHERE preinteressent_id='".addslashes($this->preinteressent_id)."'"; + } + + if(pg_query($this->conn, $qry)) + { + if($new) + { + $qry = "SELECT currval('public.tbl_preinteressent_preinteressent_id_seq') as id"; + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->preinteressent_id = $row->id; + pg_query($this->conn, 'COMMIT;'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + pg_query($this->conn, 'ROLLBACK'); + return false; + } + } + else + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + } + + // ******************************************* + // * Laedt die Freigegebenen Preinteressenten + // * eines Studienganges welche noch nicht + // * uebernommen wurden + // * @param $studiengang_kz + // * $studiensemester_kurzbz + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function loadFreigegebene($studiengang_kz, $studiensemester_kurzbz='') + { + $qry = "SELECT tbl_preinteressent.*, tbl_preinteressentstudiengang.* FROM public.tbl_preinteressent JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) JOIN public.tbl_person USING(person_id) WHERE + (studiengang_kz, person_id) NOT IN (SELECT studiengang_kz, person_id FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id) AND freigabedatum is not null AND + tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'"; + if($studiensemester_kurzbz!='') + $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'"; + + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $obj = new preinteressent($this->conn, null, null); + + $obj->preinteressent_id = $row->preinteressent_id; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; + $obj->firma_id = $row->firma_id; + $obj->anmerkung = $row->anmerkung; + $obj->erfassungsdatum = $row->erfassungsdatum; + $obj->einverstaendnis = ($row->einverstaendnis=='t'?true:false); + $obj->absagedatum = $row->absagedatum; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->maturajahr = $row->maturajahr; + $obj->infozusendung = $row->infozusendung; + $obj->person_id = $row->person_id; + $obj->studiengang_kz = $row->studiengang_kz; + $obj->prioritaet = $row->prioritaet; + $obj->freigabedatum = $row->freigabedatum; + $obj->uebernahmedatum = $row->uebernahmedatum; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + // ******************************************* + // * Laedt die Preinteressenten + // * eines Studienganges welche noch nicht + // * uebernommen wurden + // * @param $studiengang_kz + // * $studiensemester_kurzbz + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function loadPreinteressenten($studiengang_kz='', $studiensemester_kurzbz='', $filter='') + { + $qry = "SELECT distinct tbl_preinteressent.* FROM public.tbl_preinteressent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_preinteressentstudiengang USING(preinteressent_id) LEFT JOIN public.tbl_kontakt USING(person_id) WHERE true"; + + if($studiengang_kz!='') + $qry.="tbl_preinteressentstudiengang.studiengang_kz='$studiengang_kz'"; + + if($studiensemester_kurzbz!='') + $qry.=" AND tbl_preinteressent.studiensemester_kurzbz='$studiensemester_kurzbz'"; + if($filter!='') + $qry.=" AND lower(nachname) like '%$filter%' OR lower(vorname) like '%$filter%' OR erfassungsdatum like '$filter' OR lower(kontakt) like '%$filter%'"; + + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $obj = new preinteressent($this->conn, null, null); + + $obj->preinteressent_id = $row->preinteressent_id; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz; + $obj->firma_id = $row->firma_id; + $obj->anmerkung = $row->anmerkung; + $obj->erfassungsdatum = $row->erfassungsdatum; + $obj->einverstaendnis = ($row->einverstaendnis=='t'?true:false); + $obj->absagedatum = $row->absagedatum; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->maturajahr = $row->maturajahr; + $obj->infozusendung = $row->infozusendung; + $obj->person_id = $row->person_id; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + function loadZuordnungen($preinteressent_id) + { + if(!is_numeric($preinteressent_id) || $preinteressent_id=='') + { + $this->errormsg = 'Preinteressent_id ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' ORDER BY studiengang_kz"; + + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $obj = new preinteressent($this->conn, null, null); + + $obj->studiengang_kz = $row->studiengang_kz; + $obj->preinteressent_id = $row->preinteressent_id; + $obj->prioritaet = $row->prioritaet; + $obj->freigabedatum = $row->freigabedatum; + $obj->uebernahmedatum = $row->uebernahmedatum; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Zuordnung'; + return false; + } + } + + // ***************************************** + // * Laedt eine Zuordnung + // * @return true wenn ok, false wenn Fehler + // ***************************************** + function loadZuordnung($preinteressent_id, $studiengang_kz) + { + if(!is_numeric($preinteressent_id) || $preinteressent_id=='') + { + $this->errormsg = 'Preinteressent_id ist ungueltig'; + return false; + } + + if(!is_numeric($studiengang_kz) || $studiengang_kz=='') + { + $this->errormsg = 'studiengang_kz ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; + + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->studiengang_kz = $row->studiengang_kz; + $this->preinteressent_id = $row->preinteressent_id; + $this->prioritaet = $row->prioritaet; + $this->freigabedatum = $row->freigabedatum; + $this->uebernahmedatum = $row->uebernahmedatum; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Zuordnung'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Zuordnung'; + return false; + } + } + + // ******************************************** + // * Speichert die Studiengangszuordnung eines + // * Preinteressent + // * @return true wenn ok, false wenn Fehler + // ******************************************** + function saveZuordnung($new=null) + { + if($new==null) + $new = $this->new; + + if($new) + { + //Neuen Datensatz anlegen + $qry = "INSERT INTO public.tbl_preinteressentstudiengang (studiengang_kz, preinteressent_id, + prioritaet, freigabedatum, uebernahmedatum, updateamum, updatevon, insertamum, insertvon) VALUES (". + $this->addslashes($this->studiengang_kz).', '. + $this->addslashes($this->preinteressent_id).', '. + $this->addslashes($this->prioritaet).', '. + $this->addslashes($this->freigabedatum).', '. + $this->addslashes($this->uebernahmedatum).', '. + $this->addslashes($this->updateamum).', '. + $this->addslashes($this->updatevon).', '. + $this->addslashes($this->insertamum).', '. + $this->addslashes($this->insertvon).');'; + } + else + { + //Bestehenden Datensatz aktualisieren + $qry= "UPDATE public.tbl_preinteressentstudiengang SET". + " prioritaet=".$this->addslashes($this->prioritaet).",". + " freigabedatum=".$this->addslashes($this->freigabedatum).",". + " uebernahmedatum=".$this->addslashes($this->uebernahmedatum).",". + " updatevon=".$this->addslashes($this->updatevon).",". + " updateamum=".$this->addslashes($this->updateamum). + " WHERE preinteressent_id='".addslashes($this->preinteressent_id)."' AND studiengang_kz='".addslashes($this->studiengang_kz)."'"; + } + + if(pg_query($this->conn, $qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + } + + // ***************************************** + // * Loescht eine Zuordnung + // * @return true wenn ok, false wenn Fehler + // ***************************************** + function deleteZuordnung($preinteressent_id, $studiengang_kz) + { + if(!is_numeric($preinteressent_id) || $preinteressent_id=='') + { + $this->errormsg = 'Preinteressent_id ist ungueltig'; + return false; + } + + if(!is_numeric($studiengang_kz) || $studiengang_kz=='') + { + $this->errormsg = 'Studiengang_kz ist ungueltig'; + return false; + } + + $qry = "DELETE FROM public.tbl_preinteressentstudiengang WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='$studiengang_kz'"; + + if(pg_query($this->conn, $qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Loeschen der Daten'; + return false; + } + } +} +?> \ No newline at end of file diff --git a/index.cis.html b/index.cis.html index 318403ba0..3f4a8fed3 100644 --- a/index.cis.html +++ b/index.cis.html @@ -37,7 +37,7 @@ - diff --git a/vilesci/personen/preinteressent_detail.php b/vilesci/personen/preinteressent_detail.php new file mode 100644 index 000000000..892ff7729 --- /dev/null +++ b/vilesci/personen/preinteressent_detail.php @@ -0,0 +1,455 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/aufmerksamdurch.class.php'); +require_once('../../include/firma.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$stsem = new studiensemester($conn); +$stsem_aktuell = $stsem->getaktorNext(); + +$selection = (isset($_GET['selection'])?$_GET['selection']:'preinteressent'); + +echo ' + + PreInteressenten + + + + + + + + '; + +if(!$rechte->isBerechtigt('admin', null, 'suid') && + !$rechte->isBerechtigt('preinteressent', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +if(isset($_GET['id']) && is_numeric($_GET['id'])) + $id = $_GET['id']; +else + die('

Details

'); + + +$preinteressent = new preinteressent($conn); + +if(!$preinteressent->load($id)) + die('Datensatz konnte nicht geladen werden'); + +$person = new person($conn); +if(!$person->load($preinteressent->person_id)) + die('Personen Datensatz konnte nicht geladen werden'); + +echo "

Details - $person->nachname $person->vorname

"; + +if(isset($_POST['save_preinteressent'])) +{ + $preinteressent->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + $preinteressent->aufmerksamdurch_kurzbz = $_POST['aufmerksamdurch_kurzbz']; + $preinteressent->firma_id = $_POST['firma']; + $preinteressent->erfassungsdatum = $_POST['erfassungsdatum']; + $preinteressent->einverstaendnis = isset($_POST['einverstaendnis']); + if(isset($_POST['absagedatum']) && $preinteressent->absagedatum=='') + $preinteressent->absagedatum = date('Y-m-d H:i:s'); + if(!isset($_POST['absagedatum'])) + $preinteressent->absagedatum = ''; + $preinteressent->anmerkung = $_POST['anmerkung']; + $preinteressent->updateamum = date('Y-m-d H:i:s'); + $preinteressent->updatevon = $user; + $preinteressent->maturajahr = $_POST['maturajahr']; + $preinteressent->infozusendung = $_POST['infozusendung']; + + if(!$preinteressent->save(false)) + echo "Fehler beim Speichern der Daten: $preinteressent->errormsg"; + else + echo "Daten wurden gespeichert"; +} + +if(isset($_GET['action']) && $_GET['action']=='neuezuordnung') +{ + //Speichern eine neue Studiengangszuordnung + $zuordnung = new preinteressent($conn); + + if(!$zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_POST['studiengang_kz'])) + { + $zuordnung->preinteressent_id = $preinteressent->preinteressent_id; + $zuordnung->studiengang_kz = $_POST['studiengang_kz']; + $zuordnung->prioritaet = $_POST['prioritaet']; + $zuordnung->insertamum = date('Y-m-d H:i:s'); + $zuordnung->insertvon = $user; + + if(!$zuordnung->saveZuordnung(true)) + echo "Fehler beim Speichern: $zuordnung->errormsg"; + } + else + echo "Es besteht bereits eine Zuordnung zu diesem Studiengang"; +} + +if(isset($_POST['savezuordnung'])) +{ + //Zuordnung Speichern + $zuordnung = new preinteressent($conn); + + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + $zuordnung->prioritaet = $_POST['prioritaet']; + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} + +if(isset($_POST['freigabe'])) +{ + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->freigabedatum=='') + { + $zuordnung->freigabedatum = date('Y-m-d H:i:s'); + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + } + else + { + echo 'Diese Zuteilung ist bereits freigegeben'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} +if(isset($_POST['freigabe_rueckgaengig'])) +{ + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->freigabedatum!='') + { + if($zuordnung->uebernahmedatum=='') + { + $zuordnung->freigabedatum = ''; + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + } + else + { + echo 'Freigabe kann nicht Rückgängig gemacht werden da der Datensatz bereits übernommen wurde'; + } + } + else + { + echo 'Diese Zuteilung ist bereits freigegeben'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} +if(isset($_POST['zuordnungloeschen'])) +{ + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->uebernahmedatum=='') + { + if(!$zuordnung->deleteZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + echo "Fehler beim Löschen der Zuteilung: $zuordnung->errormsg"; + } + else + { + echo 'Diese Zuteilung wurde bereits uebernommen und kann daher nicht geloescht werden'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} + +// ----- TABS ------ +echo '

PreInteressent - '; +echo 'Studiengangszuordnung - '; +echo 'PersonenDaten

'; + +// ----- PERSON ----- +echo "
"; +echo "Kontaktdaten bearbeiten"; +echo "
"; + +// ----- PREINTERESSENT ----- +echo "
"; +echo "
preinteressent_id&selection=preinteressent' method='POST'>"; + +echo ''; + +//STUDIENSEMESTER +echo "'; + +//AUFMERKSAMDURCH +echo "'; + +//SCHULE +echo ""; + +echo ''; + +//Erfassungsdatum +echo ""; + +//Einverstaendnis +echo ""; + +//Absagedatum +echo ""; + +echo ''; + +//Infozusendung +echo ""; + + +//Maturajahr +echo ""; + + +echo ''; + +//Anmerkung +echo ''; +echo ''; + +echo ''; +echo ' + + + + + + '; + +echo '
Studiensemester:"; + +echo 'Aufmerksam durch: "; +echo 'Schule:
Erfassungsdatum: Einverständnis:einverstaendnis?'checked':'')." name='einverstaendnis'>Absageabsagedatum!=''?'checked':'')." name='absagedatum'>
Infozusendung amMaturajahr
Anmerkungen:'; +echo ""; +echo '
'; +echo '
'; +echo "
"; + +// ----- Studiengangszuordnung ----- +echo "
"; + +echo ''; +$zuordnung = new preinteressent($conn); +$zuordnung->loadZuordnungen($preinteressent->preinteressent_id); + +foreach ($zuordnung->result as $row) +{ + echo "preinteressent_id&studiengang_kz=$row->studiengang_kz&selection=studiengangszuordnung' method='POST'>"; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; +} + +//Neuer Eintrag +echo "preinteressent_id&selection=studiengangszuordnung&action=neuezuordnung' method='POST'>"; +echo ''; +echo ''; +echo ''; +echo ''; + +echo ''; +echo ''; +echo ''; +echo ''; + +echo '
StudiengangPrioritätFreigabeÜbernahmeAktion
'; + $studiengang = new studiengang($conn); + $studiengang->load($row->studiengang_kz); + echo "$studiengang->kuerzel - $studiengang->bezeichnung"; + echo ''; + echo ''; + echo ''; + //Wenn noch nicht freigegeben - Freigabe Button anzeigen + if($row->freigabedatum=='') + { + echo ''; + } + else + { + if($row->uebernahmedatum=='') + { + //Wenn freigegeben aber noch nicht uebernommen -> zurueckziehen button anzeigen + echo ''; + } + else + { + //Wenn freigegeben und uebernommen -> Freigabedatum anzeigen + echo $datum_obj->formatDatum($row->freigabedatum, 'd.m.Y H:i:s'); + } + } + echo ''; + echo $datum_obj->formatDatum($row->uebernahmedatum, 'd.m.Y H:i:s'); + echo ''; + echo ''; + echo ''; + if($row->uebernahmedatum=='') + echo ''; + echo '
'; +echo ''; +echo ''; +echo ''; +echo ''; +//Freigabedatum +echo ''; +//Uebernahmedatum +echo ''; +echo ''; +echo ''; + +echo '
'; +echo '
'; + +echo ''; +echo ''; +?> \ No newline at end of file diff --git a/vilesci/personen/preinteressent_frameset.html b/vilesci/personen/preinteressent_frameset.html new file mode 100644 index 000000000..d4075b190 --- /dev/null +++ b/vilesci/personen/preinteressent_frameset.html @@ -0,0 +1,20 @@ + + + + + PreInteressent + + + + + + + + + <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/preinteressent_uebernahme.php b/vilesci/personen/preinteressent_uebernahme.php new file mode 100644 index 000000000..1b08c8aec --- /dev/null +++ b/vilesci/personen/preinteressent_uebernahme.php @@ -0,0 +1,224 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/prestudent.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); + +if(isset($_GET['studiengang_kz'])) + $studiengang_kz = $_GET['studiengang_kz']; +else + $studiengang_kz = ''; + +echo ' + + PreInteressenten + + + + + + +

PreInteressenten

+ '; + +$stg_admin = $rechte->getStgKz('admin'); +$stg_assistenz = $rechte->getStgKz('assistenz'); +$stgs = array_merge($stg_admin, $stg_assistenz); +sort($stgs); +//Wenn keine Berechtigung vorhanden ist beenden +if(count($stgs)==0) + die('Sie haben keine Studiengangsberechtigung'); + +//alle Studiengaenge holen fuer die eine berechtigung vorhanden ist +$qry = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel, studiengang_kz FROM public.tbl_studiengang"; + +if($stgs[0]!=0) +{ + $stgwhere = ''; + foreach ($stgs as $stg) + { + if($stgwhere!='') + $stgwhere.=','; + $stgwhere .=$stg; + } + + $qry.=" WHERE studiengang_kz in ($stgwhere)"; +} +$qry.=" ORDER by kuerzel"; + +//Drop Down fuer Studiengaenge anzeigen +echo '
Studiengang:
'; + +if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +if(isset($_POST['uebertragen'])) +{ + $anzahl_fehler=0; + $anzahl_uebernommen=0; + + foreach ($_POST as $param) + { + if(strstr($param, 'chk_')) + { + pg_query($conn, 'BEGIN;'); + + $id = substr($param, 3); + $preinteressent = new preinteressent($conn); + if($preinteressent->load($id)) + { + //Prestudent anlegen + $prestudent = new prestudent($conn); + $prestudent->new = true; + $prestudent->aufmerksamdurch_kurzbz = $preinteressent->aufmerksamdurch_kurzbz; + $prestudent->person_id = $preinteressent->person_id; + $prestudent->studiengang_kz = $studiengang_kz; + $prestudent->reihungstestangetreten = false; + $prestudent->bismelden = true; + $prestudent->insertamum = date('Y-m-d H:i:s'); + $prestudent->insertvon = $user; + + if($prestudent->save()) + { + //Rolle anlegen + $prestudent->studiensemester_kurzbz = $preinteressent->studiensemester_kurzbz; + + $preinteressent1 = new preinteressent($conn); + $preinteressent1->loadStudiengangszuteilung($preinteressent_id, $studiengang_kz); + + $prestudent->ausbildungssemester = 1; + $prestudent->rolle_kurzbz = 'Interessent'; + $prestudent->datum = date('Y-m-d'); + $prestudent->insertamum = date('Y-m-d H:i:s'); + $prestudent->inservon = $user; + + if($prestudent->save_rolle(true)) + { + //Uebernahme Datum setzen + $qry = "UPDATE public.tbl_preinteressentstudiengang SET + uebernahmedatum='".date('Y-m-d H:i:s')."', + updateamum='".date('Y-m-d H:i:s')."', + updatevon='".$user."' + WHERE studiengang_kz='$studiengang_kz' AND preinteressent_id='$preinteressent_id'"; + if(pg_query($conn, $qry)) + { + $anzahl_uebernommen++; + pg_query($conn, 'COMMIT'); + } + else + { + echo "
Fehler beim Eintragen des Uebernahmedatums"; + $anzahl_fehler++; + pg_query($conn, 'ROLLBACK'); + } + } + else + { + echo "
Fehler beim Anlegen der Rolle: $prestudent->errormsg"; + pg_query($conn, 'ROLLBACK'); + $anzahl_fehler++; + } + } + else + { + echo "
Fehler beim Speichern des Prestudenteintrages: $prestudent->errormsg"; + pg_query($conn, 'ROLLBACK'); + $anzahl_fehler++; + } + } + else + { + echo "
PreInteressent mit der ID $id konnte nicht geladen werden"; + pg_query($conn, 'ROLLBACK'); + $anzahl_fehler++; + } + } + } + echo "
Es wurden $anzahl_uebernommen Personen uebernommen"; + if($anzahl_fehler>0) + echo "
Es sind $anzahl_fehler Fehler aufgetreten"; +} +echo '

'; +echo "
"; +echo " + + + + + + + + + + + "; +$preinteressent = new preinteressent($conn); +$preinteressent->loadFreigegebene($studiengang_kz); + +foreach ($preinteressent->result as $row) +{ + echo ''; + $person = new person($conn); + $person->load($row->person_id); + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; +} +echo '
NachnameVornameGebDatumStudiensemesterAnmerkung 
$person->nachname$person->vorname$person->gebdatum$preinteressent->studiensemester_kurzbz$preinteressent->anmerkung

'; +echo '
'; +?> \ No newline at end of file diff --git a/vilesci/personen/preinteressent_uebersicht.php b/vilesci/personen/preinteressent_uebersicht.php new file mode 100644 index 000000000..d8f57dc50 --- /dev/null +++ b/vilesci/personen/preinteressent_uebersicht.php @@ -0,0 +1,197 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/log.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$stsem = new studiensemester($conn); +$stsem_aktuell = $stsem->getaktorNext(); + +if(isset($_GET['studiengang_kz'])) + $studiengang_kz = $_GET['studiengang_kz']; +else + $studiengang_kz = ''; + +if(isset($_GET['studiensemester_kurzbz'])) + $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; +else + $studiensemester_kurzbz = $stsem_aktuell; + +if(isset($_GET['filter'])) + $filter = $_GET['filter']; +else + $filter = ''; + +echo ' + + PreInteressenten + + + + + + + +

PreInteressenten

+ '; + +if(!$rechte->isBerechtigt('admin', null, 'suid') && + !$rechte->isBerechtigt('preinteressent', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +//DROP DOWNs anzeigen +echo "'; +echo '
"; +echo 'Studiensemester: '; + +echo '   Studiengang: '; +echo '   '; +echo '
'; +echo "
"; +echo " "; +echo ""; +echo '
NEU
'; + +//FREIGEBEN / LOESCHEN +if(isset($_GET['action'])) +{ + if($_GET['action']=='freigabe') + { + echo '
Freigabe ist noch nicht implementiert'; + } + elseif($_GET['action']=='loeschen') + { + //Loeschen eines Preinteressenten + $preinteressent = new preinteressent($conn); + if($preinteressent->load($_GET['id'])) + { + if($preinteressent->delete($preinteressent->preinteressent_id)) + { + echo '
Datensatz wurde geloescht'; + } + else + { + echo "
Fehler beim Löschen: $preinteressent->errormsg"; + } + } + else + { + echo "
Fehler beim Laden des Datensatzes. Daten wurden NICHT gelöscht"; + } + } + +} + +//TABELLE ANZEIGEN +echo '
'; +echo " + + + + + + + + + + + "; + + +$preinteressent = new preinteressent($conn); +if($filter=='') + $preinteressent->loadPreinteressenten($studiengang_kz, $studiensemester_kurzbz); +else + $preinteressent->loadPreinteressenten(null, null, $filter); + +foreach ($preinteressent->result as $row) +{ + echo ''; + $person = new person($conn); + $person->load($row->person_id); + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; +} +echo '
NachnameVornameGeburtsdatumStudiensemesterAnmerkungAktion
$person->nachname$person->vorname".$datum_obj->convertISODate($person->gebdatum)."$row->studiensemester_kurzbz$row->anmerkungpreinteressent_id&action=freigabe&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'\" value='Freigeben'>preinteressent_id&action=loeschen&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'}\" value='Löschen'>

'; + +echo ''; +echo ''; +?> \ No newline at end of file