Added GUI for adding Bismeldestichtag

This commit is contained in:
KarpAlex
2023-06-10 21:40:28 +02:00
parent f95c5ec7cf
commit e6b47266b9
7 changed files with 309 additions and 27 deletions
@@ -14,19 +14,23 @@ class Bismeldestichtag extends Auth_Controller
{
parent::__construct(
array(
'index' => 'admin:r'
'index' => 'admin:r',
'addBismeldestichtag' => 'admin:rw',
'getStudiensemester' => 'admin:r'
)
);
// Loads WidgetLib
$this->load->library('WidgetLib');
// Load models
$this->load->model('codex/Bismeldestichtag_model', 'BismeldestichtagModel');
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
// Loads phrases system
$this->loadPhrases(
array(
'global',
'ui',
'filter'
'bismeldestichtag'
)
);
}
@@ -41,4 +45,64 @@ class Bismeldestichtag extends Auth_Controller
{
$this->load->view('codex/bismeldestichtag.php');
}
public function getStudiensemester()
{
// load semester list
$semList = array();
$this->StudiensemesterModel->addSelect('studiensemester_kurzbz');
$this->StudiensemesterModel->addOrder('start', 'DESC');
$semRes = $this->StudiensemesterModel->load();
if (hasData($semRes))
{
$semList = getData($semRes);
}
// load current semester
$currSem = null;
$semRes = $this->StudiensemesterModel->getAkt();
if (hasData($semRes))
{
$currSem = getData($semRes)[0]->studiensemester_kurzbz;
}
// output data
$this->outputJsonSuccess(
array('semList' => $semList, 'currSem' => $currSem)
);
}
public function addBismeldestichtag()
{
// get request data
$request = $this->getPostJSON();
// check request data
if (!property_exists($request, 'meldestichtag') || isEmptyString($request->meldestichtag))
$this->terminateWithJsonError('Error occured: Meldestichtag missing');
if (!property_exists($request, 'studiensemester_kurzbz') || isEmptyString($request->studiensemester_kurzbz))
$this->terminateWithJsonError('Error occured: Studiensemester missing');
$meldestichtag = $request->meldestichtag;
$studiensemester_kurzbz = $request->studiensemester_kurzbz;
// check if Bismeldestichtag already exists
$this->BismeldestichtagModel->addSelect('1');
$bismeldestichtagRes = $this->BismeldestichtagModel->loadWhere(
array('meldestichtag' => $meldestichtag, 'studiensemester_kurzbz' => $studiensemester_kurzbz)
);
// return success if already exists
if (hasData($bismeldestichtagRes))
$this->outputJsonSuccess('Bismeldestichtag already exists');
else
{
// insert new if Stichtag does not exist
$this->outputJson($this->BismeldestichtagModel->insert(
array('meldestichtag' => $request->meldestichtag, 'studiensemester_kurzbz' => $request->studiensemester_kurzbz)
));
}
}
}