Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred
2021-09-29 18:36:23 +02:00
22 changed files with 1058 additions and 285 deletions
@@ -85,7 +85,7 @@ class approveAnrechnungDetail extends Auth_Controller
// Get Anrechung data
$anrechnungData = $this->anrechnunglib->getAnrechnungData($anrechnung_id);
// Get Antrag data
$antragData = $this->anrechnunglib->getAntragData(
$anrechnungData->prestudent_id,
@@ -98,7 +98,7 @@ class approveAnrechnungDetail extends Auth_Controller
// Get Genehmigung data
$genehmigungData = $this->anrechnunglib->getGenehmigungData($anrechnung_id);
$viewData = array(
'antragData' => $antragData,
'anrechnungData' => $anrechnungData,
@@ -121,13 +121,13 @@ class approveAnrechnungDetail extends Auth_Controller
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
// Get STGLs person data
if (!$person = getData($this->PersonModel->getByUID($this->_uid))[0])
{
show_error('Failed retrieving person data');
}
// Approve Anrechnung
foreach ($data as $item)
{
@@ -166,13 +166,13 @@ class approveAnrechnungDetail extends Auth_Controller
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
// Get STGLs person data
if (!$person = getData($this->PersonModel->getByUID($this->_uid))[0])
{
show_error('Failed retrieving person data');
}
// Reject Anrechnung
foreach ($data as $item)
{
@@ -210,10 +210,10 @@ class approveAnrechnungDetail extends Auth_Controller
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
$retval = array();
$counter = 0;
foreach ($data as $item)
{
// Check if Anrechnungs-LV has lector
@@ -221,18 +221,18 @@ class approveAnrechnungDetail extends Auth_Controller
{
// Count up LV with no lector
$counter++;
// Break, if LV has no lector
break;
}
// Get full name of LV Leitung.
// If LV Leitung is not present, get full name of LV lectors.
$lector_arr = $this->anrechnunglib->getLectors($item['anrechnung_id']);
$empfehlungsanfrage_an = !isEmptyArray($lector_arr)
? implode(', ', array_column($lector_arr, 'fullname'))
: '';
// Request Recommendation
if($this->anrechnunglib->requestRecommendation($item['anrechnung_id']))
{
@@ -246,7 +246,7 @@ class approveAnrechnungDetail extends Auth_Controller
);
}
}
/**
* Send mails to lectors
* NOTE: mails are sent at the end to ensure sending only ONE mail to each LV-Leitung or lector
@@ -255,11 +255,11 @@ class approveAnrechnungDetail extends Auth_Controller
if (!isEmptyArray($retval))
{
self::_sendSanchoMailToLectors($retval);
// Output json to ajax
return $this->outputJsonSuccess($retval);
}
// Output json to ajax
if (isEmptyArray($retval) && $counter > 0)
{
@@ -267,22 +267,22 @@ class approveAnrechnungDetail extends Auth_Controller
"Empfehlung wurde nicht angefordert,\nDer LV sind keine LektorInnen zugeteilt."
);
}
return $this->outputJsonError($this->p->t('ui', 'errorNichtAusgefuehrt'));
}
/**
* Withdraw approved / rejected Anrechnung and reset to 'inProgressDP'.
*/
public function withdraw()
{
$anrechnung_id = $this->input->post('anrechnung_id');
if (!is_numeric($anrechnung_id))
{
$this->terminateWithJsonError($this->p->t('ui', 'errorFelderFehlen'));
}
// Delete last status approved / rejected.
// If last status is 'approved', Genehmigung is resetted.
$result = $this->AnrechnungModel->withdrawApprovement($anrechnung_id);
@@ -291,13 +291,13 @@ class approveAnrechnungDetail extends Auth_Controller
{
$this->terminateWithJsonError(getError($result));
}
// Success output to AJAX
$this->outputJsonSuccess(array(
'status_bezeichnung' => $this->anrechnunglib->getLastAnrechnungstatus($anrechnung_id))
);
}
/**
* Withdraw request for reommendation and reset to 'inProgressDP'.
* This is only possible if the lector has not provided a recommendation yet.
@@ -305,69 +305,69 @@ class approveAnrechnungDetail extends Auth_Controller
public function withdrawRequestRecommendation()
{
$anrechnung_id = $this->input->post('anrechnung_id');
if (!is_numeric($anrechnung_id))
{
show_error('Wrong parameter.');
}
// Get boolean empfehlung of given Anrechnung
if (!$result = getData($this->AnrechnungModel->load($anrechnung_id))[0])
{
show_error('Failed loading Anrechnung');
}
$empfehlung = $result->empfehlung_anrechnung;
// Get last Anrechnungstatus
if (!$result = getData($this->AnrechnungModel->getLastAnrechnungstatus($anrechnung_id))[0])
{
show_error('Failed loading last Anrechnungstatus');
}
$last_status = $result->status_kurzbz;
$anrechnungstatus_id = $result->anrechnungstatus_id;
// Return if Anrechnung was not waiting for recommendation or if Anrechnung has already been recommended
if ($last_status != self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR && !is_null($empfehlung))
if ($last_status != self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR || !is_null($empfehlung))
{
return $this->outputJsonError('No recommendation to withdraw.');
}
// Reset status to 'inProgressDP'
$result = $this->AnrechnungModel->deleteAnrechnungstatus($anrechnungstatus_id);
if (isError($result))
{
return $this->outputJsonError('Could not withdraw this application.');
}
// Success output to AJAX
return $this->outputJsonSuccess(array(
'status_bezeichnung' => $this->anrechnunglib->getLastAnrechnungstatus($anrechnung_id))
);
}
public function saveEmpfehlungsNotiz()
{
$anrechnung_id = $this->input->post('anrechnung_id');
$notiz_id = $this->input->post('notiz_id');
$empfehlungstext = $this->input->post('empfehlung_text');
// Validate data
if (isEmptyString($anrechnung_id))
{
$this->terminateWithJsonError($this->p->t('ui', 'systemFehler'));
}
// Save Empfehlungstext
$result = self::_saveEmpfehlungsNotiz($anrechnung_id, $empfehlungstext, $notiz_id);
if (isError($result))
{
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
}
// Output success message
$this->outputJsonSuccess($this->p->t('ui', 'gespeichert'));
}
@@ -386,10 +386,10 @@ class approveAnrechnungDetail extends Auth_Controller
// Check if user is entitled to read dms doc
self::_checkIfEntitledToReadDMSDoc($dms_id);
// Set filename to be used on downlaod
$filename = $this->anrechnunglib->setFilenameOnDownload($dms_id);
// Download file
$this->dmslib->download($dms_id, $filename);
}
@@ -475,7 +475,7 @@ class approveAnrechnungDetail extends Auth_Controller
show_error('You are not entitled to read this document');
}
/**
* Send mail to lectors asking for recommendation. (first to LV-Leitung, if not present to all lectors of lv)
* @param $mail_params
@@ -503,8 +503,8 @@ class approveAnrechnungDetail extends Auth_Controller
* Anyway this function will receive a unique array to avoid sending more mails to one and the same lector.
* **/
$lector_arr = $this->_getLectors($anrechnung_arr);
// Send mail to lectors
foreach ($lector_arr as $lector)
@@ -594,11 +594,11 @@ class approveAnrechnungDetail extends Auth_Controller
return $lector_arr;
}
private function _saveEmpfehlungsNotiz($anrechnung_id, $empfehlungstext, $notiz_id)
{
$this->load->model('person/Notiz_model', 'NotizModel');
if (!isEmptyString($notiz_id))
{
return $this->NotizModel->update(
@@ -610,15 +610,15 @@ class approveAnrechnungDetail extends Auth_Controller
)
);
}
return $this->NotizModel->addNotizForAnrechnung(
$anrechnung_id,
self::ANRECHNUNG_NOTIZTITEL_EMPFEHLUNGSNOTIZ_BY_STGL,
trim($empfehlungstext),
$this->_uid
);
}
}
@@ -124,20 +124,20 @@ class InfoCenter extends Auth_Controller
'saveAbsage' => 'infocenter:rw',
'saveFreigabe' => 'infocenter:rw',
'getNotiz' => 'infocenter:r',
'saveNotiz' => 'infocenter:rw',
'saveNotiz' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
'updateNotiz' => 'infocenter:rw',
'reloadZgvPruefungen' => 'infocenter:r',
'reloadMessages' => 'infocenter:r',
'reloadDoks' => 'infocenter:r',
'reloadNotizen' => 'infocenter:r',
'reloadNotizen' => array('infocenter:r', 'lehre/zgvpruefung:r'),
'reloadLogs' => 'infocenter:r',
'outputAkteContent' => 'infocenter:r',
'getPostponeDate' => 'infocenter:r',
'outputAkteContent' => array('infocenter:r', 'lehre/zgvpruefung:r'),
'getPostponeDate' => array('infocenter:r', 'lehre/zgvpruefung:r'),
'park' => 'infocenter:rw',
'unpark' => 'infocenter:rw',
'setOnHold' => 'infocenter:rw',
'removeOnHold' => 'infocenter:rw',
'getStudienjahrEnd' => 'infocenter:r',
'removeOnHold' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
'getStudienjahrEnd' => array('infocenter:r', 'lehre/zgvpruefung:r'),
'setNavigationMenuArrayJson' => 'infocenter:r',
'getAbsageData' => 'infocenter:r',
'saveAbsageForAll' => 'infocenter:rw'
@@ -169,18 +169,34 @@ class Lehrveranstaltung_model extends DB_Model
*/
public function getLecturersByLv($studiensemester_kurzbz, $lehrveranstaltung_id)
{
$query = "SELECT * FROM (SELECT distinct on(uid) vorname, nachname, tbl_benutzer.uid as uid,
CASE WHEN lehrfunktion_kurzbz='LV-Leitung' THEN true ELSE false END as lvleiter
FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person
WHERE
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
tbl_person.person_id=tbl_benutzer.person_id AND
lehrveranstaltung_id=? AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
studiensemester_kurzbz=?) AS a
ORDER BY lvleiter DESC, nachname, vorname";
$query = "SELECT
*
FROM
(SELECT distinct on(uid) vorname, nachname, tbl_benutzer.uid as uid,
CASE WHEN
EXISTS(
SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter lvllem
JOIN lehre.tbl_lehreinheit lvlle USING(lehreinheit_id)
WHERE
lehrfunktion_kurzbz='LV-Leitung'
AND lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz
AND mitarbeiter_uid=tbl_benutzer.uid
) THEN true ELSE false END as lvleiter
FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person
WHERE
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
tbl_person.person_id=tbl_benutzer.person_id AND
lehrveranstaltung_id=? AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND
tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND
studiensemester_kurzbz=?
) AS a
ORDER BY lvleiter DESC, nachname, vorname";
return $this->execQuery($query, array($lehrveranstaltung_id, $studiensemester_kurzbz));
}
@@ -273,7 +289,7 @@ class Lehrveranstaltung_model extends DB_Model
return $this->execQuery($query, $parametersarray);
}
/**
* Gets Lehrveranstaltung and its Lehreinheiten (multiple rows possible).
* Returns empty array if student has no Lehrveranstaltung.
@@ -290,7 +306,7 @@ class Lehrveranstaltung_model extends DB_Model
AND studiensemester_kurzbz = ?
AND lehrveranstaltung_id = ?;
';
return $this->execQuery($query, array($uid, $studiensemester_kurzbz, $lehrveranstaltung_id));
}
}
+238 -48
View File
@@ -22,6 +22,7 @@
* Manfred Kindl <kindlm@technikum.wien.at>
* Gerald Raab <raab@technikum-wien.at>
* Alexei Karpenko <karpenko@technikum-wien.at>
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
@@ -44,6 +45,7 @@ require_once('../../../include/bisverwendung.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache_obj = new sprache();
@@ -88,7 +90,7 @@ $fieldheadings = array(
'oe1' => $p->t("zeitaufzeichnung/oe"), 'oe2' => $p->t("zeitaufzeichnung/oe").'2', 'aktivitaet' => $p->t("zeitaufzeichnung/aktivitaet"),
'service' => $p->t("zeitaufzeichnung/service"), 'start' => $p->t("zeitaufzeichnung/start"), 'ende' => $p->t("zeitaufzeichnung/ende"),
'dauer' => $p->t("zeitaufzeichnung/dauer"), 'kunde' => $p->t("zeitaufzeichnung/kunde"), 'beschreibung' => $p->t("global/beschreibung"), 'aktion' => $p->t("global/aktion"),
'datum' => $p->t("global/datum")
'datum' => $p->t("global/datum"),'homeoffice' => $p->t("zeitaufzeichnung/homeoffice")
);
if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung'))
@@ -131,10 +133,13 @@ $bis_datum = (isset($_REQUEST['bis_datum'])?$_REQUEST['bis_datum']:date('d.m.Y')
$bis_uhrzeit = (isset($_POST['bis_uhrzeit'])?$_POST['bis_uhrzeit']:date('H:i',mktime(date('H'), date('i')+10)));
$bis = $bis_datum.' '.$bis_uhrzeit;
$homeoffice = (isset($_POST['homeoffice'])?true:false);
$pause_von = (isset($_POST['pause_von'])?$_POST['pause_von']:date('H:i'));
$pause_bis = (isset($_POST['pause_bis'])?$_POST['pause_bis']:date('H:i'));
$von_pause = $von_datum.' '.$pause_von;
$bis_pause = $bis_datum.' '.$pause_bis;
$homeofficeChecked = '';
//$reload = false;
$beschreibung = (isset($_POST['beschreibung'])?$_POST['beschreibung']:'');
$service_id = (isset($_POST['service_id'])?$_POST['service_id']:'');
@@ -221,7 +226,7 @@ echo '
<script type="text/javascript">
$(document).ready(function()
{
resetProjekt()
//resetProjekt()
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
@@ -274,10 +279,38 @@ echo '
$("#projekt").change(
function()
{
getProjektphasen($(this).val());
var uid = $("#uidpass").val();
getProjektphasen($(this).val(),uid);
}
)
useCheckedDate();
$("#von_datum").change(
function()
{
var uid = $("#uidpass").val();
var Datum = $(this).val();
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
Jahr=Datum.substring(6,10);
var day = Jahr + "-" + Monat + "-" + Tag;
checkBisverwendung(day,uid);
}
)
function isVisible()
{
resetPhasen()
}
$("#triggerPhasenReset").bind("isVisible", isVisible);
$("#triggerPhasenReset").show("slow", function()
{
$(this).trigger("isVisible");
});
});
function setbisdatum()
@@ -516,14 +549,20 @@ echo '
}
return true;
}
function resetProjekt()
{
$("#projekt").val("");
$("#projektphaseformgroup").hide();
}
function getProjektphasen(projekt_kurzbz)
function resetPhasen()
{
var uid = $("#uidpass").val();
getProjektphasen($("#projekt").val(),uid);
}
function getProjektphasen(projekt_kurzbz, uid)
{
$.ajax
(
@@ -533,7 +572,9 @@ echo '
dataType: "json",
data:
{
"uid":uid,
"projekt_kurzbz":projekt_kurzbz
},
success: function(json)
{
@@ -572,6 +613,48 @@ echo '
);
}
function appendProjektphasenzeiten(projektphase_id)
{
$.ajax
(
{
type: "GET",
url: "zeitaufzeichnung_projektphasenzeiten.php",
dataType: "json",
data:
{
"projektphase_id":projektphase_id
},
success: function(json)
{
//append Projektphasenzeiten if any
if (json.length > 0)
{
var projphasenhtml = "";
for (var i = 0; i < json.length; i++)
{
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>";
projphasenhtml += json[i].bezeichnung;
if(json[i].start != \'\' && json[i].ende !=\'\')
{
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+" )";
}
projphasenhtml += "<\/option>";
}
$("#projektphase").append(projphasenhtml);
$("#projektphaseformgroup").show();
}
else
{
$("#projektphaseformgroup").hide();
}
}
}
);
}
// Pausenblock
function checkPausenblock()
@@ -651,6 +734,40 @@ echo '
$("#pause_von").val("");
$("#pause_bis").val("");
}
function useCheckedDate(){
var uid = $("#uidpass").val();
var Datum = $("#von_datum").val();
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
Jahr=Datum.substring(6,10);
var checkedDay = Jahr + "-" + Monat + "-" + Tag;
checkBisverwendung(checkedDay, uid);
}
function checkBisverwendung(day, uid)
{
$.ajax({
url: "zeitaufzeichnung_bisverwendung.php",
data: {
day: day,
uid: uid
},
success: function (result)
{
if (result==\'true\')
{
$("#homeofficeBlock").show();
}
else
{
$("#homeofficeBlock").hide();
}
}
});
}
</script>
</head>
<body>
@@ -806,6 +923,39 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
$zeit->projektphase_id = $data[7];
if (isset($data[8]))
$zeit->service_id = $data[8];
if (isset($data[9]))
{
if (strtolower($data[9] == 'true'))
{
// check, ob homeoffice gemäß Bisverwendung
$verwendung = new bisverwendung();
$verwendung->getVerwendungDatum($data[0],$vonCSV);
foreach ($verwendung->result as $v)
// echo "homeoffice für Tag " . $vonCSV . " ". $v->homeoffice . " " . $v->bisverwendung_id . "<br>";
if ($v->homeoffice)
{
// echo "homeoffice erlaubt <br>";
$zeit->homeoffice = true;
}
else
{
echo '<span style="color:orange"><b>'.$p->t("zeitaufzeichnung/homeofficeNichtErlaubt", ($vonCSV)) .'</b></span><br>';
$zeit->homeoffice = false;
}
}
else
{
$zeit->homeoffice = false;
}
}
else
{
$zeit->homeoffice = false;
}
$tag = $datum->formatDatum($data[2], $format='Y-m-d');
if(!in_array($tag, $importtage_array))
@@ -829,6 +979,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
$pause->start = $ende_vorher;
$pause->ende = $zeit->start;
$pause->beschreibung = '';
$pause->homeoffice = $homeoffice;
if(!$pause->save())
{
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'</b></span><br>';
@@ -908,6 +1059,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
$zeit->updatevon = $user;
$zeit->projekt_kurzbz = $projekt_kurzbz;
$zeit->projektphase_id = $projektphase_id;
$zeit->homeoffice = $homeoffice;
$zeit->service_id = $service_id;
$zeit->kunde_uid = $kunde_uid;
$saveerror = 0;
@@ -924,8 +1076,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
}
elseif (!$projectphase->checkProjectphaseInCorrectTime($projektphase_id, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d')))
{
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt.</b></span><br>';
echo '<p id="triggerPhasenReset"><span style="color:red" ><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").':
Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt.</b></span></p><br>';
$saveerror = 1;
}
elseif (abs($von-$bis)>0 && $aktivitaet_kurzbz!="DienstreiseMT")
{
@@ -968,6 +1122,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
$pause->insertvon = $user;
$pause->uid = $user;
$pause->aktivitaet_kurzbz = 'Pause';
$pause->homeoffice = $homeoffice;
$pause->start = $datum->formatDatum($von_pause, $format='Y-m-d H:i:s');
$pause->ende = $datum->formatDatum($bis_pause, $format='Y-m-d H:i:s');
$pause->beschreibung = '';
@@ -1055,13 +1210,12 @@ else
echo '<b>&nbsp;</b>';
//Laden der Daten zum aendern
if(isset($_GET['type']) && $_GET['type']=='edit')
if (isset($_GET['type']) && $_GET['type'] == 'edit')
{
$zeit = new zeitaufzeichnung();
if($zeit->load($zeitaufzeichnung_id))
if ($zeit->load($zeitaufzeichnung_id))
{
if($zeit->uid==$user)
if ($zeit->uid == $user)
{
$uid = $zeit->uid;
$aktivitaet_kurzbz = $zeit->aktivitaet_kurzbz;
@@ -1072,13 +1226,15 @@ if(isset($_GET['type']) && $_GET['type']=='edit')
$oe_kurzbz_2 = $zeit->oe_kurzbz_2;
$projekt_kurzbz = $zeit->projekt_kurzbz;
$projektphase_id = $zeit->projektphase_id;
$homeoffice = $zeit->homeoffice;
$homeoffice[0] == 't' ? $homeofficeChecked = 'checked' : $homeofficeChecked = '';
$service_id = $zeit->service_id;
$kunde_uid = $zeit->kunde_uid;
$projektphase = new projektphase();
$projektphasen = array();
if($projektphase->getProjektphasen($projekt_kurzbz))
if ($projektphase->getProjectphaseForMitarbeiterByKurzBz($uid, $projekt_kurzbz))
{
foreach ($projektphase->result as $row)
{
@@ -1089,15 +1245,16 @@ if(isset($_GET['type']) && $_GET['type']=='edit')
else
{
echo "<b>".$p->t("global/keineBerechtigungZumAendernDesDatensatzes")."</b>";
$zeitaufzeichnung_id='';
$zeitaufzeichnung_id = '';
}
}
}
//Projekte holen zu denen der Benutzer zugeteilt ist
$projekt = new projekt();
if($projekt->getProjekteMitarbeiter($user, true))
if ($projekt->getProjekteMitarbeiter($user, true))
{
//if(count($projekt->result)>0)
//{
@@ -1324,36 +1481,48 @@ if($projekt->getProjekteMitarbeiter($user, true))
$selected = '';
echo '<option value="'.$db->convert_html_chars($row_projekt->projekt_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($row_projekt->titel).'</option>';
}
echo '</SELECT><!--<input type="button" value="'.$p->t("zeitaufzeichnung/uebersicht").'" onclick="loaduebersicht();">-->';
//Projektphase
$showprojphases = isset($projektphasen) && is_array($projektphasen) && count($projektphasen) > 0 && $projektfound;
$hiddentext = $showprojphases ? "" : " style='display:none'";
echo
'<span id="projektphaseformgroup"'.$hiddentext.'>&nbsp;&nbsp;&nbsp;&nbsp;'.
$p->t("zeitaufzeichnung/projektphase").'
<SELECT name="projektphase" id="projektphase">
<OPTION value="" id="projektphasekeineausw">-- '.$p->t('zeitaufzeichnung/keineAuswahl').' --</OPTION>';
if ($showprojphases)
{
foreach ($projektphasen as $projektphase)
{
if ($projektphase_id == $projektphase->projektphase_id/* || $filter == $row_projekt->projekt_kurzbz*/)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung).'</option>';
}
echo '</SELECT></span>';
}
echo '</td></tr>';
}
echo '</SELECT><!--<input type="button" value="'.$p->t("zeitaufzeichnung/uebersicht").'" onclick="loaduebersicht();">-->';
if ($za_simple == 0)
//Projektphase
$showprojphases = isset($projektphasen) && is_array($projektphasen) && count($projektphasen) > 0 && $projektfound;
$hiddentext = $showprojphases ? "" : " style='display:none'";
echo
'<span id="projektphaseformgroup"'.$hiddentext.'>&nbsp;&nbsp;&nbsp;&nbsp;'.
$p->t("zeitaufzeichnung/projektphase").'
<SELECT name="projektphase" id="projektphase">
<OPTION value="" id="projektphasekeineausw">-- '.$p->t('zeitaufzeichnung/keineAuswahl').' --</OPTION>';
if ($showprojphases)
{
foreach ($projektphasen as $projektphase)
{
if (($projektphase->start != "" ) && ($projektphase->ende != " "))
{
$phasentext = " (". $datum->formatDatum($projektphase->start, 'd.m.Y'). " - ".
$datum->formatDatum($projektphase->ende, 'd.m.Y'). ")";
}
else
{
$phasentext = '';
}
if ($projektphase_id == $projektphase->projektphase_id/* || $filter == $row_projekt->projekt_kurzbz*/)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung). $phasentext.'</option>';
}
echo '</SELECT></span>';
}
echo '</td></tr>';
}
echo "<input type ='hidden' value='$user'id=uidpass>";
if ($za_simple == 0)
{
// Service
echo '<tr>
@@ -1402,6 +1571,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
$von_ts = $datum->mktime_fromtimestamp($datum->formatDatum($von, $format='Y-m-d H:i:s'));
$bis_ts = $datum->mktime_fromtimestamp($datum->formatDatum($bis, $format='Y-m-d H:i:s'));
$diff = $bis_ts - $von_ts;
echo '
<tr>
<td>'.$p->t("global/von").' - '.$p->t("global/bis").'</td>
@@ -1444,6 +1614,20 @@ if($projekt->getProjekteMitarbeiter($user, true))
</td>
</tr>
';
//Homeoffice Checkbox
echo '
<tr>
<td>&nbsp;</td>
<td colspan="1">
<span id="homeofficeBlock">
<input type="checkbox" name="homeoffice" id="homeoffice" '. $homeofficeChecked . '>Homeoffice</input>
</span>
</td>
</tr>
';
//Beschreibung
echo '<tr><td>'.$p->t("global/beschreibung").'</td><td colspan="3"><textarea style="font-size: 13px" name="beschreibung" cols="60" maxlength="256">'.$db->convert_html_chars($beschreibung).'</textarea></td></tr>';
echo '<tr><td></td><td></td><td></td><td align="right">';
@@ -1505,7 +1689,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
echo '<a href="?normal" style="text-decoration:none"><input type="button" value="'.$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage)).'"></a>';
else
echo '<a href="?alle" style="text-decoration:none"><input type="button" value="'.$p->t('zeitaufzeichnung/alleAnzeigen').'"></a>';
//echo '<input type="submit" value="'.($alle===true?$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage)):$p->t('zeitaufzeichnung/alleAnzeigen')).'" name="'.($alle===true?'normal':'alle').'">';
//echo '<input type="submit" value="'.($alle===true?$p->t('zeitaufzeichnung/xTageAnsicht', array(fehlt!)):$p->t('zeitaufzeichnung/alleAnzeigen')).'" name="'.($alle===true?'normal':'alle').'">';
$za = new zeitaufzeichnung();
if(isset($_GET['filter']))
@@ -1621,6 +1805,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000)
$pausefehlt_str = '<span style="color:red; font-weight:bold;">-- Pause fehlt oder zu kurz --</span>';
$tagessaldo = date('H:i', ($tagessaldo));
$colspan = ($za_simple)?6:8;
echo '<tr id="tag_row_'.$datum->formatDatum($tag,'d_m_Y').'"><td '.$style.' colspan="'.$colspan.'")>';
@@ -1770,6 +1955,11 @@ if($projekt->getProjekteMitarbeiter($user, true))
$style = 'style="border-top: 3px solid #8DBDD8; border-bottom: 3px solid #8DBDD8"';
if ($row->aktivitaet_kurzbz=='Pause' || $row->aktivitaet_kurzbz=='LehreExtern'|| $row->aktivitaet_kurzbz=='Ersatzruhe')
$style .= ' style="color: grey;"';
if($db->convert_html_chars($row->homeoffice)=='t')
{
$homeoffice = " - Homeoffice";
}else
$homeoffice="";
$summe = $row->summe;
$service = new service();
$service->load($row->service_id);
@@ -1785,7 +1975,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
{
echo '<td '.$style.' > '.$db->convert_html_chars($row->oe_kurzbz_2).'</td>';
}
echo '<td '.$style.'>'.$db->convert_html_chars($row->aktivitaet_kurzbz).'</td>';
echo '<td '.$style.'>'.$db->convert_html_chars($row->aktivitaet_kurzbz).($homeoffice).'</td>';
if(!$za_simple)
{
echo '<td '.$style.' title = "'.$service->bezeichnung.'" > '.StringCut($db->convert_html_chars($service->bezeichnung),20,null,'...').' </td>';
@@ -1919,8 +2109,8 @@ function getDataForCSV($rawdata, $fieldheadings, $za_simple = false)
$datum = new datum();
$csvData = array();
//headers schreiben
$csvData[] = ($za_simple) ? array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['aktivitaet'], $fieldheadings['beschreibung'])
: array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['oe2'], $fieldheadings['aktivitaet'], $fieldheadings['service'], $fieldheadings['kunde'], $fieldheadings['beschreibung']);
$csvData[] = ($za_simple) ? array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['aktivitaet'], $fieldheadings['beschreibung'], $fieldheadings['homeoffice'])
: array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['oe2'], $fieldheadings['aktivitaet'], $fieldheadings['service'], $fieldheadings['kunde'], $fieldheadings['beschreibung'], $fieldheadings['homeoffice']);
foreach ($rawdata as $zeitauf)
{
//Newline characters bei Beschreibung ersetzen
@@ -1933,13 +2123,13 @@ function getDataForCSV($rawdata, $fieldheadings, $za_simple = false)
if($za_simple)
{
$csvData[] = array($zeitauf->uid, $hauptdatum, $datum->formatDatum($zeitauf->start, 'H:i'),
$bisdatum, $zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->aktivitaet_kurzbz, $beschreibung);
$bisdatum, $zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->aktivitaet_kurzbz, $beschreibung, $zeitauf->homeoffice);
}
else
{
$servicebez = ($service->load($zeitauf->service_id))?$service->bezeichnung:"";
$csvData[] = array($zeitauf->uid, $hauptdatum, $datum->formatDatum($zeitauf->start, 'H:i'), $bisdatum,
$zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->oe_kurzbz_2, $zeitauf->aktivitaet_kurzbz, $servicebez, $zeitauf->kunde_uid, $beschreibung);
$zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->oe_kurzbz_2, $zeitauf->aktivitaet_kurzbz, $servicebez, $zeitauf->kunde_uid, $beschreibung, $zeitauf->homeoffice);
}
}
return $csvData;
@@ -0,0 +1,75 @@
<?php
/* Copyright (C) 2021 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Author: Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
/**
* Checks, if there is the possibility for homeoffice for the given bisverwendung of
* a certain date.
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/globals.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/Excel/excel.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/zeitaufzeichnung.class.php');
require_once('../../../include/projekt.class.php');
require_once('../../../include/bisverwendung.class.php');
if ((isset($_GET['uid'])) && (isset($_GET['day'])))
{
$uid = get_uid();
//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitaufzeichnung
//des uebergebenen Users anzeigen
if (isset($_GET['uid']) && $_GET['uid'] != $uid)
{
$p = new phrasen();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if ($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
}
else
{
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
}
}
$day = $_GET['day'];
$verwendung = new bisverwendung();
$verwendung->getVerwendungDatum($uid, $day);
$homeoffice = false;
foreach ($verwendung->result as $v)
{
if ($v->homeoffice)
{
$homeoffice = true;
}
}
echo json_encode($homeoffice);
}
@@ -1,18 +1,59 @@
<?php
/* Copyright (C) 2021 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Oliver Hacker <hacker@technikum-wien.at>
Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/basis_db.class.php');
require_once('../../../include/projektphase.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/phrasen.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
//Wenn User Administrator ist und UID uebergeben wurde, dann die Phasen
//des uebergebenen Users anzeigen
if (isset($_GET['uid']) && $user != $_GET['uid'])
{
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if ($rechte->isBerechtigt('admin'))
{
$user = $_GET['uid'];
}
else
{
$p = new phrasen();
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
}
}
$datum_obj = new datum();
if(isset($_GET['projekt_kurzbz'])) // TODO maybe check that phasen only shown if projekt is projekt of logged in user
if (isset($_GET['projekt_kurzbz']))
{
$projekt_kurzbz = $_GET['projekt_kurzbz'];
$projektphase = new projektphase();
@@ -28,12 +69,12 @@ if(isset($_GET['projekt_kurzbz'])) // TODO maybe check that phasen only shown if
array_push($pp_user_ids, $pp_user->projektphase_id);
}
if($projektphase->getProjektphasen($projekt_kurzbz))
if ($projektphase->getProjektphasen($projekt_kurzbz))
{
$result_obj = array();
foreach($projektphase->result as $row)
foreach ($projektphase->result as $row)
{
if(in_array($row->projektphase_id, $pp_user_ids))
if (in_array($row->projektphase_id, $pp_user_ids))
{
$item['projektphase_id'] = $row->projektphase_id;
$item['bezeichnung'] = $row->bezeichnung;
+7
View File
@@ -181,6 +181,13 @@ if(!$error)
$verwendung->azgrelevant = false;
else
$verwendung->azgrelevant = '';
if($_POST['homeoffice']=='true')
$verwendung->homeoffice = true;
elseif($_POST['homeoffice']=='false')
$verwendung->homeoffice = false;
else
$verwendung->homeoffice = '';
if($verwendung->save())
{
@@ -1234,6 +1234,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value;
zeitaufzeichnungspflichtig = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked;
azgrelevant = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked;
homeoffice = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-homeoffice').checked;
if(verwendung_code=='1')
{
@@ -1293,6 +1294,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
req.add('inkludierte_lehre', inkludierte_lehre);
req.add('zeitaufzeichnungspflichtig', zeitaufzeichnungspflichtig);
req.add('azgrelevant', azgrelevant);
req.add('homeoffice', homeoffice);
var response = req.executePOST();
@@ -71,6 +71,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
inkludierte_lehre = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#inkludierte_lehre" ));
zeitaufzeichnungspflichtig = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zeitaufzeichnungspflichtig" ));
azgrelevant = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#azgrelevant" ));
homeoffice = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homeoffice" ));
}
else
{
@@ -89,6 +90,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
fixangestellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
azgrelevant = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#azgrelevant" ));
homeoffice = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homeoffice" ));
//neuer Datensatz wird angelegt
MitarbeiterVerwendungDetailNeu='true';
@@ -121,6 +123,15 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
{
azgrelevant='Ja';
}
if (!homeoffice)
{
homeoffice='Nein';
}
else
{
homeoffice='Ja';
}
}
document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value=ba1code;
@@ -151,6 +162,11 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
document.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked=false;
else
document.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked=true;
if(homeoffice=='Nein')
document.getElementById('mitarbeiter-verwendung-detail-checkbox-homeoffice').checked=false;
else
document.getElementById('mitarbeiter-verwendung-detail-checkbox-homeoffice').checked=true;
MitarbeiterVerwendungDetailToggleHauptberuf();
MitarbeiterVerwendungVerwendungChange();
}
@@ -170,6 +170,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
<row>
<label value="AZG-relevant" control="mitarbeiter-verwendung-detail-checkbox-azgrelevant"/>
<checkbox id="mitarbeiter-verwendung-detail-checkbox-azgrelevant"/>
</row>
<row>
<label value="Homeoffice" control="mitarbeiter-verwendung-detail-checkbox-homeoffice"/>
<checkbox id="mitarbeiter-verwendung-detail-checkbox-homeoffice"/>
</row>
<row>
<spacer />
+22 -3
View File
@@ -48,6 +48,7 @@ class bisverwendung extends basis_db
public $inkludierte_lehre;
public $zeitaufzeichnungspflichtig;
public $azgrelevant;
public $homeoffice;
public $ba1bez;
public $ba2bez;
@@ -124,6 +125,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
return true;
}
else
@@ -257,13 +259,22 @@ class bisverwendung extends basis_db
{
$azgrelevant = 'null';
}
if(is_bool($this->homeoffice))
{
$homeoffice = $this->db_add_param($this->homeoffice, FHC_BOOLEAN);
}
else
{
$homeoffice = 'null';
}
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig, azgrelevant) VALUES (".
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig,
azgrelevant, homeoffice) VALUES (".
$this->db_add_param($this->ba1code, FHC_INTEGER).', '.
$this->db_add_param($this->ba2code, FHC_INTEGER).', '.
$this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '.
@@ -282,7 +293,8 @@ class bisverwendung extends basis_db
$this->db_add_param($this->dv_art).','.
$this->db_add_param($this->inkludierte_lehre).','.
$zeitaufzeichnungspflichtig.','.
$azgrelevant. ');';
$azgrelevant.','.
$homeoffice. ');';
}
else
@@ -307,7 +319,8 @@ class bisverwendung extends basis_db
" dv_art=".$this->db_add_param($this->dv_art).",".
" inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",".
" zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig.",".
" azgrelevant =". $azgrelevant.
" azgrelevant =". $azgrelevant.",".
" homeoffice =". $homeoffice.
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER);
}
@@ -401,6 +414,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
return true;
@@ -458,6 +472,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
@@ -517,6 +532,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
@@ -571,6 +587,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
}
return true;
}
@@ -625,6 +642,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
}
return true;
}
@@ -688,6 +706,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
+133
View File
@@ -0,0 +1,133 @@
<?php
/* Copyright (C) 2013 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once(dirname(__FILE__). '/basis_db.class.php');
require_once(dirname(__FILE__). '/sprache.class.php');
require_once(dirname(__FILE__). '/functions.inc.php');
class lehrmodus extends basis_db
{
//Objekt Lehrmodus
public $result = array();
//Tabellenspalten
public $lehrmodus_kurzbz;
public $bezeichnung_mehrsprachig;
public $aktiv;
/**
* Konstruktor - Laedt optional einen Lehrmodus
* @param lehrmodus_kurbz Lehrmodus der geladen werden soll
*/
public function __construct($lehrmodus_kurzbz = null)
{
parent::__construct();
if($lehrmodus_kurzbz != null)
$this->load($lehrmodus_kurzbz);
}
/**
* Liefert alle Lehrmodi aus der table tbl_lehrmodus
* @return true wenn ok, false im Fehlerfall
*/
public function getAll()
{
$sprache = new sprache();
$qry = "SELECT *, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM lehre.tbl_lehrmodus";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lehrmodus = new lehrmodus();
$lehrmodus->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lehrmodus->aktiv = $this->db_parse_bool($row->aktiv);
$lehrmodus->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $lehrmodus;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt einen Lehrmodus
* @param lehrmodus_kurzbz ID des Datensatzes der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
public function load($lehrmodus_kurzbz)
{
$sprache = new sprache();
$qry = "SELECT
*,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM
lehre.tbl_lehrmodus
WHERE
lehrmodus_kurzbz=".$this->db_add_param($lehrmodus_kurzbz).";";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Lesen vom Lehrmodus';
return false;
}
if($row = $this->db_fetch_object())
{
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->aktiv = $this->db_parse_bool($row->aktiv);
}
else
{
$this->errormsg = 'Es ist kein Lehrmodus mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
*/
// public function cleanResult()
// {
// $data = array();
// if(count($this->result)>0)
// {
// foreach ($this->result as $lm)
// {
// $obj = new stdClass();
// $obj->lehrmodus_kurzbz = $lm->lehrmodus_kurzbz;
// $data[] = $obj;
// }
// }
// return $data;
// }
}
?>
+71 -36
View File
@@ -58,6 +58,7 @@ class lehrveranstaltung extends basis_db
public $bezeichnung_english; // varchar(256)
public $orgform_kurzbz; // varchar(3)
public $lehrtyp_kurzbz; // varchar(32)
public $lehrmodus_kurzbz; //varchar(32)
public $oe_kurzbz; // varchar(32)
public $raumtyp_kurzbz; // varchar(16)
public $anzahlsemester; // smallint
@@ -68,6 +69,7 @@ class lehrveranstaltung extends basis_db
public $farbe;
public $lehrauftrag=true;
public $studienplan_lehrveranstaltung_id;
public $studienplan_lehrveranstaltung_id_parent;
public $stpllv_pflicht=true;
@@ -147,6 +149,7 @@ class lehrveranstaltung extends basis_db
$this->bezeichnung_english = $row->bezeichnung_english;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$this->anzahlsemester = $row->anzahlsemester;
@@ -225,6 +228,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -258,10 +262,12 @@ class lehrveranstaltung extends basis_db
* @param $sort smallint Sortierung
* @param $oe_kurzbz string Organisationseinheit
* @param $lehrtyp string lehrtyp_kurzbz
* @param $lehrmodus string lehrmodus_kurzbz
* @param $orgform string Organisationsform
* @param $lehrmodus string lehrmodus_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null)
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $lehrmodus=null, $orgform=null)
{
//Variablen pruefen
if($semester == "null")
@@ -320,6 +326,9 @@ class lehrveranstaltung extends basis_db
if(!is_null($lehrtyp))
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
if(!is_null($lehrmodus))
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
if(!is_null($orgform) && $orgform!='')
$qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform);
@@ -369,6 +378,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -497,6 +507,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -578,6 +589,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -740,40 +752,41 @@ class lehrveranstaltung extends basis_db
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz,
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
$this->db_add_param($this->studiengang_kz) . ', ' .
$this->db_add_param($this->bezeichnung) . ', ' .
$this->db_add_param($this->kurzbz) . ', ' .
$this->db_add_param($this->lehrform_kurzbz) . ', ' .
$this->db_add_param($this->semester) . ', ' .
$this->db_add_param($this->ects) . ', ' .
$this->db_add_param($this->semesterstunden) . ', ' .
$this->db_add_param($this->anmerkung) . ', ' .
$this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->lehreverzeichnis) . ', ' .
$this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->insertamum) . ', ' .
$this->db_add_param($this->insertvon) . ', ' .
$this->db_add_param($this->planfaktor) . ', ' .
$this->db_add_param($this->planlektoren) . ', ' .
$this->db_add_param($this->planpersonalkosten) . ', ' .
$this->db_add_param($this->plankostenprolektor) . ', ' .
$this->db_add_param($this->updateamum) . ', ' .
$this->db_add_param($this->updatevon) . ',' .
$this->db_add_param($this->sort) . ',' .
$this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->sprache) . ',' .
$this->db_add_param($this->koordinator) . ',' .
$this->db_add_param($this->bezeichnung_english) . ',' .
$this->db_add_param($this->orgform_kurzbz) . ',' .
$this->db_add_param($this->incoming) . ',' .
$this->db_add_param($this->lehrtyp_kurzbz) . ',' .
$this->db_add_param($this->oe_kurzbz) . ',' .
$this->db_add_param($this->raumtyp_kurzbz) . ',' .
$this->db_add_param($this->anzahlsemester) . ',' .
$this->db_add_param($this->semesterwochen) . ',' .
$this->db_add_param($this->lvnr) .','.
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo,
lehrauftrag, lehrmodus_kurzbz) VALUES ('.
$this->db_add_param($this->studiengang_kz). ', '.
$this->db_add_param($this->bezeichnung). ', '.
$this->db_add_param($this->kurzbz). ', '.
$this->db_add_param($this->lehrform_kurzbz). ', '.
$this->db_add_param($this->semester). ', '.
$this->db_add_param($this->ects). ', '.
$this->db_add_param($this->semesterstunden). ', '.
$this->db_add_param($this->anmerkung). ', '.
$this->db_add_param($this->lehre, FHC_BOOLEAN). ','.
$this->db_add_param($this->lehreverzeichnis). ', '.
$this->db_add_param($this->aktiv, FHC_BOOLEAN). ', '.
$this->db_add_param($this->insertamum). ', '.
$this->db_add_param($this->insertvon). ', '.
$this->db_add_param($this->planfaktor). ', '.
$this->db_add_param($this->planlektoren). ', '.
$this->db_add_param($this->planpersonalkosten). ', '.
$this->db_add_param($this->plankostenprolektor). ', '.
$this->db_add_param($this->updateamum). ', '.
$this->db_add_param($this->updatevon). ','.
$this->db_add_param($this->sort). ','.
$this->db_add_param($this->zeugnis, FHC_BOOLEAN). ','.
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN). ','.
$this->db_add_param($this->sprache). ','.
$this->db_add_param($this->koordinator). ','.
$this->db_add_param($this->bezeichnung_english). ','.
$this->db_add_param($this->orgform_kurzbz). ','.
$this->db_add_param($this->incoming).','.
$this->db_add_param($this->lehrtyp_kurzbz).','.
$this->db_add_param($this->oe_kurzbz). ','.
$this->db_add_param($this->raumtyp_kurzbz). ','.
$this->db_add_param($this->anzahlsemester). ','.
$this->db_add_param($this->semesterwochen). ','.
$this->db_add_param($this->lvnr).','.
$this->db_add_param($this->semester_alternativ).','.
$this->db_add_param($this->farbe).','.
$this->db_add_param($this->sws).','.
@@ -783,7 +796,8 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->las).','.
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrmodus_kurzbz)
.');';
}
else
@@ -823,6 +837,7 @@ class lehrveranstaltung extends basis_db
'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' .
'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ',' .
'lehrtyp_kurzbz=' . $this->db_add_param($this->lehrtyp_kurzbz) . ',' .
'lehrmodus_kurzbz=' . $this->db_add_param($this->lehrmodus_kurzbz) . ',' .
'oe_kurzbz=' . $this->db_add_param($this->oe_kurzbz) . ',' .
'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' .
'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' .
@@ -936,6 +951,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -1029,6 +1045,7 @@ class lehrveranstaltung extends basis_db
$l->bezeichnung_english = $row->bezeichnung_english;
$l->orgform_kurzbz = $row->orgform_kurzbz;
$l->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$l->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$l->oe_kurzbz = $row->oe_kurzbz;
$l->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$l->anzahlsemester = $row->anzahlsemester;
@@ -1111,6 +1128,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -1209,6 +1227,7 @@ class lehrveranstaltung extends basis_db
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
@@ -1333,6 +1352,7 @@ class lehrveranstaltung extends basis_db
$obj->ects = $lv->ects;
$obj->semesterstunden = $lv->semesterstunden;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
@@ -1398,6 +1418,7 @@ class lehrveranstaltung extends basis_db
$obj->semesterstunden = $lv->semesterstunden;
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
@@ -1550,6 +1571,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1635,6 +1657,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1750,6 +1773,9 @@ class lehrveranstaltung extends basis_db
if(!is_null($lehrtyp))
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
if(!is_null($lehrmodus))
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
if(!is_null($semester))
$qry .= " AND semester=".$this->db_add_param ($semester);
@@ -1800,6 +1826,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
@@ -1925,6 +1952,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -2051,6 +2079,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -2272,6 +2301,11 @@ class lehrveranstaltung extends basis_db
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($lehrmodus_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrmodus_kurzbz=" . $this->db_add_param($lehrmodus_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -2315,6 +2349,7 @@ class lehrveranstaltung extends basis_db
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
+2 -1
View File
@@ -185,7 +185,8 @@ class pruefungsanmeldung extends basis_db {
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid);
. 'WHERE uid='.$this->db_add_param($uid) . ' '
. 'AND p.storniert=false';
if($studiensemester_kurzbz != null)
{
+9 -1
View File
@@ -49,6 +49,7 @@ class zeitaufzeichnung extends basis_db
public $ext_id; // bigint
public $service_id; // integer
public $kunde_uid; // varchar(32)
public $homeoffice; // bool
/**
* Konstruktor
@@ -104,6 +105,7 @@ class zeitaufzeichnung extends basis_db
$this->ext_id = $row->ext_id;
$this->service_id = $row->service_id;
$this->kunde_uid = $row->kunde_uid;
$this->homeoffice = $row->homeoffice;
}
else
{
@@ -203,7 +205,7 @@ class zeitaufzeichnung extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO campus.tbl_zeitaufzeichnung (uid, aktivitaet_kurzbz, start, ende, beschreibung,
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, projektphase_id, service_id, kunde_uid) VALUES('.
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, projektphase_id, service_id, homeoffice, kunde_uid) VALUES('.
$this->db_add_param($this->uid).', '.
$this->db_add_param($this->aktivitaet_kurzbz).', '.
$this->db_add_param($this->start).', '.
@@ -218,6 +220,7 @@ class zeitaufzeichnung extends basis_db
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->projektphase_id, FHC_INTEGER).', '.
$this->db_add_param($this->service_id).', '.
$this->db_add_param($this->homeoffice, FHC_BOOLEAN).', '.
$this->db_add_param($this->kunde_uid).');';
}
else
@@ -244,6 +247,7 @@ class zeitaufzeichnung extends basis_db
' projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
' projektphase_id='.$this->db_add_param($this->projektphase_id, FHC_INTEGER).', '.
' service_id='.$this->db_add_param($this->service_id).', '.
' homeoffice ='.$this->db_add_param($this->homeoffice, FHC_BOOLEAN).', '.
' kunde_uid='.$this->db_add_param($this->kunde_uid).' '.
'WHERE zeitaufzeichnung_id='.$this->db_add_param($this->zeitaufzeichnung_id, FHC_INTEGER, false);
}
@@ -349,6 +353,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -430,6 +435,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -491,6 +497,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -556,6 +563,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
+2
View File
@@ -7,6 +7,7 @@ $this->phrasen['zeitaufzeichnung/projekt']='Projekt';
$this->phrasen['zeitaufzeichnung/projektphase']='Projektphase';
$this->phrasen['zeitaufzeichnung/keineAuswahl']='keine Auswahl';
$this->phrasen['zeitaufzeichnung/aktivitaet']='Aktivität';
$this->phrasen['zeitaufzeichnung/homeoffice']='Homeoffice';
$this->phrasen['zeitaufzeichnung/id']='ID';
$this->phrasen['zeitaufzeichnung/user']='User';
$this->phrasen['zeitaufzeichnung/start']='Start';
@@ -63,3 +64,4 @@ $this->phrasen['zeitaufzeichnung/projektphase']='AP';
$this->phrasen['zeitaufzeichnung/pauseEinfuegen']='Pause automatisch einfügen';
$this->phrasen['zeitaufzeichnung/zeitraumZuKurz']='Zeitraum zu kurz für automatische Pause';
$this->phrasen['zeitaufzeichnung/supportAnfragen']='<p><hr>Supportanfragen unter<br><a href="mailto:zeiterfassung@technikum-wien.at">zeiterfassung@technikum-wien.at</a></p>';
$this->phrasen['zeitaufzeichnung/homeofficeNichtErlaubt']='Homeoffice für den Tag %s nicht erlaubt';
+2
View File
@@ -7,6 +7,7 @@ $this->phrasen['zeitaufzeichnung/projekt']='Project';
$this->phrasen['zeitaufzeichnung/projektphase']='Projectphase';
$this->phrasen['zeitaufzeichnung/keineAuswahl']='no selection';
$this->phrasen['zeitaufzeichnung/aktivitaet']='Activity';
$this->phrasen['zeitaufzeichnung/homeoffice']='Homeoffice';
$this->phrasen['zeitaufzeichnung/id']='ID';
$this->phrasen['zeitaufzeichnung/user']='User';
$this->phrasen['zeitaufzeichnung/start']='Start';
@@ -63,3 +64,4 @@ $this->phrasen['zeitaufzeichnung/projektphase']='WP';
$this->phrasen['zeitaufzeichnung/pauseEinfuegen']='insert break automatically';
$this->phrasen['zeitaufzeichnung/zeitraumZuKurz']='Timeslot too short for automatic break.';
$this->phrasen['zeitaufzeichnung/supportAnfragen']='<p><hr>Contact for support<br><a href="mailto:zeiterfassung@technikum-wien.at">zeiterfassung@technikum-wien.at</a></p>';
$this->phrasen['zeitaufzeichnung/homeofficeNichtErlaubt']='Homeoffice for day %s not allowed';
+6
View File
@@ -94,6 +94,11 @@ function draw_row($row)
$azgrelevant = $row->azgrelevant?'Ja':'Nein';
else
$azgrelevant = '';
if(is_bool($row->homeoffice))
$homeoffice = $row->homeoffice?'Ja':'Nein';
else
$homeoffice = '';
echo '
<RDF:li>
@@ -125,6 +130,7 @@ function draw_row($row)
<VERWENDUNG:inkludierte_lehre><![CDATA['.$row->inkludierte_lehre.']]></VERWENDUNG:inkludierte_lehre>
<VERWENDUNG:zeitaufzeichnungspflichtig><![CDATA['.$zeitaufzeichnungspflichtig.']]></VERWENDUNG:zeitaufzeichnungspflichtig>
<VERWENDUNG:azgrelevant><![CDATA['.$azgrelevant.']]></VERWENDUNG:azgrelevant>
<VERWENDUNG:homeoffice><![CDATA['.$homeoffice.']]></VERWENDUNG:homeoffice>
</RDF:Description>
</RDF:li>
';
+2
View File
@@ -154,6 +154,8 @@ foreach($uid_arr as $uid)
echo "\t\t<studiengangSpracheEnglisch><![CDATA[".$studienplan_sprache_englisch."]]></studiengangSpracheEnglisch>";
echo "\t\t<ects_gesamt><![CDATA[".$studienordnung->ects."]]></ects_gesamt>";
echo "\t\t<ects_pro_semester><![CDATA[".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."]]></ects_pro_semester>";
echo "\t\t<ects_gesamt_studienplan><![CDATA[".$studienplan->ects_stpl."]]></ects_gesamt_studienplan>";
echo "\t\t<ects_pro_semester_studienplan><![CDATA[".($studienplan->regelstudiendauer!=0?$studienplan->ects_stpl/$studienplan->regelstudiendauer:0)."]]></ects_pro_semester_studienplan>";
echo "\t\t<aktuellesJahr><![CDATA[".date('Y')."]]></aktuellesJahr>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
+65 -12
View File
@@ -4838,13 +4838,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1
status_kurzbz character varying(32),
bezeichnung character varying(256)
);
ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz);
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft');
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt');
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert');
INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung');
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci;
GRANT SELECT ON public.tbl_zgvpruefungstatus TO web;
";
@@ -4868,7 +4866,6 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;"))
updateamum timestamp without time zone,
updatevon character varying(32)
);
CREATE SEQUENCE public.tbl_zgvpruefung_id_seq
INCREMENT BY 1
NO MAXVALUE
@@ -4877,11 +4874,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;"))
ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id);
ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq');
ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci;
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci;
GRANT SELECT ON public.tbl_zgvpruefung TO web;
";
if(!$db->db_query($qry))
@@ -4901,18 +4896,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status
status character varying(32),
datum timestamp without time zone DEFAULT now()
);
CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id);
ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq');
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci;
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci;
GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web;
@@ -4924,7 +4916,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status
echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt<br>';
}
// Add index to system.tbl_log
// Add index to lehre.tbl_pruefung
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'"))
{
if ($db->db_num_rows($result) == 0)
@@ -4937,6 +4929,7 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruef
echo 'Index fuer lehre.pruefung.student_uid hinzugefuegt<br>';
}
}
// Added Buchungstyp "ZuschussIO"
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchungstyp_kurzbz = 'ZuschussIO';"))
{
@@ -4962,6 +4955,29 @@ if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT
echo '<br>Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt';
}
// Add column homeoffice to bis.tbl_bisverwendung
if (!$result = @$db->db_query("SELECT homeoffice FROM bis.tbl_bisverwendung LIMIT 1"))
{
$qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN homeoffice boolean NOT NULL DEFAULT FALSE";
if(!$db->db_query($qry))
echo '<strong>bis.tbl_bisverwendung: '.$db->db_last_error().'</strong><br>';
else
echo '<br>bis.tbl_bisverwendung: Spalte homeoffice hinzugefuegt';
}
// ADD COLUMN homeoffice to campus.tbl_zeitaufzeichnung
if(!$result = @$db->db_query("SELECT homeoffice FROM campus.tbl_zeitaufzeichnung LIMIT 1"))
{
$qry = "
ALTER TABLE campus.tbl_zeitaufzeichnung ADD COLUMN homeoffice boolean NOT NULL DEFAULT false ;
";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_zeitaufzeichnung: '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_zeitaufzeichnung Spalte homeoffice hinzugefügt.';
}
// INDEX idx_anrechnung_anrechnung_status_anrechnung_id
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'"))
@@ -4976,6 +4992,42 @@ if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechn
}
}
// Add Table lehre.tbl_lehrmodus
if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;"))
{
$qry = "
CREATE TABLE lehre.tbl_lehrmodus
(
lehrmodus_kurzbz varchar(32) NOT NULL,
bezeichnung_mehrsprachig varchar(255)[],
aktiv boolean DEFAULT true
);
ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz);
INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}');
INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}');
GRANT SELECT ON lehre.tbl_lehrmodus TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci;
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrmodus: '.$db->db_last_error().'</strong><br>';
else
echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt<br>';
}
//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung
if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32);
ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -4993,7 +5045,7 @@ $tabellen=array(
"bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id","ects_erworben","ects_angerechnet"),
"bis.tbl_bisio_zweck" => array("bisio_id","zweck_code"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant", "homeoffice"),
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
@@ -5062,7 +5114,7 @@ $tabellen=array(
"campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
"campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid","projektphase_id"),
"campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid","projektphase_id","homeoffice"),
"campus.tbl_zeitaufzeichnung_gd" => array("zeitaufzeichnung_gd_id","uid","studiensemester_kurzbz","selbstverwaltete_pause","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
"campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
@@ -5093,8 +5145,9 @@ $tabellen=array(
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"),
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
"lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"),
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"),
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
+243 -115
View File
@@ -25,14 +25,20 @@ require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/fachbereich.class.php');
require_once('../../include/organisationseinheit.class.php');
require_once('../../include/lvinfo.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/organisationsform.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/sprache.class.php');
require_once('../../include/lehrmodus.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
//Sprache
$sprache = getSprache();
$s=new studiengang();
$s->getAll('typ, kurzbz', false);
$studiengang=$s->result;
@@ -64,6 +70,8 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
if(!is_numeric($semester))
$semester = -1;
$oe_fachbereich='';
if(isset($_REQUEST['fachbereich_kurzbz']))
{
@@ -79,9 +87,18 @@ if(isset($_REQUEST['fachbereich_kurzbz']))
else
$fachbereich_kurzbz = '';
$oe_organisationseinheit='';
if (isset($_REQUEST['oe_kurzbz']))
{
$oe_kurzbz = $_REQUEST['oe_kurzbz'];
if($oe_kurzbz != '')
{
$oe_obj = new organisationseinheit();
if(!$oe_obj->load($oe_kurzbz))
die('Organisationseinheit konnte nicht geladen werden');
$oe_organisationseinheit = $oe_obj->oe_kurzbz;
}
}
else
$oe_kurzbz='';
@@ -163,7 +180,7 @@ if(isset($_GET['delete_lvid']))
}
}
else
echo "Keine Berechtigung, um Lehrveranstaltung zu löschen!\n";
echo " Keine Berechtigung, um Lehrveranstaltung zu löschen!\n";
}
// Speichern der Daten
@@ -318,7 +335,7 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid']))
$lv_obj = new lehrveranstaltung();
if($lv_obj->load($_POST['lvid']))
{
$lv_obj->lehrform_kurzbz=$_POST['lf'];
$lv_obj->lehrform_kurzbz = $_POST['lf'];
$lv_obj->updateamum = date('Y-m-d H:i:s');
$lv_obj->updatevon = $user;
if($lv_obj->save(false))
@@ -336,7 +353,25 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid']))
$lv_obj = new lehrveranstaltung();
if($lv_obj->load($_POST['lvid']))
{
$lv_obj->lehrtyp_kurzbz=$_POST['lt'];
$lv_obj->lehrtyp_kurzbz = $_POST['lt'];
$lv_obj->updateamum = date('Y-m-d H:i:s');
$lv_obj->updatevon = $user;
if($lv_obj->save(false))
exit('true');
else
exit('Fehler beim Speichern:'.$lv_obj->errormsg);
}
else
exit('Fehler beim Laden der LV:'.$lv_obj->errormsg);
}
//Lehrmodus Speichern
if(isset($_POST['lm']))
{
$lv_obj = new lehrveranstaltung();
if($lv_obj->load($_POST['lvid']))
{
$lv_obj->lehrmodus_kurzbz = $_POST['lm'];
$lv_obj->updateamum = date('Y-m-d H:i:s');
$lv_obj->updatevon = $user;
if($lv_obj->save(false))
@@ -408,6 +443,26 @@ if($result = $db->db_query($qry))
}
}
//Lehrmodus holen
$qry = "
SELECT
lehrmodus_kurzbz,
bezeichnung_mehrsprachig
FROM
lehre.tbl_lehrmodus ORDER BY lehrmodus_kurzbz";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
// $lm[$row->lehrmodus_kurzbz]['lehrmodus_kurzbz']=$row->lehrmodus_kurzbz;
$lm_beschr = new lehrmodus();
$lm_beschr ->load($row->lehrmodus_kurzbz);
$lm[$row->lehrmodus_kurzbz]['bezeichnung_mehrsprachig'] = $lm_beschr->bezeichnung_mehrsprachig[$sprache];
}
}
//Fachbereichskoordinatoren holen
$fb_kurzbz='';
if($stg_kz!='')
@@ -456,14 +511,50 @@ if($result = $db->db_query($qry))
}
}
//Lehrveranstaltungen holen
//Lehrveranstaltungen mit OEs holen
$sql_query = "
SELECT
tbl_lehrveranstaltung.*, tbl_organisationseinheit.organisationseinheittyp_kurzbz,
tbl_organisationseinheit.bezeichnung as oe_bezeichnung
FROM
lehre.tbl_lehrveranstaltung
LEFT JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
LEFT JOIN lehre.tbl_lehrveranstaltung as lehrfach on (lehre.tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id)
LEFT JOIN public.tbl_organisationseinheit ON (public.tbl_organisationseinheit.oe_kurzbz = lehre.tbl_lehrveranstaltung.oe_kurzbz)
where
true
";
if($stg_kz!='')
$sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
if($oe_kurzbz!='')
$sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
if($semester != -1)
$sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
if($orgform_kurzbz != -1)
if($orgform_kurzbz == 'none')
$sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')";
else
$sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING);
if($lehrveranstaltung_id != '')
$sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
if($lehrveranstaltung_name != '')
{
$sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")";
$sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) ";
}
//Wenn nicht admin, werden erst nur die aktiven angezeigt, es koennen aber auch die inaktiven eingeblendet werden
$aktiv='';
$isaktiv=trim($isaktiv);
$aktiv = '';
$isaktiv = trim($isaktiv);
if($isaktiv=='true')
if($isaktiv == 'true')
{
$aktiv = ' AND tbl_lehrveranstaltung.aktiv=true';
}
@@ -476,43 +567,9 @@ else
$aktiv='';
}
if($fb_kurzbz !='')
$sql_query="
SELECT
distinct tbl_lehrveranstaltung.*
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id
AND lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz
AND tbl_fachbereich.fachbereich_kurzbz=".$db->db_add_param($fb_kurzbz);
else
$sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung WHERE true";
$sql_query .= " GROUP BY tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_organisationseinheit.organisationseinheittyp_kurzbz, tbl_organisationseinheit.bezeichnung";
if($stg_kz!='')
$sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
//if($oe_kurzbz!='')
// $sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
if($semester != -1)
$sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
if($orgform_kurzbz != -1)
if($orgform_kurzbz == 'none')
$sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')";
else
$sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING);
if($lehrveranstaltung_id != '')
$sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
if($lehrveranstaltung_name != '')
{
$sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")";
$sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) ";
}
$sql_query.=" $aktiv ORDER BY tbl_lehrveranstaltung.bezeichnung";
$sql_query .= " ORDER BY tbl_lehrveranstaltung.bezeichnung";
if($fb_kurzbz=='' && $stg_kz=='' && $semester=='0' && $oe_kurzbz=='')
$result_lv='';
@@ -523,11 +580,11 @@ else
}
//Studiengang DropDown
$outp='';
$s=array();
$outp.="<form action='".$_SERVER['PHP_SELF']."' method='GET' onsubmit='return checksubmit();'>";
$outp.=" Studiengang <SELECT name='stg_kz' id='select_stg_kz'>";
$outp.="<OPTION value='' ".($stg_kz==''?'selected':'').">-- Alle --</OPTION>";
$outp = '';
$s = array();
$outp .= "<form action='".$_SERVER['PHP_SELF']."' method='GET' onsubmit='return checksubmit();'>";
$outp .= " Studiengang <SELECT name='stg_kz' id='select_stg_kz'>";
$outp .= "<OPTION value='' ".($stg_kz == ''?'selected':'').">-- Alle --</OPTION>";
$stg_berechtigt = $rechte->getStgKz('lehre/lehrveranstaltung:begrenzt');
foreach ($studiengang as $stg)
@@ -569,25 +626,6 @@ foreach ($orgform->result as $of)
}
$outp.='</SELECT>';
//Institut DropDown
$outp.= ' Institut <SELECT name="fachbereich_kurzbz" id="select_fachbereich_kurzbz">';
$fachb = new fachbereich();
$fachb->getAll();
$outp.= "<OPTION value='' ".($fachbereich_kurzbz==''?'selected':'').">-- Alle --</OPTION>";
$fachbereich_berechtigt = $rechte->getFbKz('lehre/lehrveranstaltung:begrenzt');
foreach ($fachb->result as $fb)
{
if($fachbereich_kurzbz==$fb->fachbereich_kurzbz)
$selected = 'selected';
else
$selected = '';
if(in_array($fb->fachbereich_kurzbz, $fachbereich_berechtigt))
$outp.= '<OPTION value="'.$db->convert_html_chars($fb->fachbereich_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($fb->fachbereich_kurzbz).'</OPTION>';
}
$outp.= '</SELECT>';
//if($write_admin) Von kindlm am 12.04.2013 auskommentiert, da Assistentinnen auch bei inaktiven LV's die Lehrform aendern koennen sollen
//{
//Aktiv DropDown
@@ -596,37 +634,44 @@ $outp.= '</SELECT>';
$outp.= "<OPTION value='true '".($isaktiv=='true'?'selected':'').">-- Aktiv --</OPTION>";
$outp.= "<OPTION value='false '".($isaktiv=='false'?'selected':'').">-- Nicht aktiv --</OPTION>";
$outp.= '</SELECT>';
$outp.= '<input type="submit" style="margin-left:20px;" value="Anzeigen">';
//}
/*else
{
$isaktiv='aktiv';
}*/
$outp .= '</hr><details id="detailTag" style="margin-top: 10px;"><summary style="float:right">Erweiterte Suchoptionen</summary><hr></hr>';
//Organisationseinheit Dropdown
$outp.= '<br>Organisationseinheit <select name="oe_kurzbz" style="width: 200px" id="select_oe_kurzbz"><option value="">-- Alle --</option>';
$oe=new organisationseinheit();
$outp .= '<br>Organisationseinheit <select name="oe_kurzbz" style="width: 450px" id="select_oe_kurzbz"><option value="">-- Alle --</option>';
$oe = new organisationseinheit();
$oe->getAll();
foreach($oe->result as $row)
{
if($oe_kurzbz==$row->oe_kurzbz)
$selected='selected';
else
$selected='';
$outp.= '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung).'</option>';
if($oe_kurzbz == $row->oe_kurzbz)
$selected = 'selected';
else
$selected = '';
$outp .= '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung).'</option>';
}
$outp.= '</select>';
$outp .= '</select>';
//Lehrveranstaltung ID Input
$outp.= ' ID <input type="text" name="lehrveranstaltung_id" style="width: 100px" id="lehrveranstaltung_id" value="'.$lehrveranstaltung_id.'">';
//Lehrveranstaltung Suche Bezeichnung
$outp.= ' Name <input type="text" name="lehrveranstaltung_name" style="width: 400px" id="lehrveranstaltung_name"
$outp.= ' Name <input type="text" name="lehrveranstaltung_name" style="width: 450px" id="lehrveranstaltung_name"
value="'.$lehrveranstaltung_name.'" placeholder="Mind. 3 Zeichen. Deutsche oder Englische Bezeichnung"
title="Platzhalter _ (EIN beliebiges Zeichen) und % (beliebig viele Zeichen) möglich">';
$outp.= ' <input type="submit" value="Anzeigen">';
$outp.= ' <input type="submit" style="margin-left:20px" value="Anzeigen">';
$outp.= '<hr></hr></details>';
$outp.= '</form>';
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
@@ -669,35 +714,37 @@ echo '
<script type="text/javascript">
$(document).ready(function()
{
openDetailTag();
$("#t1").tablesorter(
{
sortList: [[2,0]],
widgets: ["saveSort", "zebra", "filter", "stickyHeaders"],
headers: { 4: {sorter: false, filter: false},
5: {sorter: false, filter: false},
11: {sorter: false, filter: false},
6: {sorter: false, filter: false},
13: {sorter: false, filter: false},
14: {sorter: false, filter: false},
17: {sorter: false, filter: false},
18: {sorter: false, filter: false},
15: {sorter: false, filter: false},
16: {sorter: false, filter: false},
19: {sorter: false, filter: false},
20: {sorter: false, filter: false},
21: {sorter: false, filter: false}},
21: {sorter: false, filter: false},
22: {sorter: false, filter: false},
23: {sorter: false, filter: false}},
widgetOptions : {filter_functions : {
// Add select menu to this column
10 : {
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
},
12 : {
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
},
15 : {
14 : {
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
},
16 : {
17 : {
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
},
18 : {
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
}
@@ -730,7 +777,6 @@ echo '
}
else
return true;
}
function changelehrevz(lvid, lehrevz)
{
@@ -855,6 +901,27 @@ echo '
});
}
function changelehrmodus(lvid, lm)
{
$.ajax({
type:"POST",
url:"lehrveranstaltung.php",
data:{ "lvid": lvid, "lm": lm },
success: function(data)
{
if(data!="true")
alert("ERROR:"+data)
else
{
$("#lm"+lvid).css("background-color", "lightgreen");
window.setTimeout(function(){$("#lm"+lvid).css("background-color", "");}, 500);
}
},
error: function() { alert("error"); }
});
}
function copylvinfo(lvid, source_id)
{
$.ajax({
@@ -922,14 +989,25 @@ echo '
{
return confirm("Diese Lehrveranstaltung wirklich löschen?");
}
function openDetailTag()
{
var details = document.getElementById("detailTag");
if(document.getElementById("lehrveranstaltung_name").value!=""
|| document.getElementById("select_oe_kurzbz").value!=""
|| document.getElementById("lehrveranstaltung_id").value!="")
{
details.open = true;
return false;
}
}
</script>
<style>
.tablesorter-default input.tablesorter-filter
{
padding: 0 4px;
}
table.tablesorter tbody td
table.tablesorter tbody td
{
padding: 0 4px;
}
@@ -991,8 +1069,10 @@ if ($result_lv!=0)
<th>Bezeichnung English</th>
<th>Lehrform</th>
<th>Lehrtyp</th>
<th>Lehrmodus</th>
<th>Stg</th>\n
<th>Orgform</th>
<th>Organisationseinheit</th>
<th title='Semesterstunden'>SS</th>
<th>ECTS</th>
<th>Lehre</th>
@@ -1034,48 +1114,96 @@ if ($result_lv!=0)
else
echo $db->convert_html_chars($row->bezeichnung);
echo '</td>';
//Bezeichnung Englisch
echo '<td>';
echo $db->convert_html_chars($row->bezeichnung_english);
echo '</td>';
//Lehrform
echo '<td style="white-space:nowrap;">';
echo '<SELECT style="width:80px;" id="lf'.$row->lehrveranstaltung_id.'">';
echo '<option value="">--</option>';
foreach ($lf as $lehrform=>$lf_kz)
if($write_admin)
{
if($lehrform==$row->lehrform_kurzbz)
$selected='selected';
else
$selected='';
echo '<option value="'.$db->convert_html_chars($lehrform).'" '.$selected.'>'.$db->convert_html_chars($lf_kz['lehrform_kurzbz']).' '.$db->convert_html_chars($lf_kz['bezeichnung']).'</option>';
echo '<td style="white-space:nowrap;">';
echo '<SELECT style="width:80px;" id="lf'.$row->lehrveranstaltung_id.'">';
echo '<option value="">--</option>';
foreach ($lf as $lehrform=>$lf_kz)
{
if($lehrform == $row->lehrform_kurzbz)
$selected='selected';
else
$selected='';
echo '<option value="'.$db->convert_html_chars($lehrform).'" '.$selected.'>'.$db->convert_html_chars($lf_kz['lehrform_kurzbz']).' '.$db->convert_html_chars($lf_kz['bezeichnung']).'</option>';
}
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrform(\''.$row->lehrveranstaltung_id.'\',$(\'#lf'.$row->lehrveranstaltung_id.'\').val())">';
echo '</td>';
}
else
{
echo '<td>';
foreach ($lf as $lehrform=>$lf_kz)
{
if($lehrform == $row->lehrform_kurzbz)
echo $db->convert_html_chars($lf_kz['lehrform_kurzbz']). ' '. $db->convert_html_chars($lf_kz['bezeichnung']);
}
echo '</td>';
}
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrform(\''.$row->lehrveranstaltung_id.'\',$(\'#lf'.$row->lehrveranstaltung_id.'\').val())">';
echo '</td>';
//Lehrtyp
echo '<td style="white-space:nowrap;">';
echo '<SELECT id="lt'.$row->lehrveranstaltung_id.'">';
echo '<option value="">--</option>';
foreach ($lt as $lehrtyp=>$lt_kz)
if($write_admin)
{
if($lehrtyp==$row->lehrtyp_kurzbz)
$selected='selected';
else
$selected='';
echo '<option value="'.$db->convert_html_chars($lehrtyp).'" '.$selected.'>'.$db->convert_html_chars($lt_kz['bezeichnung']).'</option>';
echo '<td style="white-space:nowrap;">';
echo '<SELECT id="lt'.$row->lehrveranstaltung_id.'">';
echo '<option value="">--</option>';
foreach ($lt as $lehrtyp=>$lt_kz)
{
if($lehrtyp == $row->lehrtyp_kurzbz)
$selected='selected';
else
$selected='';
echo '<option value="'.$db->convert_html_chars($lehrtyp).'" '.$selected.'>'.$db->convert_html_chars($lt_kz['bezeichnung']).'</option>';
}
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrtyp(\''.$row->lehrveranstaltung_id.'\',$(\'#lt'.$row->lehrveranstaltung_id.'\').val())">';
echo '</td>';
}
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrtyp(\''.$row->lehrveranstaltung_id.'\',$(\'#lt'.$row->lehrveranstaltung_id.'\').val())">';
else
{
echo '<td>';
foreach ($lt as $lehrtyp=>$lt_kz)
{
if($lehrtyp == $row->lehrtyp_kurzbz)
echo $db->convert_html_chars($lt_kz['bezeichnung']);
}
echo '</td>';
}
//lehrmodus
echo '<td style="white-space:nowrap;">';
echo '<SELECT id="lm'.$row->lehrveranstaltung_id.'">';
echo '<option value="">--</option>';
foreach ($lm as $lehrmodus => $lm_kz)
{
if($lehrmodus == $row->lehrmodus_kurzbz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$db->convert_html_chars($lehrmodus).'" '.$selected.'>'
.$db->convert_html_chars($lm_kz['bezeichnung_mehrsprachig']).'</option>';
}
echo '</SELECT><input type="button" value="ok" id="lf'.$row->lehrveranstaltung_id.'" onclick="changelehrmodus(\''.$row->lehrveranstaltung_id.'\',$(\'#lm'.$row->lehrveranstaltung_id.'\').val())">';
echo '</td>';
//Studiengang
echo '<td>'.$db->convert_html_chars($s[$row->studiengang_kz]->kurzbz).'</td>';
//Organisationsform
echo '<td style="white-space:nowrap;">';
echo ($row->orgform_kurzbz!=''?$db->convert_html_chars($row->orgform_kurzbz):'&nbsp;');
echo '</td>';
//Organisationseinheit
echo '<td>'.($row->oe_kurzbz != ''?$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->oe_bezeichnung):'-').'</td>';
//Semesterstunden
echo '<td>'.($row->semesterstunden!=''?$db->convert_html_chars($row->semesterstunden):'-').'</td>';
//ECTS
@@ -27,6 +27,7 @@
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/lehrtyp.class.php');
require_once('../../include/lehrmodus.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
@@ -104,6 +105,7 @@
$lv->projektarbeit = isset($_POST['projektarbeit']);
$lv->orgform_kurzbz = $_POST['orgform_kurzbz'];
$lv->lehrtyp_kurzbz = $_POST['lehrtyp_kurzbz'];
$lv->lehrmodus_kurzbz = $_POST['lehrmodus_kurzbz'];
$lv->oe_kurzbz = $_POST['oe_kurzbz'];
$lv->raumtyp_kurzbz = $_POST['raumtyp_kurzbz'];
$lv->anzahlsemester = $_POST['anzahlsemester'];
@@ -172,6 +174,7 @@
}
}
if (isset($_REQUEST['lv_id']) || isset($_REQUEST['neu']))
{
//wenn ein Fehler beim Speichern auftritt, dann sollen die alten Daten nochmals
@@ -283,6 +286,26 @@
$htmlstr .= '</select></td>
</tr>';
$htmlstr .= '
<td></td>
<td></td>
<td></td>
<td></td>
<td>Lehrmodus*</td>
<td><select name="lehrmodus_kurzbz"><option value="">-- keine Auswahl --</option>';
$lehrmodus_arr = new lehrmodus();
$lehrmodus_arr->getAll();
$sprache = getSprache();
foreach ($lehrmodus_arr->result as $lehrmodus)
{
if ($lehrmodus->lehrmodus_kurzbz == $lv->lehrmodus_kurzbz)
$sel = ' selected';
else
$sel = '';
$htmlstr .= '<option value="'.$lehrmodus->lehrmodus_kurzbz.'" '.$sel.'>'.$lehrmodus->bezeichnung_mehrsprachig[$sprache].'</option>';
}
$htmlstr .= '<tr>
<td>Sort</td>
<td><input type="text" name="sort" value="'.$lv->sort.'" maxlength="2"></td>
@@ -601,6 +624,16 @@
error = true;
$('select[name="lehrtyp_kurzbz"]').addClass("missingFormData");
}
if($('select[name="lehrmodus_kurzbz"]').val() === "")
{
error = true;
$('select[name="lehrmodus_kurzbz"]').addClass("missingFormData");
}
if($('input[name="lehreverzeichnis"]').val() === "")
{
error = true;
$('input[name="lehreverzeichnis"]').addClass("missingFormData");
}
if($('input[name="lehreverzeichnis"]').val() === "")
{
error = true;