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 '";
+*/
?>
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 "";
+ 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 "";
+ }
}
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;