From a9dfe7d5ed3f3255e90def251759272c60470b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 7 Dec 2018 12:12:45 +0100 Subject: [PATCH 1/5] Infocenter Navigation angepasst damit auch auf Unterseiten zwischen den filtern gewechselt werden kann --- .../system/infocenter/InfoCenter.php | 97 +++++++++++-------- application/libraries/FiltersLib.php | 2 +- .../infocenter/infocenterFreigegeben.php | 2 +- system/filtersupdate.php | 6 +- 4 files changed, 64 insertions(+), 43 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index de02a3a11..f96f6ff12 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/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": [ { From d9e8c0ca7194d9b1b0e2a2686d531394f1f46f48 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 10 Dec 2018 10:17:51 +0100 Subject: [PATCH 2/5] FHTW Invitation Letter Der Inivtation Letter kann an der FHTW von BewerberInnen heruntergeladen werden --- cms/dms.php | 2 ++ 1 file changed, 2 insertions(+) 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'); From 955102b82298f36122a05aa76d6814b8553f6e95 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 10 Dec 2018 10:24:58 +0100 Subject: [PATCH 3/5] Changes in functions - Optional studienplan_id in existsPrestudentstatus - Optional order by in getPriorisierungPersonStudiensemester - Function getPriorisierungPersonStudiensemester returns now object with priorisierung and studiengang_kz --- include/prestudent.class.php | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) 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 { From 280c3ac10486d4ec59c452fa0c3f6acf3ff43d9c Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 10 Dec 2018 10:41:47 +0100 Subject: [PATCH 4/5] Reihungstestverwaltung MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Button um Assistenz über Testende zu informieren (vorerst auskommentiert) - An der FHTW wird bei den Stufen eine Beschreibung eingeblendet - Minor Usability an Bugfixes --- vilesci/stammdaten/reihungstestverwaltung.php | 797 +++++++++++------- .../reihungstestverwaltung_autocomplete.php | 6 +- 2 files changed, 506 insertions(+), 297 deletions(-) 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']))