diff --git a/application/controllers/Studentenverwaltung.php b/application/controllers/Studentenverwaltung.php index 64db67ef1..f2bb75b71 100644 --- a/application/controllers/Studentenverwaltung.php +++ b/application/controllers/Studentenverwaltung.php @@ -16,11 +16,15 @@ class Studentenverwaltung extends FHC_Controller { $this->load->library('AuthLib'); $this->load->library('PermissionLib'); + $this->load->library('VariableLib', ['uid' => getAuthUID()]); $this->load->view('Studentenverwaltung', [ 'permissions' => [ 'student/bpk' => $this->permissionlib->isBerechtigt('student/bpk'), 'student/alias' => $this->permissionlib->isBerechtigt('student/alias') + ], + 'variables' => [ + 'semester_aktuell' => $this->variablelib->getVar('semester_aktuell') ] ]); } diff --git a/application/controllers/components/stv/Students.php b/application/controllers/components/stv/Students.php index 941441466..ff4558400 100644 --- a/application/controllers/components/stv/Students.php +++ b/application/controllers/components/stv/Students.php @@ -8,6 +8,9 @@ class Students extends FHC_Controller { // TODO(chris): access! parent::__construct(); + + $this->load->library('AuthLib'); + $this->load->library('VariableLib', ['uid' => getAuthUID()]); } /** @@ -169,8 +172,7 @@ class Students extends FHC_Controller */ protected function getStudents($studiengang_kz, $semester = null, $verband = null, $gruppe = null, $gruppe_kurzbz = null, $orgform_kurzbz = null) { - // TODO(chris): stdSem from Variable - $studiensemester_kurzbz='SS2023'; + $studiensemester_kurzbz = $this->variablelib->getVar('semester_aktuell'); $this->load->model('crm/Prestudent_model', 'PrestudentModel'); @@ -277,8 +279,7 @@ class Students extends FHC_Controller */ protected function getStudent($student_uid) { - // TODO(chris): stdSem from Variable - $studiensemester_kurzbz='SS2023'; + $studiensemester_kurzbz = $this->variablelib->getVar('semester_aktuell'); $this->load->model('crm/Prestudent_model', 'PrestudentModel'); @@ -353,8 +354,7 @@ class Students extends FHC_Controller */ protected function getPrestudent($prestudent_id) { - // TODO(chris): stdSem from Variable - $studiensemester_kurzbz='SS2023'; + $studiensemester_kurzbz = $this->variablelib->getVar('semester_aktuell'); $this->load->model('crm/Prestudent_model', 'PrestudentModel'); diff --git a/application/controllers/components/stv/Studiensemester.php b/application/controllers/components/stv/Studiensemester.php new file mode 100644 index 000000000..3c23a1534 --- /dev/null +++ b/application/controllers/components/stv/Studiensemester.php @@ -0,0 +1,59 @@ +load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); + + $this->StudiensemesterModel->addOrder('start'); + + $result = $this->StudiensemesterModel->load(); + + if (isError($result)) { + $this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR); + $this->outputJson(getError($result)); + } elseif (!hasData($result)) { + $this->output->set_status_header(REST_Controller::HTTP_NOT_FOUND); + $this->outputJson('NOT FOUND'); + } else { + $this->outputJson(getData($result)); + } + } + + public function set() + { + $this->load->library('AuthLib'); + $this->load->library('form_validation'); + + $_POST = json_decode(utf8_encode($this->input->raw_input_stream), true); + + $this->form_validation->set_rules('studiensemester', 'Studiensemester', 'required'); + + if ($this->form_validation->run() == false) { + $this->output->set_status_header(HTTP_BAD_REQUEST); + return $this->outputJson($this->form_validation->error_array()); + } + + $stdsem = $this->input->post('studiensemester'); + + $this->load->model('system/Variable_model', 'VariableModel'); + + $result = $this->VariableModel->setVariable(getAuthUID(), 'semester_aktuell', $stdsem); + + if (isError($result)) { + $this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR); + return $this->outputJson(getError($result)); + } + + $this->outputJsonSuccess(true); + } +} diff --git a/application/views/Studentenverwaltung.php b/application/views/Studentenverwaltung.php index 5928a2b00..50a8ed3c4 100644 --- a/application/views/Studentenverwaltung.php +++ b/application/views/Studentenverwaltung.php @@ -26,6 +26,7 @@