From 120a775dbbebe9f694fb0324a0bd7ac619b939f0 Mon Sep 17 00:00:00 2001 From: Andreas Oesterreicher Date: Wed, 20 Mar 2019 10:54:24 +0100 Subject: [PATCH 1/5] =?UTF-8?q?Urkundendruck=20korrigiert=20wenn=20die=20A?= =?UTF-8?q?bschlusspr=C3=BCfung=20vom=20Typ=20Lehrgangsabschluss=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentabschlusspruefung.js.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php index 481b1603f..cac9cb78a 100644 --- a/content/student/studentabschlusspruefung.js.php +++ b/content/student/studentabschlusspruefung.js.php @@ -995,9 +995,9 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache) return false; } - if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch') + if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='deutsch') xsl='Bakkurkunde'; - else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch') + else if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='englisch') xsl='BakkurkundeEng'; else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch') xsl='Diplomurkunde'; From fe4017c7862f0de746d3ec7fb1f50d0b0868851a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 20 Mar 2019 16:30:44 +0100 Subject: [PATCH 2/5] Added function to install extensions from commandline --- .../controllers/system/extensions/Manager.php | 11 +++++++--- application/libraries/ExtensionsLib.php | 20 +++++++++++++++---- application/libraries/PermissionLib.php | 3 ++- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/application/controllers/system/extensions/Manager.php b/application/controllers/system/extensions/Manager.php index 0a8867c1f..aa4e76e9c 100644 --- a/application/controllers/system/extensions/Manager.php +++ b/application/controllers/system/extensions/Manager.php @@ -81,10 +81,15 @@ class Manager extends Auth_Controller } /** - * + * Installiert eine Extension. + * Es wird davon ausgegangen, dass die Extension ueber einen Fileupload hochgeladen wird. + * alternativ kann hier auch der Name und Filename uebergeben werden um die installation ueber + * die Commandline ohne Upload durchzufuehren. + * @param $extensioName string Name der Extension + * @param $filename Url Encoded Pfad zum tgz File der Extension */ - public function uploadExtension() + public function uploadExtension($extensionName = null, $filename = null) { - $this->extensionslib->installExtension(); + $this->extensionslib->installExtension($extensionName, urldecode($filename)); } } diff --git a/application/libraries/ExtensionsLib.php b/application/libraries/ExtensionsLib.php index 67fa9d117..f678a0bc1 100644 --- a/application/libraries/ExtensionsLib.php +++ b/application/libraries/ExtensionsLib.php @@ -59,17 +59,29 @@ class ExtensionsLib /** * Main method to install an extension + * If no filename / Extensionname is provided the extension should be uploaded via webupload + * + * @param $extensionName string Name of Extension (optional) + * @param $filename Path to tgz Extension File (optional) */ - public function installExtension() + public function installExtension($extensionName = null, $filename = null) { $extensionDB = null; // contains data from DB about an extension $extensionJson = null; // contains the extension.json data $this->_printInfo('WARNING!!! Please do not change page or stop this procedure before it is finished'); - $this->_loadUploadLibrary(); // loads CI upload library - - $uploadData = $this->_uploadExtension(); // perform the upload of the file and returns info about it + if (!is_null($extensionName) && !is_null($filename)) + { + $uploadData = new stdClass(); + $uploadData->fullPath = $filename; + $uploadData->extensionName = $extensionName; + } + else + { + $this->_loadUploadLibrary(); // loads CI upload library + $uploadData = $this->_uploadExtension(); // perform the upload of the file and returns info about it + } if ($uploadData != null) // if no error occurred { diff --git a/application/libraries/PermissionLib.php b/application/libraries/PermissionLib.php index 980598d9b..3b6e3ab5f 100644 --- a/application/libraries/PermissionLib.php +++ b/application/libraries/PermissionLib.php @@ -123,11 +123,12 @@ class PermissionLib public function isEntitled($requiredPermissions, $calledMethod) { $checkPermissions = false; - $requestMethod = $_SERVER['REQUEST_METHOD']; // If it's called from command line than it's trusted if (is_cli()) return true; + $requestMethod = $_SERVER['REQUEST_METHOD']; + // Checks if the parameter $requiredPermissions is set, is an array and contains at least one element if (isset($requiredPermissions) && !isEmptyArray($requiredPermissions)) { From 72a9d9dc01f2ac00fb2a4eac3263c29c7c120c2c Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 20 Mar 2019 17:32:52 +0100 Subject: [PATCH 3/5] Modified function getReihungstestErgebnisPerson in pruefling class . Function now provides end resulting points only of the general basic question areas. (without quereinsteiger-gebiete) . Function now accepts question areas to be excluded. --- include/pruefling.class.php | 189 ++++++++++++++++++++++-------------- 1 file changed, 115 insertions(+), 74 deletions(-) diff --git a/include/pruefling.class.php b/include/pruefling.class.php index 071d7a1a1..7e56d4bf0 100644 --- a/include/pruefling.class.php +++ b/include/pruefling.class.php @@ -20,6 +20,7 @@ * Rudolf Hangl . */ require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/ablauf.class.php'); class pruefling extends basis_db { @@ -308,100 +309,140 @@ class pruefling extends basis_db /** * Berechnet das Reihungstestergebnis fuer eine Person und ggf Reihungstest - * ACHTUNG - Diese Funktion liefert keine zuverlaessigen Ergebnisse wenn keine ReihungstestID uebergeben wird - * und die Person mehrere Reihungstests absolviert hat! * @param $person_id ID der Person. * @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme. * @param $reihungstest_id ID des Reihungstests. * @param $has_excluded_gebiete Wenn true werden die Punkte der Fragengebiete, die im config-array * definiert sind, bei der Berechnung der Endpunkte nicht berücksichtigt. + * @param $studiengang_kz Wenn eine Studiengangskennzahl übergeben wird, dann werden nur die Punkte der + * Basis-Fragengebiete (ohne Quereinsteiger) bei der Berechnung der Endpunkte berücksichtigt. * @return Endpunkte des Reihungstests oder False wenn keine Punkte vorhanden */ - public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id=null, $has_excluded_gebiete = false) + public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id, $has_excluded_gebiete = false, $studiengang_kz = null) { - $qry = "SELECT * FROM testtool.vw_auswertung - WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER); - - if ($has_excluded_gebiete) + if(is_numeric($reihungstest_id)) { - if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE)) + $ergebnis=0; + + $qry = " + SELECT DISTINCT ON (vw_auswertung_ablauf.gebiet_id) gebiet_id, + vw_auswertung_ablauf.*, + tbl_studiengang.typ + FROM + testtool.vw_auswertung_ablauf + JOIN + public.tbl_studiengang ON vw_auswertung_ablauf.stg_kurzbz = tbl_studiengang.kurzbzlang + WHERE + reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER); + + // Ggf. die Basis-Fragengebiete ermitteln (ohne Quereinsteigergebiete) + if (is_numeric($studiengang_kz)) { - $exclude_gebiet_id_arr = FAS_REIHUNGSTEST_EXCLUDE_GEBIETE; - $exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr); - $qry .= " AND gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")"; + $ablauf = new Ablauf(); + $ablauf->getAblaufGebiete($studiengang_kz, NULL, 1); + $basis_gebiet_id_arr = array(); + $basis_gebiet_id_toString = ''; + + foreach ($ablauf->result as $obj) + { + $basis_gebiet_id_arr []= $obj->gebiet_id; + } + $basis_gebiet_id_toString = implode(', ', $basis_gebiet_id_arr); + + if (!empty($basis_gebiet_id_toString)) + { + $qry .= " + AND + gebiet_id IN (". $basis_gebiet_id_toString. ") + "; + } } - } - $ergebnis=0; - - if(!is_null($reihungstest_id)) - { - $qry.=" AND reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER); - - // Quercheck der PrestudentID ueber den Status damit bei Personen - // die den Reihungstest oefter im selben Studiengang gemacht haben nicht das - // Ergebniss der beiden Tests summiert bekommen - // Im Zweifelsfall wird der neuere Reihungstest genommen - $qry.= " - AND - prestudent_id = ( - SELECT - prestudent_id - FROM - public.tbl_rt_person - JOIN - public.tbl_prestudent USING(person_id) - JOIN - public.tbl_prestudentstatus USING (prestudent_id) - JOIN - tbl_reihungstest ON ( - tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id - AND - tbl_prestudentstatus.studiensemester_kurzbz = tbl_reihungstest.studiensemester_kurzbz - ) - WHERE - tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + // Ggf. Fragengebiete exkludieren + if ($has_excluded_gebiete) + { + if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE)) + { + $exclude_gebiet_id_arr = FAS_REIHUNGSTEST_EXCLUDE_GEBIETE; + $exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr); + $qry .= " AND - tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)." + gebiet_id NOT IN (". $exclude_gebiet_id_toString. ") AND - tbl_prestudentstatus.status_kurzbz='Interessent' - AND - (tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL) - ORDER BY - tbl_reihungstest.datum desc LIMIT 1 - )"; - } + typ = 'b' + "; + } + } - if($result = $this->db_query($qry)) - { - // Wenn keine Eintraege vorhanden dann false - if($this->db_num_rows($result)==0) + /** + * Quercheck der PrestudentID ueber den Status damit bei Personen + * die den Reihungstest oefter im selben Studiengang gemacht haben nicht das + * Ergebniss der beiden Tests summiert bekommen + * Im Zweifelsfall wird der neuere Reihungstest genommen */ + $qry .= " + AND prestudent_id = ( + SELECT + prestudent_id + FROM + public.tbl_rt_person + JOIN + public.tbl_prestudent USING(person_id) + JOIN + public.tbl_prestudentstatus USING (prestudent_id, studienplan_id) + JOIN + tbl_reihungstest ON ( + tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id + ) + WHERE + tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND + tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)." + AND + tbl_prestudentstatus.status_kurzbz='Interessent' + AND + (tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL) + ORDER BY + tbl_reihungstest.datum desc LIMIT 1 + ) + "; + + if($result = $this->db_query($qry)) + { + // Wenn keine Eintraege vorhanden dann false + if($this->db_num_rows($result)==0) + return false; + + while($row = $this->db_fetch_object($result)) + { + //wenn maxpunkte ueberschritten wurde -> 100% + if($row->punkte>=$row->maxpunkte) + { + $prozent=100; + $row->punkte = $row->maxpunkte; + } + else + $prozent = ($row->punkte/$row->maxpunkte)*100; + + if($punkte) + { + $ergebnis +=$row->punkte; + } + + else + $ergebnis+=$prozent*$row->gewicht; + } + return $ergebnis; + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; return false; - - while($row = $this->db_fetch_object($result)) - { - //wenn maxpunkte ueberschritten wurde -> 100% - if($row->punkte>=$row->maxpunkte) - { - $prozent=100; - $row->punkte = $row->maxpunkte; - } - else - $prozent = ($row->punkte/$row->maxpunkte)*100; - - if($punkte) - { - $ergebnis +=$row->punkte; - } - - else - $ergebnis+=$prozent*$row->gewicht; } - return $ergebnis; + } else { - $this->errormsg = 'Fehler bei einer Abfrage'; + $this->errormsg = 'reihungstest_id muss numerisch sein'; return false; } } From 12019bfdaec4c8a3ea3e733e99ad5d7029808db5 Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 20 Mar 2019 17:41:06 +0100 Subject: [PATCH 4/5] Added Reihungstest results of basic areas (excluding Quereinsteiger) Now there are 2 new fields in FAS > Aufnahmetermine displaying the results only of the basic areas (without points of Quereinsteigergebiete). . First field: total result of basic areas . Second field: total result of basic areas EXCLUDING physics . Both fields are only shown for Bachelor-studies. . Generally the display of these fields is controlled by the config file. --- config/vilesci.config-default.inc.php | 3 ++ content/student/aufnahmetermine.js.php | 19 +++++++++ content/student/aufnahmetermine.xul.php | 31 ++++++++------ rdf/aufnahmetermine.rdf.php | 57 +++++++++++++++++-------- 4 files changed, 81 insertions(+), 29 deletions(-) diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php index 9c0c21c22..1d68cfdb3 100644 --- a/config/vilesci.config-default.inc.php +++ b/config/vilesci.config-default.inc.php @@ -174,6 +174,9 @@ define('VIEW_BEGIN', 'vw_'); //Legt fest ob die Personalnummer beim Anlegen NULL sein soll define('FAS_PERSONALNUMMER_GENERATE_NULL', false); +// Legt fest ob Felder mit Reihgungstest-Basispunkten im Reiter Aufnahme-Termine angezeigt werden +define('FAS_REIHUNGSTEST_PUNKTE_BASISGEBIET_ANZEIGEN', false); + // API Informationen define('FHC_REST_API_KEY', 'testapikey@fhcomplete.org'); define('FHC_REST_USER', 'username'); diff --git a/content/student/aufnahmetermine.js.php b/content/student/aufnahmetermine.js.php index bcbe350f4..d1ffda1e1 100644 --- a/content/student/aufnahmetermine.js.php +++ b/content/student/aufnahmetermine.js.php @@ -244,6 +244,7 @@ function AufnahmeTermineAuswahl() var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" )); var endpunkte_inkl_gebiete = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#endpunkte_inkl_gebiete" )); var endpunkte_exkl_gebiete = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#endpunkte_exkl_gebiete" )); + var typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#typ" )); document.getElementById('aufnahmetermine-textbox-rt_person_id').value=rt_person_id; document.getElementById('aufnahmetermine-textbox-person_id').value=person_id; @@ -259,6 +260,24 @@ function AufnahmeTermineAuswahl() document.getElementById('aufnahmetermine-menulist-studienplan').value=studienplan_id; document.getElementById('aufnahmetermine-textbox-endpunkte-inkl-gebiete').value = endpunkte_inkl_gebiete; document.getElementById('aufnahmetermine-textbox-endpunkte-exkl-gebiete').value = endpunkte_exkl_gebiete; + + // Sichtbarkeit der RT-Vergleichsergebnispunkte (ohne Quereinsteiger) + var basisgebiet_punkte_anzeigen = ; + + // * Generell Anzeige nur wenn über config-Datei gesetzt ist + if (basisgebiet_punkte_anzeigen) + { + // * für Bachelor-Studiengänge anzeigen + if (typ == 'b') + { + document.getElementById('aufnahmetermine-groupbox-vergleich-endpunkte').hidden = false; + } + // * für Master-Studiengänge verstecken + else if (typ == 'm') + { + document.getElementById('aufnahmetermine-groupbox-vergleich-endpunkte').hidden = true; + } + } } function AufnahmeTermineNeu() diff --git a/content/student/aufnahmetermine.xul.php b/content/student/aufnahmetermine.xul.php index 3b1e4a174..fe0cff1c4 100644 --- a/content/student/aufnahmetermine.xul.php +++ b/content/student/aufnahmetermine.xul.php @@ -28,6 +28,7 @@ require_once('../../config/global.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/variable.class.php'); require_once('../../include/prestudent.class.php'); +require_once('../../include/studiengang.class.php'); $user=get_uid(); $variable = new variable(); @@ -294,18 +295,24 @@ echo ']> - - - - + diff --git a/rdf/aufnahmetermine.rdf.php b/rdf/aufnahmetermine.rdf.php index 0ec40ff9e..50941d7e4 100644 --- a/rdf/aufnahmetermine.rdf.php +++ b/rdf/aufnahmetermine.rdf.php @@ -95,35 +95,47 @@ if($prestudent_id!='') $stsem_arr[] = $reihungstest_obj_arr[$row->reihungstest_id]->studiensemester_kurzbz; } - // Reale (nicht von Assistenz überarbeitete) Gesamtpunkte des RT laden; ggf. ohne bestimmte Fragengebiete - $pruefling = new Pruefling(); + // Studiengangstyp ermitteln + $stpl = new Studienplan(); + $stpl->loadStudienplan($row->studienplan_id); // Studienplan von RT-Person + $rtp_sto_id = $stpl->studienordnung_id; // Studienordnung-ID von RT-Person + $sto = new Studienordnung(); + $sto->loadStudienordnung($rtp_sto_id); + $studiengang_kz = $sto->studiengang_kz; // Studiengang-KZ von RT-Person + $stg = new Studiengang($studiengang_kz); + $typ = $stg->typ; // Studiengangstyp von RT-Person - // * Gesamtpunkte inklusive alle Fragengebiete + // Reihungstestpunkte der Basisgebiete ermitteln (ohne Quereinsteiger) + $pruefling = new Pruefling(); $endpunkte_inkl_gebiete = 0; $endpunkte_exkl_gebiete = 0; + + // * Endpunkte über alle Basisgebiete if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) { - $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id); + $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, false, $row->studiengang_kz); } else { - $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id); + $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, false, $row->studiengang_kz); } - // * ggf. Gesamtpunkte exklusive bestimmte Fragengebiete + + // * ggf. Endpunkte exklusive bestimmter Gebiete, die in der config-Datei gesetzt sind if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE)) { if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) { - $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, true); + $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, true, $row->studiengang_kz); } else { - $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, true); + $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, true, $row->studiengang_kz); } } $row->endpunkte_inkl_gebiete = round($endpunkte_inkl_gebiete, 2); $row->endpunkte_exkl_gebiete = round($endpunkte_exkl_gebiete, 2); + $row->typ = $typ; } if(count($stsem_arr) > 0) { @@ -144,36 +156,46 @@ elseif($rt_person_id!='') $reihungstest_obj_arr[$reihungstest->reihungstest_id] = new reihungstest(); $reihungstest_obj_arr[$reihungstest->reihungstest_id]->load($reihungstest->reihungstest_id); - // Reale (nicht von Assistenz überarbeitete) Gesamtpunkte des RT laden; ggf. ohne bestimmte Fragengebiete - $pruefling = new Pruefling(); + // Studiengangstyp ermitteln + $stpl = new Studienplan(); + $stpl->loadStudienplan($reihungstest->studienplan_id); // Studienplan von RT-Person + $rtp_sto_id = $stpl->studienordnung_id; // Studienordnung-ID von RT-Person + $sto = new Studienordnung(); + $sto->loadStudienordnung($rtp_sto_id); + $studiengang_kz = $sto->studiengang_kz; // Studiengang-KZ von RT-Person + $stg = new Studiengang($studiengang_kz); + $typ = $stg->typ; // Studiengangstyp von RT-Person - // * Gesamtpunkte inklusive alle Fragengebiete + // Reihungstestpunkte der Basisgebiete ermitteln (ohne Quereinsteiger) + $pruefling = new Pruefling(); $endpunkte_inkl_gebiete = 0; $endpunkte_exkl_gebiete = 0; + + // * Endpunkte über alle Basisgebiete if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) { - $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id); + $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, false, $studiengang_kz); } else { - $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id); + $endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, false, $studiengang_kz); } - // * ggf. Gesamtpunkte exklusive bestimmte Fragengebiete + // * ggf. Endpunkte exklusive bestimmter Gebiete, die in der config-Datei gesetzt sind if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE)) { if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) { - $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, true); + $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, true, $studiengang_kz); } else { - $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, true); + $endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, true, $studiengang_kz); } } - $reihungstest->endpunkte_inkl_gebiete = round($endpunkte_inkl_gebiete, 2); $reihungstest->endpunkte_exkl_gebiete = round($endpunkte_exkl_gebiete, 2); + $reihungstest->typ = $typ; drawrow($reihungstest); } @@ -228,6 +250,7 @@ function drawrow($row) $oRdf->obj[$i]->setAttribut('datum_iso',$reihungstest_obj->datum,true); $oRdf->obj[$i]->setAttribut('endpunkte_inkl_gebiete', $row->endpunkte_inkl_gebiete, true); $oRdf->obj[$i]->setAttribut('endpunkte_exkl_gebiete', $row->endpunkte_exkl_gebiete, true); + $oRdf->obj[$i]->setAttribut('typ', $row->typ, true); // Es wird der neueste Reihungstest im Studiengang des Prestudenten markiert damit im FAS erkennbar ist welches // Eintraege zur Punkteberechnung verwendet werden From aaff64867b746d6a4ab43d7e1d06895fe2340627 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 21 Mar 2019 09:38:02 +0100 Subject: [PATCH 5/5] Ordered Reihungstestgebiete by reihung --- cis/testtool/menu.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index dd3475ce1..ed63324a3 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -155,7 +155,7 @@ if (isset($_SESSION['pruefling_id'])) prestudent_id = ".$db->db_add_param($_SESSION['prestudent_id'])." ) - -- Filter only future studiensemester (incl. actual one) + /* Filter only future studiensemester (incl. actual one) */ AND studiensemester_kurzbz IN ( SELECT @@ -184,7 +184,7 @@ if (isset($_SESSION['pruefling_id'])) $qry .= " - -- Order to get last semester when using distinct on + /* Order to get last semester when using distinct on */ ORDER BY prestudent_id, datum DESC, @@ -197,6 +197,7 @@ if (isset($_SESSION['pruefling_id'])) semester, gebiet_id, bezeichnung, + reihung, ". $bezeichnung_mehrsprachig_sel. " FROM ( @@ -250,7 +251,8 @@ if (isset($_SESSION['pruefling_id'])) ) temp ORDER BY - semester + semester, + reihung "; $result = $db->db_query($qry);