diff --git a/application/controllers/api/frontend/v1/Profil.php b/application/controllers/api/frontend/v1/Profil.php index 36bc5b68c..c52d8bae5 100644 --- a/application/controllers/api/frontend/v1/Profil.php +++ b/application/controllers/api/frontend/v1/Profil.php @@ -567,7 +567,7 @@ class Profil extends FHCAPI_Controller */ private function getStudentInfo($uid) { - $this->StudentModel->addSelect(['tbl_studiengang.bezeichnung as studiengang', 'tbl_student.semester', 'tbl_student.verband', 'tbl_student.gruppe', 'tbl_student.matrikelnr as personenkennzeichen']); + $this->StudentModel->addSelect(['tbl_studiengang.bezeichnung as studiengang', 'tbl_studiengang.studiengang_kz as studiengang_kz', 'tbl_student.semester', 'tbl_student.verband', 'tbl_student.gruppe', 'tbl_student.matrikelnr as personenkennzeichen']); $this->StudentModel->addJoin('tbl_studiengang', "tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz"); $student_res = $this->StudentModel->load([$uid]); diff --git a/application/controllers/api/frontend/v1/Studgang.php b/application/controllers/api/frontend/v1/Studgang.php index 0e4eb3205..63579e3a6 100644 --- a/application/controllers/api/frontend/v1/Studgang.php +++ b/application/controllers/api/frontend/v1/Studgang.php @@ -31,6 +31,7 @@ class Studgang extends FHCAPI_Controller ]); $this->load->model('organisation/Studiengang_model', 'StudiengangModel'); + $this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel'); // Loads phrases system $this->loadPhrases([ @@ -43,7 +44,12 @@ class Studgang extends FHCAPI_Controller // Public methods public function getStudiengangInfo(){ - // fetches the Studiengang Information which is used next the the news + $isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter(getAuthUID()); + if($isMitarbeiter) { + $this->terminateWithSuccess(); + } + + // fetches the Studiengang Information which is used next to the news $studiengangInfo = $this->StudiengangModel->getStudiengangInfoForNews(); $studiengangInfo= $this->getDataOrTerminateWithError($studiengangInfo); $this->terminateWithSuccess($studiengangInfo); diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php index 066210e0b..7ea8a901c 100644 --- a/application/models/organisation/Studiengang_model.php +++ b/application/models/organisation/Studiengang_model.php @@ -656,6 +656,7 @@ class Studiengang_model extends DB_Model $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); $this->load->model('person/Person_model', 'PersonModel'); + $this->load->model('crm/Student_model', 'StudentModel'); $addEmailProperty= function(&$benutzerfunktionen){ if(count($benutzerfunktionen) && defined('DOMAIN')) @@ -691,11 +692,6 @@ class Studiengang_model extends DB_Model if (isError($student)) return error($student); if (getData($student)) { - //TODO: if a mitarbeiter requests this site, empty data should be returned - if(count($student) == 0) - { - return new stdClass(); - } $student = current(getData($student)); $studiengang_kz = $student->studiengang_kz; $semester = $student->semester; diff --git a/application/views/CisRouterView/CisRouterView.php b/application/views/CisRouterView/CisRouterView.php index a7b3d6f80..4590b210e 100644 --- a/application/views/CisRouterView/CisRouterView.php +++ b/application/views/CisRouterView/CisRouterView.php @@ -10,7 +10,7 @@ $includesArray = array( 'primevue3' => true, 'customCSSs' => array( 'public/css/components/verticalsplit.css', - 'public/css/components/searchbar.css', + 'public/css/components/searchbar/searchbar.css', 'public/css/Fhc.css', 'public/css/components/dashboard.css', 'public/css/components/calendar.css', @@ -38,4 +38,4 @@ $this->load->view('templates/CISVUE-Header', $includesArray); :view-data='' > -load->view('templates/CISVUE-Footer', $includesArray); ?> \ No newline at end of file +load->view('templates/CISVUE-Footer', $includesArray); ?> diff --git a/public/js/apps/Dashboard/Fhc.js b/public/js/apps/Dashboard/Fhc.js index 6a3f8c66d..703563283 100644 --- a/public/js/apps/Dashboard/Fhc.js +++ b/public/js/apps/Dashboard/Fhc.js @@ -131,11 +131,6 @@ const app = Vue.createApp({ }, }); -router.beforeEach((to,from) => { - console.log('to', to) - console.log('from', from) -}) - // kind of a bandaid for bad css on some pages to avoid horizontal scroll setScrollbarWidth(); app.use(router); diff --git a/public/js/components/Cis/Profil/MitarbeiterProfil.js b/public/js/components/Cis/Profil/MitarbeiterProfil.js index ccdc68a9b..acae0cc5a 100644 --- a/public/js/components/Cis/Profil/MitarbeiterProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterProfil.js @@ -198,6 +198,15 @@ export default { editable() { return this.data?.editAllowed ?? false; }, + getTelefonValue() { + if(this.data.standort_telefon?.kontakt) { + return this.data.standort_telefon.kontakt + " " + this.data.telefonklappe + } else if(this.data.standort_telefon) { + return this.data.standort_telefon + " " + this.data.telefonklappe + } else { + return this.data.telefonklappe + } + }, filteredEditData() { return this.editDataFilter ? this.editData.data[this.editDataFilter] @@ -226,13 +235,36 @@ export default { } return { - [`${this.$p.t('profil', 'Geburtsdatum')}`]: this.data.gebdatum, - [`${this.$p.t('profil', 'Geburtsort')}`]: this.data.gebort, - [`${this.$p.t('profil', 'Kurzzeichen')}`]: this.data.kurzbz, - [`${this.$p.t('profil', 'Telefon')}`]: - (this.data.standort_telefon ? this.data.standort_telefon.kontakt + " " + this.data.telefonklappe : this.data.telefonklappe), - [`${this.$p.t('profil', 'Büro')}`]: this.data.ort_kurzbz, + geburtsdatum: { + label: `${this.$p.t('profil','Geburtsdatum')}`, + value: this.data.gebdatum + }, + geburtsort: { + label: `${this.$p.t('profil','Geburtsort')}`, + value: this.data.gebort + }, + personenkennzeichen: { + label: `${this.$p.t('profil','Kurzzeichen')}`, + value: this.data.kurzbz + }, + telefon: { + label: `${this.$p.t('profil','Telefon')}`, + value: this.getTelefonValue + }, + office: { + label: `${this.$p.t('profil','Büro')}`, + value: this.data.ort_kurzbz + } }; + + // return { + // [`${this.$p.t('profil', 'Geburtsdatum')}`]: this.data.gebdatum, + // [`${this.$p.t('profil', 'Geburtsort')}`]: this.data.gebort, + // [`${this.$p.t('profil', 'Kurzzeichen')}`]: this.data.kurzbz, + // [`${this.$p.t('profil', 'Telefon')}`]: + // (this.data.standort_telefon ? this.data.standort_telefon.kontakt + " " + this.data.telefonklappe : this.data.telefonklappe), + // [`${this.$p.t('profil', 'Büro')}`]: this.data.ort_kurzbz, + // }; }, }, diff --git a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js index b062b7708..07cb83402 100644 --- a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js @@ -93,6 +93,15 @@ export default { }, computed: { + getTelefonValue() { + if(this.data.standort_telefon?.kontakt) { + return this.data.standort_telefon.kontakt + " " + this.data.telefonklappe + } else if(this.data.standort_telefon) { + return this.data.standort_telefon + " " + this.data.telefonklappe + } else { + return this.data.telefonklappe + } + }, editable() { return this.data?.editAllowed ?? false; }, @@ -122,15 +131,37 @@ export default { if (!this.data) { return {}; } - return { - [`${this.$p.t('profil', 'Geburtsdatum')}`]: this.data.gebdatum, - [`${this.$p.t('profil', 'Geburtsort')}`]: this.data.gebort, - [`${this.$p.t('profil', 'Kurzzeichen')}`]: this.data.kurzbz, - [`${this.$p.t('profil', 'Telefon')}`]: - (this.data.standort_telefon ? this.data.standort_telefon + " " + this.data.telefonklappe : this.data.telefonklappe), - [`${this.$p.t('profil', 'Büro')}`]: this.data.ort_kurzbz, + geburtsdatum: { + label: `${this.$p.t('profil','Geburtsdatum')}`, + value: this.data.gebdatum + }, + geburtsort: { + label: `${this.$p.t('profil','Geburtsort')}`, + value: this.data.gebort + }, + personenkennzeichen: { + label: `${this.$p.t('profil','Kurzzeichen')}`, + value: this.data.kurzbz + }, + telefon: { + label: `${this.$p.t('profil','Telefon')}`, + value: this.getTelefonValue + }, + office: { + label: `${this.$p.t('profil','Büro')}`, + value: this.data.ort_kurzbz + } }; + + // return { + // [`${this.$p.t('profil', 'Geburtsdatum')}`]: this.data.gebdatum, + // [`${this.$p.t('profil', 'Geburtsort')}`]: this.data.gebort, + // [`${this.$p.t('profil', 'Kurzzeichen')}`]: this.data.kurzbz, + // [`${this.$p.t('profil', 'Telefon')}`]: + // (this.data.standort_telefon ? this.data.standort_telefon + " " + this.data.telefonklappe : this.data.telefonklappe), + // [`${this.$p.t('profil', 'Büro')}`]: this.data.ort_kurzbz, + // }; }, }, diff --git a/public/js/components/Cis/Profil/Profil.js b/public/js/components/Cis/Profil/Profil.js index 26ad712be..73dd8b132 100644 --- a/public/js/components/Cis/Profil/Profil.js +++ b/public/js/components/Cis/Profil/Profil.js @@ -355,7 +355,6 @@ export const Profil = { } }, uid (newVal, oldVal) { - console.log('watch uid', newVal) this.load() } }, diff --git a/public/js/components/Cis/Profil/ProfilComponents/RoleInformation.js b/public/js/components/Cis/Profil/ProfilComponents/RoleInformation.js index 9fb0b4976..e49fa624a 100644 --- a/public/js/components/Cis/Profil/ProfilComponents/RoleInformation.js +++ b/public/js/components/Cis/Profil/ProfilComponents/RoleInformation.js @@ -10,7 +10,25 @@ export default { type: String, } }, - computed: {}, + inject: [ + 'studiengang_kz', // inject info that should not be displayed + ], + computed: { + getLinkGruppeListe() { + return this.data.gruppe?.value && this.data.verband?.value && this.data.semester?.value ? FHC_JS_DATA_STORAGE_OBJECT.app_root + + 'cis/private/stud_in_grp.php?kz='+this.studiengang_kz+'&sem=' + this.data.semester.value + + '&verband=' + this.data.verband.value + '&grp=' + this.data.gruppe.value : '' + }, + getLinkVerbandListe() { + return this.data.verband?.value && this.data.semester?.value ? FHC_JS_DATA_STORAGE_OBJECT.app_root + + 'cis/private/stud_in_grp.php?kz='+this.studiengang_kz+'&sem=' + this.data.semester.value + + '&verband=' + this.data.verband.value : '' + }, + getLinkSemesterListe() { + return this.data.semester?.value ? FHC_JS_DATA_STORAGE_OBJECT.app_root + + 'cis/private/stud_in_grp.php?kz='+this.studiengang_kz+'&sem=' + this.data.semester.value : '' + } + }, created() { //TODO: check if data.Telefon is a valid telefon number to call before using it as a tel: link }, @@ -19,16 +37,40 @@ export default {