diff --git a/include/studienplan.class.php b/include/studienplan.class.php index fa5493cdc..28efadfd2 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -1148,7 +1148,7 @@ class studienplan extends basis_db { $qry= " SELECT DISTINCT - studienplan_id, tbl_studienplan.bezeichnung + studienplan_id, tbl_studienplan.bezeichnung, tbl_studiensemester.start FROM lehre.tbl_studienplan JOIN @@ -1157,6 +1157,8 @@ class studienplan extends basis_db lehre.tbl_studienplan_semester USING (studienplan_id) JOIN public.tbl_studiengang USING (studiengang_kz) + JOIN + public.tbl_studiensemester ON (tbl_studienordnung.gueltigvon = tbl_studiensemester.studiensemester_kurzbz) WHERE tbl_studienplan.aktiv=true AND @@ -1175,7 +1177,7 @@ class studienplan extends basis_db OR tbl_studienplan.studienplan_id::text = '".$this->db_escape($value)."' )"; - $qry.=" ORDER BY studienplan_id DESC"; + $qry.=" ORDER BY start DESC, studienplan_id DESC"; if($result = $this->db_query($qry)) { diff --git a/locale/de-AT/fas.dtd b/locale/de-AT/fas.dtd index 83485f7d1..a8de713aa 100644 --- a/locale/de-AT/fas.dtd +++ b/locale/de-AT/fas.dtd @@ -416,4 +416,4 @@ - + diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index bb7571704..60fd6e76b 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -50,12 +50,12 @@ require_once('../../include/studienplan.class.php'); require_once('../../include/sprache.class.php'); require_once('../../include/organisationsform.class.php'); require_once('../../include/gruppe.class.php'); +require_once('../../include/variable.class.php'); // @todo Allgemein: Beim kopieren auch die Studienplanzuordnungen übernehmen // "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert define('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND', '5'); -define('REIHUNGSTEST_ERGEBNISSE_BERECHNEN', true); if (!$db = new basis_db()) { @@ -127,6 +127,35 @@ $orgform_arr=array(); foreach($orgform_obj->result as $row) $orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung; +// Pruefen ob Variable fuer Punkteberechnung gesetzt ist, wenn nicht, einen neuen Eintrag anlegen +$variable = new variable(); +if ($variable->load($user, 'reihungstestverwaltung_punkteberechnung')) +{ + if (isset($_GET['punkteberechnung']) && $_GET['punkteberechnung'] != $variable->wert) + { + $variable->new = false; + $variable->uid = $user; + $variable->name = 'reihungstestverwaltung_punkteberechnung'; + $variable->wert = $_GET['punkteberechnung']; + $variable->save(); + + $punkteberechnung = $_GET['punkteberechnung']; + } + else + $punkteberechnung = $variable->wert; + +} +else +{ + $variable->new = true; + $variable->uid = $user; + $variable->name = 'reihungstestverwaltung_punkteberechnung'; + $variable->wert = 'true'; + $variable->save(); + + $punkteberechnung = 'true'; +} + //Studierende als Excel Exportieren if(isset($_GET['excel'])) { @@ -271,10 +300,10 @@ if(isset($_GET['excel'])) //Ueberschriften $zeile=6; $col=0; - $worksheet->write($zeile,$col,"Vorname", $format_bold); - $maxlength[$col] = 7; - $worksheet->write($zeile,++$col,"Nachname", $format_bold); + $worksheet->write($zeile,$col,"Nachname", $format_bold); $maxlength[$col] = 8; + $worksheet->write($zeile,++$col,"Vorname", $format_bold); + $maxlength[$col] = 7; $worksheet->write($zeile,++$col,"G", $format_bold); $maxlength[$col] = 2; $worksheet->write($zeile,++$col,"Geburtsdatum", $format_bold); @@ -308,7 +337,7 @@ if(isset($_GET['excel'])) $prestudent->getPrestudenten($row->person_id); $rt_in_anderen_stg=''; $erg = ''; - if(defined('REIHUNGSTEST_ERGEBNISSE_BERECHNEN') && REIHUNGSTEST_ERGEBNISSE_BERECHNEN) + //if($punkteberechnung == 'true') Punktebrechnung im Excel wird immer ausgefuehrt { foreach($prestudent->result as $item) { @@ -352,13 +381,14 @@ if(isset($_GET['excel'])) } $col=0; - $worksheet->write($zeile,$col, $row->vorname, $format_border); - if(strlen($row->vorname)>$maxlength[$col]) - $maxlength[$col] = strlen($row->vorname); - $worksheet->write($zeile,++$col,$row->nachname, $format_border); + $worksheet->write($zeile,$col,$row->nachname, $format_border); if(strlen($row->nachname)>$maxlength[$col]) $maxlength[$col] = strlen($row->nachname); + + $worksheet->write($zeile,++$col, $row->vorname, $format_border); + if(strlen($row->vorname)>$maxlength[$col]) + $maxlength[$col] = strlen($row->vorname); $worksheet->write($zeile,++$col, $row->geschlecht, $format_border_center); if(strlen($row->geschlecht)>$maxlength[$col]) @@ -534,6 +564,15 @@ if(isset($_GET['excel'])) } }); + // Wenn die Spalten "Absolvierte Tests" oder "Ergebnis" angezeigt werden, wird die Punkteberechnung aktiviert + $('#clm_absolviert, #clm_ergebnis').on('click', function() + { + if ( == 'false' && (document.getElementById('clm_absolviert').className == 'inactive' || document.getElementById('clm_ergebnis').className == 'inactive')) + window.location.href = ""; + else if ( == 'true' && document.getElementById('clm_absolviert').className == 'inactive' && document.getElementById('clm_ergebnis').className == 'inactive') + window.location.href = ""; + }); + if (typeof(Storage) !== 'undefined') { let arr = ['clm_prestudent_id','clm_person_id','clm_geschlecht','clm_studiengang','clm_studienplan','clm_orgform','clm_einstiegssemester','clm_geburtsdatum','clm_email','clm_absolviert','clm_ergebnis','clm_fas']; @@ -559,7 +598,7 @@ if(isset($_GET['excel'])) $("#"+v.id).tablesorter( { widgets: ["zebra"], - sortList: [[2,0],[3,0]], + sortList: [[3,0],[4,0]], headers: {0: { sorter: false}} }); @@ -1815,9 +1854,9 @@ if($result = $db->db_query($qry)) { echo '