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 ""; - $le_id_arr = array(); - $le_id_arr = array_keys($studpruef_arr[$row_stud->uid]); - foreach ($le_id_arr as $le_id_stud) - { - $pr_note = $studpruef_arr[$row_stud->uid][$le_id_stud]["note"]; - $pr_punkte = $studpruef_arr[$row_stud->uid][$le_id_stud]["punkte"]; - $pr_datum = $studpruef_arr[$row_stud->uid][$le_id_stud]["datum"]; - $pr_le_id = $le_id_stud; + // Pruefung 2. Termin + if (key_exists($row_stud->uid, $studpruef_arr)) + { + echo ""; - } - else - { - if (!is_null($note_lv) || !is_null($znote)) - echo ""; - else - echo ""; - } + echo ' + + + '; + } + echo "
"; + echo ""; + echo ""; + $le_id_arr = array(); + $le_id_arr = array_keys($studpruef_arr[$row_stud->uid]); + foreach ($le_id_arr as $le_id_stud) + { + $pr_note = $studpruef_arr[$row_stud->uid][$le_id_stud]["note"]; + $pr_punkte = $studpruef_arr[$row_stud->uid][$le_id_stud]["punkte"]; + $pr_datum = $studpruef_arr[$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 ' - - - '; - } - echo "
'.$pr_datum.''.$pr_notenbezeichnung.' -
"; - echo "
"; - echo "
'.$pr_datum.''.$pr_notenbezeichnung.' +
"; + 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 ""; - } - else - { - echo ""; - } + echo ' + + + '; + } + 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 ' - - - '; - } - echo "
'.$pr_datum.''.$pr_notenbezeichnung.'
"; - echo "
"; - echo "
'.$pr_datum.''.$pr_notenbezeichnung.'
"; + 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."";