diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index e96137b0e..a1ba4e3ca 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -51,7 +51,12 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); - + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id'])) { $uebung_id = $_GET['uebung_id']; @@ -157,7 +162,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($row->gruppe_kurzbz!='') { $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { @@ -344,7 +349,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($row->gruppe_kurzbz!='') { $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { @@ -622,7 +627,7 @@ function addUser(student_uid) if($row->gruppe_kurzbz!='') { $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { @@ -653,7 +658,8 @@ function addUser(student_uid) $qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND vw_student.uid = tbl_benutzergruppe.uid AND - tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND + tbl_benutzergruppe.studiensemester_kurzbz = '$stsem' UNION SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND diff --git a/cis/private/lehre/benotungstool/anwesenheitstabelle.php b/cis/private/lehre/benotungstool/anwesenheitstabelle.php index 3335abd06..fad3f21bd 100644 --- a/cis/private/lehre/benotungstool/anwesenheitstabelle.php +++ b/cis/private/lehre/benotungstool/anwesenheitstabelle.php @@ -361,29 +361,32 @@ $uebung_obj->load($uebung_id); echo "

$uebung_obj->bezeichnung

"; echo '
'; -echo "
"; +*/ ?> diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 05409d538..1e06bec82 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -344,7 +344,7 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1)) if($row_grp->gruppe_kurzbz!='') { - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { @@ -432,7 +432,7 @@ if($result_grp = pg_query($conn, $qry)) $row_grp->gruppe_kurzbz "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php index 6ddc7a3f6..e8592e4e1 100644 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -730,7 +730,7 @@ else } echo ''; - echo " [benoten]"; + echo " [benoten]"; $abgabe_obj = new uebung($conn, $uebung_id); if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*")) { @@ -783,7 +783,7 @@ else $row_grp->gruppe_kurzbz "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; } else { diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index 6a1c24884..6927472ab 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -93,6 +93,15 @@ if (isset($_GET["download"])){ function confirmdelete() { return confirm('Wollen Sie die markierten Einträge wirklich löschen? Alle bereits eingetragenen Kreuzerl gehen dabei verloren!!'); + } + + function set_notenschluessel_prozent() + { + document.ns.schluessel_punkte_1.value=89; + document.ns.schluessel_punkte_2.value=76; + document.ns.schluessel_punkte_3.value=63; + document.ns.schluessel_punkte_4.value=50; + document.ns.schluessel_punkte_5.value=0; } //--> @@ -703,6 +712,16 @@ if(isset($_POST['uebung_edit'])) } } + +// Notenschluessel toggle + +if (isset($_GET['liste_id']) && isset($_GET['notenschluessel'])) +{ + $ueb_ns = new uebung($conn); + $ueb_ns->toggle_prozent_punkte($_GET['liste_id']); + echo $ueb_ns->errormsg; +} + //Editieren einer Liste if(isset($_POST['liste_edit'])) @@ -1185,20 +1204,43 @@ else } } - echo "
\n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; -echo ""; -echo ""; -echo ""; -echo ""; - echo ""; - - echo "
Notenschlüssel definieren
 
NoteMindestpunkte
-
"; + if ($anzeigen != "beide") + { + if ($liste_obj->prozent == 't') + { + $einheit = " %"; + $einheit_link = "Notenschlüssel in Prozent / Punkten"; + } + else + { + $einheit=" Punkte"; + $einheit_link = "Notenschlüssel in Prozent / Punkten"; + } + + echo "
\n"; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo "
Notenschlüssel definieren
"; + echo $einheit_link; + echo "
 
NoteMinimum
$einheit
$einheit
$einheit
$einheit
$einheit
"; + if ($liste_obj->prozent == 't') + echo "
"; + echo "
+
"; + } } diff --git a/include/lvgesamtnote.class.php b/include/lvgesamtnote.class.php index badef6298..a2c49f28e 100644 --- a/include/lvgesamtnote.class.php +++ b/include/lvgesamtnote.class.php @@ -234,7 +234,7 @@ class lvgesamtnote } else { - $this->errormsg = "Fehler beim Speichern des Datensatzes"; + $this->errormsg = "Fehler beim Speichern des Datensatzes: ".pg_last_error($this->conn); return false; } } diff --git a/include/studentnote.class.php b/include/studentnote.class.php index 18d112093..3d06fdaca 100755 --- a/include/studentnote.class.php +++ b/include/studentnote.class.php @@ -169,7 +169,27 @@ class studentnote //if ($punkte_gesamt > 0) if ($beispiele) { - $qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$ueb1->uebung_id."'"; + + if ($ueb1->prozent == 't') + { + $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' and tbl_uebung.liste_id = '$ueb1->uebung_id'"; + $punkte_moeglich=1; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_moeglich = $row->punktegesamt_alle; + $punkte_ns = $punkte_gesamt/$punkte_moeglich*100; + } + else + $punkte_ns = $punkte_gesamt; + + //Prozentpunkte + $qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_ns."' and uebung_id = '".$ueb1->uebung_id."'"; + + // Punkteanzahl + //$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$ueb1->uebung_id."'"; + if($result=pg_query($this->conn, $qry)) { if($row = pg_fetch_object($result)) diff --git a/include/uebung.class.php b/include/uebung.class.php index f2d2c3700..a53230ecb 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -48,7 +48,8 @@ class uebung var $liste_id; //integer var $maxbsp; //smallint var $maxstd; //smallint - var $nummer; //smallint + var $nummer; //smallint + var $prozent; //Studentuebung var $student_uid; // varchar(16) @@ -128,7 +129,8 @@ class uebung $this->liste_id = $row->liste_id; $this->maxbsp = $row->maxbsp; $this->maxstd = $row->maxstd; - $this->nummer = $row->nummer; + $this->nummer = $row->nummer; + $this->prozent = $row->prozent; return true; } else @@ -143,6 +145,18 @@ class uebung return false; } } + + function toggle_prozent_punkte($uebung_id) + { + $qry = "update campus.tbl_uebung set prozent = not prozent where uebung_id = '".$uebung_id."'"; + if(pg_query($this->conn, $qry)) + return true; + else + { + return false; + $this->errormsg = "toggle misslungen"; + } + } function load_studentuebung($student_uid, $uebung_id) { @@ -272,7 +286,8 @@ class uebung $uebung_obj->liste_id = $row->liste_id; $uebung_obj->maxstd = $row->maxstd; $uebung_obj->maxbsp = $row->maxbsp; - $uebung_obj->nummer = $row->nummer; + $uebung_obj->nummer = $row->nummer; + $uebung_obj->prozent = $row->prozent; $this->uebungen[] = $uebung_obj; } diff --git a/include/zeugnisnote.class.php b/include/zeugnisnote.class.php index 886901113..199705532 100644 --- a/include/zeugnisnote.class.php +++ b/include/zeugnisnote.class.php @@ -226,6 +226,7 @@ class zeugnisnote } if(pg_send_query($this->conn, $qry)) + //if(pg_query($this->conn, $qry)) { if ($result=pg_get_result($this->conn)) return true;