mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-17 12:09:28 +00:00
Changed query to get Leitung of Lehrveranstaltung-Organisationseinheit (instead of 'Fachbereich')
This commit is contained in:
@@ -231,7 +231,7 @@ class approveAnrechnungDetail extends Auth_Controller
|
||||
// Get Fachbereichsleitung or LV Leitung.
|
||||
if($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$result = $this->anrechnunglib->getFachbereichleitung($anrechnung_id);
|
||||
$result = $this->anrechnunglib->getLeitungOfLvOe($anrechnung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -487,7 +487,7 @@ class approveAnrechnungDetail extends Auth_Controller
|
||||
* **/
|
||||
if ($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$receiver_arr = $this->_getFachbereichleitung($lehrveranstaltung_id);
|
||||
$receiver_arr = $this->_getLeitungOfLvOe($lehrveranstaltung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -578,12 +578,12 @@ class approveAnrechnungDetail extends Auth_Controller
|
||||
|
||||
}
|
||||
|
||||
// Get Fachbereichsleitungen
|
||||
private function _getFachbereichleitung($lehrveranstaltung_id)
|
||||
// Get Leitungen of Lehrveranstaltungs-Organisationseinheit
|
||||
private function _getLeitungOfLvOe($lehrveranstaltung_id)
|
||||
{
|
||||
$result = $this->LehrveranstaltungModel->getFachbereichByLv($lehrveranstaltung_id);
|
||||
$result = $this->LehrveranstaltungModel->getLeitungOfLvOe($lehrveranstaltung_id);
|
||||
|
||||
return hasData($result) ? getData($result) : show_error('Failed retrieving Fachbereichsleitung');
|
||||
return hasData($result) ? getData($result) : show_error('Failed retrieving Leitung of Lehrveranstaltungs-Organisationseinheit');
|
||||
}
|
||||
|
||||
private function _saveEmpfehlungsNotiz($anrechnung_id, $empfehlungstext, $notiz_id)
|
||||
|
||||
@@ -227,7 +227,7 @@ class approveAnrechnungUebersicht extends Auth_Controller
|
||||
// Get full name of Fachbereichsleitung or LV Leitung.
|
||||
if($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$result = $this->anrechnunglib->getFachbereichleitung($item['anrechnung_id']);
|
||||
$result = $this->anrechnunglib->getLeitungOfLvOe($item['anrechnung_id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -370,7 +370,7 @@ class approveAnrechnungUebersicht extends Auth_Controller
|
||||
**/
|
||||
if($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$receiver_arr = $this->_getFachbereichleitung($anrechnung_arr);
|
||||
$receiver_arr = $this->_getLeitungOfLvOe($anrechnung_arr);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -467,32 +467,32 @@ class approveAnrechnungUebersicht extends Auth_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Fachbereichsleitung with unique uids.
|
||||
* Get Leitungen of Lehrveranstaltungs-Organisationseinheit with unique uids.
|
||||
*
|
||||
* @param $anrechnung_arr
|
||||
* @return array
|
||||
*/
|
||||
private function _getFachbereichleitung($anrechnung_arr)
|
||||
private function _getLeitungOfLvOe($anrechnung_arr)
|
||||
{
|
||||
$fbl_arr = array();
|
||||
$oeLeitung_arr = array();
|
||||
|
||||
// Get lectors
|
||||
// Get Leitungen
|
||||
foreach($anrechnung_arr as $anrechnung)
|
||||
{
|
||||
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
|
||||
$result = $this->LehrveranstaltungModel->getFachbereichByLv($anrechnung['lehrveranstaltung_id']);
|
||||
$result = $this->LehrveranstaltungModel->getLeitungOfLvOe($anrechnung['lehrveranstaltung_id']);
|
||||
|
||||
if (!hasData($result))
|
||||
{
|
||||
show_error('No Fachbereichsleitung found');
|
||||
show_error('No Leitung found');
|
||||
}
|
||||
|
||||
$fbl_arr = array_merge($fbl_arr, getData($result));
|
||||
$oeLeitung_arr = array_merge($oeLeitung_arr, getData($result));
|
||||
}
|
||||
|
||||
// Make Fachbereichsleiter array unique
|
||||
$fbl_arr = array_unique($fbl_arr, SORT_REGULAR);
|
||||
// Make array unique
|
||||
$oeLeitung_arr = array_unique($oeLeitung_arr, SORT_REGULAR);
|
||||
|
||||
return $fbl_arr;
|
||||
return $oeLeitung_arr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +269,7 @@ class reviewAnrechnungDetail extends Auth_Controller
|
||||
|
||||
if($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$result = $this->LehrveranstaltungModel->getFachbereichByLv($result->lehrveranstaltung_id);
|
||||
$result = $this->LehrveranstaltungModel->getLeitungOfLvOe($result->lehrveranstaltung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -304,7 +304,7 @@ class reviewAnrechnungDetail extends Auth_Controller
|
||||
|
||||
if($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$result = $this->LehrveranstaltungModel->getFachbereichByLv($result->lehrveranstaltung_id);
|
||||
$result = $this->LehrveranstaltungModel->getLeitungOfLvOe($result->lehrveranstaltung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -75,7 +75,8 @@ class reviewAnrechnungUebersicht extends Auth_Controller
|
||||
}
|
||||
|
||||
$viewData = array(
|
||||
'studiensemester_selected' => $studiensemester_kurzbz
|
||||
'studiensemester_selected' => $studiensemester_kurzbz,
|
||||
'configFachbereichsleitung' => $this->config->item('fbl')
|
||||
);
|
||||
|
||||
$this->load->view('lehre/anrechnung/reviewAnrechnungUebersicht.php', $viewData);
|
||||
@@ -228,7 +229,7 @@ class reviewAnrechnungUebersicht extends Auth_Controller
|
||||
|
||||
if ($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$result = $this->LehrveranstaltungModel->getFachbereichByLv($result->lehrveranstaltung_id);
|
||||
$result = $this->LehrveranstaltungModel->getLeitungOfLvOe($result->lehrveranstaltung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -289,10 +289,10 @@ class AnrechnungLib
|
||||
{
|
||||
$empfehlung_data->empfehlungsanfrageAm = (new DateTime($result->retval[0]->insertamum))->format('d.m.Y');
|
||||
|
||||
// Get users who received request for recommendation (Fachbereichsleitung / Lektor)
|
||||
// Get users who received request for recommendation
|
||||
if($this->ci->config->item('fbl') === TRUE)
|
||||
{
|
||||
$res = $this->getFachbereichleitung($anrechnung_id);
|
||||
$res = $this->getLeitungOfLvOe($anrechnung_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -843,37 +843,37 @@ class AnrechnungLib
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Fachbereichsleitung.
|
||||
* Get Leitung of Lehrveranstaltungs-Organisationseinheit.
|
||||
*
|
||||
* @param $anrechnung_id
|
||||
* @return false|mixed|null
|
||||
*/
|
||||
public function getFachbereichleitung($anrechnung_id)
|
||||
public function getLeitungOfLvOe($anrechnung_id)
|
||||
{
|
||||
$this->ci->AnrechnungModel->addSelect('lehrveranstaltung_id');
|
||||
$result = $this->ci->AnrechnungModel->load($anrechnung_id);
|
||||
|
||||
$lehrveranstaltung_id = getData($result)[0]->lehrveranstaltung_id;
|
||||
|
||||
// Get FBLs
|
||||
$result = $this->ci->LehrveranstaltungModel->getFachbereichByLv($lehrveranstaltung_id);
|
||||
// Get Leitungen
|
||||
$result = $this->ci->LehrveranstaltungModel->getLeitungOfLvOe($lehrveranstaltung_id);
|
||||
|
||||
if (!hasData($result))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$fbl_arr = getData($result);
|
||||
$oeLeitung_arr = getData($result);
|
||||
|
||||
foreach ($fbl_arr as $fbl)
|
||||
foreach ($oeLeitung_arr as $oeLeitung)
|
||||
{
|
||||
$fbl->fullname = $fbl->vorname. ' '. $fbl->nachname;
|
||||
$oeLeitung->fullname = $oeLeitung->vorname. ' '. $oeLeitung->nachname;
|
||||
}
|
||||
|
||||
// Now make the fbl array unique
|
||||
$fbl_arr = array_unique($fbl_arr, SORT_REGULAR);
|
||||
// Now make the array unique
|
||||
$oeLeitung_arr = array_unique($oeLeitung_arr, SORT_REGULAR);
|
||||
|
||||
return $fbl_arr;
|
||||
return $oeLeitung_arr;
|
||||
}
|
||||
|
||||
// Return an object with Anrechnungdata
|
||||
|
||||
@@ -201,13 +201,13 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
return $this->execQuery($query, array($lehrveranstaltung_id, $studiensemester_kurzbz));
|
||||
}
|
||||
/**
|
||||
* Gets all fachbereichsleiter of a Lehrveranstaltung
|
||||
* Gets all Leiter of Lehrveranstaltungsorganisationseinheit
|
||||
* @param $lehrveranstaltung_id
|
||||
* @return array|null
|
||||
*/
|
||||
public function getFachbereichByLv($lehrveranstaltung_id)
|
||||
public function getLeitungOfLvOe($lehrveranstaltung_id)
|
||||
{
|
||||
$query = "select distinct vorname, nachname, uid, true as lvleiter
|
||||
$query = "select distinct vorname, nachname, uid
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung lv
|
||||
JOIN public.tbl_organisationseinheit og using (oe_kurzbz)
|
||||
@@ -217,8 +217,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
where
|
||||
bf.datum_von <= now()::date
|
||||
and (bf.datum_bis >= now()::date or bf.datum_bis is null)
|
||||
and bf.funktion_kurzbz = 'Leitung'
|
||||
AND og.organisationseinheittyp_kurzbz = 'Fachbereich'
|
||||
and bf.funktion_kurzbz = 'Leitung' -- Leitung of LV-OE
|
||||
and lehrveranstaltung_id = ?";
|
||||
|
||||
return $this->execQuery($query, array($lehrveranstaltung_id));
|
||||
|
||||
@@ -69,39 +69,26 @@ $this->load->config('anrechnung');
|
||||
if ($this->config->item('fbl') === TRUE)
|
||||
{
|
||||
$query.= '
|
||||
SELECT DISTINCT /*ON (anrechnungen.*, bf.uid)*/
|
||||
CASE
|
||||
-- erst prüfen, ob es überhaupt eine LV Leitung gibt (wenn nicht, dann immer empfehlungsberechtigt)
|
||||
WHEN EXISTS (SELECT 1 FROM tbl_lvleitungen WHERE lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id AND lvleiter = TRUE)
|
||||
-- wenn ja, return true, wenn user LV Leitung ist oder false, wenn nicht
|
||||
THEN (SELECT EXISTS (SELECT 1 FROM tbl_lvleitungen WHERE lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id AND lvleiter = TRUE AND uid = \'' . $LEKTOR_UID . '\'))
|
||||
-- wenn es keine LV Leitung, return immer true
|
||||
ELSE TRUE
|
||||
END AS empfehlungsberechtigt,
|
||||
anrechnungen.*,
|
||||
anrechnungstatus.bezeichnung_mehrsprachig[' . $LANGUAGE_INDEX . '] AS "status_bezeichnung"
|
||||
SELECT
|
||||
-- immer empfehlungsberechtigt, da hier nur Leitungen der LV-OE eine Empfehlungsanfrage erhalten
|
||||
TRUE AS empfehlungsberechtigt,
|
||||
anrechnungen.*
|
||||
FROM anrechnungen
|
||||
JOIN lehre.tbl_anrechnungstatus as anrechnungstatus ON (anrechnungstatus.status_kurzbz = anrechnungen.status_kurzbz)
|
||||
JOIN lehre.tbl_lehreinheit le USING (lehrveranstaltung_id)
|
||||
/*JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)*/
|
||||
JOIN lehre.tbl_lehrveranstaltung lv using (lehrveranstaltung_id)
|
||||
JOIN public.tbl_organisationseinheit og using (oe_kurzbz)
|
||||
JOIN public.tbl_benutzerfunktion bf using (oe_kurzbz)
|
||||
WHERE anrechnungen.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND le.studiensemester_kurzbz = anrechnungen.studiensemester_kurzbz
|
||||
/*AND lema.mitarbeiter_uid = \'' . $LEKTOR_UID . '\'*/
|
||||
AND le.lehre = TRUE
|
||||
AND bf.funktion_kurzbz = \'Leitung\'
|
||||
JOIN public.tbl_organisationseinheit og using (oe_kurzbz) -- OE der LV
|
||||
JOIN public.tbl_benutzerfunktion bf using (oe_kurzbz)
|
||||
-- Aktive Leitung der LV-OE
|
||||
WHERE bf.funktion_kurzbz = \'Leitung\'
|
||||
and bf.datum_von <= now()
|
||||
and (bf.datum_bis >= now() or bf.datum_bis is null)
|
||||
AND og.organisationseinheittyp_kurzbz = \'Fachbereich\'
|
||||
AND bf.uid = \'' . $LEKTOR_UID . '\'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM lehre.tbl_anrechnung_anrechnungstatus
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz=\'inProgressLektor\'
|
||||
)
|
||||
-- check, dass es für diese Anrechnung eine Empfehlungsanfrage gibt
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM lehre.tbl_anrechnung_anrechnungstatus
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz=\'inProgressLektor\'
|
||||
)
|
||||
order by empfehlung_anrechnung NULLS FIRST, antragsdatum
|
||||
';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user