From c9471c344d146b4cb07969e6267409f58006e7a2 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Wed, 31 Jul 2024 14:37:26 +0200 Subject: [PATCH 01/19] added unruly person boolean column to tbl_person; studStatus/leitung added a checkbox to mark persons as unruly unrelated to studstatus datastate; --- .../api/frontend/v1/studstatus/Abmeldung.php | 5 +- .../frontend/v1/unrulyperson/UnrulyPerson.php | 51 ++++++++++++ .../controllers/lehre/Studierendenantrag.php | 8 +- .../system/infocenter/InfoCenter.php | 10 ++- application/libraries/AntragLib.php | 22 ++--- .../models/crm/Prestudentstatus_model.php | 3 +- .../education/Studierendenantrag_model.php | 16 +++- application/models/person/Person_model.php | 26 +++++- application/views/lehre/Antrag/Create.php | 3 +- .../system/infocenter/infocenterDetails.php | 19 ++++- public/js/api/fhcapifactory.js | 6 +- public/js/api/unrulyperson.js | 13 +++ .../components/Studierendenantrag/Antrag.js | 6 +- .../Studierendenantrag/Form/AbmeldungStgl.js | 21 ++++- .../Studierendenantrag/Leitung/Table.js | 5 +- system/dbupdate_3.4.php | 5 +- .../40896_kennzeichnung_unruly_person.php | 17 ++++ system/phrasesupdate.php | 82 ++++++++++++++++++- 18 files changed, 283 insertions(+), 35 deletions(-) create mode 100644 application/controllers/api/frontend/v1/unrulyperson/UnrulyPerson.php create mode 100644 public/js/api/unrulyperson.js create mode 100644 system/dbupdate_3.4/40896_kennzeichnung_unruly_person.php diff --git a/application/controllers/api/frontend/v1/studstatus/Abmeldung.php b/application/controllers/api/frontend/v1/studstatus/Abmeldung.php index 875b6484c..87fec9918 100644 --- a/application/controllers/api/frontend/v1/studstatus/Abmeldung.php +++ b/application/controllers/api/frontend/v1/studstatus/Abmeldung.php @@ -136,6 +136,7 @@ class Abmeldung extends FHCAPI_Controller $grund = $this->input->post('grund'); $studiensemester = $this->input->post('studiensemester'); $prestudent_id = $this->input->post('prestudent_id'); + $unruly = $this->input->post('unruly'); $result = $this->antraglib->getPrestudentAbmeldeBerechtigt($prestudent_id); $result = $this->getDataOrTerminateWithError($result); @@ -146,7 +147,7 @@ class Abmeldung extends FHCAPI_Controller elseif ($result < 0) $this->terminateWithError($this->p->t('studierendenantrag', 'error_antrag_exists'), self::ERROR_TYPE_GENERAL); - $result = $this->antraglib->createAbmeldung($prestudent_id, $studiensemester, getAuthUID(), $grund); + $result = $this->antraglib->createAbmeldung($prestudent_id, $studiensemester, getAuthUID(), $grund, $unruly); $data = $this->getDataOrTerminateWithError($result); $result = $this->antraglib->getDetailsForAntrag($data); @@ -184,4 +185,4 @@ class Abmeldung extends FHCAPI_Controller $this->terminateWithSuccess($data); } -} +} \ No newline at end of file diff --git a/application/controllers/api/frontend/v1/unrulyperson/UnrulyPerson.php b/application/controllers/api/frontend/v1/unrulyperson/UnrulyPerson.php new file mode 100644 index 000000000..a1673739a --- /dev/null +++ b/application/controllers/api/frontend/v1/unrulyperson/UnrulyPerson.php @@ -0,0 +1,51 @@ +. + */ + +if (! defined('BASEPATH')) exit('No direct script access allowed'); + +class UnrulyPerson extends FHCAPI_Controller +{ + + // TODO: BERECHTIGUNGEN + public function __construct() + { + parent::__construct([ + 'updatePersonUnrulyStatus' => 'basis/mitarbeiter:rw' + ]); + + $this->_ci =& get_instance(); + $this->_ci->load->model('person/Person_model', 'PersonModel'); + } + + public function updatePersonUnrulyStatus() + { + $data = json_decode($this->input->raw_input_stream, true); + + $person_id = $data['person_id']; + $unruly = $data['unruly']; + + $result = $this->_ci->PersonModel->updateUnruly($person_id, $unruly); + + if(isError($result)) { + $this->terminateWithError($result); + } else if (isSuccess($result)) { + $this->terminateWithSuccess($result); + } + + } +} \ No newline at end of file diff --git a/application/controllers/lehre/Studierendenantrag.php b/application/controllers/lehre/Studierendenantrag.php index d6d6b2c50..3baf30355 100644 --- a/application/controllers/lehre/Studierendenantrag.php +++ b/application/controllers/lehre/Studierendenantrag.php @@ -21,6 +21,7 @@ class Studierendenantrag extends FHC_Controller // Load Models $this->load->model('education/Studierendenantrag_model', 'StudierendenantragModel'); + $this->load->model('person/Person_model', 'PersonModel'); // Load language phrases $this->loadPhrases([ @@ -102,10 +103,13 @@ class Studierendenantrag extends FHC_Controller public function abmeldungstgl($prestudent_id, $studierendenantrag_id = null) { + $unruly = getData($this->PersonModel->loadPrestudent($prestudent_id))[0]->unruly; + $this->load->view('lehre/Antrag/Create', [ 'prestudent_id' => $prestudent_id, 'studierendenantrag_id' => $studierendenantrag_id, - 'antrag_type' => 'AbmeldungStgl' + 'antrag_type' => 'AbmeldungStgl', + 'unruly' => $unruly ]); } @@ -185,4 +189,4 @@ class Studierendenantrag extends FHC_Controller return $strRequiredPermissions; } -} +} \ No newline at end of file diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index cf0c6755a..d5cb50a00 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -337,10 +337,13 @@ class InfoCenter extends Auth_Controller $persondata = $this->_loadPersonData($person_id); $checkPerson = $this->PersonModel->checkDuplicate($person_id); - if (isError($checkPerson)) show_error(getError($checkPerson)); + $checkUnruly = $this->PersonModel->checkUnruly($persondata['stammdaten']->vorname, $persondata['stammdaten']->nachname, $persondata['stammdaten']->gebdatum); + if (isError($checkUnruly)) show_error(getError($checkUnruly)); + $duplicate = array('duplicated' => getData($checkPerson)); + $unruly = array('unruly' => getData($checkUnruly)); $prestudentdata = $this->_loadPrestudentData($person_id); @@ -351,7 +354,8 @@ class InfoCenter extends Auth_Controller $persondata, $prestudentdata, $dokumentdata, - $duplicate + $duplicate, + $unruly ); $data[self::FHC_CONTROLLER_ID] = $this->getControllerId(); @@ -2383,4 +2387,4 @@ class InfoCenter extends Auth_Controller $this->outputJsonSuccess("Success"); } -} +} \ No newline at end of file diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php index ce4485279..41b6e4ced 100644 --- a/application/libraries/AntragLib.php +++ b/application/libraries/AntragLib.php @@ -911,7 +911,7 @@ class AntragLib public function createWiederholung($prestudent_id, $studiensemester_kurzbz, $insertvon, $repeat) { $result = $this->_ci->StudierendenantragModel->loadIdAndStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 'studiensemester_kurzbz'=> $studiensemester_kurzbz, 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG ]); @@ -1341,7 +1341,7 @@ class AntragLib if (!in_array($result->status_kurzbz, $this->_ci->config->item('antrag_prestudentstatus_whitelist_abmeldung'))) { $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 's.studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED ], [ Studierendenantrag_model::TYP_ABMELDUNG, @@ -1353,7 +1353,7 @@ class AntragLib return success(-1); $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 's.studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_PAUSE ], [ Studierendenantrag_model::TYP_ABMELDUNG, @@ -1367,7 +1367,7 @@ class AntragLib return success(0); } - $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id]); + $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['tbl_studierendenantrag.prestudent_id' => $prestudent_id]); if (isError($result)) return $result; if (!hasData($result)) @@ -1428,7 +1428,7 @@ class AntragLib && $result->status_kurzbz != 'Unterbrecher') { return success(0); } - $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id]); + $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['tbl_studierendenantrag.prestudent_id' => $prestudent_id]); if (isError($result)) return $result; if (!hasData($result)) @@ -1510,7 +1510,7 @@ class AntragLib $datumStatus = $result->datum; if (!in_array($result->status_kurzbz, $this->_ci->config->item('antrag_prestudentstatus_whitelist'))) { $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG, 's.studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED ]); @@ -1520,7 +1520,7 @@ class AntragLib return success(-1); $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG, 's.studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_DEREGISTERED ]); @@ -1530,7 +1530,7 @@ class AntragLib return success(-1); $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([ - 'prestudent_id' => $prestudent_id, + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id, 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG, 's.studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_PAUSE ]); @@ -1541,7 +1541,7 @@ class AntragLib return success(0); } - $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id]); + $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['tbl_studierendenantrag.prestudent_id' => $prestudent_id]); if (isError($result)) return $result; if (!hasData($result)) @@ -1594,7 +1594,7 @@ class AntragLib public function getDetailsForLastAntrag($prestudent_id, $typ = null) { $where = [ - 'prestudent_id' => $prestudent_id + 'tbl_studierendenantrag.prestudent_id' => $prestudent_id ]; $types = null; if ($typ) { @@ -2180,4 +2180,4 @@ class AntragLib $result = $this->_ci->StudierendenantraglehrveranstaltungModel->getLvsForPrestudent($prestudent_id, $studiensemester_kurzbz); return $result; } -} +} \ No newline at end of file diff --git a/application/models/crm/Prestudentstatus_model.php b/application/models/crm/Prestudentstatus_model.php index b3dc45321..f5435a1df 100644 --- a/application/models/crm/Prestudentstatus_model.php +++ b/application/models/crm/Prestudentstatus_model.php @@ -280,6 +280,7 @@ class Prestudentstatus_model extends DB_Model $this->addSelect('ss.studienjahr_kurzbz'); $this->addSelect('pers.vorname'); $this->addSelect('pers.nachname'); + $this->addSelect('pers.unruly'); $this->addSelect('TRIM(CONCAT(pers.vorname, \' \', pers.nachname)) AS name'); $this->addSelect('pers.person_id'); $this->addSelect('g.studiengang_kz'); @@ -339,4 +340,4 @@ class Prestudentstatus_model extends DB_Model return $this; } -} +} \ No newline at end of file diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php index e138d1a1c..e86ef6be0 100644 --- a/application/models/education/Studierendenantrag_model.php +++ b/application/models/education/Studierendenantrag_model.php @@ -38,6 +38,7 @@ class Studierendenantrag_model extends DB_Model $this->addSelect('studienjahr_kurzbz'); $this->addSelect('vorname'); $this->addSelect('nachname'); + $this->addSelect('unruly'); $this->addSelect('p.prestudent_id'); $this->addSelect('p.studiengang_kz'); $this->addSelect('semester'); @@ -148,6 +149,7 @@ class Studierendenantrag_model extends DB_Model $this->addSelect('s.studierendenantrag_statustyp_kurzbz status'); $this->addSelect('s.insertvon status_insertvon'); $this->addSelect('t.bezeichnung[(' . $lang . ')] statustyp'); + $this->addSelect('p.unruly AS unruly'); $this->addJoin( 'campus.tbl_studierendenantrag_status s', @@ -157,6 +159,18 @@ class Studierendenantrag_model extends DB_Model 'campus.tbl_studierendenantrag_statustyp t', 's.studierendenantrag_statustyp_kurzbz=t.studierendenantrag_statustyp_kurzbz' ); + $this->addJoin( + 'public.tbl_student st', + 'st.prestudent_id=tbl_studierendenantrag.prestudent_id' + ); + $this->addJoin( + 'public.tbl_benutzer b', + 'st.student_uid=b.uid' + ); + $this->addJoin( + 'public.tbl_person p', + 'b.person_id=p.person_id' + ); if ($types && is_array($types)) { $this->db->where_in('typ', $types); @@ -471,4 +485,4 @@ class Studierendenantrag_model extends DB_Model return hasData($this->load()); } -} +} \ No newline at end of file diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 88813220e..c3a6c34f1 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -374,5 +374,29 @@ class Person_model extends DB_Model 'prestudent_id' => $prestudent_id ]); } -} + public function checkUnruly($vorname, $nachname, $gebdatum) + { + $qry = "SELECT * + FROM tbl_person + WHERE tbl_person.vorname = ? + AND tbl_person.nachname = ? + AND tbl_person.gebdatum = ? + AND tbl_person.unruly = TRUE;"; + + return $this->execQuery($qry, [$vorname, $nachname, $gebdatum]); + } + + public function updateUnruly($person_id, $unruly) + { + $result = $this->update($person_id, array( + 'unruly' => $unruly + )); + + if (isError($result)) { + return error($result->msg, EXIT_ERROR); + } else if (isSuccess($result) && hasData($result)) { + return success($result); + } + } +} \ No newline at end of file diff --git a/application/views/lehre/Antrag/Create.php b/application/views/lehre/Antrag/Create.php index 91b20c9b7..f4a7d1c3c 100644 --- a/application/views/lehre/Antrag/Create.php +++ b/application/views/lehre/Antrag/Create.php @@ -35,6 +35,7 @@ $this->load->view( :prestudent-id="" antrag-type="" :studierendenantrag-id="" + :unruly="" v-model:info-array="infoArray" v-model:status-msg="status.msg" v-model:status-severity="status.severity" @@ -52,4 +53,4 @@ $this->load->view( $this->load->view( 'templates/FHC-Footer', $sitesettings -); +); \ No newline at end of file diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index a8e6e3e13..53fbda8b5 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -74,6 +74,22 @@ + +
+

+ p->t('infocenter', 'unrulyPersonFound') . ':'; ?> +

+
+ person_id . '
'; + } + ?> +
+ +
+

@@ -201,5 +217,4 @@

-load->view('templates/FHC-Footer', $includesArray); ?> - +load->view('templates/FHC-Footer', $includesArray); ?> \ No newline at end of file diff --git a/public/js/api/fhcapifactory.js b/public/js/api/fhcapifactory.js index f496cd491..1448be1dd 100644 --- a/public/js/api/fhcapifactory.js +++ b/public/js/api/fhcapifactory.js @@ -21,6 +21,7 @@ import navigation from "./navigation.js"; import filter from "./filter.js"; import studstatus from "./studstatus.js"; import betriebsmittel from "./betriebsmittel.js"; +import unrulyperson from "./unrulyperson.js"; export default { search, @@ -28,5 +29,6 @@ export default { navigation, filter, studstatus, - betriebsmittel -}; + betriebsmittel, + unrulyperson +}; \ No newline at end of file diff --git a/public/js/api/unrulyperson.js b/public/js/api/unrulyperson.js new file mode 100644 index 000000000..361aecd43 --- /dev/null +++ b/public/js/api/unrulyperson.js @@ -0,0 +1,13 @@ +export default { + updatePersonUnrulyStatus(person_id, unrulyParam) { + + try { + const payload = {person_id, unruly: unrulyParam} + const url = '/api/frontend/v1/unrulyperson/UnrulyPerson/updatePersonUnrulyStatus'; + return this.$fhcApi.post(url, payload, null); + } catch (error) { + throw error; + } + + } +} \ No newline at end of file diff --git a/public/js/components/Studierendenantrag/Antrag.js b/public/js/components/Studierendenantrag/Antrag.js index 197fe2206..37de9314d 100644 --- a/public/js/components/Studierendenantrag/Antrag.js +++ b/public/js/components/Studierendenantrag/Antrag.js @@ -21,7 +21,8 @@ export default { studierendenantragId: Number, infoArray: Array, statusMsg: String, - statusSeverity: String + statusSeverity: String, + unruly: Boolean }, data() { return { @@ -49,10 +50,11 @@ export default { v-model:status="status" :prestudent-id="prestudentId" :studierendenantrag-id="studierendenantragId" + :unruly="unruly" @setInfos="$emit('update:infoArray', $event)" @setStatus="$emit('update:statusMsg', $event.msg);$emit('update:statusSeverity', $event.severity)" > ` -} +} \ No newline at end of file diff --git a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js index 004f6f4d0..f7daa8d23 100644 --- a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js +++ b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js @@ -18,7 +18,8 @@ export default { ], props: { prestudentId: Number, - studierendenantragId: Number + studierendenantragId: Number, + unruly: Boolean }, data() { return { @@ -26,7 +27,8 @@ export default { saving: false, formData: { grund: '' - } + }, + unrulyInternal: this.unruly } }, computed: { @@ -107,6 +109,14 @@ export default { ? this.$p.t('studierendenantrag', event.target.value) : ''; }, + saveUnrulyPerson(event) { + this.$fhcApi.factory.unrulyperson.updatePersonUnrulyStatus(this.data.person_id, this.unrulyInternal).then( + (res)=> { + if(res?.meta?.status === "success") { + this.$fhcAlert.alertSuccess(this.$p.t('studierendenantrag', 'antrag_unruly_updated')) + } + }) + } }, created() { this.uuid = _uuid++; @@ -187,6 +197,11 @@ export default { +
+ + +
+
` -} +} \ No newline at end of file diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index 778f91c00..0f8b22540 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -230,6 +230,9 @@ export default { return val ? link : ' '; } + }, { + field: 'unruly', + title: this.$p.t('studierendenantrag', 'antrag_unruly') }, { field: 'dms_id', title: this.$p.t('studierendenantrag', 'antrag_dateianhaenge'), @@ -485,4 +488,4 @@ export default { ` -} +} \ No newline at end of file diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index 9fb7f0ee9..7406ff92a 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -56,6 +56,7 @@ require_once('dbupdate_3.4/36530_bis_internationsalisierung_codextabelle_neuerun require_once('dbupdate_3.4/34543_ux_template.php'); require_once('dbupdate_3.4/17513_Entwicklungsteam.php'); require_once('dbupdate_3.4/28575_softwarebereitstellung.php'); +require_once('dbupdate_3.4/40896_kennzeichnung_unruly_person.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -299,7 +300,7 @@ $tabellen=array( "public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"), "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix","standort_id"), "public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"), - "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr","zugangscode_timestamp","udf_values","bpk","matr_aktiv","wahlname"), + "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr","zugangscode_timestamp","udf_values","bpk","matr_aktiv","wahlname","unruly"), "public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_personfunktionstandort" => array("personfunktionstandort_id","funktion_kurzbz","person_id","standort_id","position","anrede"), "public.tbl_preincoming" => array("preincoming_id","person_id","mobilitaetsprogramm_code","zweck_code","firma_id","universitaet","aktiv","bachelorthesis","masterthesis","von","bis","uebernommen","insertamum","insertvon","updateamum","updatevon","anmerkung","zgv","zgv_ort","zgv_datum","zgv_name","zgvmaster","zgvmaster_datum","zgvmaster_ort","zgvmaster_name","program_name","bachelor","master","jahre","person_id_emergency","person_id_coordinator_dep","person_id_coordinator_int","code","deutschkurs1","deutschkurs2","research_area","deutschkurs3","ext_id"), @@ -475,4 +476,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
Gegenpruefung fehlerfrei'; -?> +?> \ No newline at end of file diff --git a/system/dbupdate_3.4/40896_kennzeichnung_unruly_person.php b/system/dbupdate_3.4/40896_kennzeichnung_unruly_person.php new file mode 100644 index 000000000..32c01502c --- /dev/null +++ b/system/dbupdate_3.4/40896_kennzeichnung_unruly_person.php @@ -0,0 +1,17 @@ +db_query("SELECT 1 FROM information_schema.columns WHERE table_schema = 'public' + AND table_name = 'tbl_person' AND column_name = 'unruly'")) +{ + if($db->db_num_rows($result) === 0) + { + $qry = "ALTER TABLE tbl_person ADD COLUMN unruly BOOLEAN NOT NULL DEFAULT FALSE"; + + if(!$db->db_query($qry)) + echo 'Public Tabelle person: '.$db->db_last_error().'
'; + else + echo '
spalte unruly hinzugefuegt'; + } +} \ No newline at end of file diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index ad2b6aa57..d4a3777b1 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -4920,6 +4920,26 @@ The invoice will be sent to you again. The amount is only to be trans ) ) ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'unrulyPersonFound', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Unerwünschte Person wurde gefunden', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Unruly Person detected', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'password', @@ -20389,6 +20409,46 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'antrag_unruly', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Unerwünscht', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Unruly', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'antrag_unruly_updated', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Unerwünschte Person Status wurde aktualisiert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Unruly person status has been updated.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'studierendenantrag', @@ -22910,6 +22970,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'mark_person_as_unruly', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Person ist unerwünscht', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Person is unruly.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'ui', @@ -27065,4 +27145,4 @@ foreach ($phrases as $phrase) } if(!$new) - echo 'Keine neuen Phrasen
'; + echo 'Keine neuen Phrasen
'; \ No newline at end of file From d03678e3dc4d864a6743d0462d9051936b49b09d Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 27 Aug 2024 15:30:17 +0200 Subject: [PATCH 02/19] WIP --- .../Studierendenantrag/Leitung/Table.js | 3 --- system/phrasesupdate.php | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index 0f8b22540..8201462b4 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -230,9 +230,6 @@ export default { return val ? link : ' '; } - }, { - field: 'unruly', - title: this.$p.t('studierendenantrag', 'antrag_unruly') }, { field: 'dms_id', title: this.$p.t('studierendenantrag', 'antrag_dateianhaenge'), diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index d4a3777b1..dce318771 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -2281,6 +2281,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'person', + 'phrase' => 'unruly', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Unerwünscht', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Unruly', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), //**************** CORE/lehre array( From 888e3878bdb714188902449a4bd14f20c479d005 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Mon, 9 Sep 2024 17:16:05 +0200 Subject: [PATCH 03/19] studstatus unruly als grund --- .../components/Studierendenantrag/Antrag.js | 3 +++ .../Studierendenantrag/Form/Abmeldung.js | 16 ++++++++++++++- .../Studierendenantrag/Form/AbmeldungStgl.js | 15 ++------------ system/phrasesupdate.php | 20 +++++++++++++++++++ 4 files changed, 40 insertions(+), 14 deletions(-) diff --git a/public/js/components/Studierendenantrag/Antrag.js b/public/js/components/Studierendenantrag/Antrag.js index 37de9314d..29ed40592 100644 --- a/public/js/components/Studierendenantrag/Antrag.js +++ b/public/js/components/Studierendenantrag/Antrag.js @@ -37,6 +37,9 @@ export default { return this.$p.t('studierendenantrag/info_' + this.antragType + '_' + this.status); } }, + mounted() { + console.log(this) + }, template: `
diff --git a/public/js/components/Studierendenantrag/Form/Abmeldung.js b/public/js/components/Studierendenantrag/Form/Abmeldung.js index 1660957c5..ab75c7a53 100644 --- a/public/js/components/Studierendenantrag/Form/Abmeldung.js +++ b/public/js/components/Studierendenantrag/Form/Abmeldung.js @@ -77,6 +77,17 @@ export default { this.formData.grund ) .then(result => { + console.log(this.formData.grund) + // TODO: replace this with actual identifier after demo porpuses + if(this.formData.grund === '<< PHRASE textLong_unruly>>') { + this.$fhcApi.factory.unrulyperson.updatePersonUnrulyStatus(this.data.person_id, true).then( + (res)=> { + if(res?.meta?.status === "success") { + this.$fhcAlert.alertSuccess(this.$p.t('studierendenantrag', 'antrag_unruly_updated')) + } + }) + } + if (result.data === true) document.location += ""; @@ -144,6 +155,9 @@ export default { created() { this.uuid = _uuid++; }, + mounted() { + console.log(this) + }, template: `
@@ -259,4 +273,4 @@ export default {
` -} +} \ No newline at end of file diff --git a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js index f7daa8d23..16cf187b4 100644 --- a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js +++ b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js @@ -108,14 +108,6 @@ export default { this.formData.grund = event.target.value ? this.$p.t('studierendenantrag', event.target.value) : ''; - }, - saveUnrulyPerson(event) { - this.$fhcApi.factory.unrulyperson.updatePersonUnrulyStatus(this.data.person_id, this.unrulyInternal).then( - (res)=> { - if(res?.meta?.status === "success") { - this.$fhcAlert.alertSuccess(this.$p.t('studierendenantrag', 'antrag_unruly_updated')) - } - }) } }, created() { @@ -182,6 +174,8 @@ export default { +
@@ -197,11 +191,6 @@ export default {
-
- - -
-