StV settings

This commit is contained in:
chfhtw
2025-11-10 12:38:57 +01:00
parent 5ecd81bb09
commit 775d865878
7 changed files with 249 additions and 2 deletions
@@ -33,6 +33,8 @@ class Config extends FHCAPI_Controller
{
// TODO(chris): permissions
parent::__construct([
'get' => ['admin:r', 'assistenz:r'],
'set' => ['admin:r', 'assistenz:r'],
'student' => ['admin:r', 'assistenz:r'],
'students' => ['admin:r', 'assistenz:r']
]);
@@ -52,6 +54,65 @@ class Config extends FHCAPI_Controller
$this->load->config('stv');
}
/**
* get App config
*/
public function get()
{
$this->load->model('system/Variable_model', 'VariableModel');
$this->load->config('stv');
$config = [];
$result = $this->VariableModel->getVariables(getAuthUID(), ['number_displayed_past_studiensemester']);
$data = $this->getDataOrTerminateWithError($result);
$number_displayed_past_studiensemester_default = $this->config->item('number_displayed_past_studiensemester_default');
$config['number_displayed_past_studiensemester'] = [
"type" => "number",
"label" => "Anzahl angezeigter vergangender Studiensemester",// TODO(chris): phrase
"value" => $data['number_displayed_past_studiensemester']
?? $number_displayed_past_studiensemester_default
];
// TODO(chris): Event
$this->terminateWithSuccess($config);
}
/**
* set App config
*/
public function set()
{
// TODO(chris): rewrite to batch saving
$this->load->model('system/Variable_model', 'VariableModel');
$this->load->library('form_validation');
$this->form_validation->set_rules(
'number_displayed_past_studiensemester',
"Anzahl angezeigter vergangender Studiensemester",// TODO(chris): phrase
'required|integer'
);
// TODO(chris): Event
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$this->VariableModel->setVariable(
getAuthUID(),
'number_displayed_past_studiensemester',
$this->input->post('number_displayed_past_studiensemester')
);
// TODO(chris): Event
$this->terminateWithSuccess();
}
public function student()
{
$result = [];
@@ -188,6 +188,7 @@ class Verband extends FHCAPI_Controller
array_unshift($list, [
'name' => 'PreStudent',
'link' => $link . 'prestudent',
'no_sem_reload' => true,
'stg_kz' => (int)$studiengang_kz,
'children' => $this->getStdSem($link . 'prestudent/', $studiengang_kz)
]);