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/datum')." | -".$p->t('benotungstool/note')." | -- |
| ".$p->t('global/datum')." | +".$p->t('benotungstool/note')." | ++ |
| ".$p->t('global/datum')." | -".$p->t('benotungstool/note')." | -- |
| ".$p->t('global/datum')." | +".$p->t('benotungstool/note')." | ++ |
";
+ echo "";
+ echo "
| ";
- }
- else
- {
- if (!is_null($note_lv) || !is_null($znote))
- echo ""; - else - echo " | "; - } + echo ' | |
| '.$pr_datum.' | +'.$pr_notenbezeichnung.' | ++ |
";
+ echo "";
+ echo "
| ";
- }
- else
- {
- echo ""; - } + echo ' |
| '.$pr_datum.' | +'.$pr_notenbezeichnung.' | +
| '.$p->t('global/lehrveranstaltung').' | '; - -if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''.$p->t('global/semester').' | '; - -echo ''.$p->t('studienplan/ects').' | -'.$p->t('studienplan/status').' | '; - -foreach($stsem_arr as $stsem) -{ - echo '';
-
- echo $stsem;
- $konto = new konto();
- $cp = $konto->getCreditPoints($uid, $stsem);
- if($cp!==false)
- echo ' ';
- echo ' | ';
-}
-echo '
-
|---|---|---|---|---|
| '.$bstart; - - // Einrückung für Subtree - for($i=0;$i<$depth;$i++) - echo ' '; - - $lvkompatibel = new lehrveranstaltung(); - $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); - $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; - - $abgeschlossen=false; - $lvregel = new lvregel(); - if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) - { - if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) - $abgeschlossen=true; - else - $abgeschlossen=false; - } - $lvinfo = new lvinfo(); - switch(getSprache()) - { - case 'German': - $sprache = 'de'; - break; - case 'English': - $sprache = 'en'; - break; - default: - $sprache = 'de'; - } - if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) - echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; - else - // Bezeichnung der Lehrveranstaltung - echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')'; - echo $bende.' | '; - - // Semester - if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''.$row_tree->semester.' | '; - - // ECTS Punkte - echo ''.$row_tree->ects.' | '; - - // Status der LV (absolviert, offen) - echo ''; - - // Note zu dieser LV vorhanden? - - $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? - $positiv=false; - foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) - { - if($note_pruef_arr[$note]->positiv) - $positiv=true; - } - - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else - echo ''.$p->t('studienplan/negativ').''; - } - //check if compatible course has grade - elseif(count($kompatibleLVs) > 0) - { - $positiv = false; - $found = false; - $i = 0; - while(!$found && $i < count($kompatibleLVs)) - { - for($i; $i < (count($kompatibleLVs)); $i++) - { - if(isset($noten_arr[$kompatibleLVs[$i]])) - { - $positiv=false; - foreach($noten_arr[$kompatibleLVs[$i]] as $note) - { - if($note_pruef_arr[$note]->positiv) - $positiv=true; - } - - $found = true; - } - } - $i++; - } - if($found) - { - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else - echo ''.$p->t('studienplan/negativ').''; - } - elseif(!$found) - { - if($abgeschlossen) - echo ''.$p->t('studienplan/regelabgeschlossen'),''; - elseif(!$row_tree->stpllv_pflicht) - echo ''.$p->t('studienplan/optional').''; - else - echo ''.$p->t('studienplan/offen').''; - } - } - else - { - if($abgeschlossen) - echo ''.$p->t('studienplan/regelabgeschlossen'),''; - elseif(!$row_tree->stpllv_pflicht) - echo ''.$p->t('studienplan/optional').''; - else - echo ''.$p->t('studienplan/offen').''; - } - echo ' | '; - - // Spalten für die einzelnen Studiensemester - foreach($stsem_arr as $key=>$stsem) - { - $semester=$key+1; - - $tdclass=array(); - //Empfehlung holen -// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) -// { -// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; -// if($semester==$empfohlenesSemester) -// $tdclass[]='empfehlung'; -// } - - $tdinhalt=''; - - // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? - if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) - { - if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - else - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - } - elseif(count($kompatibleLVs) > 0) - { - foreach($kompatibleLVs as $komp) - { - if(isset($noten_arr[$komp][$stsem])) - { - 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.''; - } - } - } - else - { - // Angebot der LV und der Kompatiblen pruefen - $anmeldungmoeglich=false; - $angemeldet=false; - $semesterlock=false; - $regelerfuellt=true; - $anmeldeinformation=''; - $angebot_vorhanden=false; - - // Regeln Pruefen - $lvregel = new lvregel(); - - // Pruefen ob Semestersperre vorhanden ist - if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) - { - $semesterlock=true; - } - else - { - if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) - { - $regelerfuellt=false; - } - } - - foreach($lvkompatibel_arr as $row_lvid) - { - // Angebot der LV pruefen - if(isset($lvangebot_arr[$row_lvid]) - && isset($lvangebot_arr[$row_lvid][$stsem])) - { - $angebot_vorhanden=true; - // LV findet statt - $angebot = $lvangebot_arr[$row_lvid][$stsem]; - - if($angebot->gruppe_kurzbz!='') - { - // Pruefen ob bereits angemeldet - $bngruppe = new benutzergruppe(); - if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) - { - // Bereits angemeldet - $angemeldet=true; - } - } - - // Pruefen ob eine Anmeldung möglich ist - if($angebot->AnmeldungMoeglich()) - { - if(!$angemeldet) - $anmeldungmoeglich=true; - } - else - $anmeldeinformation.=$angebot->errormsg; - } - } - - if($semesterlock) - { - $tdinhalt.= ''; - echo $tdinhalt; - echo ' | '; - } - echo '
| - | - |
| - | '.$p->t('studienplan/legendeLVwirdAngeboten').' | -
![]() |
- '.$p->t('studienplan/Anmeldung').' | -
![]() |
- '.$p->t('studienplan/legendeAngemeldet').' | -
![]() |
- '.$p->t('studienplan/legendeLock').' | -
| '.$p->t('global/lehrveranstaltung').' | '; + +if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''.$p->t('global/semester').' | '; + +echo ''.$p->t('studienplan/ects').' | +'.$p->t('studienplan/status').' | '; + +foreach($stsem_arr as $stsem) +{ + echo '';
+
+ echo $stsem;
+ $konto = new konto();
+ $cp = $konto->getCreditPoints($uid, $stsem);
+ if($cp!==false)
+ echo ' ';
+ echo ' | ';
+}
+echo '
+
|---|---|---|---|---|
| '.$bstart; + + // Einrückung für Subtree + for($i=0;$i<$depth;$i++) + echo ' '; + + $lvkompatibel = new lehrveranstaltung(); + $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); + $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; + + $abgeschlossen=false; + $lvregel = new lvregel(); + if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) + { + if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) + $abgeschlossen=true; + else + $abgeschlossen=false; + } + $lvinfo = new lvinfo(); + switch(getSprache()) + { + case 'German': + $sprache = 'de'; + break; + case 'English': + $sprache = 'en'; + break; + default: + $sprache = 'de'; + } + if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) + echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; + else + // Bezeichnung der Lehrveranstaltung + echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')'; + echo $bende.' | '; + + // Semester + if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''.$row_tree->semester.' | '; + + // ECTS Punkte + echo ''.$row_tree->ects.' | '; + + // Status der LV (absolviert, offen) + echo ''; + + // Note zu dieser LV vorhanden? + + $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? + $positiv=false; + foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + //check if compatible course has grade + elseif(count($kompatibleLVs) > 0) + { + $positiv = false; + $found = false; + $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])) + { + $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; + } + } + $i++; + } + } + + if($found) + { + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + elseif(!$found) + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + } + else + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + echo ' | '; + + // Spalten für die einzelnen Studiensemester + foreach($stsem_arr as $key=>$stsem) + { + $semester=$key+1; + + $tdclass=array(); + //Empfehlung holen +// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) +// { +// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; +// if($semester==$empfohlenesSemester) +// $tdclass[]='empfehlung'; +// } + + $tdinhalt=''; + + // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? + if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) + { + if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + else + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + } + elseif(count($kompatibleLVs) > 0) + { + $found = false; + $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 + { + // Angebot der LV und der Kompatiblen pruefen + $anmeldungmoeglich=false; + $angemeldet=false; + $semesterlock=false; + $regelerfuellt=true; + $anmeldeinformation=''; + $angebot_vorhanden=false; + + // Regeln Pruefen + $lvregel = new lvregel(); + + // Pruefen ob Semestersperre vorhanden ist + if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) + { + $semesterlock=true; + } + else + { + if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) + { + $regelerfuellt=false; + } + } + + foreach($lvkompatibel_arr as $row_lvid) + { + // Angebot der LV pruefen + if(isset($lvangebot_arr[$row_lvid]) + && isset($lvangebot_arr[$row_lvid][$stsem])) + { + $angebot_vorhanden=true; + // LV findet statt + $angebot = $lvangebot_arr[$row_lvid][$stsem]; + + if($angebot->gruppe_kurzbz!='') + { + // Pruefen ob bereits angemeldet + $bngruppe = new benutzergruppe(); + if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) + { + // Bereits angemeldet + $angemeldet=true; + } + } + + // Pruefen ob eine Anmeldung möglich ist + if($angebot->AnmeldungMoeglich()) + { + if(!$angemeldet) + $anmeldungmoeglich=true; + } + else + $anmeldeinformation.=$angebot->errormsg; + } + } + + if($semesterlock) + { + $tdinhalt.= ''; + echo $tdinhalt; + echo ' | '; + } + echo '
| + | + |
| + | '.$p->t('studienplan/legendeLVwirdAngeboten').' | +
![]() |
+ '.$p->t('studienplan/Anmeldung').' | +
![]() |
+ '.$p->t('studienplan/legendeAngemeldet').' | +
![]() |
+ '.$p->t('studienplan/legendeLock').' | +
| Name | +Prozent | +Insgesamt benötigt | +Bereits aufgenommen | +Noch benötigte Personen | +
|---|---|---|---|---|
| {{zgv.name}} | +{{zgv.percent | number: 2}}% | +{{zgv.neededSum | parseInt}} | +{{zgv.accepted}} | +{{zgv.needed | parseInt}} | +
| Gesamt | ++ | {{aqr.selectedStudienplatz.apz}} | +{{aqr.getAcceptedCount()}} | +{{aqr.selectedStudienplatz.apz - aqr.getAcceptedCount()}} | +
| Reihung | RT Gesamt | Interviewbogen | +Anmerkung/Prio | Status | {{stud.seqPlace}} | {{stud.rt_gesamtpunkte}} | {{stud.interviewbogen?'vorhanden':'nicht vorhanden'}} | +{{stud.anmerkung}} | {{stud.laststatus}} |
|---|