diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
index bfbc1d857..47b66ee34 100755
--- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
@@ -34,7 +34,9 @@ require_once('../../../../include/datum.class.php');
require_once('../../../../include/legesamtnote.class.php');
require_once('../../../../include/lvgesamtnote.class.php');
require_once('../../../../include/zeugnisnote.class.php');
-
+require_once('../../../../include/person.class.php');
+require_once('../../../../include/benutzer.class.php');
+require_once('../../../../include/student.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim oeffnen der Datenbankverbindung');
@@ -67,7 +69,7 @@ else
//Vars
$datum_obj = new datum();
-
+$response='';
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
@@ -79,7 +81,7 @@ $stsem_obj = new studiensemester($conn);
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
-$note = $_REQUEST["note"];
+//$note = $_REQUEST["note"];
if(!$rechte->isBerechtigt('admin',0) &&
!$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) &&
@@ -100,19 +102,27 @@ if(!$rechte->isBerechtigt('admin',0) &&
}
}
-// lvgesamtnote für studenten speichern
-if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0) && ($note < 6)) || ($note == 7) || ($note==8)) ){
+function savenote($lvid, $student_uid, $note)
+{
+ global $conn, $stsem, $user;
+ $jetzt = date("Y-m-d H:i:s");
+ //Ermitteln ob der Student diesem Kurs zugeteilt ist
+ $qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid='".addslashes($student_uid)."' AND lehrveranstaltung_id='".addslashes($lvid)."'";
+ if($result = pg_query($conn, $qry))
+ if(pg_num_rows($result)==0)
+ {
+ $student = new student($conn);
+ $student->load($student_uid);
+ die('Der Student '.$student->nachname.' '.$student->vorname.' ('.trim($student->matrikelnr).') ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen');
+ }
- $jetzt = date("Y-m-d H:i:s");
- $student_uid = $_REQUEST["student_uid"];
- $lvid = $_REQUEST["lvid"];
$lvgesamtnote = new lvgesamtnote($conn);
if (!$lvgesamtnote->load($lvid, $student_uid, $stsem))
{
$lvgesamtnote->student_uid = $student_uid;
$lvgesamtnote->lehrveranstaltung_id = $lvid;
$lvgesamtnote->studiensemester_kurzbz = $stsem;
- $lvgesamtnote->note = $_REQUEST["note"];
+ $lvgesamtnote->note = $note;
$lvgesamtnote->mitarbeiter_uid = $user;
$lvgesamtnote->benotungsdatum = $jetzt;
$lvgesamtnote->freigabedatum = null;
@@ -127,7 +137,7 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0
}
else
{
- $lvgesamtnote->note = $_REQUEST["note"];
+ $lvgesamtnote->note = trim($note);
$lvgesamtnote->benotungsdatum = $jetzt;
$lvgesamtnote->updateamum = $jetzt;
$lvgesamtnote->updatevon = $user;
@@ -138,15 +148,64 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0
$response = "update";
}
if (!$lvgesamtnote->save($new))
- echo "".$lvgesamtnote->errormsg."";
+ return "".$lvgesamtnote->errormsg."";
else
- echo $response;
+ return $response;
}
-else
- echo "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!";
-
-
-
-
+// lvgesamtnote für studenten speichern
+if (isset($_REQUEST["submit"]))
+{
+ $lvid = $_REQUEST["lvid"];
+ if(isset($_REQUEST["student_uid"]) && $_REQUEST["student_uid"] != '')
+ {
+ $student_uid = $_REQUEST["student_uid"];
+ $note = $_REQUEST["note"];
+ if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8))
+ $response = savenote($lvid, $student_uid, $note);
+ else
+ $response = "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!";
+
+ echo $response;
+ }
+ else
+ {
+ foreach ($_POST as $row=>$val)
+ {
+ if(strstr($row, 'matrikelnr_'))
+ {
+ $id=substr($row, strlen('matrikelnr_'));
+ if(isset($_POST['matrikelnr_'.$id]) && isset($_POST['note_'.$id]))
+ {
+ $matrikelnummer = $_POST['matrikelnr_'.$id];
+ $note = $_POST['note_'.$id];
+
+ //UID ermitteln
+ $student = new student($conn);
+ if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer))
+ {
+ $response.="\nStudent mit der Matrikelnummer ".$matrikelnummer.' existiert nicht';
+ continue;
+ }
+ if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8))
+ {
+ $val=savenote($lvid, $student_uid, $note);
+ if($val!='neu' && $val!='update' && $val!='update_f')
+ $response.=$val;
+ }
+ else
+ {
+ $student->load($student_uid);
+ $response .= "\nFehlerhafte Note bei Student $student->nachname $student->vorname. Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!";
+ }
+ }
+ else
+ {
+ $response.="\nFehler bei der Parameteruebergabe";
+ }
+ }
+ }
+ echo $response;
+ }
+}
?>
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index 9b727905f..727aa94ed 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -64,20 +64,22 @@ require_once('../../../../include/moodle_course.class.php');
-function getTopOffset(){
- var x,y;
+
+ function getTopOffset()
+ {
+ var x,y;
if (self.pageYOffset) // all except Explorer
{
x = self.pageXOffset;
@@ -95,57 +97,84 @@ function getTopOffset(){
y = document.body.scrollTop;
}
return y;
- }
-
-
+ }
+
+ // **************************************
+ // * XMLHttpRequest Objekt erzeugen
+ // **************************************
var anfrage = null;
- function erzeugeAnfrage(){
- try {
- anfrage = new XMLHttpRequest();
- } catch (versuchmicrosoft) {
- try {
- anfrage = new ActiveXObject("Msxml12.XMLHTTP");
- } catch (anderesmicrosoft){
- try {
- anfrage = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (fehlschlag){
- anfrage = null;
+ function erzeugeAnfrage()
+ {
+ try
+ {
+ anfrage = new XMLHttpRequest();
+ }
+ catch (versuchmicrosoft)
+ {
+ try
+ {
+ anfrage = new ActiveXObject("Msxml12.XMLHTTP");
+ }
+ catch (anderesmicrosoft)
+ {
+ try
+ {
+ anfrage = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (fehlschlag)
+ {
+ anfrage = null;
}
-
}
}
- if (anfrage == null) alert("Fehler beim Erstellen des Anfrageobjekts!");
+ if (anfrage == null)
+ alert("Fehler beim Erstellen des Anfrageobjekts!");
}
-
- function saveLVNote(uid){
- note = document.getElementById(uid).note.value;
- note_orig = document.getElementById(uid).note_orig.value;
- if (note == note_orig && note != "")
- alert("Note unverändert!");
- else if ((note < 0) || (note > 5 && note != 8 && note != 7))
+
+ // ******************************************
+ // * Note eines Studenten Speichern
+ // ******************************************
+ function saveLVNote(uid)
{
- alert("Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!");
- document.getElementById(uid).note.value="";
+ note = document.getElementById(uid).note.value;
+ note_orig = document.getElementById(uid).note_orig.value;
+ //wenn die Note gleich bleibt dann abbrechen
+ if (note == note_orig && note != "")
+ {
+ alert("Note unverändert!");
+ return true;
+ }
+ else if ((note < 0) || (note > 5 && note != 8 && note != 7))
+ {
+ alert("Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!");
+ document.getElementById(uid).note.value="";
+ }
+ else
+ {
+ //Request erzeugen und die Note speichern
+ erzeugeAnfrage();
+ stud_uid = uid;
+ var jetzt = new Date();
+ var ts = jetzt.getTime();
+ var url= '';
+ url += '&submit=1&student_uid='+uid+"¬e="+note+"&"+ts;
+ anfrage.open("GET", url, true);
+ anfrage.onreadystatechange = updateSeite;
+ anfrage.send(null);
+ document.getElementById(uid).note_orig.value=note;
+ }
}
- else
- {
- erzeugeAnfrage();
- stud_uid = uid;
- var jetzt = new Date();
- var ts = jetzt.getTime();
- var url= '';
- url += '&submit=1&student_uid='+uid+"¬e="+note+"&"+ts;
- anfrage.open("GET", url, true);
- anfrage.onreadystatechange = updateSeite;
- anfrage.send(null);
- document.getElementById(uid).note_orig.value=note;
- }
- }
-
- function updateSeite(){
- if (anfrage.readyState == 4){
- if (anfrage.status == 200) {
+
+ // *****************************************************
+ // * Update der Seite nachdem die Note gespeichert wurde
+ // *****************************************************
+ function updateSeite()
+ {
+ if (anfrage.readyState == 4)
+ {
+ if (anfrage.status == 200)
+ {
uid = stud_uid;
var note = document.getElementById(uid).note.value;
var resp = anfrage.responseText;
@@ -162,42 +191,43 @@ function getTopOffset(){
notenstatus = document.getElementById("status_"+uid);
if (resp == "update_f")
notenstatus.innerHTML = "
";
- }
- else
- {
- alert(resp);
- document.getElementById(uid).note.value="";
- }
- } else alert("Request status:" + anfrage.status);
+ }
+ else
+ {
+ alert(resp);
+ document.getElementById(uid).note.value="";
+ }
+ }
+ else alert("Request status:" + anfrage.status);
}
}
+ // *************************************************
+ // * Formular zum Eintragen einer Pruefung erstellen
+ // *************************************************
function pruefungAnlegen(uid,datum,note,lehreinheit_id)
{
-
var str = "