diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 83a162e5c..9f5e77848 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -236,6 +236,7 @@ if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){ $lvgesamtnote->mitarbeiter_uid = $user; $lvgesamtnote->benotungsdatum = $jetzt; $lvgesamtnote->freigabedatum = null; + $lvgesamtnote->freigabevon_uid = null; $lvgesamtnote->bemerkung = null; $lvgesamtnote->updateamum = null; $lvgesamtnote->updatevon = null; @@ -256,10 +257,10 @@ if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){ } // eingetragene lv-gesamtnoten freigeben -if (isset($_GET["freigabe"]) and ($_GET["freigabe"] == 1)) +if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1)) { $jetzt = date("Y-m-d H:i:s"); - + $studlist = ""; $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; if($result_grp = pg_query($conn, $qry)) @@ -283,7 +284,8 @@ if (isset($_GET["freigabe"]) and ($_GET["freigabe"] == 1)) if($result_stud = pg_query($conn, $qry_stud)) { - $i=1; + $i=1; + while($row_stud = pg_fetch_object($result_stud)) { $lvgesamtnote = new lvgesamtnote($conn); @@ -292,14 +294,26 @@ if (isset($_GET["freigabe"]) and ($_GET["freigabe"] == 1)) if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum) { $lvgesamtnote->freigabedatum = $jetzt; + $lvgesamtnote->freigabevon_uid = $user; $lvgesamtnote->save($new=null); + $studlist .= $row_stud->matrikelnr." ".$row_stud->nachname." ".$row_stud->vorname."
"; } } - } + } } } } - + //mail an assistentin und den user selber verschicken + if ($studlist != "") + { + $lv = new lehrveranstaltung($conn, $lvid); + $sg = new studiengang($conn, $lv->studiengang_kz); + $adress = $user."@technikum-wien.at"; + $adressen = $sg->email.", ".$user."@technikum-wien.at"; + + $freigeber = "".strtoupper($user).""; + mail($adress,"Notenfreigabe ".$lv->bezeichnung,"".$lv->bezeichnung."

