mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 09:04:28 +00:00
Merge branch 'master' into feature-18473/UrlaubstoolKeinEintragBeiVorhandenerZeitaufzeichnung
This commit is contained in:
@@ -120,21 +120,28 @@ if(!$projektarbeit_obj->load($projektarbeit_id))
|
||||
$titel = $projektarbeit_obj->titel;
|
||||
$student_uid = $projektarbeit_obj->student_uid;
|
||||
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
|
||||
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
// Endupload sollte vor Benotung durchgeführt worden sein
|
||||
$qry_endupload="SELECT 1
|
||||
FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND paabgabetyp_kurzbz='end'
|
||||
AND abgabedatum IS NOT NULL
|
||||
LIMIT 1";
|
||||
$result_endupload=$db->db_query($qry_endupload);
|
||||
$num_rows_endupload = $db->db_num_rows($result_endupload);
|
||||
if($num_rows_endupload < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerErmittelnEnduploadProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
// Zweitbegutachter holen
|
||||
if($betreuerart=="Erstbegutachter")
|
||||
{
|
||||
@@ -457,7 +464,11 @@ while ($result_nam && $row_nam=$db->db_fetch_object($result_nam))
|
||||
$htmlstr .= "<table id='beurteilungheadertable' width=100%>\n";
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>".$p->t('abgabetool/student').": <b>".$db->convert_html_chars($studentenname)."</b></td>";
|
||||
$htmlstr .= "<td width=10% align=center>";
|
||||
if ($num_rows_sem >= 1)
|
||||
|
||||
$semester_benotbar = $num_rows_sem >= 1;
|
||||
$endupload_vorhanden = $num_rows_endupload >= 1;
|
||||
|
||||
if ($semester_benotbar && $endupload_vorhanden)
|
||||
{
|
||||
$htmlstr .= "<form action='../../../index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung' title='Benotungsformular' target='_blank' method='GET'>";
|
||||
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
|
||||
@@ -466,9 +477,10 @@ if ($num_rows_sem >= 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
$quick_info = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenoten') : $p->t('abgabetool/keinEnduploadErfolgt');
|
||||
$htmlstr .= "<form action='javascript:void(0);'>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$p->t('abgabetool/aeltereParbeitBenoten')."'
|
||||
alt='".$p->t('abgabetool/aeltereParbeitBenoten')."' disabled>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$quick_info."'
|
||||
alt='".$quick_info."' disabled>";
|
||||
$htmlstr .= "</form>";
|
||||
}
|
||||
$htmlstr .= "</td>";
|
||||
|
||||
@@ -423,18 +423,9 @@ if($command=="update" && $error!=true)
|
||||
}
|
||||
else
|
||||
{
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
@@ -224,8 +224,9 @@ if ($result = $db->db_query($qry)) {
|
||||
else
|
||||
$zusatz = '';
|
||||
|
||||
if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->bis > $stsemdatumvon || $row->bis == '') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz .= '(o)(ab ' . $datum->formatDatum($row->von, 'd.m.Y') . ')';
|
||||
if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->bis > $stsemdatumvon || $row->bis == '') && $row->von < $stsemdatumbis
|
||||
&& (anzahlTage($row->von, $row->bis) >= 30)) //Outgoing
|
||||
$zusatz .= '(o)(ab '. $datum->formatDatum($row->von, 'd.m.Y'). ')';
|
||||
|
||||
if ($row->note == 6) //angerechnet
|
||||
$zusatz .= '(ar)';
|
||||
|
||||
@@ -38,6 +38,8 @@ require_once('../../../include/phrasen.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
@@ -112,6 +114,12 @@ else
|
||||
$format_highlight->setBorder(1);
|
||||
$format_highlight->setBorderColor('white');
|
||||
|
||||
$format_highlightright=& $workbook->addFormat();
|
||||
$format_highlightright->setFgColor(15);
|
||||
$format_highlightright->setBorder(1);
|
||||
$format_highlightright->setBorderColor('white');
|
||||
$format_highlightright->setAlign('right');
|
||||
|
||||
$format_border_bottom =& $workbook->addFormat();
|
||||
$format_border_bottom ->setBottom(2);
|
||||
$format_border_bottom->setBold();
|
||||
@@ -200,27 +208,32 @@ else
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=tbl_student.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
|
||||
tbl_zeugnisnote.note,tbl_mobilitaet.mobilitaetstyp_kurzbz,
|
||||
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN '1' ELSE '' END) as doubledegree
|
||||
FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
|
||||
AND tbl_zeugnisnote.student_uid=tbl_student.student_uid
|
||||
AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct on(nachname, vorname, person_id)
|
||||
vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=tbl_student.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
|
||||
tbl_zeugnisnote.note,tbl_mobilitaet.mobilitaetstyp_kurzbz,
|
||||
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN '1' ELSE '' END) as doubledegree,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
|
||||
AND tbl_zeugnisnote.student_uid=tbl_student.student_uid
|
||||
AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
|
||||
LEFT JOIN lehre.tbl_note USING(note)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);";";
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);";";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
@@ -243,18 +256,22 @@ else
|
||||
$inc=' (i)';
|
||||
else
|
||||
$inc='';
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
if($elem->bisio_id != '' && $elem->status != 'Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis == '')
|
||||
&& $elem->von < $stsemdatumbis && (anzahlTage($elem->von, $elem->bis) >= 30))
|
||||
$inc.=' (o)';
|
||||
|
||||
$note = $elem->note;
|
||||
|
||||
if($elem->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen
|
||||
{
|
||||
$inc.=' (ar)';
|
||||
$note='ar';
|
||||
$inc.= '('. $elem->anmerkung. ')';
|
||||
$note = $elem->anmerkung;
|
||||
}
|
||||
|
||||
if ($elem->mobilitaetstyp_kurzbz !='' && $elem->doubledegree == 1) //dd-Program
|
||||
{
|
||||
$inc.=' (d.d.)';
|
||||
$inc .=' (d.d.)';
|
||||
}
|
||||
|
||||
$worksheet->write($lines,1,$elem->uid);
|
||||
@@ -262,7 +279,7 @@ else
|
||||
$worksheet->write($lines,3,$elem->vorname);
|
||||
$worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
|
||||
$worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight);
|
||||
$worksheet->write($lines,6,$note,$format_highlight);
|
||||
$worksheet->write($lines,6, $note, $format_highlightright);
|
||||
$i++;
|
||||
$lines++;
|
||||
}
|
||||
|
||||
@@ -266,14 +266,14 @@ function showHideBezeichnungDropDown()
|
||||
if (dd.options[dd.selectedIndex].value == 'DienstV')
|
||||
{
|
||||
var str = '<select name="bezeichnung" class="dd_breit">';
|
||||
str += '<option value="Eheschließung">a) Eigene Eheschließung</option>';
|
||||
str += '<option value="Geburt eigenes Kind">b) Geburt eines Kindes der Ehefrau/Lebensgefährtin</option>';
|
||||
str += '<option value="Heirat Kind/Geschwister">c) Eheschließung eines Kindes/eigener Geschwister</option>';
|
||||
str += '<option value="Eigene Sponsion/Promotion">d) Teilnahme an eigener Sponsion/Promotion</option>';
|
||||
str += '<option value="Lebensbedr. Erkrankung P/K/E">e) Lebensbedrohliche Erkrankung Partner/Kinder/Eltern</option>';
|
||||
str += '<option value="Ableben P/K/E">f) Ableben Partner/Kinder/Elternteil</option>';
|
||||
str += '<option value="Bestattung G/S/G">g) Teilnahme an Bestattung Geschwister/Schwiegereltern/eigener Großeltern</option>';
|
||||
str += '<option value="Wohnungswechsel">h) Wohnungswechsel in eigenen Haushalt</option>';
|
||||
str += '<option value="Eheschließung">a) Eigene Eheschließung (3 Tage)</option>';
|
||||
str += '<option value="Geburt eigenes Kind">b) Geburt eines Kindes der Ehefrau/Lebensgefährtin (2 Tage)</option>';
|
||||
str += '<option value="Heirat Kind/Geschwister">c) Eheschließung eines Kindes/eigener Geschwister (1 Tag)</option>';
|
||||
str += '<option value="Eigene Sponsion/Promotion">d) Teilnahme an eigener Sponsion/Promotion (1 Tag)</option>';
|
||||
str += '<option value="Lebensbedr. Erkrankung P/K/E">e) Lebensbedrohliche Erkrankung Partner/Kinder/Eltern (3 Tage)</option>';
|
||||
str += '<option value="Ableben P/K/E">f) Ableben Partner/Kinder/Elternteil (3 Tage)</option>';
|
||||
str += '<option value="Bestattung G/S/G">g) Teilnahme an Bestattung Geschwister/Schwiegereltern/eigener Großeltern (1 Tag)</option>';
|
||||
str += '<option value="Wohnungswechsel">h) Wohnungswechsel in eigenen Haushalt (2 Tage)</option>';
|
||||
str += '<option value="Bundesheer">i) Einberufung Bundesheer</option>';
|
||||
str += '</select>';
|
||||
|
||||
@@ -690,7 +690,7 @@ if(count($zeit->result)>0)
|
||||
<td>".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."</td>
|
||||
<td>".(isset($erreichbarkeit_arr[$row->erreichbarkeit])?$erreichbarkeit_arr[$row->erreichbarkeit]:'')."</td>
|
||||
<td align='center'>".($row->freigabeamum!=''?'Ja':'')."</td>";
|
||||
if ($row->zeitsperretyp_kurzbz == 'DienstV')
|
||||
if ($row->zeitsperretyp_kurzbz == 'DienstV' || $row->zeitsperretyp_kurzbz == 'ZVerfueg')
|
||||
$content_table .= '<td> </td>';
|
||||
else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
@@ -702,7 +702,7 @@ if(count($zeit->result)>0)
|
||||
{
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
elseif($row->zeitsperretyp_kurzbz!='Urlaub')
|
||||
elseif($row->zeitsperretyp_kurzbz!='Urlaub' && $row->zeitsperretyp_kurzbz != 'ZVerfueg')
|
||||
{
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
@@ -762,6 +762,11 @@ if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row=$db->db_fetch_object($result))
|
||||
{
|
||||
if ($row->zeitsperretyp_kurzbz === 'ZVerfueg')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->beschreibung</OPTION>";
|
||||
else
|
||||
|
||||
+637
-186
@@ -18,6 +18,7 @@
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
* Cristina Hainberger <[email protected]>
|
||||
*/
|
||||
/**
|
||||
* @brief bietet die Moeglichkeit zur Anzeige und
|
||||
@@ -29,10 +30,15 @@ require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/zeitwunsch.class.php');
|
||||
require_once('../../../include/zeitwunsch_gueltigkeit.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung_gd.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/lehrstunde.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/sprache.class.php');
|
||||
|
||||
@@ -49,63 +55,27 @@ $uid = get_uid();
|
||||
if(!check_lektor($uid))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
|
||||
$PHP_SELF = $_SERVER['PHP_SELF'];
|
||||
|
||||
if(isset($_GET['type']))
|
||||
$type=$_GET['type'];
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
// Nächstes Studiensemester
|
||||
$next_ss = new Studiensemester();
|
||||
$next_ss->getNextStudiensemester();
|
||||
|
||||
// Aktuelles Studiensemester
|
||||
$akt_ss = new Studiensemester();
|
||||
$akt_ss->load($akt_ss->getAkt());
|
||||
|
||||
// Dropdown: Aktuelles/naechstes Studiensemester zum Bearbeiten
|
||||
$selected_ss = (isset($_GET['stsem']) && is_string($_GET['stsem'])) ? $_GET['stsem'] : $next_ss->studiensemester_kurzbz; // Default: Nächstes Studiensemester
|
||||
|
||||
// Dropdown: Vergangene Studiensemester zum Kopieren
|
||||
$selected_past_ss = (isset($_GET['pastStsem']) && is_string($_GET['pastStsem'])) ? $_GET['pastStsem'] : null; // Default: null
|
||||
|
||||
//Stundentabelleholen
|
||||
if(! $result_stunde=$db->db_query('SELECT * FROM lehre.tbl_stunde ORDER BY stunde'))
|
||||
die($db->db_last_error());
|
||||
$num_rows_stunde=$db->db_num_rows($result_stunde);
|
||||
|
||||
// Zeitwuensche speichern
|
||||
if (isset($type) && $type=='save')
|
||||
{
|
||||
$zw = new zeitwunsch();
|
||||
|
||||
for ($t=1;$t<7;$t++)
|
||||
{
|
||||
for ($i=0;$i<$num_rows_stunde;$i++)
|
||||
{
|
||||
$var='wunsch'.$t.'_'.$i;
|
||||
if(!isset($_POST[$var]))
|
||||
continue;
|
||||
$gewicht=$_POST[$var];
|
||||
$stunde=$i+1;
|
||||
|
||||
$zw->mitarbeiter_uid = $uid;
|
||||
$zw->stunde = $stunde;
|
||||
$zw->tag = $t;
|
||||
$zw->gewicht = $gewicht;
|
||||
$zw->updateamum = date('Y-m-d H:i:s');
|
||||
$zw->updatevon = $uid;
|
||||
|
||||
if (!$zw->exists($uid, $stunde, $t))
|
||||
{
|
||||
$zw->new = true;
|
||||
$zw->insertamum = date('Y-m-d H:i:s');
|
||||
$zw->insertvon = $uid;
|
||||
}
|
||||
else
|
||||
$zw->new = false;
|
||||
|
||||
if(!$zw->save())
|
||||
echo $zw->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$zw = new zeitwunsch();
|
||||
if(!$zw->loadPerson($uid))
|
||||
die($zw->errormsg);
|
||||
|
||||
$wunsch = $zw->zeitwunsch;
|
||||
|
||||
|
||||
// Personendaten
|
||||
$person = new benutzer();
|
||||
if(!$person->load($uid))
|
||||
@@ -114,11 +84,10 @@ if(!$person->load($uid))
|
||||
$ma = new mitarbeiter($uid);
|
||||
$fixangestellt = $ma->fixangestellt;
|
||||
|
||||
// Nächstes Studiensemester
|
||||
$ss = new Studiensemester();
|
||||
$ss->getNextStudiensemester();
|
||||
$next_ss = $ss->studiensemester_kurzbz;
|
||||
$current_ss = $ss->getakt();
|
||||
// Check, ob Bearbeitung des ZW gesperrt ist.
|
||||
// Gesperrt, wenn Lektor bereits zugewiesene LVs hat.
|
||||
// Sperre in jeden Fall aufgehoben, wenn ein ZW kopiert wird. (denn ist eine eventuelle Sperre bereits manuell aufgehoben worden)
|
||||
$isGesperrt = checkIsVerplant($uid, $selected_ss) && is_null($selected_past_ss); // boolean
|
||||
|
||||
// Erklärung zu Pausen bei geteilten Arbeitszeiten speichern
|
||||
if (isset($_GET['selbstverwaltete-pause-akt']) && !empty($_GET['submit-akt']))
|
||||
@@ -127,10 +96,10 @@ if (isset($_GET['selbstverwaltete-pause-akt']) && !empty($_GET['submit-akt']))
|
||||
|
||||
$zeitaufzeichnung_gd = new Zeitaufzeichnung_gd();
|
||||
$zeitaufzeichnung_gd->uid = $uid;
|
||||
$zeitaufzeichnung_gd->studiensemester_kurzbz = $current_ss;
|
||||
$zeitaufzeichnung_gd->studiensemester_kurzbz = $akt_ss->studiensemester_kurzbz;
|
||||
$zeitaufzeichnung_gd->selbstverwaltete_pause = $selbstverwaltete_pause;
|
||||
$za_gd = new Zeitaufzeichnung_gd();
|
||||
$za_gd->load($uid, $current_ss);
|
||||
$za_gd->load($uid, $akt_ss->studiensemester_kurzbz);
|
||||
if ($za_gd->uid)
|
||||
{
|
||||
echo 'Bereits eingetragen';
|
||||
@@ -147,10 +116,10 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit']))
|
||||
|
||||
$zeitaufzeichnung_gd = new Zeitaufzeichnung_gd();
|
||||
$zeitaufzeichnung_gd->uid = $uid;
|
||||
$zeitaufzeichnung_gd->studiensemester_kurzbz = $next_ss;
|
||||
$zeitaufzeichnung_gd->studiensemester_kurzbz = $next_ss->studiensemester_kurzbz;
|
||||
$zeitaufzeichnung_gd->selbstverwaltete_pause = $selbstverwaltete_pause;
|
||||
$za_gd = new Zeitaufzeichnung_gd();
|
||||
$za_gd->load($uid, $next_ss);
|
||||
$za_gd->load($uid, $next_ss->studiensemester_kurzbz);
|
||||
if ($za_gd->uid)
|
||||
{
|
||||
echo 'Bereits eingetragen';
|
||||
@@ -162,14 +131,302 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit']))
|
||||
|
||||
}
|
||||
|
||||
// Zeitwuensche speichern
|
||||
if (isset($_GET['type']) && $_GET['type'] == 'save')
|
||||
{
|
||||
// Letzte Zeitwunschgueltigkeit (ZWG) holen
|
||||
$zwg = new Zeitwunsch_gueltigkeit();
|
||||
$zwg->getByUID($uid, 1);
|
||||
$lastZwg = !empty($zwg->result) ? $zwg->result[0] : null;
|
||||
|
||||
// Check, ob letzte ZWG im nächsten Studiensemester startet. D.h. es existiert ein neuer Zeitwunsch in der Zukunft
|
||||
$lastZwgStartsNextSemester = (!is_null($lastZwg) && $lastZwg->von >= $next_ss->start) ? true : false;
|
||||
$zw_zwg_id = null; // ZWG ID, die zum Speichern / Updaten des Zeitwunsches uebergeben wird
|
||||
|
||||
// Wenn allererster Zeitwunsch, also noch keine ZWG vorhanden
|
||||
if (is_null($lastZwg))
|
||||
{
|
||||
// Wenn ZW fuer naechstes Studiensemester ist
|
||||
if ($selected_ss == $next_ss->studiensemester_kurzbz)
|
||||
{
|
||||
// Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen
|
||||
$zw_zwg_id = insertZWG($uid, $next_ss->start, null);
|
||||
}
|
||||
|
||||
// Wenn Zeitwunsch fuer aktuelles Studiensemester ist
|
||||
if ($selected_ss == $akt_ss->studiensemester_kurzbz)
|
||||
{
|
||||
// Neue ZWG setzen: von = now(), bis offen lassen
|
||||
$zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), null);
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn mindestens eine ZWG vorhanden
|
||||
if (!is_null($lastZwg))
|
||||
{
|
||||
// Wenn Zeitwunsch fuer naechstes Studiensemester ist
|
||||
if ($selected_ss == $next_ss->studiensemester_kurzbz)
|
||||
{
|
||||
// Wenn naechstes Studiensemester schon eine eigene ZWG hat
|
||||
if ($lastZwgStartsNextSemester)
|
||||
{
|
||||
// Nur Zeitwunsch dieser ZWG updaten
|
||||
$zw_zwg_id = $lastZwg->zeitwunsch_gueltigkeit_id;
|
||||
}
|
||||
|
||||
// Wenn naechstes Studiensemester keine eigene ZWG hat
|
||||
if (!$lastZwgStartsNextSemester)
|
||||
{
|
||||
// Fuer bisher letzte ZWG ein Endedatum setzen: bis = Ende aktuelles Studiensemester
|
||||
updateZWG($uid, $lastZwg->zeitwunsch_gueltigkeit_id, $akt_ss->ende);
|
||||
|
||||
// Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen
|
||||
$zw_zwg_id = insertZWG($uid, $next_ss->start, null);
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn Zeitwunsch fuer aktuelles Studiensemester ist
|
||||
if ($selected_ss == $akt_ss->studiensemester_kurzbz)
|
||||
{
|
||||
/**
|
||||
* Check, ob aktuelles Studiensemester eine ZWG hat.
|
||||
* Wenn die allererste ZWG fuer das naechste Studiensemester erstellt wurde, dann hat das
|
||||
* aktuelle Studiensemester noch keine ZWG.
|
||||
* */
|
||||
$zwg = new Zeitwunsch_gueltigkeit();
|
||||
$zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz);
|
||||
$akt_ss_zwg = !empty($zwg->result) ? $zwg->result[0] : null;
|
||||
|
||||
// Keine ZWG fuer aktuelles Studiensemester vorhanden.
|
||||
// Da eine ZWG ID aber schon vorhanden: USER HAT ERSTMALIG MIT NAECHSTEM STUDIENSEMESTER EINTRAG BEGONNEN
|
||||
if (is_null($akt_ss_zwg))
|
||||
{
|
||||
// Neue ZWG setzen: von = now(), ende = Ende aktuelles Studiensemester
|
||||
$zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss->ende);
|
||||
}
|
||||
|
||||
// ZWG für aktuelles Studiensemester ist vorhanden --> SPLIT AKTUELLE STUDIENSEMESTER
|
||||
if ((!is_null($akt_ss_zwg)))
|
||||
{
|
||||
// Wenn am selben Tag schon neue ZWG gespeichert wurde, keine neue ZWG anlegen, sondern diese nur updaten
|
||||
// Verhindert mehrfache Eintraege, wenn oefters zwischengespeichert wird.
|
||||
if ((new DateTime($akt_ss_zwg->von))->format('Y-m-d') == (new Datetime())->format('Y-m-d'))
|
||||
{
|
||||
updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, $akt_ss_zwg->bis);
|
||||
|
||||
$zw_zwg_id = $akt_ss_zwg->zeitwunsch_gueltigkeit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Neue ZWG setzen: von = now(), bis = Bis von ZWG des aktuellen Studiensemesters uebernehmen:
|
||||
// -> bis ist entweder Ende aktuelles Studiensemester (wenn ZWG für nächstes Studiensemester vorhanden ist)
|
||||
// -> sonst ist bis null
|
||||
$zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss_zwg->bis);
|
||||
|
||||
// Fuer bisher letzte ZWG das Endedatum auf gestern setzen: bis = gestern
|
||||
// NOTE: MUSS nach dem insert sein
|
||||
updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, (new DateTime('yesterday'))->format('Y-m-d H:i:s'));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Insert Zeitwunsch mit Zeitwunsch ZWG ID
|
||||
if (is_numeric($zw_zwg_id))
|
||||
{
|
||||
$zw = new zeitwunsch();
|
||||
|
||||
for ($t=1;$t<7;$t++)
|
||||
{
|
||||
for ($i=0;$i<$num_rows_stunde;$i++)
|
||||
{
|
||||
$var='wunsch'.$t.'_'.$i;
|
||||
if(!isset($_POST[$var]))
|
||||
continue;
|
||||
$gewicht=$_POST[$var];
|
||||
$stunde=$i+1;
|
||||
|
||||
$zw->mitarbeiter_uid = $uid;
|
||||
$zw->stunde = $stunde;
|
||||
$zw->tag = $t;
|
||||
$zw->gewicht = $gewicht;
|
||||
$zw->updateamum = date('Y-m-d H:i:s');
|
||||
$zw->updatevon = $uid;
|
||||
$zw->zeitwunsch_gueltigkeit_id = $zw_zwg_id;
|
||||
|
||||
if (!$zw->exists($uid, $zw_zwg_id, $stunde, $t))
|
||||
{
|
||||
$zw->new = true;
|
||||
$zw->insertamum = date('Y-m-d H:i:s');
|
||||
$zw->insertvon = $uid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$zw->new = false;
|
||||
}
|
||||
|
||||
if(!$zw->save())
|
||||
echo $zw->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn speichern möglich ist, dann hat der Lektor entweder keine LVs zugeteilt oder hat aktiv die Bearbeitungssperre
|
||||
// deaktiviert. Bearbeitungssperre wird gesetzt, wenn isGesperrt true ist. Deshalb hier mit false überschreiben.
|
||||
$isGesperrt = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeitwunschgueltigkeit fuer Tabelle holen.
|
||||
* Der Zeitwunsch wird anhand der Zeitwunschgueltigkeit (ZWG) des gewaehlten Studiensemesters ermittelt.
|
||||
* Das Studiensemester wird, je nach Vorhandensein, in dieser Reihenfolge herangezogen:
|
||||
* 1. Wenn in Dropdown ausgewaehlt: Vergangenes Studiensemester (zum Kopieren von Zeitwunsch)
|
||||
* 2. Wenn in Dropdown ausgewaehlt: Aktuelles Studiensemester
|
||||
* 3: Default: Nächstes Studiensemesters
|
||||
*/
|
||||
$zwg = new zeitwunsch_gueltigkeit();
|
||||
$tmp_ss = is_null($selected_past_ss) ? $selected_ss : $selected_past_ss;
|
||||
$zwg->getByStudiensemester($uid, $tmp_ss);
|
||||
$zwg_id = !empty($zwg->result[0]) ? $zwg->result[0]->zeitwunsch_gueltigkeit_id : null; //null, wenn noch kein ZW
|
||||
|
||||
/**
|
||||
* Zeitwunsch fuer Tabelle holen
|
||||
* Wenn noch kein Zeitwunsch vorhanden, bleibt die Zeitwunsch Instanz leer
|
||||
* */
|
||||
$zw = new zeitwunsch();
|
||||
if (!$zw->loadByZWG($uid, $zwg_id))
|
||||
{
|
||||
die($zw->errormsg);
|
||||
}
|
||||
$wunsch = $zw->zeitwunsch;
|
||||
|
||||
/**
|
||||
* Init ZWG Objekt zum Erstellen einer neuen ZWG
|
||||
*/
|
||||
function insertZWG($uid, $von, $bis)
|
||||
{
|
||||
$zwg = new Zeitwunsch_gueltigkeit();
|
||||
$zwg->new = true;
|
||||
$zwg->mitarbeiter_uid = $uid;
|
||||
$zwg->von = $von;
|
||||
$zwg->bis = $bis;
|
||||
$zwg->insertvon = $uid;
|
||||
if ($zwg->save())
|
||||
{
|
||||
return $zwg->zeitwunsch_gueltigkeit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
die($zwg->errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Init ZWG Objekt zum Updaten einer bestehenden ZWG
|
||||
*/
|
||||
function updateZWG($uid, $zwg_id, $bis)
|
||||
{
|
||||
$zwg = new Zeitwunsch_gueltigkeit();
|
||||
$zwg->new = false;
|
||||
$zwg->zeitwunsch_gueltigkeit_id = $zwg_id;
|
||||
$zwg->mitarbeiter_uid = $uid;
|
||||
$zwg->bis = $bis;
|
||||
$zwg->updatevon = $uid;
|
||||
|
||||
if (!$zwg->save())
|
||||
{
|
||||
die($zwg->errormsg);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check, ob Lektor bereits zugewiesene LVs hat
|
||||
* @param $uid
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return bool|void
|
||||
*/
|
||||
function checkIsVerplant($uid, $studiensemester_kurzbz)
|
||||
{
|
||||
$lstd = new Lehrstunde();
|
||||
if (!$lstd->getStundenplanData('stundenplandev', null, $studiensemester_kurzbz, null, $uid, null, true))
|
||||
{
|
||||
die($lstd->errormsg);
|
||||
}
|
||||
|
||||
return empty($lstd->result) ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Studiengaenge of STG assigend to LVs, to which lector is alredy assigend in
|
||||
* the given Studiensemester.
|
||||
*
|
||||
* @param $uid
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array|void
|
||||
*/
|
||||
function getStgOfVerplant($uid, $studiensemester_kurzbz)
|
||||
{
|
||||
$stg_arr = array(); // Mail data for Studiengang
|
||||
|
||||
// Get Stundenplan entries of lector of Studiensemester concerned by Zeitwunschgueltigkeit
|
||||
$lstd = new Lehrstunde();
|
||||
if (!$lstd->getStundenplanData(
|
||||
'stundenplandev',
|
||||
null,
|
||||
$studiensemester_kurzbz,
|
||||
null,
|
||||
$uid,
|
||||
null,
|
||||
true)) //...but only from now on
|
||||
{
|
||||
die($lstd->errormsg);
|
||||
}
|
||||
|
||||
// Loop through Stundenplan entries
|
||||
foreach ($lstd->result as $row)
|
||||
{
|
||||
// Get LE of Stundenplan entry
|
||||
$le = new Lehreinheit($row->lehreinheit_id);
|
||||
|
||||
// GET LV by LE of Stundenplan entry
|
||||
$lv = new Lehrveranstaltung($le->lehrveranstaltung_id);
|
||||
|
||||
// Build Studiengang array
|
||||
$stg_arr[] = $lv->studiengang_kz;
|
||||
}
|
||||
|
||||
// Make Studiengang array unique
|
||||
return array_unique($stg_arr);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Studiengang eMail Addresses.
|
||||
* @param $stgKz_arr // Studiengang Kennzeichen Array
|
||||
* @return array
|
||||
*/
|
||||
function getStgMail($stgKz_arr)
|
||||
{
|
||||
$stgMail_arr = array();
|
||||
foreach($stgKz_arr as $stgKz)
|
||||
{
|
||||
$stg = new Studiengang($stgKz);
|
||||
$stgMail_arr[]= $stg->email;
|
||||
}
|
||||
return $stgMail_arr;
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $p->t('zeitwunsch/zeitwunsch');?></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
// Pruefen ob nur die erlaubten Werte verwendet wurden
|
||||
function checkvalues()
|
||||
@@ -194,181 +451,375 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit']))
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
$(function() {
|
||||
// Bearbeitung deaktivieren, wenn Lektor zugewiesene LV im Studiensemester hat
|
||||
const isGesperrt = $('input[name=isGesperrt]').val();
|
||||
if (isGesperrt == 'true')
|
||||
{
|
||||
$('input[name=radioZWG]').attr("disabled", true);
|
||||
$('input[name=submit]').attr("disabled", true);
|
||||
}
|
||||
|
||||
// Bearbeitung aktivieren, wenn Lektor Aktivierungslink klickt
|
||||
$('#bearbeitung-aktivieren').click(function(){
|
||||
$('input[name=radioZWG]').attr("disabled", false);
|
||||
$('input[name=submit]').attr("disabled", false);
|
||||
|
||||
$('#divChangeZWG').removeClass('hidden');
|
||||
$('#divisGesperrt').addClass('hidden');
|
||||
});
|
||||
|
||||
// Bei Wechsel von Studiensemester die Seite mit GET params neu laden
|
||||
$('#stsem').change(function(){
|
||||
let studiensemester = $('option:selected', this).val();
|
||||
|
||||
window.location = '?stsem=' + studiensemester;
|
||||
});
|
||||
|
||||
// Bei Wechsel zwischen Zeitwunsch aendern / kopieren
|
||||
$("input[name='radioZWG']").change(function(){
|
||||
if ($(this).val() == 'copy')
|
||||
{
|
||||
$('#divCopyZWG').removeClass('hidden');
|
||||
$('#divChangeZWG').addClass('hidden');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#divCopyZWG').addClass('hidden');
|
||||
$('#divChangeZWG').removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
// Bei Wahl von vergangenem Studiensemester die Seite mit GET params neu laden
|
||||
$('#pastStsem').change(function(){
|
||||
let stsem = $('#stsem option:selected').val()
|
||||
let pastStsem = $('option:selected', this).val();
|
||||
|
||||
window.location = '?stsem='+ stsem + '&pastStsem=' + pastStsem;
|
||||
});
|
||||
|
||||
// Alle Werte ind Zeitwunschtabelle auf 1 setzen
|
||||
$('#empty-table').click(function(){
|
||||
$('#table-zeitwunsch tr td input').each(function() {
|
||||
$(this)
|
||||
.val(1)
|
||||
.parent().css('background-color', '#CCFFCC');
|
||||
});
|
||||
})
|
||||
|
||||
// Aenderungen in Zeitwunschtabelle zurücknehmen -> Seite neu laden
|
||||
$('#reload-table').click(function(){
|
||||
let studiensemester = $('option:selected', '#stsem').val();
|
||||
window.location = '?stsem=' + studiensemester;
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="flexcroll" style="outline: none;">
|
||||
<table>
|
||||
<table class="table">
|
||||
<?php if($fixangestellt && (defined('CIS_ZEITWUNSCH_GD') && CIS_ZEITWUNSCH_GD)): ?>
|
||||
<!--Erklärung zu Pausen bei geteilten Arbeitszeiten-->
|
||||
<tr>
|
||||
<td>
|
||||
<h1>Zustimmung zur Verplanung in geteilter Arbeitszeit</h1>
|
||||
<h3>Zustimmung zur Verplanung in geteilter Arbeitszeit</h3>
|
||||
|
||||
<form action="">
|
||||
<p>
|
||||
<?php
|
||||
echo $p->t('zeitwunsch/geteilteArbeitszeit');
|
||||
echo '<br><br>';
|
||||
$gd = new zeitaufzeichnung_gd();
|
||||
$gd->load($uid, $current_ss);
|
||||
$gd->load($uid, $akt_ss->studiensemester_kurzbz);
|
||||
if ( ! $gd->uid )
|
||||
{
|
||||
echo '<br><br><h3>Zustimmung für '.$current_ss.': ';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause-akt" value="yes">ja';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause-akt" value="no">nein';
|
||||
echo '</h3><br><br><input type="submit" name="submit-akt" value="'.$p->t('global/speichern').'" style="float: right"><br>';
|
||||
echo '<div class="row">';
|
||||
echo '<div class="col-lg-3 col-md-4 col-xs-4">';
|
||||
echo '<div class="radio">';
|
||||
echo '<b>Zustimmung für '.$akt_ss->studiensemester_kurzbz.': ';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause-akt" value="yes">ja';
|
||||
echo '</label>';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause-akt" value="no">nein';
|
||||
echo '</label>';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="col-lg-2 col-md-3 col-xs-4">';
|
||||
echo '</b><input type="submit" class="btn btn-default btn-block" name="submit-akt" value="'.$p->t('global/speichern').'" style="float: right"><br>';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="col-lg-7 col-md-5 col-xs-4">';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt';
|
||||
echo '<br><br><h3>Zustimmung für '.$current_ss.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'</h3>';
|
||||
echo '<br><br><b>Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'</b>';
|
||||
}
|
||||
$gd = new zeitaufzeichnung_gd();
|
||||
$gd->load($uid, $next_ss);
|
||||
$gd->load($uid, $next_ss->studiensemester_kurzbz);
|
||||
if ( ! $gd->uid )
|
||||
{
|
||||
echo '<h3>Zustimmung für '.$next_ss.': ';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause" value="yes">ja';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause" value="no">nein';
|
||||
echo '</h3><br><br><input type="submit" name="submit" value="'.$p->t('global/speichern').'" style="float: right"><br>';
|
||||
echo '<div class="row">';
|
||||
echo '<div class="col-lg-3 col-md-4 col-xs-4">';
|
||||
echo '<div class="radio">';
|
||||
echo '<b>Zustimmung für '.$next_ss->studiensemester_kurzbz.': ';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause" value="yes">ja';
|
||||
echo '</label>';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<input type="radio" name="selbstverwaltete-pause" value="no">nein';
|
||||
echo '</label>';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="col-lg-2 col-md-3 col-xs-4">';
|
||||
echo '</b><input type="submit" class="btn btn-default btn-block" name="submit" value="'.$p->t('global/speichern').'" style="float: right">';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="col-lg-7 col-md-5 col-xs-4">';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt';
|
||||
echo '<h3>Zustimmung für '.$next_ss.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'</h3>';
|
||||
echo '<br><b>Zustimmung für '.$next_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'</b>';
|
||||
}
|
||||
//var_dump($gd);
|
||||
?>
|
||||
|
||||
</p>
|
||||
</form>
|
||||
<br><hr>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td>
|
||||
<h1><?php echo $p->t('zeitwunsch/zeitwunsch');?></h1>
|
||||
<!--Auskommentiert von Kindl, da sich der Hilfetext nicht vom Anleitungtext auf der Seite unterscheidet
|
||||
<td class="ContentHeader" align="right">
|
||||
<A onclick="window.open('zeitwunsch_help.php','Hilfe', 'height=320,width=480,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');" class="hilfe" target="_blank">
|
||||
<font class="ContentHeader">
|
||||
<?php echo $p->t('zeitwunsch/help')?>
|
||||
</font>
|
||||
</A>
|
||||
</td>-->
|
||||
<?php
|
||||
echo "<h2>".$p->t('zeitwunsch/zeitwunschVon')." $person->titelpre $person->vorname $person->nachname $person->titelpost<br/></h2>";
|
||||
echo $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster')."<br/><br/>";
|
||||
echo '<FORM name="zeitwunsch" method="post" action="zeitwunsch.php?type=save" onsubmit="return checkvalues()">
|
||||
<TABLE>
|
||||
<TR>';
|
||||
|
||||
echo '<th>'.$p->t('global/stunde').'<br>'.$p->t('global/beginn').'<br>'.$p->t('global/ende').'</th>';
|
||||
for ($i=0;$i<$num_rows_stunde; $i++)
|
||||
{
|
||||
$beginn=$db->db_result($result_stunde,$i,'"beginn"');
|
||||
$beginn=substr($beginn,0,5);
|
||||
$ende=$db->db_result($result_stunde,$i,'"ende"');
|
||||
$ende=substr($ende,0,5);
|
||||
$stunde=$db->db_result($result_stunde,$i,'"stunde"');
|
||||
echo "<th><div align=\"center\">$stunde<br>$beginn<br>$ende</div></th>";
|
||||
}
|
||||
// FORM Begin
|
||||
echo '<form name="zeitwunsch" method="post" action="zeitwunsch.php?stsem='. $selected_ss. '&type=save" onsubmit="return checkvalues()">';
|
||||
echo '<input type="hidden" name="uid" value="'. $uid. '">';
|
||||
echo '<input type="hidden" name="isGesperrt" value="'. json_encode($isGesperrt). '">';
|
||||
|
||||
echo '</TR>';
|
||||
// Mein Zeitwunsch-Semesterplan Dropdown, Default = naechstes Studiensemester
|
||||
$next_ss_selected = $next_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : '';
|
||||
$akt_ss_selected = $akt_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : '';
|
||||
|
||||
for ($j=1; $j<7; $j++)
|
||||
{
|
||||
echo '<TR><TD>'.$tagbez[$lang->index][$j].'</TD>';
|
||||
for ($i=0;$i<$num_rows_stunde;$i++)
|
||||
{
|
||||
if (isset($wunsch[$j][$i+1]))
|
||||
$index=$wunsch[$j][$i+1];
|
||||
else
|
||||
$index=1;
|
||||
//$id='bgcolor';
|
||||
//$id.=$index+3;
|
||||
$bgcolor=$cfgStdBgcolor[$index+3];
|
||||
echo '<TD style="padding-left: 5px; padding-right:5px;" align="center" bgcolor="'.$bgcolor.'"><INPUT align="right" type="text" name="wunsch'.$j.'_'.$i.'" size="1" maxlength="2" value="'.$index.'"></TD>';
|
||||
}
|
||||
echo '</TR>';
|
||||
}
|
||||
echo '<h3>'. $p->t('zeitwunsch/gueltigIm');
|
||||
echo '<SELECT name="stsem" id="stsem">';
|
||||
echo '<OPTION value="'.$next_ss->studiensemester_kurzbz.'"'. $next_ss_selected. '>'. $next_ss->studiensemester_kurzbz.'</OPTION>';
|
||||
echo '<OPTION value="'.$akt_ss->studiensemester_kurzbz.'"'. $akt_ss_selected. '>'. $akt_ss->studiensemester_kurzbz.'</OPTION>';
|
||||
echo '</SELECT>';
|
||||
echo '</h3><br>';
|
||||
|
||||
echo '
|
||||
</TABLE><br>
|
||||
<INPUT type="hidden" name="uid" value="'.$uid.'">
|
||||
<INPUT type="submit" name="Abschicken" value="'.$p->t('global/speichern').'">
|
||||
';
|
||||
// Tabelle Zeitwunsch-Semesterplan
|
||||
echo '<table id="table-zeitwunsch" class="table table-default table-condensed table-bordered">';
|
||||
// Tabelle Kopfzeile
|
||||
echo '<tr>';
|
||||
echo '<th>'.$p->t('global/stunde').'<br>'.$p->t('global/beginn').'<br>'.$p->t('global/ende').'</th>';
|
||||
for ($i=0;$i<$num_rows_stunde; $i++)
|
||||
{
|
||||
$beginn=$db->db_result($result_stunde,$i,'"beginn"');
|
||||
$beginn=substr($beginn,0,5);
|
||||
$ende=$db->db_result($result_stunde,$i,'"ende"');
|
||||
$ende=substr($ende,0,5);
|
||||
$stunde=$db->db_result($result_stunde,$i,'"stunde"');
|
||||
echo "<th><div align=\"center\">$stunde<br>$beginn<br>$ende</div></th>";
|
||||
}
|
||||
echo '</tr>';
|
||||
// Tabelle Zellen
|
||||
for ($j=1; $j<7; $j++)
|
||||
{
|
||||
echo '<TR><TD>'.$tagbez[$lang->index][$j].'</TD>';
|
||||
for ($i=0;$i<$num_rows_stunde;$i++)
|
||||
{
|
||||
if (isset($wunsch[$j][$i+1]))
|
||||
$index=$wunsch[$j][$i+1];
|
||||
else
|
||||
$index=1; // Defaultwert, wenn kein Zeitwunsch vorhanden
|
||||
|
||||
if($zw->updateamum!='')
|
||||
{
|
||||
echo '<font size="x-small">'.$p->t('zeitwunsch/letzteAenderung').': '.$datum_obj->formatDatum($zw->updateamum,'d.m.Y H:i:s').' '.$p->t('zeitwunsch/von').' '.$zw->updatevon.'</font>';
|
||||
}
|
||||
?>
|
||||
$bgcolor=$cfgStdBgcolor[$index+3];
|
||||
echo '<TD style="padding-left: 5px; padding-right:5px;" align="center" bgcolor="'.$bgcolor.'"><INPUT align="right" type="text" name="wunsch'.$j.'_'.$i.'" size="1" maxlength="2" value="'.$index.'"></TD>';
|
||||
}
|
||||
echo '</TR>';
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
</FORM>
|
||||
// Zeitwunsch aendern / kopieren
|
||||
echo '<div class="row">';
|
||||
echo '<div class="col-xs-12">';
|
||||
echo '<span>'. $p->t('zeitwunsch/erklaerungstext'). '</span><br>';
|
||||
echo '<hr>';
|
||||
echo '</div>'; // end col-xs-12
|
||||
echo '</div>'; // end row
|
||||
|
||||
<br>
|
||||
echo '<div class="row">';
|
||||
|
||||
<h2><?php echo $p->t('zeitwunsch/erklärung');?>:</h2>
|
||||
echo '<div class="col-xs-9">';
|
||||
// Radiobuttons aendern / kopieren
|
||||
$radioChangeChecked = is_null($selected_past_ss) ? 'checked' : '';
|
||||
$radioCopyChecked = !is_null($selected_past_ss) ? 'checked' : '';
|
||||
|
||||
<?php
|
||||
$href = "<a href='zeitsperre_resturlaub.php' class='Item'>";
|
||||
echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href));
|
||||
?>
|
||||
</a>
|
||||
<P><?php echo $p->t('zeitwunsch/kontrollierenSieIhreZeitwuensche');?>!<BR><BR>
|
||||
</P>
|
||||
<TABLE align=center>
|
||||
<TR>
|
||||
<TH><B><?php echo $p->t('zeitwunsch/wert');?></B></TH>
|
||||
<TH>
|
||||
<DIV align="center"><B><?php echo $p->t('zeitwunsch/bedeutung');?></B></DIV>
|
||||
</TH>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="right">2</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierMoechteIchUnterrichten');?></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="right">1</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierKannIchUnterrichten');?></TD>
|
||||
</TR>
|
||||
<!--<TR>
|
||||
<TD>
|
||||
<DIV align="right">0</DIV>
|
||||
</TD>
|
||||
<TD>keine Bedeutung</TD>
|
||||
</TR>-->
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="right">-1</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/nurInNotfaellen');?></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="right">-2</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierAufGarKeinenFall');?></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<h2><?php echo $p->t('zeitwunsch/folgendePunkteSindZuBeachten');?>:</h2>
|
||||
<OL>
|
||||
<LI><?php echo $p->t('zeitwunsch/verwendenSieDenWertNur');?></LI>
|
||||
<LI><?php echo $p->t('zeitwunsch/sperrenSieNurTermine');?></LI>
|
||||
<LI><?php echo $p->t('zeitwunsch/esSolltenFuerJedeStunde');?></LI>
|
||||
</OL>
|
||||
<P><?php echo $p->t('lvplan/fehlerUndFeedback');?> <A class="Item" href="mailto:<?php echo MAIL_LVPLAN;?>"><?php echo $p->t('lvplan/lvKoordinationsstelle');?></A>.</P>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
echo '<div class="radio">';
|
||||
echo '<span class="text-uppercase"><b>'.$p->t('zeitwunsch/fuer', array($selected_ss)). '</b></span>';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<b><input type="radio" name="radioZWG" id="radioChangeZWG" value="change" '. $radioChangeChecked. '> '. $p->t('zeitwunsch/kopieren'). '</b>';
|
||||
echo '</label>';
|
||||
echo '<label class="radio-inline">';
|
||||
echo '<b><input type="radio" name="radioZWG" id="radioCopyZWG" value="copy" '. $radioCopyChecked. '> '. $p->t('zeitwunsch/aendern'). '</b>';
|
||||
echo '</label>';
|
||||
if ($isGesperrt)
|
||||
{
|
||||
echo '<span class="label label-danger valign-top">'.$p->t('zeitwunsch/stundenBereitsVerplant', array($selected_ss)). '</span>';
|
||||
}
|
||||
echo '</div>';
|
||||
echo '</div>'; // end col-xs-9
|
||||
|
||||
echo '<div class="col-xs-3" class="pull-left">';
|
||||
echo '<span><small><a id="empty-table" style="cursor: pointer">'. $p->t('zeitwunsch/werteAuf1setzen'). '</a></small></span><br>';
|
||||
echo '<span><small><a id="reload-table" style="cursor: pointer">'. $p->t('global/aenderungenZuruecksetzen'). '</a></small></span><br><br>';
|
||||
echo '</div>'; // end col-xs-3
|
||||
|
||||
$divChangeHidden = !is_null($selected_past_ss) || $isGesperrt ? 'hidden' : '';
|
||||
$divCopyHidden = is_null($selected_past_ss) || $isGesperrt ? 'hidden' : '';
|
||||
$divisGesperrtHidden = $isGesperrt ? '' : 'hidden';
|
||||
|
||||
echo '<div id="divChangeZWG" class="'. $divChangeHidden . '">';
|
||||
echo '<div class="col-xs-8 col-lg-7">';
|
||||
echo '<span>' . $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster') .'</span>';
|
||||
echo '</div>'; // end col
|
||||
echo '<div class="col-xs-1 col-lg-2">';
|
||||
// BLANK
|
||||
echo '</div>'; // end col
|
||||
echo '</div>'; // end divChangeZWG
|
||||
|
||||
echo '<div id="divCopyZWG" class="'. $divCopyHidden . '">';
|
||||
echo '<div class="col-xs-7">';
|
||||
echo '<span>' . $p->t('zeitwunsch/kopierenText') .'</span>';
|
||||
echo '</div>'; // end col
|
||||
|
||||
$studiensemester = new Studiensemester();
|
||||
$tmp_ss = $selected_ss == $akt_ss->studiensemester_kurzbz ? $studiensemester->getPrevious() : $akt_ss->studiensemester_kurzbz;
|
||||
$studiensemester->load($tmp_ss);
|
||||
|
||||
$zwg = new Zeitwunsch_gueltigkeit();
|
||||
$zwg->getByUID($uid, 4, true, $studiensemester->ende);
|
||||
$past_zwg_arr = $zwg->result;
|
||||
echo '<div class="col-xs-2">';
|
||||
echo '<select name="pastStsem" id="pastStsem" class="form form-control">';
|
||||
echo '<OPTION value="">-- '. $p->t("global/bitteWaehlen").' --</OPTION>';
|
||||
foreach($past_zwg_arr as $row)
|
||||
{
|
||||
$selected = $row->studiensemester_kurzbz == $selected_past_ss ? 'selected' : '';
|
||||
echo '<option value="'. $row->studiensemester_kurzbz. '" '. $selected. '>'. $row->studiensemester_kurzbz. '</option>';
|
||||
}
|
||||
echo '</select>';
|
||||
echo '</div>'; // end col
|
||||
echo '</div>'; // end divCopyZWG
|
||||
|
||||
echo '<div id="divisGesperrt" class="'. $divisGesperrtHidden . '">';
|
||||
|
||||
// Mail Adressen der Studiengaenge, wo Lektor ueber eine LV bereits verplant ist
|
||||
$stgKzOfVerplant_arr = getStgOfVerplant($uid, $selected_ss);
|
||||
$stgMail_arr = getStgMail($stgKzOfVerplant_arr);
|
||||
|
||||
echo '<div class="col-xs-9">';
|
||||
echo '<div class="panel panel-danger">';
|
||||
echo '<div class="panel-body">';
|
||||
echo '<span class="text-danger"><b>'. $p->t("zeitwunsch/bearbeitungDeaktiviert"). ': </b></span>';
|
||||
echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, implode($stgMail_arr, '; '))). '
|
||||
<a id="bearbeitung-aktivieren" style="cursor:pointer;">'. $p->t("zeitwunsch/bearbeitungAktivieren"). '</a><br>
|
||||
<span><b>'. $p->t("zeitwunsch/kompetenzfeldWirdInformiert") . '</b></span>
|
||||
</span>';
|
||||
echo '</div>'; // end panel heading
|
||||
echo '</div>'; // end panel
|
||||
echo '</div>'; // end col
|
||||
echo '</div>'; // end divisGesperrt
|
||||
|
||||
// Speichern - Button
|
||||
echo '<div class="col-xs-3">';
|
||||
echo '<input class="btn btn-default" style="width: 200px;" type="submit" name="submit" value="'.$p->t('global/speichern').'">';
|
||||
echo '</div>';
|
||||
|
||||
echo '</div>'; // end row
|
||||
echo '<hr>';
|
||||
?>
|
||||
</form>
|
||||
|
||||
<!-- Zeitwunsch Erklaerung -->
|
||||
<div class="row">
|
||||
<div class="col-xs-9">
|
||||
<span><b><?php echo $p->t('zeitwunsch/folgendePunkteSindZuBeachten');?>:</b></span>
|
||||
<UL class="unordered-list">
|
||||
<LI><?php echo $p->t('zeitwunsch/verwendenSieDenWertNur');?></LI>
|
||||
<LI><?php echo $p->t('zeitwunsch/sperrenSieNurTermine');?></LI>
|
||||
<LI><?php echo $p->t('zeitwunsch/esSolltenFuerJedeStunde');?></LI>
|
||||
</UL><br>
|
||||
</div>
|
||||
<div class="col-xs-3">
|
||||
<br>
|
||||
<TABLE class="table table-condensed table-default table-bordered" align=center>
|
||||
<TR>
|
||||
<TH><B><?php echo $p->t('zeitwunsch/wert');?></B></TH>
|
||||
<TH>
|
||||
<DIV align="center"><B><?php echo $p->t('zeitwunsch/bedeutung');?></B></DIV>
|
||||
</TH>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD style="background-color: <?php echo $cfgStdBgcolor[5]; ?>">
|
||||
<DIV align="right">2</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierMoechteIchUnterrichten');?></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD style="background-color: <?php echo $cfgStdBgcolor[6]; ?>">
|
||||
<DIV align="right">1</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierKannIchUnterrichten');?></TD>
|
||||
</TR>
|
||||
<!--<TR>
|
||||
<TD>
|
||||
<DIV align="right">0</DIV>
|
||||
</TD>
|
||||
<TD>keine Bedeutung</TD>
|
||||
</TR>-->
|
||||
<TR>
|
||||
<TD style="background-color: <?php echo $cfgStdBgcolor[2]; ?>">
|
||||
<DIV align="right">-1</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/nurInNotfaellen');?></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD style="background-color: <?php echo $cfgStdBgcolor[1]; ?>">
|
||||
<DIV align="right">-2</DIV>
|
||||
</TD>
|
||||
<TD> <?php echo $p->t('zeitwunsch/hierAufGarKeinenFall');?></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Zeitsperre -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<h4><?php echo $p->t('zeitsperre/zeitsperren');?>:</h4>
|
||||
<?php
|
||||
$href = "<a href='zeitsperre_resturlaub.php' class='Item'>";
|
||||
echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href));
|
||||
?></a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user