diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 97da8ff2e..901ac4c73 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -857,9 +857,20 @@ class InfoCenter extends Auth_Controller } $this->navigationlib->setSessionMenu( - array( + array('filters' => $this->navigationlib->oneLevel( + 'Filters', // description + '#', // link + $filtersArray, // children + 'filter', // icon + true, // expand + null, // subscriptDescription + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 1 // sort + ), 'freigegeben' => $this->navigationlib->oneLevel( - 'zum RT Freigegeben', // description + 'zum RT freigegeben', // description $freigegebenLink, // link null, // children 'thumbs-up', // icon @@ -868,7 +879,7 @@ class InfoCenter extends Auth_Controller null, // subscriptLinkClass null, // subscriptLinkValue '', // target - 1 // sort + 10 // sort ), 'reihungstestAbsolviert' => $this->navigationlib->oneLevel( 'Reihungstest absolviert', // description @@ -880,19 +891,7 @@ class InfoCenter extends Auth_Controller null, // subscriptLinkClass null, // subscriptLinkValue '', // target - 2 // sort - ), - 'filters' => $this->navigationlib->oneLevel( - 'Filters', // description - '#', // link - $filtersArray, // children - '', // icon - true, // expand - null, // subscriptDescription - null, // subscriptLinkClass - null, // subscriptLinkValue - '', // target - 10 // sort + 20 // sort ) ) ); @@ -951,6 +950,8 @@ class InfoCenter extends Auth_Controller // Generate the home link with the eventually loaded filter $homeLink = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE); + $freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); + $absolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE); $prevFilterId = $this->input->get(self::PREV_FILTER_ID); if (isset($prevFilterId)) { @@ -958,20 +959,57 @@ class InfoCenter extends Auth_Controller } $this->navigationlib->setElementSessionMenu( - $page, + 'uebersicht', $this->navigationlib->oneLevel( - 'Home', // description + 'Infocenter Übersicht', // description $homeLink, // link null, // children - 'angle-left', // icon + 'info', // icon null, // subscriptDescription false, // expand null, // subscriptLinkClass null, // subscriptLinkValue '', // target - 1 // sort + 20 // sort ) ); + + if($page == self::REIHUNGSTESTABSOLVIERT_PAGE) + { + $this->navigationlib->setElementSessionMenu( + 'freigegeben', + $this->navigationlib->oneLevel( + 'zum RT freigegeben', // description + $freigegebenLink, // link + null, // children + 'thumbs-up', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 30 // sort + ) + ); + } + if($page == self::FREIGEGEBEN_PAGE) + { + $this->navigationlib->setElementSessionMenu( + 'reihungstestAbsolviert', + $this->navigationlib->oneLevel( + 'Reihungstest absolviert', // description + $absolviertLink, // link + null, // children + 'check', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 30 // sort + ) + ); + } } /** @@ -993,25 +1031,6 @@ class InfoCenter extends Auth_Controller } } - /** - * Utility method used to fill elements of the InfoCenter left menu of the freigegeben InfoCenter page - */ - private function _fillFiltersFreigegeben($filters, &$toFill) - { - foreach ($filters as $filterId => $description) - { - $toFill['children'][] = $this->navigationlib->oneLevel( - $description, // description - sprintf( - '%s?%s=%s', - site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE), - self::FILTER_ID, - $filterId - ) // link - ); - } - } - /** * Utility method used to fill elements of the InfoCenter left menu * with the list of the custom filter of the authenticated user diff --git a/application/libraries/FiltersLib.php b/application/libraries/FiltersLib.php index 0875716d1..1e3a591ac 100644 --- a/application/libraries/FiltersLib.php +++ b/application/libraries/FiltersLib.php @@ -757,7 +757,7 @@ class FiltersLib self::NAV_MENU_FILTER_NAME, // description '#', // link $childrenArray, // children - '', // icon + 'filter', // icon true, // expand null, // subscriptDescription null, // subscriptLinkClass diff --git a/application/views/system/infocenter/infocenterFreigegeben.php b/application/views/system/infocenter/infocenterFreigegeben.php index eee68d69d..96fd3349b 100755 --- a/application/views/system/infocenter/infocenterFreigegeben.php +++ b/application/views/system/infocenter/infocenterFreigegeben.php @@ -33,7 +33,7 @@
diff --git a/cms/dms.php b/cms/dms.php index 6548dc1e3..bc9c13035 100644 --- a/cms/dms.php +++ b/cms/dms.php @@ -79,9 +79,11 @@ if($doc->isLocked($id)) $dokumente_arr[] .= $row->dokument_kurzbz; // An der FHTW wird das vorläufige ZGV Dokument verlangt und kann somit auch heruntergeladen werden + // Auch der Inivtation Letter kann von BewerberInnen heruntergeladen werden if (CAMPUS_NAME == 'FH Technikum Wien') { $dokumente_arr[] .= 'ZgvBaPre'; + $dokumente_arr[] .= 'InvitLet'; } if ($person_id!=$akte_person || !in_array($akte_dokument_kurzbz, $dokumente_arr)) die('Sie haben keinen Zugriff auf dieses Dokument'); diff --git a/include/prestudent.class.php b/include/prestudent.class.php index d98b3df8e..eca7e22cf 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -796,16 +796,17 @@ class prestudent extends person /** * Prueft ob eine Person bereits einen PreStudentstatus-Eintrag - * fuer einen Studiengang und optional ein Studiensemester und optional ein Status_kurzbz besitzt + * fuer einen Studiengang, optional ein Studiensemester, optional eine Status_kurzbz und optional einen Studienplan besitzt * @param integer $person_id * @param integer $studiengang_kz * @param string $studiensemester_kurzbz Optional. * @param string $status_kurzbz Optional. + * @param integer $studienplan_id Optional. * @return true wenn vorhanden * false wenn nicht vorhanden * false und errormsg wenn Fehler aufgetreten ist */ - public function existsPrestudentstatus($person_id, $studiengang_kz, $studiensemester_kurzbz = null, $status_kurzbz = null) + public function existsPrestudentstatus($person_id, $studiengang_kz, $studiensemester_kurzbz = null, $status_kurzbz = null, $studienplan_id = null) { if(!is_numeric($person_id)) { @@ -829,6 +830,9 @@ class prestudent extends person if ($status_kurzbz != '') $qry .= " AND status_kurzbz=".$this->db_add_param($status_kurzbz); + + if ($studienplan_id != '') + $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id); if($this->db_query($qry)) { @@ -1185,6 +1189,7 @@ class prestudent extends person /** * Laedt alle Prestudenten der Person + * @param integer $person_id * @return true wenn ok, false wenn Fehler */ public function getPrestudenten($person_id) @@ -1195,7 +1200,13 @@ class prestudent extends person return false; } - $qry = "SELECT * FROM public.tbl_prestudent WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." ORDER BY prestudent_id"; + $qry = "SELECT + * + FROM + public.tbl_prestudent + WHERE + person_id=".$this->db_add_param($person_id, FHC_INTEGER)." + ORDER BY prestudent_id"; if($this->db_query($qry)) { @@ -1929,15 +1940,17 @@ class prestudent extends person } /** - * Liefert die höchste Priorität des PreStudenten einer Person in einem Studiensemester + * Liefert die Priorität des PreStudenten einer Person in einem Studiensemester + * Per Default wird die Höchste Priorisierung (ORDER BY DESC NULLS LAST) zurueckgegeben. * @param integer $person_id Person ID deren höchste Priorität geladen werden soll * @param string $studiensemester_kurzbz Studiensemester dessen höchste Priorität geladen werden soll - * @return integer Zahl der höchsten Priorität oder false im Fehlerfall + * @param string $order Default höchste Priorisierung (priorisierung DESC NULLS LAST) + * @return object mit priorisierung und studiengang_kz oder false im Fehlerfall */ - public function getHoechstePriorisierungPersonStudiensemester($person_id, $studiensemester_kurzbz) + public function getPriorisierungPersonStudiensemester($person_id, $studiensemester_kurzbz, $order = "priorisierung DESC NULLS LAST") { $qry = "SELECT - priorisierung + priorisierung, studiengang_kz FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) @@ -1945,13 +1958,16 @@ class prestudent extends person tbl_prestudent.person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND tbl_prestudentstatus.status_kurzbz='Interessent' AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." - ORDER BY priorisierung DESC NULLS LAST LIMIT 1"; + ORDER BY ".$order." + LIMIT 1"; if($result = $this->db_query($qry)) { if($row = $this->db_fetch_object($result)) { - return $row->priorisierung; + $this->priorisierung = $row->priorisierung; + $this->studiengang_kz = $row->studiengang_kz; + return true; } else { diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php index 7bc2b67a1..132ec78fa 100644 --- a/include/reihungstest.class.php +++ b/include/reihungstest.class.php @@ -1386,4 +1386,38 @@ class reihungstest extends basis_db return false; } } + + /** + * Laedt alle person_ids, die einem Reihungstest zugeteilt sind + * @param integer $reihungstest_id ID des Reihungstests. + * @return true wenn ok, false im Fehlerfall + */ + public function getPersonenReihungstest($reihungstest_id) + { + $qry = "SELECT + person_id + FROM + public.tbl_rt_person + WHERE + tbl_rt_person.rt_id=".$this->db_add_param($reihungstest_id)." + ORDER BY + person_id"; + if ($result = $this->db_query($qry)) + { + while ($row = $this->db_fetch_object($result)) + { + $obj = new stdClass(); + + $obj->person_id = $row->person_id; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 612dbdf3e..e90189142 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -264,7 +264,8 @@ $filters = array( {"name": "StgAbgeschickt"}, {"name": "LastAction"}, {"name": "User/Operator"}, - {"name": "LockUser"} + {"name": "LockUser"}, + {"name": "Statusgrund"} ], "filters": [ { @@ -298,7 +299,8 @@ $filters = array( {"name": "StgAbgeschickt"}, {"name": "LastAction"}, {"name": "User/Operator"}, - {"name": "LockUser"} + {"name": "LockUser"}, + {"name": "Statusgrund"} ], "filters": [ { diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index a9577cfc6..76b1dd248 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -52,6 +52,7 @@ require_once('../../include/sprache.class.php'); require_once('../../include/organisationsform.class.php'); require_once('../../include/gruppe.class.php'); require_once('../../include/variable.class.php'); +require_once('../../include/mail.class.php'); // "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert @@ -583,6 +584,25 @@ if(isset($_GET['excel']))