Benutzer ".$freigeber." hat die LV-Noten für folgende Studenten freigegeben:
".$studlist."
Mail wurde verschickt an: ".$adressen."","From: vilesci@technikum-wien.at\nContent-Type: text/html\n"); + } @@ -329,7 +343,9 @@ if($result_grp = pg_query($conn, $qry)) LE-Noten (LE-ID) LV-Note - +
+ +
Zeugnisnote diff --git a/cis/private/lehre/benotungstool/migrate2benotungstool.php b/cis/private/lehre/benotungstool/migrate2benotungstool.php index 83b90a551..5abb2c6b3 100755 --- a/cis/private/lehre/benotungstool/migrate2benotungstool.php +++ b/cis/private/lehre/benotungstool/migrate2benotungstool.php @@ -44,7 +44,7 @@ $inserted = 0; $upgedated = 0; $text = ""; -$qry = "SELECT DISTINCT(lehreinheit_id) from campus.tbl_uebung where lehreinheit_id = 2429 order by lehreinheit_id"; +$qry = "SELECT DISTINCT(lehreinheit_id) from campus.tbl_uebung order by lehreinheit_id"; if($result = pg_query($conn, $qry)) { while($row = pg_fetch_object($result)) @@ -56,8 +56,10 @@ if($result = pg_query($conn, $qry)) if ($anzahl->count > 0) { + $datum_obj = new datum(); - $uebung_obj = new uebung($conn); + $uebung_obj = new uebung($conn); + $uebung_obj->get_next_nummer(); $uebung_obj->gewicht=1; $uebung_obj->punkte=''; $uebung_obj->angabedatei=''; @@ -65,7 +67,7 @@ if($result = pg_query($conn, $qry)) $uebung_obj->freigabebis = null; $uebung_obj->abgabe=false; $uebung_obj->beispiele=false; - $uebung_obj->bezeichnung="Uebung"; + $uebung_obj->bezeichnung="Kreuzerllisten"; $uebung_obj->positiv=false; $uebung_obj->defaultbemerkung=''; $uebung_obj->lehreinheit_id=$row->lehreinheit_id; @@ -74,13 +76,14 @@ if($result = pg_query($conn, $qry)) $uebung_obj->insertamum = date('Y-m-d H:i:s'); $uebung_obj->insertvon = "sync"; $uebung_obj->statistik = false; - $uebung_obj->liste_id = null; + $uebung_obj->liste_id = null; + $uebung_obj->nummer = $uebung_obj->next_nummer; if($uebung_obj->save(true)) { $inserted++; $liste_id = $uebung_obj->uebung_id; - $update_qry = "UPDATE campus.tbl_uebung set liste_id = '".$liste_id."' where lehreinheit_id = '".$row->lehreinheit_id."' and uebung_id != '".$liste_id."'"; + $update_qry = "UPDATE campus.tbl_uebung set liste_id = '".$liste_id."' where lehreinheit_id = '".$row->lehreinheit_id."' and uebung_id != '".$liste_id."' and beispiele = 't'"; $r = pg_query($conn, $update_qry); $upgedated += pg_affected_rows($r); } diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index f2f29b710..d62ff47df 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -35,7 +35,8 @@ require_once('../../../../include/beispiel.class.php'); require_once('../../../../include/datum.class.php'); require_once('../../../../include/studentnote.class.php'); require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/lvgesamtnote.class.php'); +require_once('../../../../include/lvgesamtnote.class.php'); +require_once('../../../../include/zeugnisnote.class.php'); include('functions.inc.php'); if(!$conn = pg_pconnect(CONN_STRING)) @@ -652,10 +653,12 @@ if (!isset($_GET["notenuebersicht"])) if($row = pg_fetch_object($result)) $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - //Gesamtpunkte alle Kreuzerllisten + //Gesamtpunkte alle Kreuzerllisten in dieser Übung + $ueb_help = new uebung($conn, $uebung_id); + $liste_id = $ueb_help->liste_id; $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id'"; + tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; $punkte_gesamt_alle=0; if($result=pg_query($conn, $qry)) if($row = pg_fetch_object($result)) @@ -665,7 +668,8 @@ if (!isset($_GET["notenuebersicht"])) $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.liste_id = '$liste_id' AND tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; $punkte_eingetragen_alle=0; if($result=pg_query($conn, $qry)) @@ -674,7 +678,7 @@ if (!isset($_GET["notenuebersicht"])) //Mitarbeitspunkte $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user'"; + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user' AND liste_id = '$liste_id'"; $mitarbeit_alle=0; if($result=pg_query($conn, $qry)) if($row = pg_fetch_object($result)) @@ -892,13 +896,13 @@ else if ($row->positiv) echo "*"; echo " \n"; - echo " ".$row->gewicht."\n"; - echo " "; + echo " ".$row->gewicht."\n"; + echo " "; if ($l1note->punkte_gesamt_l1 >0) echo $l1note->punkte_gesamt_l1; echo "\n"; - echo ""; - echo "".$l1_note."\n"; + echo ""; + echo "".$l1_note."\n"; echo " \n"; } @@ -916,23 +920,23 @@ else if ($subrow->positiv) echo "*"; echo " \n"; - echo " \n"; + echo " \n"; if ($subrow->abgabe) echo $subrow->gewicht; echo " \n"; if ($subrow->beispiele) { $l1note->calc_punkte($subrow->uebung_id, $user); - echo " ".$l1note->punkte_gesamt.""; - echo " \n"; - echo " \n"; + echo " ".$l1note->punkte_gesamt.""; + echo " \n"; + echo " \n"; } else if ($subrow->abgabe) { $l1note->calc_note($subrow->uebung_id, $user); - echo " \n"; - echo " ".$l1note->note.""; - echo " \n"; + echo " \n"; + echo " ".$l1note->note.""; + echo " \n"; } echo " \n"; /* if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)mktime_fromtimestamp($subrow->freigabebis)>time()) @@ -950,7 +954,7 @@ else $gesamtnote = 5; else $gesamtnote = $l1note->studentgesamtnote; - echo "Errechnete Gesamtnote: ".$gesamtnote.""; + echo "Errechnete Gesamtnote: ".$gesamtnote.""; echo ""; @@ -975,6 +979,12 @@ else } else $lvnote = null; + if ($zeugnisnote = new zeugnisnote($conn, $lvid,$user,$stsem)) + { + $znote = $zeugnisnote->note; + } + else + $znote = null; echo "\n"; echo " "; @@ -986,6 +996,10 @@ else echo ""; echo ""; echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; echo "
Eingetragene Noten
Lehrveranstaltung".$lvnote."
Zeugnis".$znote."
"; echo ""; diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php index 597e45b1d..f6487ce6f 100644 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -523,10 +523,13 @@ if(isset($_GET['uid']) && $_GET['uid']!='') if($row = pg_fetch_object($result)) $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - //Gesamtpunkte alle Kreuzerllisten + + //Gesamtpunkte alle Kreuzerllisten in dieser Übung + $ueb_help = new uebung($conn, $uebung_id); + $liste_id = $ueb_help->liste_id; $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id'"; + tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; $punkte_gesamt_alle=0; if($result=pg_query($conn, $qry)) if($row = pg_fetch_object($result)) @@ -536,7 +539,8 @@ if(isset($_GET['uid']) && $_GET['uid']!='') $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.liste_id = '$liste_id' AND tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; $punkte_eingetragen_alle=0; if($result=pg_query($conn, $qry)) @@ -545,7 +549,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') //Mitarbeitspunkte $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid'"; + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid' and liste_id='$liste_id'"; $mitarbeit_alle=0; if($result=pg_query($conn, $qry)) if($row = pg_fetch_object($result)) diff --git a/cis/private/lehre/benotungstool/verwaltung.php b/cis/private/lehre/benotungstool/verwaltung.php index bc850e71b..9b8bccda4 100644 --- a/cis/private/lehre/benotungstool/verwaltung.php +++ b/cis/private/lehre/benotungstool/verwaltung.php @@ -29,7 +29,8 @@ require_once('../../../../include/lehreinheit.class.php'); require_once('../../../../include/benutzerberechtigung.class.php'); require_once('../../../../include/uebung.class.php'); require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('functions.inc.php'); function microtime_float() { list($usec, $sec) = explode(" ", microtime()); @@ -97,7 +98,7 @@ if(!$conn = pg_pconnect(CONN_STRING)) die('Fehler beim oeffnen der Datenbankverbindung'); $user = get_uid(); -//$user = "sauermann"; +//$user = "goeschka"; if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); @@ -199,7 +200,8 @@ if($result = pg_query($conn, $qry)) if(pg_num_rows($result)>1) { //Lehreinheiten DropDown - echo " Lehreinheit: \n"; + $copy_dropdown = " '; + echo ' '; + $copy_dropdown .=""; } else { @@ -283,6 +288,216 @@ echo "
//echo "studiensemester: $stsem
"; //echo "lehrveranstaltung: $lvid
"; //echo "lehreinheit: $lehreinheit_id
"; +//Übung in andere LE kopieren + +if (isset($_REQUEST["copy_uebung"])) +{ + $copy_insert = 0; + $copy_update = 0; + $copy_insert_bsp = 0; + $copy_update_bsp = 0; + $uebung_id_source = $_REQUEST["uebung_id_source"]; + $lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"]; + + $ueb_1 = new uebung($conn, $uebung_id_source); + $nummer_source = $ueb_1->nummer; + $qry = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + if($result1 = pg_query($conn, $qry)) + { + if (pg_num_rows($result1) >0) + { + $row1 = pg_fetch_object($result1); + $ueb_1_target =new uebung($conn, $row1->uebung_id); + $ueb_1_target->new = false; + $new = null; + $ueb_1_target->insertamum = null; + $ueb_1_target->insertvon = null; + $ueb_1_target->updateamum = date('Y-m-d H:i:s'); + $ueb_1_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_1_target =new uebung($conn); + $ueb_1_target->new = true; + $new = true; + $ueb_1_target->insertamum = date('Y-m-d H:i:s'); + $ueb_1_target->insertvon = $user; + $ueb_1_target->updateamum = null; + $ueb_1_target->updatevon = null; + $copy_insert++; + } + $ueb_1_target->gewicht = $ueb_1->gewicht; + $ueb_1_target->punkte = null; + $ueb_1_target->angabedatei=null; + $ueb_1_target->freigabevon = null; + $ueb_1_target->freigabebis = null; + $ueb_1_target->abgabe = false; + $ueb_1_target->beispiele = false; + $ueb_1_target->statistik = false; + $ueb_1_target->maxstd = null; + $ueb_1_target->maxbsp=null; + $ueb_1_target->liste_id=null; + $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; + $ueb_1_target->positiv = $ueb_1->positiv; + $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; + $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_1_target->nummer = $nummer_source; + + if (!$ueb_1_target->save($new)) + { + $error = 1; + echo "Hauptübung konnte nicht kopiert werden!"; + } + + else + { + // Subübungen durchlaufen + $error = 0; + $ueb_2 = new uebung($conn); + $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); + + $ueb_2anzahl = count($ueb_2->uebungen); + if ($ueb_2anzahl >0) + { + foreach ($ueb_2->uebungen as $subrow) + { + + $nummer_source2 = $subrow->nummer; + $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + $result2 = pg_query($conn, $qry2); + + if (pg_num_rows($result2) >0) + { + $row2 = pg_fetch_object($result2); + $ueb_2_target =new uebung($conn, $row2->uebung_id); + $ueb_2_target->new = false; + $new = null; + $ueb_2_target->insertamum = null; + $ueb_2_target->insertvon = null; + $ueb_2_target->updateamum = date('Y-m-d H:i:s'); + $ueb_2_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_2_target =new uebung($conn); + $ueb_2_target->new = true; + $new = true; + $ueb_2_target->insertamum = date('Y-m-d H:i:s'); + $ueb_2_target->insertvon = $user; + $ueb_2_target->updateamum = null; + $ueb_2_target->updatevon = null; + $copy_insert++; + } + $ueb_2_target->gewicht = $subrow->gewicht; + $ueb_2_target->punkte = $subrow->punkte; + $ueb_2_target->angabedatei=null; + $ueb_2_target->freigabevon = $subrow->freigabevon; + $ueb_2_target->freigabebis = $subrow->freigabebis; + $ueb_2_target->abgabe = $subrow->abgabe; + $ueb_2_target->beispiele = $subrow->beispiele; + $ueb_2_target->statistik = $subrow->statistik; + $ueb_2_target->maxstd = $subrow->maxstd; + $ueb_2_target->maxbsp=$subrow->maxbsp; + $ueb_2_target->liste_id=$ueb_1_target->uebung_id; + $ueb_2_target->bezeichnung = $subrow->bezeichnung; + $ueb_2_target->positiv = $subrow->positiv; + $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; + $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_2_target->nummer = $nummer_source2; + + if (!$ueb_2_target->save($new)) + { + $error = 1; + echo "Übung konnte nicht kopiert werden!"; + } + + //angabedatei syncen + if ($subrow->angabedatei != "") + { + $angabedatei_source = $subrow->angabedatei; + $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); + $angabedatei_target .= ".".substr($angabedatei_source, strrpos($angabedatei_source, '.') + 1); + echo $angabedatei_source."->".$angabedatei_target."
"; + exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); + $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; + pg_query($conn, $angabeupdate); + } + + if (($error == 0) and $ueb_2_target->beispiele) + { + // beispiele synchronisieren + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($subrow->uebung_id); + foreach ($bsp_obj->beispiele as $bsp) + { + $nummer_source_bsp = $bsp->nummer; + $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; + $resultbsp = pg_query($conn, $qrybsp); + + if (pg_num_rows($resultbsp) >0) + { + $rowbsp = pg_fetch_object($resultbsp); + $bsp_target =new beispiel($conn, $rowbsp->beispiel_id); + $bsp_target->new = false; + $new = null; + $bsp_target->insertamum = null; + $bsp_target->insertvon = null; + $bsp_target->updateamum = date('Y-m-d H:i:s'); + $bsp_target->updatevon = $user; + $copy_update_bsp++; + } + else + { + $bsp_target =new beispiel($conn); + $bsp_target->new = true; + $new = true; + $bsp_target->insertamum = date('Y-m-d H:i:s'); + $bsp_target->insertvon = $user; + $bsp_target->updateamum = null; + $bsp_target->updatevon = null; + $copy_insert_bsp++; + } + $bsp_target->uebung_id = $ueb_2_target->uebung_id; + $bsp_target->nummer = $nummer_source_bsp; + $bsp_target->bezeichnung = $bsp->bezeichnung; + $bsp_target->punkte = $bsp->punkte; + + if (!$bsp_target->save($new)) + { + $error = 1; + echo "Beispiele konnten nicht angelegt werden"; + } + + //Notenschlüssel synchronisieren + $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; + pg_query($conn, $clear); + + $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$uebung_id_source."'"; + $result_ns_source = pg_query($conn, $qry_ns_source); + while($row_ns = pg_fetch_object($result_ns_source)) + { + $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; + pg_query($conn, $ns_insert); + } + + } + } + + } + } + } + + } + else + echo "Fehler beim Datenbankzugriff!"; + + if ($error == 0) + echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; +} + + echo "

Übungen anlegen und verwalten

"; echo ""; @@ -328,7 +543,9 @@ if(isset($_POST['uebung_neu'])) $uebung_obj->insertamum = date('Y-m-d H:i:s'); $uebung_obj->insertvon = $user; $uebung_obj->statistik = false; - $uebung_obj->liste_id = null; + $uebung_obj->liste_id = null; + $uebung_obj->get_next_nummer(); + $uebung_obj->nummer = $uebung_obj->next_nummer; if($uebung_obj->save(true)) { @@ -380,7 +597,7 @@ if(isset($_POST['uebung_edit'])) if(!$error) { - $uebung_obj = new uebung($conn); + $uebung_obj = new uebung($conn, $uebung_id); $uebung_obj->gewicht=''; $uebung_obj->punkte=''; $uebung_obj->angabedatei=''; @@ -542,7 +759,7 @@ else echo "
"; echo "
"; - echo ""; + echo "
Vorhandene Übungen bearbeiten
"; $uebung_obj = new uebung($conn); $uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null); @@ -551,7 +768,7 @@ else $has_copy_content=false; if($anzahl>0) { - echo ""; + echo ""; //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren //und der angemeldete User berechtigt ist @@ -615,10 +832,13 @@ else // echo 'Ja'; //else // echo 'Nein'; - echo ""; + echo ""; + echo ""; + echo ""; //echo ""; //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von //Uebungen in diese Lehreinheiten angeboten. + /* if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) { $copy_content.= ''; @@ -656,30 +876,33 @@ else $copy_content.=" "; } $copy_content.= ""; - } + } + */ $subuebung_obj = new uebung($conn); $subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id); $subanzahl = count($subuebung_obj->uebungen); echo ""; + echo ""; + } - echo ""; + echo ""; + } else - echo ""; + echo ""; echo "
Vorhandene Übungen bearbeiten
 
ThemaFreigeschaltenAuswahl 
 
ThemaFreigeschaltenAuswahlKopieren
".$copy_dropdown."
"; - echo ""; - echo "
    "; + echo "
"; + //echo "
    "; foreach ($subuebung_obj->uebungen as $subrow) { - echo "
"; } - echo ""; + //echo ""; echo ""; - echo "
Derzeit sind keine Übungen angelegt
Derzeit sind keine Übungen angelegt


"; diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index efabd35e9..a15548954 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -175,7 +175,8 @@ if (isset($_GET["deletefile"])){ $ueb->save(false); unlink($filename); } - + +//notenschlüssel anlegen if (isset($_POST["schluessel"]) && $_POST["schluessel"]=='Speichern') { $punkte_arr = array(); @@ -198,7 +199,6 @@ if (isset($_POST["schluessel"]) && $_POST["schluessel"]=='Speichern') echo "Daten konnten nicht gespeichert werden"; } } - } //Kopfzeile echo ''; @@ -479,7 +479,9 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $uebung_obj->liste_id = $liste_id; $uebung_obj->maxstd = $maxstd; $uebung_obj->maxbsp = $maxbsp; - $uebung_obj->gewicht = $gewicht; + $uebung_obj->gewicht = $gewicht; + $uebung_obj->get_next_nummer(); + $uebung_obj->nummer = $uebung_obj->next_nummer; if($uebung_obj->save(true)) { @@ -512,7 +514,9 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $beispiel_obj->updateamum = date('Y-m-d H:i:s'); $beispiel_obj->updatevon = $user; $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; + $beispiel_obj->insertvon = $user; + $beispiel_obj->get_next_nummer(); + $beispiel_obj->nummer = $beispiel_obj->next_nummer; if(!$beispiel_obj->save(true)) $error_msg = $beispiel_obj->errormsg; @@ -720,7 +724,7 @@ if(isset($_POST['liste_edit'])) { $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); + $uebung_obj->load($_GET['liste_id']); $uebung_obj->gewicht=$gewicht; $uebung_obj->punkte=''; $uebung_obj->angabedatei=''; @@ -769,6 +773,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) $beispiel_obj = new beispiel($conn); if(isset($_POST['beispiel_edit'])) { + $beispiel_obj->load($beispiel_id); $beispiel_obj->beispiel_id= $beispiel_id; $beispiel_obj->new=false; } @@ -776,7 +781,9 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) { $beispiel_obj->new=true; $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; + $beispiel_obj->insertvon = $user; + $beispiel_obj->get_next_nummer(); + $beispiel_obj->nummer = $beispiel_obj->next_nummer; } $beispiel_obj->uebung_id = $uebung_id; diff --git a/include/beispiel.class.php b/include/beispiel.class.php index f37693a78..13826bb36 100644 --- a/include/beispiel.class.php +++ b/include/beispiel.class.php @@ -146,6 +146,15 @@ class beispiel } } + function get_next_nummer() + { + $qry = "SELECT max(nummer) FROM campus.tbl_beispiel"; + $result = pg_query($this->conn, $qry); + $row = pg_fetch_object($result); + $next = $row->max + 1; + $this->next_nummer = $next; + } + // ******************************************* // * Prueft die Variablen vor dem Speichern // * auf Gueltigkeit. diff --git a/include/lvgesamtnote.class.php b/include/lvgesamtnote.class.php index 4da239158..badef6298 100644 --- a/include/lvgesamtnote.class.php +++ b/include/lvgesamtnote.class.php @@ -43,7 +43,8 @@ class lvgesamtnote var $updatevon; // varchar(16) var $insertamum; // timestamp var $insertvon; // varchar(16) - var $bemerkung; // text + var $bemerkung; // text + var $freigabevon_uid; //varchar(16) var $lehrveranstaltung_bezeichung; var $note_bezeichnung; @@ -112,7 +113,8 @@ class lvgesamtnote $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; $this->inservon = $row->insertvon; - $this->bemerkung = $row->bemerkung; + $this->bemerkung = $row->bemerkung; + $this->freigabevon_uid = $row->freigabevon_uid; return true; } else @@ -195,13 +197,14 @@ class lvgesamtnote if($new) { //Neuen Datensatz einfuegen - $qry='INSERT INTO campus.tbl_lvgesamtnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, mitarbeiter_uid, note, freigabedatum, benotungsdatum, bemerkung, updateamum, updatevon, insertamum, insertvon) VALUES('. + $qry='INSERT INTO campus.tbl_lvgesamtnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, mitarbeiter_uid, note, freigabedatum, freigabevon_uid, benotungsdatum, bemerkung, updateamum, updatevon, insertamum, insertvon) VALUES('. $this->addslashes($this->lehrveranstaltung_id).', '. $this->addslashes($this->student_uid).', '. $this->addslashes($this->studiensemester_kurzbz).', '. $this->addslashes($this->mitarbeiter_uid).', '. $this->addslashes($this->note).', '. - $this->addslashes($this->freigabedatum).', '. + $this->addslashes($this->freigabedatum).', '. + $this->addslashes($this->freigabevon_uid).', '. $this->addslashes($this->benotungsdatum).', '. $this->addslashes($this->bemerkung).', '. $this->addslashes($this->updateamum).', '. @@ -213,7 +216,8 @@ class lvgesamtnote { $qry='UPDATE campus.tbl_lvgesamtnote SET '. 'note='.$this->addslashes($this->note).', '. - 'freigabedatum='.$this->addslashes($this->freigabedatum).', '. + 'freigabedatum='.$this->addslashes($this->freigabedatum).', '. + 'freigabevon_uid='.$this->addslashes($this->freigabevon_uid).', '. 'benotungsdatum='.$this->addslashes($this->benotungsdatum).', '. 'bemerkung='.$this->addslashes($this->bemerkung).', '. 'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '. @@ -297,7 +301,8 @@ class lvgesamtnote $obj->mitarbeiter_uid = $row->mitarbeiter_uid; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $obj->note = $row->note; - $obj->freigabedatum = $row->freigabedatum; + $obj->freigabedatum = $row->freigabedatum; + $obj->freigabevon_uid = $row->freigabevon_uid; $obj->benotungsdatum = $row->benotungsdatum; $obj->updateamum = $row->updateamum; $obj->udpatevon = $row->updatevon; diff --git a/include/studentnote.class.php b/include/studentnote.class.php index d878d3169..18d112093 100755 --- a/include/studentnote.class.php +++ b/include/studentnote.class.php @@ -180,7 +180,10 @@ class studentnote if ($ueb1->positiv && ($note == 5)) $negativ = true; $l1_note = ($note * $ueb1->gewicht); - $l1_gewicht = $ueb1->gewicht; + if ($note != null) + $l1_gewicht = $ueb1->gewicht; + else + $l1_gewicht = 0; } if ($ueb1->positiv && $beispiele && ($punkte_gesamt == 0)) $negativ = true; diff --git a/include/uebung.class.php b/include/uebung.class.php index b2041d3ae..f2d2c3700 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -222,6 +222,14 @@ class uebung return false; } + function get_next_nummer() + { + $qry = "SELECT max(nummer) FROM campus.tbl_uebung"; + $result = pg_query($this->conn, $qry); + $row = pg_fetch_object($result); + $next = $row->max + 1; + $this->next_nummer = $next; + } function load_uebung($lehreinheit_id, $level=null, $uebung_id=null) {