From cf3ce680d6f6887dfedcd3ea977d4bec652438c6 Mon Sep 17 00:00:00 2001
From: Stefan Puraner
Date: Wed, 8 Jun 2016 13:32:06 +0200
Subject: [PATCH] config-eintraege hinzugefuegt; bugfixes pruefungsverwaltung
und studienplanansicht im cis; anpassungen zeugnis
---
CHANGELOG.md | 4 +
.../benotungstool/lvgesamtnoteverwalten.php | 609 ++++++++++--------
cis/private/lehre/pruefung/pruefung.js | 4 +-
cis/private/lehre/pruefung/pruefung.js.php | 30 +-
.../pruefung/pruefungsanmeldung.json.php | 100 +--
.../lehre/pruefung/pruefungsanmeldung.php | 2 +
cis/private/profile/studienplan.php | 88 ++-
config/cis.config-default.inc.php | 3 +
config/global.config-default.inc.php | 11 +
rdf/lehrveranstaltungszeugnis_ktu.rdf.php | 14 +-
rdf/zeugnis.rdf.php | 19 +-
11 files changed, 514 insertions(+), 370 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 336515567..27f75aa38 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@
- **[CIS]** LVPlan Export für Excel
- **[FAS]** Termine Karteireiter im FAS zeigt die Anmerkung aus dem LVPlan an
- **[CIS]** Onlinebewerbungstool greift auf mehrsprachige Statusbezeichnungen zu.
+- **[CIS]** Config-Einträge für die Tabellenspalten beim Eintragen der Gesamtnote hinzugefügt.
+- **[CIS]** Prüfungsverwaltung: Config-Eintrag hinzugefügt um die Accordion-Elemente ein- und auszublenden.
### Changed
- **[FAS]** Dokumente Menü im FAS neu sortiert um den Lebenszyklus des Studierenden abzubilden
@@ -18,6 +20,8 @@
- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben.
- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich.
- **[CORE]** Removed NOT NULL constraint on 'verfasser\_uid' from public.tbl\_notiz
+- **[CIS]** Studienplanansicht: Wenn eine LV nicht benotet ist, aber eine kompatible LV mit vorhandener Anrechnung benotet ist wird diese Note angezeigt.
+- **[FAS]** Die RDF-Schnittstelle für das Zeugnis prüft bei Anrechnungen ob, die ECTS-Punkte übereinstimmen und wählt bei ungleichen Werten jene der angerechneten LV.
### Updateinfo
- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde.
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index c5827b826..b91eb180d 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -840,9 +840,15 @@ echo "
".$p->t('global/uid')."
".$p->t('global/nachname')."
- ".$p->t('global/vorname')."
- ".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."
- ".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."
+ ".$p->t('global/vorname')." ";
+
+ if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
+ {
+ echo "".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')." ";
+ }
+
+
+ echo "".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."
".$p->t('benotungstool/lvNote')."
@@ -853,26 +859,38 @@ echo "
- ".$p->t('benotungstool/zeugnisnote')."
- ".$p->t('benotungstool/nachpruefung')." ";
+ ".$p->t('benotungstool/zeugnisnote')." ";
+
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ echo "".$p->t('benotungstool/nachpruefung')." ";
+ }
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "".$p->t('benotungstool/nachpruefung2')." ";
}
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
+ {
+ echo "".$p->t('benotungstool/kommissionellePruefung')." ";
+ }
echo "
- ".$p->t('benotungstool/kommissionellePruefung')."
+
-
-
-
-
- ".$p->t('global/datum')."
- ".$p->t('benotungstool/note')."
-
-
-
- ";
+ ";
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ echo "
+
+
+ ".$p->t('global/datum')."
+ ".$p->t('benotungstool/note')."
+
+
+
+ ";
+ }
+
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "
@@ -885,66 +903,73 @@ echo "
";
}
- echo "
-
-
-
- ".$p->t('global/datum')."
- ".$p->t('benotungstool/note')."
-
-
-
-
+
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
+ {
+ echo "
+
+
+
+ ".$p->t('global/datum')."
+ ".$p->t('benotungstool/note')."
+
+
+
+ ";
+ }
+ echo "
";
+ if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
+ {
+ if($grade_from_moodle)
+ {
+ flush();
+ ob_flush();
- if($grade_from_moodle)
- {
- flush();
- ob_flush();
+ $moodle24 = new moodle24_course();
+ $moodle24->loadNoten($lvid, $stsem);
- $moodle24 = new moodle24_course();
- $moodle24->loadNoten($lvid, $stsem);
+ $moodle24_course_bezeichnung=array();
- $moodle24_course_bezeichnung=array();
+ if(count($moodle24->result)>0)
+ {
+ // Bezeichnungen der Moodlekurse laden
+ foreach($moodle24->result as $obj)
+ {
+ if(!isset($moodle24_course_bezeichnung[$obj->mdl_course_id]))
+ {
+ $moodle24course = new moodle24_course();
+ $moodle24course->load($obj->mdl_course_id);
- if(count($moodle24->result)>0)
- {
- // Bezeichnungen der Moodlekurse laden
- foreach($moodle24->result as $obj)
- {
- if(!isset($moodle24_course_bezeichnung[$obj->mdl_course_id]))
- {
- $moodle24course = new moodle24_course();
- $moodle24course->load($obj->mdl_course_id);
+ $moodle24_course_bezeichnung[$obj->mdl_course_id]=$moodle24course->mdl_shortname;
+ }
- $moodle24_course_bezeichnung[$obj->mdl_course_id]=$moodle24course->mdl_shortname;
- }
+ if(!isset($moodle24_course_gewicht[$obj->mdl_course_id]))
+ {
+ $mdl_obj = new moodle24_course();
+ $mdl_lehreinheiten=$mdl_obj->getLeFromCourse($obj->mdl_course_id);
- if(!isset($moodle24_course_gewicht[$obj->mdl_course_id]))
- {
- $mdl_obj = new moodle24_course();
- $mdl_lehreinheiten=$mdl_obj->getLeFromCourse($obj->mdl_course_id);
+ foreach($mdl_lehreinheiten as $row_mdl_lehreinheit)
+ {
+ if($row_mdl_lehreinheit!='')
+ {
+ $lehreinheit_gewicht_obj = new lehreinheit();
+ $lehreinheit_gewicht_obj->load($row_mdl_lehreinheit);
- foreach($mdl_lehreinheiten as $row_mdl_lehreinheit)
- {
- if($row_mdl_lehreinheit!='')
- {
- $lehreinheit_gewicht_obj = new lehreinheit();
- $lehreinheit_gewicht_obj->load($row_mdl_lehreinheit);
-
- if($lehreinheit_gewicht_obj->gewicht!='')
- {
- $moodle24_course_gewicht[$obj->mdl_course_id]=$lehreinheit_gewicht_obj->gewicht;
- break;
- }
- }
- }
- }
- }
- }
- }
+ if($lehreinheit_gewicht_obj->gewicht!='')
+ {
+ $moodle24_course_gewicht[$obj->mdl_course_id]=$lehreinheit_gewicht_obj->gewicht;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
// studentenquery
$qry_stud = "SELECT
@@ -978,165 +1003,168 @@ echo "
$note_le_gewichtet=0;
$gewichtsumme=0;
$note=0;
- if($grade_from_moodle)
- {
- //Moodle 1.9
+ if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
+ {
+ if($grade_from_moodle)
+ {
+ //Moodle 1.9
- // Alle Moodlekursdaten zu Lehreinheit und Semester lesen wenn noch nicht belegt.
- if (is_null($mdldaten) && defined('CONN_STRING_MOODLE'))
- {
- //Noten aus Moodle
- if (!isset($moodle_course))
- $moodle_course = new moodle19_course();
+ // Alle Moodlekursdaten zu Lehreinheit und Semester lesen wenn noch nicht belegt.
+ if (is_null($mdldaten) && defined('CONN_STRING_MOODLE'))
+ {
+ //Noten aus Moodle
+ if (!isset($moodle_course))
+ $moodle_course = new moodle19_course();
- if (!$mdldaten = $moodle_course->loadNoten($lvid, $stsem, '', true,$debg))
- $mdldaten='';
- }
- // Verarbeitet die Kursdaten
- if (!is_null($mdldaten) && is_array($mdldaten))
- {
- reset($mdldaten);
- $title="";
- $mdl_shortname='';
- for ($imdldaten=0;$imdldatenloadNoten($lvid, $stsem, '', true,$debg))
+ $mdldaten='';
+ }
+ // Verarbeitet die Kursdaten
+ if (!is_null($mdldaten) && is_array($mdldaten))
+ {
+ reset($mdldaten);
+ $title="";
+ $mdl_shortname='';
+ for ($imdldaten=0;$imdldatenresult;
- $kursArr=(isset($mdldata[2])?$mdldata[2]:array());
- $kursasObj=(isset($mdldata[3])?$mdldata[3]:array());
- $kursname=(isset($mdldata[7])?$mdldata[7]:'');
- $shortname=(isset($mdldata[8])?$mdldata[8]:'');
+ $mdldata=$mdldaten[$imdldaten]->result;
+ $kursArr=(isset($mdldata[2])?$mdldata[2]:array());
+ $kursasObj=(isset($mdldata[3])?$mdldata[3]:array());
+ $kursname=(isset($mdldata[7])?$mdldata[7]:'');
+ $shortname=(isset($mdldata[8])?$mdldata[8]:'');
- $note=0;
- $userGef=false;
+ $note=0;
+ $userGef=false;
- reset($kursArr);
- for ($iKurs=0;$iKursuid))==strtolower(trim($kursArr[$iKurs][2])) )
- {
- $note=trim($kursArr[$iKurs][6]);
- $userGef=true;
+ reset($kursArr);
+ for ($iKurs=0;$iKursuid))==strtolower(trim($kursArr[$iKurs][2])) )
+ {
+ $note=trim($kursArr[$iKurs][6]);
+ $userGef=true;
- if (is_numeric($note) || $debg)
- {
- if (is_numeric($note))
- {
- $note_le += $note;
- $note_le_gewichtet +=$note*$gewichtung;
- $gewichtsumme+=$gewichtung;
- $le_anz += 1;
- }
- if ($note == 5)
- $leneg = " style='color:red; font-weight:bold'";
- else
- $leneg = " style='font-weight:bold'";
+ if (is_numeric($note) || $debg)
+ {
+ if (is_numeric($note))
+ {
+ $note_le += $note;
+ $note_le_gewichtet +=$note*$gewichtung;
+ $gewichtsumme+=$gewichtung;
+ $le_anz += 1;
+ }
+ if ($note == 5)
+ $leneg = " style='color:red; font-weight:bold'";
+ else
+ $leneg = " style='font-weight:bold'";
- $mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
- $title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
- foreach ($kursasObj[$iKurs] as $key => $value)
- {
- $title.=$key."=>".$value."\r\n";
- }
+ $mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
+ $title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
+ foreach ($kursasObj[$iKurs] as $key => $value)
+ {
+ $title.=$key."=>".$value."\r\n";
+ }
- $note_les_str .= "".$note." (".$mdl_shortname.") ";
- }
- } // ende If Richtiger User
+ $note_les_str .= "".$note." (".$mdl_shortname.") ";
+ }
+ } // ende If Richtiger User
- if ($userGef)
- {
- $iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
- }
+ if ($userGef)
+ {
+ $iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
+ }
- } // ende Kursschleife
- } // MoodleKurse abarbeiten
+ } // ende Kursschleife
+ } // MoodleKurse abarbeiten
- #echo "
$title Anzahl Noten gef. $le_anz $note_le
";
- }
- else
- {
- if(defined('CONN_STRING_MOODLE'))
- {
- //den Error nur einmal anzeigen und nicht fuer jeden Studenten
- $moodle_course->errormsg=trim($moodle_course->errormsg);
- if(!$errorshown && !empty($moodle_course->errormsg) )
- {
- //echo ''.$moodle_course->errormsg.' ';
- $errorshown=true;
- }
- }
- }
+ #echo "
$title Anzahl Noten gef. $le_anz $note_le ";
+ }
+ else
+ {
+ if(defined('CONN_STRING_MOODLE'))
+ {
+ //den Error nur einmal anzeigen und nicht fuer jeden Studenten
+ $moodle_course->errormsg=trim($moodle_course->errormsg);
+ if(!$errorshown && !empty($moodle_course->errormsg) )
+ {
+ //echo ''.$moodle_course->errormsg.' ';
+ $errorshown=true;
+ }
+ }
+ }
- // Moodle 2.4
- if(isset($moodle24) && count($moodle24->result)>0)
- {
- foreach($moodle24->result as $moodle24_noten)
- {
- if($moodle24_noten->uid==$row_stud->uid)
- {
- $gewichtung=1;
- $note_le+=$moodle24_noten->note;
- if(isset($moodle24_course_gewicht[$moodle24_noten->mdl_course_id]))
- $gewichtung=$moodle24_course_gewicht[$moodle24_noten->mdl_course_id];
+ // Moodle 2.4
+ if(isset($moodle24) && count($moodle24->result)>0)
+ {
+ foreach($moodle24->result as $moodle24_noten)
+ {
+ if($moodle24_noten->uid==$row_stud->uid)
+ {
+ $gewichtung=1;
+ $note_le+=$moodle24_noten->note;
+ if(isset($moodle24_course_gewicht[$moodle24_noten->mdl_course_id]))
+ $gewichtung=$moodle24_course_gewicht[$moodle24_noten->mdl_course_id];
- if($gewichtung=='')
- $gewichtung=1;
- $note_le_gewichtet+=$moodle24_noten->note*$gewichtung;
- $gewichtsumme+=$gewichtung;
- $le_anz+=1;
- //if ($moodle24_noten->note == 5)
- // $leneg = " style='color:red; font-weight:bold'";
- //else
- $leneg = ' style="font-weight: bold;"';
- $title="Moodle KursID: ".$moodle24_noten->mdl_course_id.
- "\nKursbezeichnung: ".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].
- "\nUser: ".$moodle24_noten->uid.
- "\nNote: ".$moodle24_noten->note;
- if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
- $title.="\nGewichtung: ".$gewichtung;
- $note_les_str .= "".$moodle24_noten->note." (".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].") ";
+ if($gewichtung=='')
+ $gewichtung=1;
+ $note_le_gewichtet+=$moodle24_noten->note*$gewichtung;
+ $gewichtsumme+=$gewichtung;
+ $le_anz+=1;
+ //if ($moodle24_noten->note == 5)
+ // $leneg = " style='color:red; font-weight:bold'";
+ //else
+ $leneg = ' style="font-weight: bold;"';
+ $title="Moodle KursID: ".$moodle24_noten->mdl_course_id.
+ "\nKursbezeichnung: ".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].
+ "\nUser: ".$moodle24_noten->uid.
+ "\nNote: ".$moodle24_noten->note;
+ if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
+ $title.="\nGewichtung: ".$gewichtung;
+ $note_les_str .= "".$moodle24_noten->note." (".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].") ";
- }
- }
- }
- }
- else
- {
- //Noten aus Uebungstool
- $le = new lehreinheit();
- $le->load_lehreinheiten($lvid, $stsem);
- foreach($le->lehreinheiten as $l)
- {
- $legesamtnote = new legesamtnote($l->lehreinheit_id);
+ }
+ }
+ }
+ }
+ else
+ {
+ //Noten aus Uebungstool
+ $le = new lehreinheit();
+ $le->load_lehreinheiten($lvid, $stsem);
+ foreach($le->lehreinheiten as $l)
+ {
+ $legesamtnote = new legesamtnote($l->lehreinheit_id);
- if (!$legesamtnote->load($row_stud->uid,$l->lehreinheit_id))
- {
- //$note_les_str .= "- (".$l->lehreinheit_id.")";
- }
- else
- {
- $note_le += $legesamtnote->note;
+ if (!$legesamtnote->load($row_stud->uid,$l->lehreinheit_id))
+ {
+ //$note_les_str .= "- (".$l->lehreinheit_id.")";
+ }
+ else
+ {
+ $note_le += $legesamtnote->note;
- $gewicht = $l->gewicht;
- if($l->gewicht=='')
- $gewicht = 1;
- $note_le_gewichtet+=$legesamtnote->note*$gewicht;
- $gewichtsumme+=$gewicht;
+ $gewicht = $l->gewicht;
+ if($l->gewicht=='')
+ $gewicht = 1;
+ $note_le_gewichtet+=$legesamtnote->note*$gewicht;
+ $gewichtsumme+=$gewicht;
- $le_anz += 1;
- if ($legesamtnote->note == 5)
- $leneg = " style='color:red; font-weight:bold'";
- else
- $leneg = "";
- if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
- $title='Gewichtung: '.$l->gewicht;
- else
- $title='';
- $note_les_str .= ''.$legesamtnote->note.' ('.$l->lehreinheit_id.') ';
- }
- }
- }
+ $le_anz += 1;
+ if ($legesamtnote->note == 5)
+ $leneg = " style='color:red; font-weight:bold'";
+ else
+ $leneg = "";
+ if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
+ $title='Gewichtung: '.$l->gewicht;
+ else
+ $title='';
+ $note_les_str .= ''.$legesamtnote->note.' ('.$l->lehreinheit_id.') ';
+ }
+ }
+ }
+ }
if ($lvgesamtnote = new lvgesamtnote($lvid,$row_stud->uid,$stsem))
{
@@ -1190,8 +1218,10 @@ echo "
else
$znote = null;
-
- echo "".$note_les_str." ";
+ if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
+ {
+ echo "".$note_les_str." ";
+ }
if (key_exists($row_stud->uid,$studpruef_arr))
$hide = "style='display:none;visibility:hidden;'";
@@ -1275,43 +1305,46 @@ echo "
if(isset($noten_array[$znote]) && $noten_array[$znote]['positiv']==false)
$summe_ng++;
- // Pruefung 2. Termin
- if (key_exists($row_stud->uid, $studpruef_arr))
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
- echo "";
- echo "";
- echo "";
+ echo " ";
+ echo " ";
+ }
+ else
+ {
+ if (!is_null($note_lv) || !is_null($znote))
+ echo " ";
+ else
+ echo " ";
+ }
+ }
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
@@ -1354,39 +1387,42 @@ echo "
}
}
- // komm Pruefung
- if (key_exists($row_stud->uid,$studpruef_komm))
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
- echo "";
- echo "";
- echo "";
- $le_id_arr = array();
- $le_id_arr = array_keys($studpruef_komm[$row_stud->uid]);
- foreach ($le_id_arr as $le_id_stud)
- {
- $pr_note = $studpruef_komm[$row_stud->uid][$le_id_stud]["note"];
- $pr_punkte = $studpruef_komm[$row_stud->uid][$le_id_stud]["punkte"];
- $pr_datum = $studpruef_komm[$row_stud->uid][$le_id_stud]["datum"];
- $pr_le_id = $le_id_stud;
+ // komm Pruefung
+ if (key_exists($row_stud->uid,$studpruef_komm))
+ {
+ echo "";
+ echo "";
+ echo "";
+ $le_id_arr = array();
+ $le_id_arr = array_keys($studpruef_komm[$row_stud->uid]);
+ foreach ($le_id_arr as $le_id_stud)
+ {
+ $pr_note = $studpruef_komm[$row_stud->uid][$le_id_stud]["note"];
+ $pr_punkte = $studpruef_komm[$row_stud->uid][$le_id_stud]["punkte"];
+ $pr_datum = $studpruef_komm[$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'];
+ if($pr_punkte!='')
+ $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
+ else
+ $pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'];
- echo '
- '.$pr_datum.'
- '.$pr_notenbezeichnung.'
- ';
- }
- echo "
";
- echo " ";
- echo " ";
- }
- else
- {
- echo " ";
- }
+ echo '
+ '.$pr_datum.'
+ '.$pr_notenbezeichnung.'
+ ';
+ }
+ echo "
";
+ echo " ";
+ echo " ";
+ }
+ else
+ {
+ echo " ";
+ }
+ }
echo "";
$i++;
@@ -1397,12 +1433,27 @@ echo "
echo "
Σ
- $summe_stud
-
- $summe_ng
- $summe_t2
- $summe_t3
- $summe_komm
+ $summe_stud ";
+ if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE))
+ {
+ echo "";
+ }
+ else
+ {
+ echo " ";
+ }
+ echo " $summe_ng ";
+
+ if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2): ?>
+ "'>$summe_t2 ;
+
+ "'>$summe_t3 ";
+
+ "'>$summe_komm
+
diff --git a/cis/private/lehre/pruefung/pruefung.js b/cis/private/lehre/pruefung/pruefung.js
index a68c07d08..620f20db0 100644
--- a/cis/private/lehre/pruefung/pruefung.js
+++ b/cis/private/lehre/pruefung/pruefung.js
@@ -589,6 +589,8 @@ function resetForm()
*/
function setTablesorter(tableId)
{
+ if($("#"+tableId).length != 0)
+ {
if($("#"+tableId)[0].hasInitialized !== true)
{
$("#"+tableId).tablesorter({
@@ -602,6 +604,7 @@ function setTablesorter(tableId)
var sorting = [[1,0],[0,0]];
$("#"+tableId).trigger("sorton",[sorting]);
}
+ }
}
/**
@@ -688,7 +691,6 @@ function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
function writeAnmeldungen(data)
{
- console.log(data);
if(data.error === 'false')
{
var terminId = data.result.anmeldungen[0].pruefungstermin_id;
diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php
index 3ef462d05..02d0e1b9d 100755
--- a/cis/private/lehre/pruefung/pruefung.js.php
+++ b/cis/private/lehre/pruefung/pruefung.js.php
@@ -633,19 +633,22 @@ function resetForm()
*/
function setTablesorter(tableId)
{
- if($("#"+tableId)[0].hasInitialized !== true)
- {
- $("#"+tableId).tablesorter({
- widgets: ["zebra"],
- sortList: [[1,0]]
- });
- }
- else
- {
- $("#"+tableId).trigger("updateAll");
- var sorting = [[1,0],[0,0]];
- $("#"+tableId).trigger("sorton",[sorting]);
- }
+ if($("#"+tableId).length != 0)
+ {
+ if($("#"+tableId)[0].hasInitialized !== true)
+ {
+ $("#"+tableId).tablesorter({
+ widgets: ["zebra"],
+ sortList: [[1,0]]
+ });
+ }
+ else
+ {
+ $("#"+tableId).trigger("updateAll");
+ var sorting = [[1,0],[0,0]];
+ $("#"+tableId).trigger("sorton",[sorting]);
+ }
+ }
}
/**
@@ -732,7 +735,6 @@ function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
function writeAnmeldungen(data)
{
- console.log(data);
if(data.error === 'false')
{
var terminId = data.result.anmeldungen[0].pruefungstermin_id;
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
index 137e27a45..90b13f5bc 100755
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
@@ -500,6 +500,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
+
if($creditpoints !== false)
{
if($creditpoints < $lehrveranstaltung->ects)
@@ -547,6 +548,8 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
+ $studiensemester = new studiensemester();
+ $stdsem = $studiensemester->getaktorNext();
if(count($prestudent->result) > 0)
{
@@ -563,58 +566,65 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
}
if($prestudent_id != "")
{
- $anrechungSaveResult = false;
- if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
- {
- $anrechnung->lehrveranstaltung_id = $lehrveranstaltung->lehrveranstaltung_id;
- $anrechnung->lehrveranstaltung_id_kompatibel = $lv_komp->lehrveranstaltung_id;
- $anrechnung->prestudent_id = $prestudent_id;
- $anrechnung->begruendung_id = "2";
- $anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
- $anrechnung->new = true;
- $anrechungSaveResult = $anrechnung->save();
- }
- else
- {
- $anrechungSaveResult = true;
- }
-
+ $anrechungSaveResult = false;
+ if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
+ {
+ if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id))
+ {
+ $anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id;
+ $anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id;
+ $anrechnung->prestudent_id = $prestudent_id;
+ $anrechnung->begruendung_id = "2";
+ $anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
+ $anrechnung->new = true;
+ $anrechungSaveResult = $anrechnung->save();
+ }
+ else
+ {
+ $anrechungSaveResult = true;
+ }
+ }
+ else
+ {
+ $anrechungSaveResult = true;
+ }
+
if($anrechungSaveResult)
{
- if($anrechnung->anrechnung_id == "")
- $anmeldung->anrechnung_id = null;
- else
- $anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
-
- if($anmeldung->save(true))
- {
- $pruefung = new pruefungCis($termin->pruefung_id);
- if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
- $to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
+ if($anrechnung->anrechnung_id == "")
+ $anmeldung->anrechnung_id = null;
else
- $to = $pruefung->mitarbeiter_uid."@".DOMAIN;
- $from = "noreply@".DOMAIN;
- $subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
- $mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
+ $anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
- $student = new student($uid);
- $datum = new datum();
+ if($anmeldung->save(true))
+ {
+ $pruefung = new pruefungCis($termin->pruefung_id);
+ if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
+ $to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
+ else
+ $to = $pruefung->mitarbeiter_uid."@".DOMAIN;
+ $from = "noreply@".DOMAIN;
+ $subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
+ $mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
- $lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
+ $student = new student($uid);
+ $datum = new datum();
- $html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "m.d.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"h:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"h:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet');
- $mail->setHTMLContent($html);
- $mail->send();
+ $lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
- $data['result'] = $p->t('pruefung/anmeldungErfolgreich');
- $data['error']='false';
- $data['errormsg']='';
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$anmeldung->errormsg;
- }
+ $html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "m.d.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"h:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"h:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet');
+ $mail->setHTMLContent($html);
+ $mail->send();
+
+ $data['result'] = $p->t('pruefung/anmeldungErfolgreich');
+ $data['error']='false';
+ $data['errormsg']='';
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$anmeldung->errormsg;
+ }
}
else
{
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php
index 900e25a0a..5551adb70 100755
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php
@@ -230,6 +230,7 @@ $studiensemester->getAll();
+
t('pruefung/lvVonStudiengang'); ?>
@@ -246,6 +247,7 @@ $studiensemester->getAll();
+
t('pruefung/lvAlle'); ?>
diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php
index 9b7fb170e..5ae32db11 100755
--- a/cis/private/profile/studienplan.php
+++ b/cis/private/profile/studienplan.php
@@ -43,6 +43,7 @@ require_once('../../../include/benutzergruppe.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/lvinfo.class.php');
require_once('../../../include/addon.class.php');
+require_once('../../../include/anrechnung.class.php');
$uid = get_uid();
@@ -305,7 +306,9 @@ if($zeugnisnote->getZeugnisnoten('',$uid,''))
foreach($zeugnisnote->result as $row_note)
{
if($row_note->note!='')
+ {
$noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
+ }
}
}
@@ -364,7 +367,7 @@ drawTree($tree,0);
function drawTree($tree, $depth)
{
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr;
- global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr;
+ global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student;
foreach($tree as $row_tree)
{
@@ -448,7 +451,7 @@ function drawTree($tree, $depth)
$lv_kompatibel = new lehrveranstaltung();
$kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
-
+
if(isset($noten_arr[$row_tree->lehrveranstaltung_id]))
{
// Positive Note fuer diese LV vorhanden?
@@ -471,23 +474,40 @@ function drawTree($tree, $depth)
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
- {
- for($i; $i < (count($kompatibleLVs)); $i++)
+ {
+ foreach($kompatibleLVs as $komp)
{
- if(isset($noten_arr[$kompatibleLVs[$i]]))
+
+ $anrechnung = new anrechnung();
+ $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
+
+ if(count($anrechnung->result) == 1)
{
- $positiv=false;
- foreach($noten_arr[$kompatibleLVs[$i]] as $note)
+ $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
+ if(isset($noten_arr[$lv]))
{
- if($note_pruef_arr[$note]->positiv)
- $positiv=true;
+ $positiv=false;
+ foreach($noten_arr[$lv] as $note)
+ {
+ if($note_pruef_arr[$note]->positiv)
+ $positiv=true;
+ }
+
+ $found = true;
+ }
+ else
+ {
+ /* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
+ * darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
+ */
+ if(!$found)
+ $found = false;
}
-
- $found = true;
}
+ $i++;
}
- $i++;
}
+
if($found)
{
if($positiv)
@@ -544,22 +564,34 @@ function drawTree($tree, $depth)
elseif(count($kompatibleLVs) > 0)
{
$found = false;
- foreach($kompatibleLVs as $komp)
- {
- if(isset($noten_arr[$komp][$stsem]))
- {
- $found = true;
- if($note_pruef_arr[$noten_arr[$komp][$stsem]]->positiv)
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.' ';
- else
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.' ';
- }
- }
-
- if(!$found)
- {
- $tdinhalt.= '-';
- }
+ $i = 0;
+ while(!$found && $i < count($kompatibleLVs))
+ {
+ foreach($kompatibleLVs as $komp)
+ {
+ $anrechnung = new anrechnung();
+ $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
+
+ if(count($anrechnung->result) == 1)
+ {
+ $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
+ if(isset($noten_arr[$lv][$stsem]))
+ {
+ $found = true;
+ if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv)
+ $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.' ';
+ else
+ $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.' ';
+ }
+ }
+ $i++;
+ }
+
+ if(!$found)
+ {
+ $tdinhalt.= '-';
+ }
+ }
}
else
{
diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php
index 0ec57fc77..84d4613fe 100644
--- a/config/cis.config-default.inc.php
+++ b/config/cis.config-default.inc.php
@@ -215,6 +215,9 @@ define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
// Soll für die Prüfungsanmeldungen eine Anrechnung erstellt werden
define('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG', true);
+//Gibt an, ob der Bereich zur Anmeldung zu Pruefungen des gesamten Studiengangs angezeigt werden soll
+define('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG', true);
+
//Gibt an, wie viele Semester aus der Vergangenheit unter Meine LV angezeigt werden
define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index 01925ac08..75a31a31c 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -59,9 +59,20 @@ define('CIS_GESAMTNOTE_UEBERSCHREIBEN',true);
// Gewichtung der Lehreinheiten bei Noteneintragung true|false
define('CIS_GESAMTNOTE_GEWICHTUNG', true);
+// Bei Gesamtnote eine zusaetzliche Spalte fuer den 2. Termin anzeigen
+define('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2',true);
+
// Bei Gesamtnote eine zusaetzliche Spalte fuer den 3. Termin anzeigen
define('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3',true);
+// Bei Gesamtnote eine zusaetzliche Spalte fuer die kommissionelle Pruefung anlegen
+define('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF', true);
+
+// Bei Gesamtnote eine zusaetzliche Spalte fuer die kommissionelle Pruefung anlegen
+define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_NOTE', true);
+
+// Bei Gesamtnote die Spalte fuer die Quelle der Noten anzeigen (Moodle oder LE)
+define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE', true);
// Gibt an ob im FAS bei den Lehrveranstaltungsnoten ein zusaetzliches Formular angezeigt wird um
// Vertraege fuer Pruefungshonorare anzulegen
diff --git a/rdf/lehrveranstaltungszeugnis_ktu.rdf.php b/rdf/lehrveranstaltungszeugnis_ktu.rdf.php
index b8f4020f9..e632a92e6 100755
--- a/rdf/lehrveranstaltungszeugnis_ktu.rdf.php
+++ b/rdf/lehrveranstaltungszeugnis_ktu.rdf.php
@@ -315,7 +315,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " ".$lehrform_kurzbz." ";
$xml .= " ".$lehrform_bezeichnung." ";
$xml .= " ".($sws==0?'':number_format(sprintf('%.1F',$sws),1))." ";
- $xml .= " ".number_format($ects,1)." ";
+
$xml .= " ".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')." ";
$xml .= " ";
$xml .= " ";
@@ -327,6 +327,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
$xml .= " ";
+
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, null, $lehrveranstaltung_id);
@@ -339,6 +340,17 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= $anrechnung->result[0]->lehrveranstaltung_bez;
}
$xml .= "";
+
+ if($lehrveranstaltung_id_kompatibel != "")
+ {
+ $lv = new lehrveranstaltung($lehrveranstaltung_id_kompatibel);
+ if(($lv->ects !== $ects) && ($lv->ects != "") && ($lv->ects != null))
+ {
+ $ects = $lv->ects;
+ }
+ }
+
+ $xml .= " ".number_format($ects,1)." ";
$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id);
diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php
index 805b29aa0..efc8a36d8 100644
--- a/rdf/zeugnis.rdf.php
+++ b/rdf/zeugnis.rdf.php
@@ -33,6 +33,7 @@ require_once('../include/datum.class.php');
require_once('../include/note.class.php');
require_once('../include/studiengang.class.php');
require_once('../include/mitarbeiter.class.php');
+require_once('../include/anrechnung.class.php');
$datum = new datum();
$db = new basis_db();
@@ -241,6 +242,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz);
$ects_gesamt = 0;
+ $prestudent_id = $row->prestudent_id;
foreach ($obj->result as $row)
{
if($row->zeugnis)
@@ -368,7 +370,20 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " ".$note2." ";
$xml .= " ".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))." ";
$ectspunkte='';
-
+
+
+ $anrechnung = new anrechnung();
+ $anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id);
+
+ if($anrechnung->result != null)
+ {
+ $lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id);
+ if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null))
+ {
+ $row->ects = $lv->ects;
+ }
+ }
+
if($row->ects==0 || $row->ects=='')
$ectspunkte='';
else
@@ -379,7 +394,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
else
$ectspunkte=number_format($row->ects,2);
}
- $ects_gesamt+=$ectspunkte;
+ $ects_gesamt+=$ectspunkte;
$xml .= " ".$ectspunkte." ";
$xml .= " ".$row->lv_lehrform_kurzbz." ";