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 f68ea983e..76a2fe2c5 100644
--- a/application/libraries/PermissionLib.php
+++ b/application/libraries/PermissionLib.php
@@ -112,11 +112,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))
{
diff --git a/application/models/education/Lehreinheit_model.php b/application/models/education/Lehreinheit_model.php
index 8358806f2..737d482f8 100644
--- a/application/models/education/Lehreinheit_model.php
+++ b/application/models/education/Lehreinheit_model.php
@@ -47,7 +47,12 @@ class Lehreinheit_model extends DB_Model
// add lehreinheitgruppen, each lehreinheitid
// having (maybe multiple) lehreinheitgruppen
$letoadd->lehreinheitgruppen = array();
+
+ $this->LehreinheitgruppeModel->addSelect('lehre.tbl_lehreinheitgruppe.*, tbl_gruppe.bezeichnung, tbl_gruppe.direktinskription');
+ $this->LehreinheitgruppeModel->addJoin('public.tbl_gruppe', 'gruppe_kurzbz', 'LEFT');
+
$lehreinheitgruppen = $this->LehreinheitgruppeModel->loadWhere(array('lehreinheit_id' => $le->lehreinheit_id));
+
if (hasData($lehreinheitgruppen))
{
foreach ($lehreinheitgruppen->retval as $lehreinheitgruppe)
@@ -55,7 +60,9 @@ class Lehreinheit_model extends DB_Model
$letoadd->lehreinheitgruppen[] = array(
'semester' => $lehreinheitgruppe->semester,
'verband' => $lehreinheitgruppe->verband,
- 'gruppe' => $lehreinheitgruppe->gruppe
+ 'gruppe' => $lehreinheitgruppe->gruppe,
+ 'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz,
+ 'direktinskription' => $lehreinheitgruppe->direktinskription
);
}
}
@@ -78,4 +85,22 @@ class Lehreinheit_model extends DB_Model
return $lehreinheiten;
}
+
+ /**
+ * Gets students of a Lehreinheit
+ * @param int $lehreinheit_id
+ * @return array
+ */
+ public function getStudenten($lehreinheit_id)
+ {
+ $query = 'SELECT uid, vorname, nachname '
+ . 'FROM campus.vw_student_lehrveranstaltung '
+ . 'JOIN campus.vw_student '
+ . 'USING (uid) '
+ . 'WHERE lehreinheit_id = ?'
+ . ' ORDER BY nachname';
+
+
+ return $this->execQuery($query, array($lehreinheit_id));
+ }
}
diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php
index 00b131129..439d3298c 100644
--- a/cis/private/profile/zeitsperre.php
+++ b/cis/private/profile/zeitsperre.php
@@ -221,6 +221,7 @@ if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls')
{
$wt=date('N',$ts);
$grund=$zs->getTyp($ts);
+ $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason
$erbk=html_entity_decode($zs->getErreichbarkeit($ts));
$vertretung=$zs->getVertretung($ts);
$zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
@@ -342,6 +343,7 @@ else
else
$class='';
$grund=$zs->getTyp($ts);
+ $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason
$erbk=$zs->getErreichbarkeit($ts);
$vertretung=$zs->getVertretung($ts);
echo '
'.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).' : ':'').$grund;
diff --git a/cis/private/profile/zeitsperre_days.php b/cis/private/profile/zeitsperre_days.php
index 302d625c4..18bf91fcd 100644
--- a/cis/private/profile/zeitsperre_days.php
+++ b/cis/private/profile/zeitsperre_days.php
@@ -153,6 +153,7 @@ if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls')
{
$wt=date('N',$ts);
$grund=$zs->getTyp($ts);
+ $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason
$erbk=html_entity_decode($zs->getErreichbarkeit($ts));
$vertretung=$zs->getVertretung($ts);
$zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
@@ -238,6 +239,7 @@ else
else
$class='';
$grund=$zs->getTyp($ts);
+ $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason
$erbk=$zs->getErreichbarkeit($ts);
$vertretung=$zs->getVertretung($ts);
echo ' '.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).' : ':'').$grund;
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);
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/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;
}
}
diff --git a/locale/de-AT/zeitsperre.php b/locale/de-AT/zeitsperre.php
index 4801f10ec..06476e33d 100644
--- a/locale/de-AT/zeitsperre.php
+++ b/locale/de-AT/zeitsperre.php
@@ -43,4 +43,5 @@ $this->phrasen['zeitsperre/legendeVertretung']='V...Vertretung';
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Durchwahl';
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='Die angegebene Vertretung kann nicht gefunden werden. Bitte prüfen Sie die Vertretung und versuchen Sie es erneut.';
$this->phrasen['zeitsperre/vorSperrdatum']='Datum liegt vor dem Sperrdatum der Zeitliste';
+$this->phrasen['zeitsperre/abwesend']='Abwesend';
?>
diff --git a/locale/en-US/zeitsperre.php b/locale/en-US/zeitsperre.php
index d6adad2ac..43909358e 100644
--- a/locale/en-US/zeitsperre.php
+++ b/locale/en-US/zeitsperre.php
@@ -43,4 +43,5 @@ $this->phrasen['zeitsperre/legendeVertretung']='S...Substitute';
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Extension';
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='The selected substitute is invalid. Please check the substitute an try again.';
$this->phrasen['zeitsperre/vorSperrdatum']='Date is before last open timesheet date';
+$this->phrasen['zeitsperre/abwesend']='absent';
?>
diff --git a/public/css/sbadmin2/tablesort_bootstrap.css b/public/css/sbadmin2/tablesort_bootstrap.css
index d10d7306e..b01beccdd 100644
--- a/public/css/sbadmin2/tablesort_bootstrap.css
+++ b/public/css/sbadmin2/tablesort_bootstrap.css
@@ -19,21 +19,25 @@
border-bottom: #ccc 2px solid !important;
}
+/* hide filtering headers if disabled */
+.tablesorter thead .disabled {display: none}
+
/* Remove black border at top of table footer */
.tablesorter-default tfoot > tr > th {
border-top: #ccc 2px solid !important;
}
+
/* set colors of zebra widget */
-table.tablesorter tbody tr.even td, table.tablesorter tbody tr.even:hover, table.tablesorter tbody tr.even td:hover{
+table.tablesorter tbody tr.even td, table.tablesorter tbody tr.even:hover, table.tablesorter tbody tr.even td:hover {
background-color: #ffff;
}
-table.tablesorter tbody tr.odd td, table.tablesorter tbody tr.odd:hover, table.tablesorter tbody tr.odd td:hover{
+table.tablesorter tbody tr.odd td, table.tablesorter tbody tr.odd:hover, table.tablesorter tbody tr.odd td:hover {
background-color: #f5f5f5;
}
/* colors for hover over table rows and clicked rows*/
-table.tablesort-hover tr:hover, .tablesort-active{
+table.tablesort-hover tr:hover, .tablesort-active {
background-color: #dfdfdf !important;
}
@@ -44,8 +48,8 @@ table.tablesort-hover tr:hover, .tablesort-active{
/* Make filter row more condensed */
.tablesorter-default input.tablesorter-filter, .tablesorter-default select.tablesorter-filter {
- margin: 0px auto;
- padding: 0px;
+ margin: 0 auto;
+ padding: 0;
}
/* Add cursor pointer for pager icons */
@@ -59,6 +63,6 @@ table.tablesort-hover tr:hover, .tablesort-active{
}
/* bring datepicker to front */
-#ui-datepicker-div{
+#ui-datepicker-div {
z-index: 9999 !important;
}
diff --git a/public/js/tablesort/tablesort.js b/public/js/tablesort/tablesort.js
index 597d9e4a1..1876ad8a5 100644
--- a/public/js/tablesort/tablesort.js
+++ b/public/js/tablesort/tablesort.js
@@ -6,15 +6,26 @@ var Tablesort = {
* @param widgets optional widgets like zebra or filter
* @param minrows optional minimal amount of rows for filter row to be shown (only relevant for filter widget)
*/
- addTablesorter: function (tableid, sortList, widgets, minrows)
+ addTablesorter: function (tableid, sortList, widgets, minrows, additionalParams)
{
- $("#" + tableid).tablesorter(
+ var tablesorterobj =
{
theme: "default",
dateFormat: "ddmmyyyy",
sortList: sortList,
widgets: widgets
+ };
+
+ if (typeof additionalParams === 'object')
+ {
+ for (var key in additionalParams)
+ {
+ tablesorterobj[key] = additionalParams[key];
}
+ }
+
+ $("#" + tableid).tablesorter(
+ tablesorterobj
);
if ($("#" + tableid + " tr.tablesorter-filter-row").length)
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
diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php
index 795e98ff3..f717bc87e 100644
--- a/rdf/student.rdf.php
+++ b/rdf/student.rdf.php
@@ -340,10 +340,10 @@ function draw_prestudent($row)
ausstellungsstaat.']]>
aufnahmeschluessel.']]>
facheinschlberuf?'true':'false').']]>
-
+ reihungstestangetreten?'true':'false').']]>
punkte.']]>
bismelden?'true':'false').']]>
dual?'true':'false').']]>