diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php index 9a8631f69..c3648d4fa 100755 --- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php @@ -117,6 +117,7 @@ function savenote($db,$lvid, $student_uid, $note, $punkte=null) { global $stsem, $user, $p, $noten_anmerkung; $jetzt = date("Y-m-d H:i:s"); + $punkte = str_replace(',','.',$punkte); //Ermitteln ob der Student diesem Kurs zugeteilt ist $qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER); if($result = $db->db_query($qry)) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 9aa89fd81..284a7dfb3 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -146,7 +146,7 @@ foreach($noten_obj->result as $row) } ?> - function getTopOffset() + function getOffset(pos) { var x,y; if (self.pageYOffset) // all except Explorer @@ -160,12 +160,20 @@ foreach($noten_obj->result as $row) x = document.documentElement.scrollLeft; y = document.documentElement.scrollTop; } + else if(window.scrollX) + { + x = window.scrollX; + y = window.scrollY; + } else if (document.body) // all other Explorers { x = document.body.scrollLeft; y = document.body.scrollTop; } - return y; + if(pos=='x') + return x; + else + return y; } // ****************************************** @@ -241,18 +249,25 @@ foreach($noten_obj->result as $row) // ************************************************* // * Formular zum Eintragen einer Pruefung erstellen // ************************************************* - function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte) + function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte,typ) { + if(typeof(typ)=='undefined') + typ = 'Termin2'; var str = "
"; var anlegendiv = document.getElementById("nachpruefung_div"); - var y = getTopOffset(); + var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px"; + var x = getOffset('x'); + x = x+300; + + anlegendiv.style.left = x+"px"; str += ""; str += ""; str += ""; result as $row) function pruefungSpeichern() { var note = document.nachpruefung_form.note.value; + var typ=document.nachpruefung_form.typ.value; if(document.nachpruefung_form.punkte) var punkte = document.nachpruefung_form.punkte.value; else @@ -313,7 +329,7 @@ foreach($noten_obj->result as $row) var jetzt = new Date(); var ts = jetzt.getTime(); var url= ''; - url += '&submit=1&student_uid='+uid+'¬e='+note+'&datum='+datum+'&lehreinheit_id_pr='+lehreinheit_id+'&punkte='+punkte+'&'+ts; + url += '&submit=1&student_uid='+uid+'¬e='+note+'&datum='+datum+'&lehreinheit_id_pr='+lehreinheit_id+'&punkte='+punkte+'&typ='+typ+'&'+ts; $.ajax({ type:"GET", @@ -323,6 +339,7 @@ foreach($noten_obj->result as $row) var anlegendiv = document.getElementById("nachpruefung_div"); var datum = document.nachpruefung_form.datum.value; var note = document.nachpruefung_form.note.value; + var typ = document.nachpruefung_form.typ.value; if(document.nachpruefung_form.punkte) var punkte = document.nachpruefung_form.punkte.value; else @@ -354,7 +371,8 @@ foreach($noten_obj->result as $row) anlegendiv.innerHTML = ""; anlegendiv.style.visibility = "hidden"; - document.getElementById("span_"+uid).innerHTML = "
X
t('benotungstool/pruefungAnlegenFuer');?> "+uid+":
t('global/datum');?>:"; + str += ""; str += " [DD.MM.YYYY]
"+datum+""+noten_array[note]+"' onclick='pruefungAnlegen(\""+uid+"\",\""+datum+"\",\""+note+"\",\""+lehreinheit_id+"\")'>
"; + + document.getElementById("span_"+typ+"_"+uid).innerHTML = "
"+datum+""+noten_array[note]+"' onclick='pruefungAnlegen(\""+uid+"\",\""+datum+"\",\""+note+"\",\""+lehreinheit_id+"\",\""+punkte+"\",\""+typ+"\")'>
"; } }, error:function(result) @@ -471,7 +489,7 @@ foreach($noten_obj->result as $row) var str = "
"; var anlegendiv = document.getElementById("nachpruefung_div"); - var y = getTopOffset(); + var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px"; @@ -750,6 +768,23 @@ if ($pr_all->getPruefungenLV($lvid,"Termin2",$stsem)) } } $summe_t2=count($studpruef_arr); + +$studpruef_arr_t3 = array(); +$pr_all = new Pruefung(); +if ($pr_all->getPruefungenLV($lvid,"Termin3",$stsem)) +{ + if ($pr_all->result) + { + foreach ($pr_all->result as $pruefung) + { + $studpruef_arr_t3[$pruefung->student_uid][$pruefung->lehreinheit_id]["note"] = $pruefung->note; + $studpruef_arr_t3[$pruefung->student_uid][$pruefung->lehreinheit_id]["punkte"] = $pruefung->punkte; + $studpruef_arr_t3[$pruefung->student_uid][$pruefung->lehreinheit_id]["datum"] = $datum_obj->formatDatum($pruefung->datum,'d.m.Y'); + } + } +} +$summe_t3=count($studpruef_arr_t3); + $studpruef_komm = array(); $pr_komm = new Pruefung(); if ($pr_komm->getPruefungenLV($lvid,"kommPruef",$stsem)) @@ -788,7 +823,12 @@ echo " - + "; + if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3) + { + echo ""; + } + echo " @@ -801,7 +841,20 @@ echo "
X
".$p->t('benotungstool/zeugnisnote')."".$p->t('benotungstool/nachpruefung')."".$p->t('benotungstool/nachpruefung')."".$p->t('benotungstool/nachpruefung2')."".$p->t('benotungstool/kommissionellePruefung')."
- + "; + if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3) + { + echo " + + + + + + +
".$p->t('global/datum')."".$p->t('benotungstool/note')."
+ "; + } + echo " @@ -1191,11 +1244,11 @@ echo " if(isset($noten_array[$znote]) && $noten_array[$znote]['positiv']==false) $summe_ng++; - // Pruefung 2.Termin + // Pruefung 2. Termin if (key_exists($row_stud->uid, $studpruef_arr)) { echo "
"; - echo ""; + echo ""; echo ""; $le_id_arr = array(); $le_id_arr = array_keys($studpruef_arr[$row_stud->uid]); @@ -1224,11 +1277,52 @@ echo " else { if (!is_null($note_lv) || !is_null($znote)) - echo ""; + echo ""; else echo ""; } + if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3) + { + // Pruefung 3. Termin + if (key_exists($row_stud->uid, $studpruef_arr_t3)) + { + echo ""; + } + else + { + if (!is_null($note_lv) || !is_null($znote)) + echo ""; + else + echo ""; + } + } + // komm Pruefung if (key_exists($row_stud->uid,$studpruef_komm)) { @@ -1245,7 +1339,7 @@ echo " $pr_le_id = $le_id_stud; if($pr_punkte!='') - $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.$pr_punkte.')'; + $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')'; else $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung']; @@ -1276,6 +1370,7 @@ echo " +
"; + echo ""; + echo ""; + $le_id_arr = array(); + $le_id_arr = array_keys($studpruef_arr_t3[$row_stud->uid]); + foreach ($le_id_arr as $le_id_stud) + { + $pr_note = $studpruef_arr_t3[$row_stud->uid][$le_id_stud]["note"]; + $pr_punkte = $studpruef_arr_t3[$row_stud->uid][$le_id_stud]["punkte"]; + $pr_datum = $studpruef_arr_t3[$row_stud->uid][$le_id_stud]["datum"]; + $pr_le_id = $le_id_stud; + + if($pr_punkte!='') + $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')'; + else + $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung']; + + echo ' + + + '; + } + echo "
'.$pr_datum.''.$pr_notenbezeichnung.' +
"; + echo "
"; + echo "
$summe_ng $summe_t2$summe_t3 $summe_komm
@@ -1285,7 +1380,7 @@ echo " "; ?> - + diff --git a/cis/private/lehre/benotungstool/nachpruefungeintragen.php b/cis/private/lehre/benotungstool/nachpruefungeintragen.php index 5a79984bd..708c9db59 100755 --- a/cis/private/lehre/benotungstool/nachpruefungeintragen.php +++ b/cis/private/lehre/benotungstool/nachpruefungeintragen.php @@ -22,7 +22,7 @@ */ require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); +require_once('../../../../include/basis_db.class.php'); require_once('../../../../include/functions.inc.php'); require_once('../../../../include/lehrveranstaltung.class.php'); require_once('../../../../include/studiengang.class.php'); @@ -62,7 +62,7 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehr if(isset($_GET['lehreinheit_id_pr']) && is_numeric($_GET['lehreinheit_id_pr'])) //Lehreinheit_id der pruefung $lehreinheit_id = $_GET['lehreinheit_id_pr']; - + if(isset($_GET['datum'])) { $datum = $_GET['datum']; @@ -84,7 +84,7 @@ if(isset($_GET['stsem'])) $stsem = $_GET['stsem']; else $stsem = ''; - + $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); $uid = (isset($_GET['uid'])?$_GET['uid']:''); @@ -101,6 +101,20 @@ if(isset($_REQUEST['punkte'])) else $punkte = ''; +$punkte = str_replace(',','.',$punkte); + +if(!isset($_GET['typ'])) +{ + $typ='Termin2'; +} +else +{ + if(in_array($_GET['typ'],array('Termin2','Termin3'))) + $typ=$_GET['typ']; + else + die('Typ ist ungueltig'); +} + if($note=='') $note = 9; @@ -111,12 +125,12 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) { // Die Pruefung muss einer Lehreinheit zugeordnet werden // deshalb wird hier versucht eine passende Lehreinheit zu ermitteln. - $le_arr = array(); - $qry_stud = "SELECT DISTINCT lehreinheit_id, lehrform_kurzbz - FROM - campus.vw_student_lehrveranstaltung - JOIN campus.vw_student using(uid) - WHERE + $le_arr = array(); + $qry_stud = "SELECT DISTINCT lehreinheit_id, lehrform_kurzbz + FROM + campus.vw_student_lehrveranstaltung + JOIN campus.vw_student using(uid) + WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)." AND uid=".$db->db_add_param($student_uid)." @@ -133,7 +147,7 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) if (!in_array($lehreinheit_id,$le_arr)) $lehreinheit_id = $le_arr[0]; - + $jetzt = date("Y-m-d H:i:s"); $pr = new Pruefung(); @@ -178,15 +192,16 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) } } + $prTermin2 = new Pruefung(); $pr_2 = new Pruefung(); // Die Pruefung wird als Termin2 eingetragen - if ($prTermin2->getPruefungen($student_uid, "Termin2", $lvid, $stsem)) + if ($prTermin2->getPruefungen($student_uid, $typ, $lvid, $stsem)) { if ($prTermin2->result) { - $pr_2->load($prTermin2->result[0]->pruefung_id); + $pr_2->load($prTermin2->result[0]->pruefung_id); $pr_2->new = null; $pr_2->updateamum = $jetzt; $pr_2->updatevon = $user; @@ -203,7 +218,7 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) $pr_2->mitarbeiter_uid = $user; $pr_2->note = $note; $pr_2->punkte = $punkte; - $pr_2->pruefungstyp_kurzbz = "Termin2"; + $pr_2->pruefungstyp_kurzbz = $typ; $pr_2->datum = $datum; $pr_2->anmerkung = ""; $pr_2->insertamum = $jetzt; @@ -212,14 +227,14 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) $pr_2->updatevon = null; $pr_2->ext_id = null; $pr_2->new = true; - $old_note = -1; + $old_note = -1; } $pr_2->save(); } // Wenn eine Pruefung eingetragen wird, wird danach die LV-Note korrigiert - $jetzt = date("Y-m-d H:i:s"); + $jetzt = date("Y-m-d H:i:s"); $lvid = $_REQUEST["lvid"]; $lvgesamtnote = new lvgesamtnote(); @@ -250,14 +265,14 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) $lvgesamtnote->updateamum = $jetzt; $lvgesamtnote->updatevon = $user; $new = false; - if ($lvgesamtnote->freigabedatum) + if ($lvgesamtnote->freigabedatum) $response = "update_f"; else $response = "update"; } if (!$lvgesamtnote->save($new)) echo "".$lvgesamtnote->errormsg.""; - else + else echo $response; } else diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 24494f054..e4236697a 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -59,6 +59,10 @@ define('CIS_GESAMTNOTE_UEBERSCHREIBEN',true); // Gewichtung der Lehreinheiten bei Noteneintragung true|false define('CIS_GESAMTNOTE_GEWICHTUNG', true); +// Bei Gesamtnote eine zusaetzliche Spalte fuer den 3. Termin anzeigen +define('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3',true); + + // Gibt an ob im FAS bei den Lehrveranstaltungsnoten ein zusaetzliches Formular angezeigt wird um // Vertraege fuer Pruefungshonorare anzulegen define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false); diff --git a/locale/de-AT/benotungstool.php b/locale/de-AT/benotungstool.php index ee6f336a3..e5c761e4b 100644 --- a/locale/de-AT/benotungstool.php +++ b/locale/de-AT/benotungstool.php @@ -139,6 +139,7 @@ $this->phrasen['benotungstool/importieren']='Importieren'; $this->phrasen['benotungstool/moodleNote']='Moodle-Note'; $this->phrasen['benotungstool/zeugnisnote']='Zeugnisnote'; $this->phrasen['benotungstool/nachpruefung']='Nachprüfung'; +$this->phrasen['benotungstool/nachpruefung2']='2. Nebenprüfungstermin'; $this->phrasen['benotungstool/kommissionellePruefung']='Kommissionelle Prüfung'; $this->phrasen['benotungstool/anzahlDerStudenten']='Anzahl der Studenten'; $this->phrasen['benotungstool/anzahlNegativerBeurteilungen']='Anzahl negativer Beurteilungen'; @@ -171,4 +172,4 @@ $this->phrasen['benotungstool/punkte']='Punkte'; $this->phrasen['benotungstool/importAnweisung']='Kopieren Sie die Spalten Personenkennzeichen und Note aus der Notenliste und fügen Sie diese in folgendes Feld ein'; $this->phrasen['benotungstool/pruefung']='Prüfung'; $this->phrasen['benotungstool/notenlisteImport']='Notenliste für den LV-Noten-Import (Excel)'; -?> +?> \ No newline at end of file