mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Ferienverwaltung: CI code: made completely independent from studiengang, legacy code: made backwards compatible by including oe_kurzbz where applicable
This commit is contained in:
@@ -27,7 +27,6 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class Ferien extends FHCAPI_Controller
|
||||
{
|
||||
const DEFAULT_BERECHTIGUNG = 'basis/ferien';
|
||||
const DEFAULT_STUDIENGANG_KZ = 0;
|
||||
|
||||
/**
|
||||
* Calls the parent's constructor and prepares libraries and phrases
|
||||
@@ -40,7 +39,6 @@ class Ferien extends FHCAPI_Controller
|
||||
'getOe' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||
'getStudienplaene' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||
'getFerientypen' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||
'getStg' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||
'insert' => self::DEFAULT_BERECHTIGUNG.':w',
|
||||
'update' => self::DEFAULT_BERECHTIGUNG.':w',
|
||||
'delete' => self::DEFAULT_BERECHTIGUNG.':w'
|
||||
@@ -78,10 +76,9 @@ class Ferien extends FHCAPI_Controller
|
||||
|
||||
$this->FerienModel->addSelect(
|
||||
'tbl_ferien.ferien_id, tbl_ferien.bezeichnung, tbl_ferien.vondatum, tbl_ferien.bisdatum,
|
||||
plan.studienplan_id, stg.studiengang_kz, oe.oe_kurzbz, fetyp.ferientyp_kurzbz,
|
||||
oe.bezeichnung AS oe_bezeichnung, UPPER(stg.typ::varchar(1) || stg.kurzbz) AS studiengang_kuerzel,
|
||||
plan.studienplan_id, plan.bezeichnung AS studienplan_bezeichnung, fetyp.mitarbeiter AS mitarbeiterrelevant, fetyp.studierende AS studierendenrelevant,
|
||||
fetyp.lehre'
|
||||
plan.studienplan_id, oe.oe_kurzbz, fetyp.ferientyp_kurzbz, oe.bezeichnung AS oe_bezeichnung,
|
||||
plan.studienplan_id, plan.bezeichnung AS studienplan_bezeichnung, fetyp.mitarbeiter AS mitarbeiterrelevant,
|
||||
fetyp.studierende AS studierendenrelevant, fetyp.lehre'
|
||||
);
|
||||
$this->FerienModel->addJoin('public.tbl_studiengang stg', 'studiengang_kz', 'LEFT');
|
||||
$this->FerienModel->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
@@ -226,20 +223,6 @@ class Ferien extends FHCAPI_Controller
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of Studiengaenge
|
||||
*/
|
||||
public function getStg()
|
||||
{
|
||||
$this->StudiengangModel->addSelect(' tbl_studiengang.*, UPPER(typ::varchar(1) || kurzbz) AS kuerzel');
|
||||
$this->StudiengangModel->addOrder('typ, kurzbz');
|
||||
$result = $this->StudiengangModel->loadWhere(['aktiv' => true]);
|
||||
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Ferien
|
||||
*/
|
||||
@@ -253,13 +236,6 @@ class Ferien extends FHCAPI_Controller
|
||||
if (!$this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, 'suid', $data['oe_kurzbz']))
|
||||
return $this->terminateWithError($this->p->t('ui', 'keineBerechtigung'));
|
||||
|
||||
// get studiengang_kz from oe, otherwise default kz
|
||||
$this->StudiengangModel->addSelect('studiengang_kz');
|
||||
$this->StudiengangModel->addLimit(1);
|
||||
$result = $this->StudiengangModel->loadWhere(['oe_kurzbz' => $data['oe_kurzbz']]);
|
||||
|
||||
$data['studiengang_kz'] = hasData($result) ? getData($result)[0]->studiengang_kz : self::DEFAULT_STUDIENGANG_KZ;
|
||||
|
||||
$data = array_merge($data, ['insertamum' => date('c'), 'insertvon' => getAuthUID()]);
|
||||
|
||||
$id = $this->getDataOrTerminateWithError($this->FerienModel->insert($data));
|
||||
@@ -353,8 +329,7 @@ class Ferien extends FHCAPI_Controller
|
||||
{
|
||||
if (isset($ferien_id))
|
||||
{
|
||||
$this->FerienModel->addSelect('tbl_ferien.oe_kurzbz, stg.oe_kurzbz AS studiengang_oe_kurzbz, studiengang_kz');
|
||||
$this->FerienModel->addJoin('public.tbl_studiengang stg', 'studiengang_kz', 'LEFT');
|
||||
$this->FerienModel->addSelect('oe_kurzbz');
|
||||
$result = $this->FerienModel->load($ferien_id);
|
||||
|
||||
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||
@@ -363,12 +338,7 @@ class Ferien extends FHCAPI_Controller
|
||||
{
|
||||
$ferien = getData($result)[0];
|
||||
|
||||
if (isset($ferien->oe_kurzbz))
|
||||
$berechtigung_oe_kurzbz = $ferien->oe_kurzbz;
|
||||
elseif (isset($ferien->studiengang_oe_kurzbz))
|
||||
$berechtigung_oe_kurzbz = $ferien->studiengang_oe_kurzbz;
|
||||
|
||||
if ($this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, $typ, $berechtigung_oe_kurzbz)) return;
|
||||
if ($this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, $typ, $ferien->oe_kurzbz)) return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,12 +49,6 @@ export default {
|
||||
url: 'api/frontend/v1/education/ferien/getFerientypen'
|
||||
};
|
||||
},
|
||||
getStg() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/education/ferien/getStg'
|
||||
};
|
||||
},
|
||||
getDefaultVonBis() {
|
||||
return {
|
||||
method: 'get',
|
||||
|
||||
@@ -125,11 +125,13 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql_query="INSERT INTO lehre.tbl_ferien (studiengang_kz, bezeichnung, vondatum, bisdatum) VALUES(
|
||||
$sql_query="INSERT INTO lehre.tbl_ferien (studiengang_kz, bezeichnung, vondatum, bisdatum, oe_kurzbz) VALUES(
|
||||
".$db->db_add_param($_POST['studiengang_kz'], FHC_INTEGER).",
|
||||
".$db->db_add_param($_POST['bezeichnung']).",
|
||||
".$db->db_add_param($datum_obj->formatDatum($_POST['vondatum'],'Y-m-d')).",
|
||||
".$db->db_add_param($datum_obj->formatDatum($_POST['bisdatum'],'Y-m-d')).");";
|
||||
".$db->db_add_param($datum_obj->formatDatum($_POST['bisdatum'],'Y-m-d')).",
|
||||
CASE WHEN ".$db->db_add_param($_POST['studiengang_kz'], FHC_INTEGER)." = 0 THEN NULL
|
||||
ELSE (SELECT oe_kurzbz FROM public.tbl_studiengang WHERE studiengang_kz = ".$db->db_add_param($_POST['studiengang_kz'], FHC_INTEGER).") END);";
|
||||
//echo $sql_query;
|
||||
$db->db_query($sql_query);
|
||||
$stg_kz = $_POST['studiengang_kz'];
|
||||
@@ -251,7 +253,7 @@
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($stg_arr[$row->studiengang_kz]).'</td>
|
||||
<td>'.$db->convert_html_chars($stg_arr[$row->studiengang_kz] ?? '').'</td>
|
||||
<td>'.$db->convert_html_chars($row->vondatum).'</td>
|
||||
<td>'.$db->convert_html_chars($row->bisdatum).'</td>
|
||||
<td>'.$db->convert_html_chars($row->bezeichnung).'</td>';
|
||||
|
||||
Reference in New Issue
Block a user