From 12019bfdaec4c8a3ea3e733e99ad5d7029808db5 Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 20 Mar 2019 17:41:06 +0100 Subject: [PATCH] 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