mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Merge branch 'master' into eine_uid
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -841,9 +841,15 @@ echo "
|
||||
<th></th>
|
||||
<th>".$p->t('global/uid')."</th>
|
||||
<th>".$p->t('global/nachname')."</th>
|
||||
<th>".$p->t('global/vorname')."</th>
|
||||
<th>".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."</th>
|
||||
<th>".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."</th>
|
||||
<th>".$p->t('global/vorname')."</th>";
|
||||
|
||||
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
|
||||
{
|
||||
echo "<th>".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."</th>";
|
||||
}
|
||||
|
||||
|
||||
echo "<th>".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."</th>
|
||||
<th rowspan=2>".$p->t('benotungstool/lvNote')."<br>
|
||||
<input type='button' onclick='GradeImport()' value='".$p->t('benotungstool/importieren')."'>
|
||||
</th>
|
||||
@@ -854,26 +860,38 @@ echo "
|
||||
<br><input type='submit' name='frei' value='Freigabe'>
|
||||
</form>
|
||||
</th>
|
||||
<th>".$p->t('benotungstool/zeugnisnote')."</th>
|
||||
<th colspan='2'>".$p->t('benotungstool/nachpruefung')."</th>";
|
||||
<th>".$p->t('benotungstool/zeugnisnote')."</th>";
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
|
||||
{
|
||||
echo "<th colspan='2'>".$p->t('benotungstool/nachpruefung')."</th>";
|
||||
}
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
|
||||
{
|
||||
echo "<th colspan='2' nowrap>".$p->t('benotungstool/nachpruefung2')."</th>";
|
||||
}
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
|
||||
{
|
||||
echo "<th colspan='2'>".$p->t('benotungstool/kommissionellePruefung')."</th>";
|
||||
}
|
||||
echo "
|
||||
<th colspan='2'>".$p->t('benotungstool/kommissionellePruefung')."</th>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan='9'> </th>
|
||||
<th colspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td class='td_datum'>".$p->t('global/datum')."</td>
|
||||
<td class='td_note'>".$p->t('benotungstool/note')."</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>";
|
||||
<th colspan='9'> </th>";
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
|
||||
{
|
||||
echo "<th colspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td class='td_datum'>".$p->t('global/datum')."</td>
|
||||
<td class='td_note'>".$p->t('benotungstool/note')."</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>";
|
||||
}
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
|
||||
{
|
||||
echo "<th colspan='2'>
|
||||
@@ -886,66 +904,73 @@ echo "
|
||||
</table>
|
||||
</th>";
|
||||
}
|
||||
echo "
|
||||
<th colspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td class='td_datum'>".$p->t('global/datum')."</td>
|
||||
<td class='td_note'>".$p->t('benotungstool/note')."</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
|
||||
{
|
||||
echo "
|
||||
<th colspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td class='td_datum'>".$p->t('global/datum')."</td>
|
||||
<td class='td_note'>".$p->t('benotungstool/note')."</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>";
|
||||
}
|
||||
echo "
|
||||
</tr>
|
||||
";
|
||||
|
||||
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
|
||||
@@ -979,7 +1004,9 @@ echo "
|
||||
$note_le_gewichtet=0;
|
||||
$gewichtsumme=0;
|
||||
$note=0;
|
||||
if($grade_from_moodle)
|
||||
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
|
||||
{
|
||||
if($grade_from_moodle)
|
||||
{
|
||||
//Moodle 1.9
|
||||
|
||||
@@ -1040,7 +1067,6 @@ echo "
|
||||
$title.=$key."=>".$value."\r\n";
|
||||
}
|
||||
|
||||
|
||||
$note_les_str .= "<span ".$leneg.">".$note."</span> <span title='".$title."' style='font-size:10px'>(".$mdl_shortname.")</span> ";
|
||||
}
|
||||
} // ende If Richtiger User
|
||||
@@ -1134,10 +1160,11 @@ echo "
|
||||
$title='Gewichtung: '.$l->gewicht;
|
||||
else
|
||||
$title='';
|
||||
$note_les_str .= '<span title="'.$title.'"><span'.$leneg.'>'.$legesamtnote->note.'</span> ('.$l->lehreinheit_id.') </span>';
|
||||
}
|
||||
}
|
||||
$note_les_str .= '<span title="'.$title.'"><span'.$leneg.'>'.$legesamtnote->note.'</span> ('.$l->lehreinheit_id.') </span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($lvgesamtnote = new lvgesamtnote($lvid,$row_stud->prestudent_id,$stsem))
|
||||
{
|
||||
@@ -1191,8 +1218,10 @@ echo "
|
||||
else
|
||||
$znote = null;
|
||||
|
||||
|
||||
echo "<td style='white-space: nowrap;'>".$note_les_str." </td>";
|
||||
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
|
||||
{
|
||||
echo "<td style='white-space: nowrap;'>".$note_les_str." </td>";
|
||||
}
|
||||
|
||||
if (key_exists($row_stud->uid,$studpruef_arr))
|
||||
$hide = "style='display:none;visibility:hidden;'";
|
||||
@@ -1276,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 "<td colspan='2'>";
|
||||
echo "<span id='span_Termin2_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$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 "<td colspan='2'>";
|
||||
echo "<span id='span_Termin2_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$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 '<tr>
|
||||
<td class="td_datum">'.$pr_datum.'</td>
|
||||
<td class="td_note">'.$pr_notenbezeichnung.'</td>
|
||||
<td><input type="button" name="anlegen" value="'.$p->t('global/aendern').'" onclick="pruefungAnlegen(\''.$row_stud->uid.'\',\''.$pr_datum.'\',\''.$pr_note.'\',\''.$pr_le_id.'\',\''.$pr_punkte.'\')"><td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_null($note_lv) || !is_null($znote))
|
||||
echo "<td colspan='2'><span id='span_Termin2_".$row_stud->uid."'><input type='button' name='anlegen' value='".$p->t('benotungstool/anlegen')."' onclick='pruefungAnlegen(\"".$row_stud->uid."\",\"\",\"\",\"\",\"\")'></span></td>";
|
||||
else
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
echo '<tr>
|
||||
<td class="td_datum">'.$pr_datum.'</td>
|
||||
<td class="td_note">'.$pr_notenbezeichnung.'</td>
|
||||
<td><input type="button" name="anlegen" value="'.$p->t('global/aendern').'" onclick="pruefungAnlegen(\''.$row_stud->uid.'\',\''.$pr_datum.'\',\''.$pr_note.'\',\''.$pr_le_id.'\',\''.$pr_punkte.'\')"><td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_null($note_lv) || !is_null($znote))
|
||||
echo "<td colspan='2'><span id='span_Termin2_".$row_stud->uid."'><input type='button' name='anlegen' value='".$p->t('benotungstool/anlegen')."' onclick='pruefungAnlegen(\"".$row_stud->uid."\",\"\",\"\",\"\",\"\")'></span></td>";
|
||||
else
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
}
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
|
||||
{
|
||||
@@ -1355,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 "<td colspan='2'>";
|
||||
echo "<span id='span_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$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 "<td colspan='2'>";
|
||||
echo "<span id='span_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$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 '<tr>
|
||||
<td class="td_datum">'.$pr_datum.'</td>
|
||||
<td class="td_note">'.$pr_notenbezeichnung.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
echo '<tr>
|
||||
<td class="td_datum">'.$pr_datum.'</td>
|
||||
<td class="td_note">'.$pr_notenbezeichnung.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
}
|
||||
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
@@ -1398,12 +1433,27 @@ echo "
|
||||
echo "
|
||||
<tr style='font-weight:bold;' align='center'>
|
||||
<th style='font-weight:bold;'>Σ</th>
|
||||
<th style='font-weight:bold;' title='".$p->t('benotungstool/anzahlDerStudenten')."'>$summe_stud</th>
|
||||
<th colspan='6'></td>
|
||||
<th style='color:red; font-weight:bold;' title='".$p->t('benotungstool/anzahlNegativerBeurteilungen')."'>$summe_ng</th>
|
||||
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>$summe_t2</th>
|
||||
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>$summe_t3</th>
|
||||
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlKommisionellePruefungen')."'>$summe_komm</th>
|
||||
<th style='font-weight:bold;' title='".$p->t('benotungstool/anzahlDerStudenten')."'>$summe_stud</th>";
|
||||
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE))
|
||||
{
|
||||
echo "<th colspan='5'></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<th colspan='6'></td>";
|
||||
}
|
||||
echo "<th style='color:red; font-weight:bold;' title='".$p->t('benotungstool/anzahlNegativerBeurteilungen')."'>$summe_ng</th>";
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2): ?>
|
||||
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t2</th>;
|
||||
<?php endif;
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3): ?>
|
||||
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t3</th>";
|
||||
<?php endif;
|
||||
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF): ?>
|
||||
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlKommisionellePruefungen'); ?>"'>$summe_komm</th>
|
||||
<?php endif;
|
||||
echo "
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -635,19 +635,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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -734,7 +737,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;
|
||||
|
||||
@@ -490,34 +490,50 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
|
||||
foreach($pruefung->result as $prf)
|
||||
{
|
||||
$note = new note($prf->note);
|
||||
if($note->note === $noteCode_uef)
|
||||
$pruefung = new pruefungCis();
|
||||
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
|
||||
$anmeldung->wuensche = $_REQUEST["bemerkung"];
|
||||
$anmeldung->uid = $uid;
|
||||
$anmeldung->reihung = $reihung+1;
|
||||
$anmeldung->status_kurzbz = "angemeldet";
|
||||
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
|
||||
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
|
||||
|
||||
$konto = new konto();
|
||||
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
|
||||
|
||||
if($creditpoints !== false)
|
||||
{
|
||||
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
|
||||
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
|
||||
$pf = new pruefungCis($pruefungstermin->pruefung_id);
|
||||
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
|
||||
$studiensemester = new studiensemester();
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
$i=0;
|
||||
while($i<2)
|
||||
if($creditpoints < $lehrveranstaltung->ects)
|
||||
{
|
||||
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
|
||||
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
|
||||
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
|
||||
$pf = new pruefungCis($pruefungstermin->pruefung_id);
|
||||
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
|
||||
$studiensemester = new studiensemester();
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
$i=0;
|
||||
while($i<2)
|
||||
{
|
||||
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
$stdsem = $studiensemester->getPreviousFrom($stdsem);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
$stdsem = $studiensemester->getPreviousFrom($stdsem);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($anmeldung_moeglich)
|
||||
{
|
||||
@@ -577,15 +593,29 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
|
||||
return $data;
|
||||
}
|
||||
|
||||
$anrechnung = new anrechnung();
|
||||
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($uid);
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getPrestudenten($person->person_id);
|
||||
$anrechnung = new anrechnung();
|
||||
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($uid);
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getPrestudenten($person->person_id);
|
||||
$studiensemester = new studiensemester();
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
if ($aktStudiensemester)
|
||||
$stdsem = $aktStudiensemester;
|
||||
|
||||
if(count($prestudent->result) > 0)
|
||||
if(count($prestudent->result) > 0)
|
||||
{
|
||||
$prestudent_id = "";
|
||||
foreach($prestudent->result as $ps)
|
||||
{
|
||||
$prestudent_id = "";
|
||||
foreach($prestudent->result as $ps)
|
||||
@@ -663,6 +693,75 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
|
||||
}
|
||||
}
|
||||
}
|
||||
if($prestudent_id != "")
|
||||
{
|
||||
$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;
|
||||
else
|
||||
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
|
||||
$from = "noreply@".DOMAIN;
|
||||
$subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
|
||||
$mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
|
||||
|
||||
$student = new student($uid);
|
||||
$datum = new datum();
|
||||
|
||||
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
|
||||
|
||||
$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
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$anrechnung->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -231,6 +231,7 @@ $studiensemester->getAll();
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php if(!defined('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG') || CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG == true): ?>
|
||||
<h2><?php echo $p->t('pruefung/lvVonStudiengang'); ?></h2>
|
||||
<div>
|
||||
<table id="table2" class="tablesorter">
|
||||
@@ -247,6 +248,7 @@ $studiensemester->getAll();
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<h2><?php echo $p->t('pruefung/lvAlle'); ?></h2>
|
||||
<div>
|
||||
<table id="table3" class="tablesorter">
|
||||
|
||||
@@ -67,7 +67,7 @@ $rechte->getBerechtigungen($uid);
|
||||
min-height: 297mm;
|
||||
padding: 20mm;
|
||||
margin: 10mm auto;
|
||||
border: 1px #D3D3D3 solid;
|
||||
border: 1px #ffffff solid;
|
||||
border-radius: 5px;
|
||||
background: white;
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
|
||||
@@ -76,7 +76,7 @@ $rechte->getBerechtigungen($uid);
|
||||
|
||||
#subpage {
|
||||
padding: 10mm;
|
||||
border: 1px black solid;
|
||||
border: 1px white solid;
|
||||
height: 256mm;
|
||||
outline: 20mm
|
||||
}
|
||||
|
||||
Regular → Executable
+10
-10
@@ -96,8 +96,8 @@ function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstalt
|
||||
{
|
||||
$("#modalOverlay").addClass("modalOverlay");
|
||||
$("#anmeldeDaten").empty();
|
||||
$("#anmeldungen").children("h2").text("Bewertungen zu "+lehrveranstaltung+" ("+datum+")");
|
||||
var noten = "<select onchange='markAsUnsaved(this);'><option value='null'>Keine Auswahl</option>";
|
||||
$("#anmeldungen").children("h2").text("<?php echo $p->t('pruefung/bewertungenZu'); ?> "+lehrveranstaltung+" ("+datum+")");
|
||||
var noten = "<select onchange='markAsUnsaved(this);'><option value='null'><?php echo $p->t('pruefung/keineAuswahl'); ?></option>";
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
url: "./pruefungsbewertung.json.php",
|
||||
@@ -138,15 +138,15 @@ function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstalt
|
||||
data.result.forEach(function(d)
|
||||
{
|
||||
if(d.status_kurzbz === "bestaetigt")
|
||||
{
|
||||
var datum = d.von.split(" ");
|
||||
{
|
||||
var datum = d.von.split(" ");
|
||||
if(d.pruefung.note===null)
|
||||
{
|
||||
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='saveBeurteilung(this,\""+datum[0]+"\",\""+d.pruefungsanmeldung_id+"\",\""+d.pruefung_id+"\",\""+d.lehrveranstaltung_id+"\");' value='speichern'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='Anmerkung' /></div>";
|
||||
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='saveBeurteilung(this,\""+datum[0]+"\",\""+d.pruefungsanmeldung_id+"\",\""+d.pruefung_id+"\",\""+d.lehrveranstaltung_id+"\");' value='<?php echo $p->t('global/speichern'); ?>'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='<?php echo $p->t('global/anmerkung'); ?>' /></div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='updateBeurteilung(this,\""+d.pruefung.pruefung_id+"\");' value='speichern'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='Anmerkung' value='"+d.pruefung.anmerkung+"' /></div>";
|
||||
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='updateBeurteilung(this,\""+d.pruefung.pruefung_id+"\");' value='<?php echo $p->t('global/speichern'); ?>'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='<?php echo $p->t('global/anmerkung'); ?>' value='"+d.pruefung.anmerkung+"' /></div>";
|
||||
}
|
||||
$("#anmeldeDaten").append(entry);
|
||||
if(d.pruefung.note!==null)
|
||||
@@ -199,7 +199,7 @@ function saveBeurteilung(ele, datum, pruefungsanmeldung_id, pruefung_id, lehrver
|
||||
return false;
|
||||
}
|
||||
var anmerkung = $("#note_anmerkung_"+student_uid).val();
|
||||
|
||||
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
url: "./pruefungsbewertung.json.php",
|
||||
@@ -229,7 +229,7 @@ function saveBeurteilung(ele, datum, pruefungsanmeldung_id, pruefung_id, lehrver
|
||||
$(ele).parent().find("select").val(null);
|
||||
}
|
||||
}).complete(function(event, xhr, settings){
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -270,8 +270,8 @@ function updateBeurteilung(ele, pruefung_id)
|
||||
{
|
||||
messageBox("message",data.errormsg, "red", "highlight", 1000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}).complete(function(event, xhr, settings){
|
||||
|
||||
});
|
||||
|
||||
@@ -231,7 +231,8 @@ if(!isset($begin) || !isset($ende))
|
||||
}
|
||||
}
|
||||
|
||||
if($ende-$begin>31536000)
|
||||
|
||||
if($ende-$begin>34560000) // = 400 Tage
|
||||
{
|
||||
die($p->t('lvplan/datumsbereichZuGross')."!");
|
||||
}
|
||||
|
||||
@@ -433,19 +433,6 @@ if(isset($prestudent_id))
|
||||
}
|
||||
echo '</body>
|
||||
</html>';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function drawTree($tree, $depth)
|
||||
{
|
||||
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr;
|
||||
@@ -557,12 +544,12 @@ echo '</body>
|
||||
$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;
|
||||
}
|
||||
$positiv=false;
|
||||
foreach($noten_arr[$lv] as $note)
|
||||
{
|
||||
if($note_pruef_arr[$note]->positiv)
|
||||
$positiv=true;
|
||||
}
|
||||
$found = true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+15
-2
@@ -71,7 +71,7 @@ else
|
||||
$xsl_stg_kz=$_GET['stg_kz'];
|
||||
else
|
||||
{
|
||||
// Werden UIDs uebergeben, wird die Vorlage des Studiengangs genommen
|
||||
// Werden UIDs oder Prestudent_IDs uebergeben, wird die Vorlage des Studiengangs genommen
|
||||
// in dem der 1. Studierende in der Liste ist
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
@@ -86,6 +86,19 @@ else
|
||||
$xsl_stg_kz=$student_obj->studiengang_kz;
|
||||
}
|
||||
}
|
||||
elseif(isset($_GET['prestudent_id']) && $_GET['prestudent_id']!='')
|
||||
{
|
||||
if(strstr($_GET['prestudent_id'],';'))
|
||||
$prestudent_ids = explode(';',$_GET['prestudent_id']);
|
||||
else
|
||||
$prestudent_ids[1] = $_GET['prestudent_id'];
|
||||
|
||||
$prestudent_obj = new prestudent();
|
||||
if($prestudent_obj->load($prestudent_ids[1]))
|
||||
{
|
||||
$xsl_stg_kz=$prestudent_obj->studiengang_kz;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset($_GET['xsl_oe_kurzbz']))
|
||||
@@ -666,7 +679,7 @@ else
|
||||
|
||||
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
if(isset($_GET['style_xsl']))
|
||||
if(isset($_GET['style_xsl']) || $vorlage->style!='')
|
||||
{
|
||||
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
|
||||
if($vorlage->style!='')
|
||||
|
||||
@@ -291,6 +291,9 @@ class dokument_export
|
||||
|
||||
if($download)
|
||||
{
|
||||
if(headers_sent())
|
||||
exit('Header wurden bereits gesendet -> Abbruch');
|
||||
|
||||
switch($this->outputformat)
|
||||
{
|
||||
case 'pdf':
|
||||
@@ -310,6 +313,8 @@ class dokument_export
|
||||
header('Content-Disposition: attachment; filename="'.$this->filename.'.odt"');
|
||||
header('Content-Length: '.$fsize);
|
||||
break;
|
||||
default:
|
||||
exit('Outputformat is not defined');
|
||||
}
|
||||
|
||||
while (!feof($handle))
|
||||
@@ -389,5 +394,11 @@ class dokument_export
|
||||
}
|
||||
return $_xml_data->asXML();
|
||||
}
|
||||
|
||||
public function getXML()
|
||||
{
|
||||
$this->xml_data->formatOutput=true;
|
||||
return $this->xml_data->saveXML();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -548,8 +548,10 @@ class jahresplan extends basis_db
|
||||
$qry.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" ";
|
||||
$qry.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" ";
|
||||
|
||||
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start) as \"start_timestamp\" ";
|
||||
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende) as \"ende_timestamp\" ";
|
||||
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start::TIMESTAMP WITHOUT TIME
|
||||
ZONE at time zone 'CEST' ) as \"start_timestamp\" ";
|
||||
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende::TIMESTAMP WITHOUT TIME
|
||||
ZONE at time zone 'CEST' ) as \"ende_timestamp\" ";
|
||||
|
||||
|
||||
$qry.=", to_char(tbl_veranstaltung.start, 'DD.MM.YYYY') as \"start_datum\" ";
|
||||
|
||||
@@ -1784,7 +1784,9 @@ class prestudent extends person
|
||||
|
||||
if($stg_obj->typ=='m')
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
@@ -1810,7 +1812,9 @@ class prestudent extends person
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
|
||||
@@ -73,6 +73,8 @@ $this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Lehrveranstaltung erfolgreic
|
||||
$this->phrasen['pruefung/pruefungStorniert'] = 'Prüfung storniert';
|
||||
$this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
|
||||
$this->phrasen['pruefung/unbegrenzt'] = 'unbegrenzt';
|
||||
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
|
||||
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
|
||||
|
||||
// pruefungsbewertung
|
||||
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
|
||||
|
||||
@@ -73,6 +73,8 @@ $this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Lehrveranstaltung erfolgreic
|
||||
$this->phrasen['pruefung/pruefungStorniert'] = 'Prüfung storniert';
|
||||
$this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
|
||||
$this->phrasen['pruefung/unbegrenzt'] = 'unlimited';
|
||||
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
|
||||
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
|
||||
|
||||
// pruefungsbewertung
|
||||
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
|
||||
|
||||
@@ -46,7 +46,7 @@ $this->phrasen['pruefung/anmeldenMoeglichBis'] = 'Possibilità di iscrizione ent
|
||||
$this->phrasen['pruefung/stornoNichtMehrMoeglich'] = 'Non è più possibile annullare l’iscrizione.';
|
||||
$this->phrasen['pruefung/zurLvAnmeldung'] = 'iscriversi al corso';
|
||||
$this->phrasen['pruefung/zuerstPruefungAuswaehlen'] = 'Scegliere prima l’esame.';
|
||||
$this->phrasen['pruefung/bemerkungVonLektorHinzugefuegt'] = 'inserito da docente';
|
||||
$this->phrasen['pruefung/bemerkungVonLektorHinzugefuegt'] = 'iscrizione da segreteria';
|
||||
$this->phrasen['pruefung/bestaetigen'] = 'Confermare';
|
||||
$this->phrasen['pruefung/anmerkungDesStudenten'] = 'Osservazioni dello studente:</br>';
|
||||
$this->phrasen['pruefung/bestaetigt'] = 'confermato';
|
||||
@@ -73,6 +73,9 @@ $this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Insegnamento tolto con succe
|
||||
$this->phrasen['pruefung/pruefungStorniert'] = 'Esame cancellato';
|
||||
$this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato';
|
||||
$this->phrasen['pruefung/unbegrenzt'] = '';
|
||||
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
|
||||
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
|
||||
|
||||
// pruefungsbewertung
|
||||
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voti d’esame';
|
||||
$this->phrasen['pruefung/pruefungsbewertungAnmeldungen'] = 'Iscrizioni';
|
||||
@@ -102,7 +105,7 @@ $this->phrasen['pruefung/keineLvAngegeben'] = 'Nessun corso definito.';
|
||||
$this->phrasen['pruefung/kollisionMitAnderemTermin'] = 'Date sovrapposte.';
|
||||
$this->phrasen['pruefung/terminNichtInDerVergangenheit'] = 'La data dell’appello non è nel passato.';
|
||||
$this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessun corso disponibile.';
|
||||
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessuna registrazione disponibile.';
|
||||
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessuna studente iscritto.';
|
||||
|
||||
// anmeldungen Verwalten
|
||||
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli';
|
||||
|
||||
@@ -297,6 +297,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lvstg);
|
||||
|
||||
$xml .= " <stg_studiengang_bezeichnung>".$stg_oe_obj->bezeichnung."</stg_studiengang_bezeichnung>";
|
||||
$xml .= " <lv_studiengang_bezeichnung>".$stg->bezeichnung."</lv_studiengang_bezeichnung>";
|
||||
$xml .= " <lv_studiengang_typ>".$stg->typ."</lv_studiengang_typ>";
|
||||
$xml .= " <lv_studiengang_kennzahl>".sprintf('%04s',$lvstg)."</lv_studiengang_kennzahl>";
|
||||
@@ -312,7 +314,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= " <lehrform_kurzbz>".$lehrform_kurzbz."</lehrform_kurzbz>";
|
||||
$xml .= " <lehrform_bezeichnung>".$lehrform_bezeichnung."</lehrform_bezeichnung>";
|
||||
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
|
||||
$xml .= " <ects>".number_format($ects,1)."</ects>";
|
||||
|
||||
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
|
||||
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
|
||||
$xml .= " <kompatible_lvs>";
|
||||
@@ -324,6 +326,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
|
||||
$xml .= " </kompatible_lvs>";
|
||||
|
||||
|
||||
$anrechnung = new anrechnung();
|
||||
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, null, $lehrveranstaltung_id);
|
||||
@@ -336,6 +339,17 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= $anrechnung->result[0]->lehrveranstaltung_bez;
|
||||
}
|
||||
$xml .= "</studienverpflichtung>";
|
||||
|
||||
if($lehrveranstaltung_id_kompatibel != "")
|
||||
{
|
||||
$lv = new lehrveranstaltung($lehrveranstaltung_id_kompatibel);
|
||||
if(($lv->ects !== $ects) && ($lv->ects != "") && ($lv->ects != null))
|
||||
{
|
||||
$ects = $lv->ects;
|
||||
}
|
||||
}
|
||||
|
||||
$xml .= " <ects>".number_format($ects,1)."</ects>";
|
||||
|
||||
$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id);
|
||||
|
||||
|
||||
+14
-1
@@ -34,6 +34,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');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
@@ -374,6 +375,19 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= " <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
|
||||
$ectspunkte='';
|
||||
|
||||
|
||||
$anrechnung = new anrechnung();
|
||||
$anrechnung->getAnrechnungPrestudent($prestudent_id_arr[$i], 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
|
||||
@@ -406,4 +420,3 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo $xml;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -234,6 +234,7 @@ $error_msg='';
|
||||
|
||||
// **************************************************************
|
||||
// Studiengangsleiter-Verteiler abgleichen
|
||||
// Es werden auch StellvertreterInnen hinzugefügt
|
||||
$mlist_name='tw_stgl';
|
||||
setGeneriert($mlist_name);
|
||||
// Personen holen die nicht mehr in den Verteiler gehoeren
|
||||
@@ -248,9 +249,10 @@ $error_msg='';
|
||||
JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid)
|
||||
JOIN public.tbl_benutzerfunktion USING(uid)
|
||||
JOIN public.tbl_studiengang USING(oe_kurzbz)
|
||||
WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg') AND
|
||||
WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()))";
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
AND tbl_studiengang.aktiv=true)";
|
||||
if(!($result = $db->db_query($sql_query)))
|
||||
$error_msg.=$db->db_last_error();
|
||||
while($row=$db->db_fetch_object($result))
|
||||
@@ -263,7 +265,7 @@ $error_msg='';
|
||||
}
|
||||
// Personen holen die nicht im Verteiler sind
|
||||
echo '<BR>';
|
||||
$sql_query="SELECT mitarbeiter_uid AS uid
|
||||
$sql_query="SELECT DISTINCT mitarbeiter_uid AS uid
|
||||
FROM
|
||||
public.tbl_mitarbeiter
|
||||
JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid)
|
||||
@@ -271,10 +273,11 @@ $error_msg='';
|
||||
JOIN public.tbl_studiengang USING(oe_kurzbz)
|
||||
WHERE
|
||||
tbl_benutzer.aktiv AND
|
||||
(tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg') AND
|
||||
(tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
|
||||
mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
|
||||
mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))
|
||||
AND tbl_studiengang.aktiv=true";
|
||||
if(!($result = $db->db_query($sql_query)))
|
||||
$error_msg.=$db->db_last_error();
|
||||
while($row=$db->db_fetch_object($result))
|
||||
@@ -1703,6 +1706,42 @@ $error_msg='';
|
||||
$error_msg.=$db->db_last_error().' '.$sql_querys;
|
||||
}
|
||||
|
||||
$sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')";
|
||||
if(!($result_oe = $db->db_query($sql_query)))
|
||||
$error_msg.=$db->db_last_error().' '.$sql_query;
|
||||
// Personen holen die nicht im Verteiler sind
|
||||
while($row_oe = $db->db_fetch_object($result_oe))
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')";
|
||||
if(!$db->db_query($sql_query))
|
||||
{
|
||||
$error_msg.=$db->db_last_error().$sql_query;
|
||||
}
|
||||
}
|
||||
|
||||
// **************************************************************
|
||||
// Alle MA mit Funktion Leitung oder stvLeitung oder gfLtg
|
||||
$mlist_name='TW_LEITUNG';
|
||||
|
||||
$grp = new gruppe();
|
||||
setGeneriert($mlist_name);
|
||||
|
||||
// Personen holen die nicht mehr in den Verteiler gehoeren
|
||||
echo '<br>'.$mlist_name.' wird abgeglichen!';
|
||||
flush();
|
||||
|
||||
$sql_query = "SELECT DISTINCT uid FROM tbl_person JOIN tbl_benutzer
|
||||
USING (person_id) JOIN tbl_benutzerfunktion USING (uid)
|
||||
WHERE funktion_kurzbz in('Leitung','stvLtg','gLtg')
|
||||
AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null)
|
||||
AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)";
|
||||
|
||||
$sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)";
|
||||
if(!$db->db_query($sql_querys))
|
||||
{
|
||||
$error_msg.=$db->db_last_error().' '.$sql_querys;
|
||||
}
|
||||
|
||||
$sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')";
|
||||
if(!($result_oe = $db->db_query($sql_query)))
|
||||
$error_msg.=$db->db_last_error().' '.$sql_query;
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
aqr.studiengaenge = [];
|
||||
aqr.studiensemester = [];
|
||||
aqr.studienplaetze = [];
|
||||
aqr.zgvElems = [];
|
||||
aqr.actualSequence = 1;
|
||||
SERVICE_TARGET = "aliquote_reduktion.json.php";
|
||||
|
||||
@@ -112,6 +113,12 @@
|
||||
if(!confirm("Es wurden zu viel Studenten gewählt!"))
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!confirm("Sind Sie sicher, dass Sie die ausgewählten Personen aufnehmen wollen?"))
|
||||
return;
|
||||
}
|
||||
|
||||
var prestudent_ids = [];
|
||||
|
||||
aqr.studenten.forEach(function(i)
|
||||
@@ -190,7 +197,7 @@
|
||||
aqr.studenten=res;
|
||||
aqr.studenten.forEach(function(i)
|
||||
{
|
||||
if(i.laststatus=='Wartender'||i.laststatus=='Bewerber')
|
||||
if((i.laststatus=='Wartender'||i.laststatus=='Bewerber') && i.rt_gesamtpunkte !== null && i.rt_gesamtpunkte > 0)
|
||||
i.applicant = true;
|
||||
else if(i.laststatus=='Student'||i.laststatus=='Aufgenommener')
|
||||
i.selected=true;
|
||||
@@ -212,12 +219,12 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
aqr.getAcceptedCount = function()
|
||||
aqr.getAcceptedCount = function(zgvGruppe)
|
||||
{
|
||||
var ret = 0;
|
||||
aqr.studenten.forEach(function(i)
|
||||
{
|
||||
if(i.laststatus=='Student'||i.laststatus=='Aufgenommener')
|
||||
if((i.laststatus=='Student'||i.laststatus=='Aufgenommener') && (zgvGruppe === undefined || zgvGruppe === i.bezeichnung))
|
||||
ret++;
|
||||
});
|
||||
return ret;
|
||||
@@ -225,24 +232,60 @@
|
||||
|
||||
aqr.doPreselection = function()
|
||||
{
|
||||
if(parseInt(aqr.selectedStudienplatz.apz) >= 0)
|
||||
aqr.zgvElems = [];
|
||||
if(parseInt(aqr.selectedStudienplatz.apz) >= 0) // we only preselect, if we have an APZ
|
||||
{
|
||||
aqr.studenten.sort(sortStudentenRTP);
|
||||
|
||||
var zgvs = aqr.getZGVArray();
|
||||
var neededStudentsCount = aqr.selectedStudienplatz.apz - aqr.getAcceptedCount();
|
||||
var perZGV = parseInt(neededStudentsCount / zgvs.length);
|
||||
var perZGV = aqr.studenten.length;
|
||||
var zgvElems = [];
|
||||
var allApplicants = [];
|
||||
|
||||
aqr.studenten.forEach(function(j)
|
||||
{
|
||||
if(j.applicant)
|
||||
allApplicants.push(j);
|
||||
});
|
||||
|
||||
var applicantCount = aqr.selectedStudienplatz.apz;
|
||||
if(applicantCount > allApplicants.length)
|
||||
applicantCount = allApplicants.length;
|
||||
|
||||
|
||||
zgvs.forEach(function(i)
|
||||
{
|
||||
zgvElems.push({name:i,needed:perZGV});
|
||||
var applicantsFromZGV = [];
|
||||
aqr.studenten.forEach(function(j)
|
||||
{
|
||||
if(j.applicant && j.bezeichnung === i)
|
||||
applicantsFromZGV.push(j);
|
||||
});
|
||||
|
||||
// calculate the aliquote reduction for every ZGV
|
||||
var percent = applicantsFromZGV.length / allApplicants.length * 100;
|
||||
var neededFromZGV = (applicantCount / 100 * percent) - aqr.getAcceptedCount(i);
|
||||
|
||||
if(neededFromZGV < 0)
|
||||
neededFromZGV = 0;
|
||||
|
||||
zgvElems.push({name:i, needed:neededFromZGV, percent:percent, accepted: aqr.getAcceptedCount(i), neededSum: (applicantCount / 100 * percent)});
|
||||
});
|
||||
var residual = perZGV * zgvs.length;
|
||||
aqr.zgvElems = JSON.parse(JSON.stringify(zgvElems));
|
||||
|
||||
// calculate the already distributed students
|
||||
var residual = 0;
|
||||
zgvElems.forEach(function(i)
|
||||
{
|
||||
residual += i.needed;
|
||||
});
|
||||
|
||||
// calculate the difference from needed to already distributed
|
||||
var resDiff = neededStudentsCount - residual;
|
||||
|
||||
// distribute the remaining places on the present ZGVs
|
||||
while(resDiff > 0)
|
||||
while(resDiff > 0 && zgvElems.length > 0/*if there are no zgvs(to prevent a deadlock)*/)
|
||||
{
|
||||
zgvElems.forEach(function(i)
|
||||
{
|
||||
@@ -276,7 +319,7 @@
|
||||
{
|
||||
var beginNeeded = needed;
|
||||
|
||||
//distribute the remainig applicants to the present ZGVs
|
||||
//distribute the applicants to the present ZGVs
|
||||
for(var i=0; i < zgvElems.length; i++)
|
||||
{
|
||||
for(var j in aqr.studenten)
|
||||
@@ -284,9 +327,11 @@
|
||||
if(
|
||||
aqr.studenten[j].laststatus!='Abgewiesener'
|
||||
&& aqr.studenten[j].laststatus!='Abbrecher'
|
||||
&& zgvElems[i].needed > 0
|
||||
&& parseInt(zgvElems[i].needed) > 0
|
||||
&& aqr.studenten[j].bezeichnung == zgvElems[i].name
|
||||
&& !aqr.studenten[j].seqPlace)
|
||||
&& !aqr.studenten[j].seqPlace
|
||||
&& !aqr.studenten[j].selected
|
||||
&& aqr.studenten[j].applicant)
|
||||
{
|
||||
aqr.setSequence(aqr.studenten[j]);
|
||||
zgvElems[i].needed --;
|
||||
@@ -303,7 +348,7 @@
|
||||
//distribute the rest of the applicants, WITH a ZGV group
|
||||
for(var j in aqr.studenten)
|
||||
{
|
||||
if(!aqr.studenten[j].selected && aqr.studenten[j].bezeichnung)
|
||||
if(!aqr.studenten[j].selected && aqr.studenten[j].bezeichnung && aqr.studenten[j].applicant)
|
||||
{
|
||||
aqr.setSequence(aqr.studenten[j]);
|
||||
if(needed > 0 && (aqr.studenten[j].laststatus=='Wartender'||aqr.studenten[j].laststatus=='Bewerber'))
|
||||
@@ -316,7 +361,7 @@
|
||||
//distribute the rest of the applicants, WITHOUT a ZGV group
|
||||
for(var j in aqr.studenten)
|
||||
{
|
||||
if(!aqr.studenten[j].selected && !aqr.studenten[j].bezeichnung)
|
||||
if(!aqr.studenten[j].selected && !aqr.studenten[j].bezeichnung && aqr.studenten[j].applicant)
|
||||
{
|
||||
aqr.setSequence(aqr.studenten[j]);
|
||||
if(needed > 0 && (aqr.studenten[j].laststatus=='Wartender'||aqr.studenten[j].laststatus=='Bewerber'))
|
||||
@@ -403,6 +448,7 @@
|
||||
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
|
||||
<th ts-criteria="rt_gesamtpunkte|parseFloat" ts-default="ascending">RT Gesamt</th>
|
||||
<th ts-criteria="interviewbogen">Interviewbogen</th>
|
||||
<th ts-criteria="anmerkung">Anmerkung/Prio</th>
|
||||
<th ts-criteria="laststatus">Status</th>
|
||||
<th ng-if="aqr.selectedStudienplatz.apz">{{aqr.choosenStuds}}/{{aqr.selectedStudienplatz.apz}}</th>
|
||||
<th ng-if="!aqr.selectedStudienplatz.apz">{{aqr.choosenStuds}}/Keine APZ</th>
|
||||
@@ -418,6 +464,7 @@
|
||||
<td>{{stud.seqPlace}}</td>
|
||||
<td>{{stud.rt_gesamtpunkte}}</td>
|
||||
<td>{{stud.interviewbogen?'vorhanden':'nicht vorhanden'}}</td>
|
||||
<td>{{stud.anmerkung}}</td>
|
||||
<td>{{stud.laststatus}}</td>
|
||||
<td>
|
||||
<input ng-if="stud.applicant" type="checkbox" ng-model="stud.selected"/>
|
||||
@@ -429,8 +476,36 @@
|
||||
|
||||
<input style="float:right;" type="button" value="Annehmen" ng-click="aqr.submit()"/>
|
||||
<input style="float:right;" type="button" value="Download" ng-click="aqr.download()"/>
|
||||
<h3>ZGV Informationen</h3>
|
||||
<table ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th ts-criteria="name" ts-default="ascending">Name</th>
|
||||
<th ts-criteria="percent">Prozent</th>
|
||||
<th ts-criteria="neededSum">Insgesamt benötigt</th>
|
||||
<th ts-criteria="accepted">Bereits aufgenommen</th>
|
||||
<th ts-criteria="needed">Noch benötigte Personen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="zgv in aqr.zgvElems" ts-repeat ts-hide-no-data>
|
||||
<td>{{zgv.name}}</td>
|
||||
<td>{{zgv.percent | number: 2}}%</td>
|
||||
<td>{{zgv.neededSum | parseInt}}</td>
|
||||
<td>{{zgv.accepted}}</td>
|
||||
<td>{{zgv.needed | parseInt}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Gesamt</th>
|
||||
<th></th>
|
||||
<th>{{aqr.selectedStudienplatz.apz}}</th>
|
||||
<th>{{aqr.getAcceptedCount()}}</th>
|
||||
<th>{{aqr.selectedStudienplatz.apz - aqr.getAcceptedCount()}}</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Bereits aufgenommene</h3>
|
||||
<h3>Restliche Studenten</h3>
|
||||
<table ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -441,6 +516,7 @@
|
||||
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
|
||||
<th ts-criteria="rt_gesamtpunkte|parseFloat">RT Gesamt</th>
|
||||
<th ts-criteria="interviewbogen">Interviewbogen</th>
|
||||
<th ts-criteria="anmerkung">Anmerkung/Prio</th>
|
||||
<th ts-criteria="laststatus">Status</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@@ -455,6 +531,7 @@
|
||||
<td>{{stud.seqPlace}}</td>
|
||||
<td>{{stud.rt_gesamtpunkte}}</td>
|
||||
<td>{{stud.interviewbogen?'vorhanden':'nicht vorhanden'}}</td>
|
||||
<td>{{stud.anmerkung}}</td>
|
||||
<td>{{stud.laststatus}}</td>
|
||||
<td>
|
||||
<input ng-if="stud.applicant" type="checkbox" ng-model="stud.selected"/>
|
||||
|
||||
Reference in New Issue
Block a user