From 8860969649b69c5dae644b19e192bc94a7c964a7 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 16 Jul 2024 07:47:18 +0200 Subject: [PATCH] bugfix redraw only if table, refactor generate_personenkennzeichen --- .../controllers/api/frontend/v1/stv/Status.php | 17 ++++++++++++----- .../Details/Prestudent/MultiStatus.js | 5 ++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Status.php b/application/controllers/api/frontend/v1/stv/Status.php index aa779c78f..15499557c 100644 --- a/application/controllers/api/frontend/v1/stv/Status.php +++ b/application/controllers/api/frontend/v1/stv/Status.php @@ -2,6 +2,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); +use CI3_Events as Events; use \DateTime as DateTime; class Status extends FHCAPI_Controller @@ -879,12 +880,18 @@ class Status extends FHCAPI_Controller $semesterAufgenommen = current(getData($result)); //generate Personenkennzeichen(matrikelnr) - $resultMat = $this->StudentModel->generateMatrikelnummer2($stg, $semesterAufgenommen->studiensemester_kurzbz, $typ); - if (isError($resultMat)) { - return $this->terminateWithError($resultMat, self::ERROR_TYPE_GENERAL); + $matrikelnr = false; + Events::trigger('generate_personenkennzeichen', $stg, $semesterAufgenommen, $typ, function ($value) use ($matrikelnr) { + $matrikelnr = $value; + }); + if ($matrikelnr === false) { + $resultMat = $this->StudentModel->generateMatrikelnummer2($stg, $semesterAufgenommen->studiensemester_kurzbz, $typ); + if (isError($resultMat)) { + return $this->terminateWithError($resultMat, self::ERROR_TYPE_GENERAL); + } + $matrikelnr = getData($resultMat); } - $matrikelnr = getData($resultMat); - $jahr = mb_substr($matrikelnr, 0, 2); + $jahr = mb_substr($semesterAufgenommen, 4, 2); //generate UID $resultUid = $this->StudentModel->generateUID($stgkzl, $jahr, $typ, $matrikelnr); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js index 7259b83a3..a62f7cde9 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js @@ -781,9 +781,8 @@ export default{ .get('api/frontend/v1/stv/status/getLastBismeldestichtag/') .then(result => { this.dataMeldestichtag = result.data[0].meldestichtag; - //TODO(Manu) wirft plötzlich fehler bei multiselect status - // if (this.$refs.table.tableBuilt) - // this.$refs.table.tabulator.redraw(true); + if (this.$refs.table && this.$refs.table.tableBuilt) + this.$refs.table.tabulator.redraw(true); }) .catch(this.$fhcAlert.handleSystemError); },