From 868599a7fec2b00dd5d563b670d3e0151889cfb2 Mon Sep 17 00:00:00 2001 From: adisposkofh Date: Fri, 24 Apr 2026 10:50:32 +0200 Subject: [PATCH] fixed profile tables headings localization --- .../Cis/Profil/MitarbeiterProfil.js | 36 ++++++++----------- .../Cis/Profil/MitarbeiterViewProfil.js | 11 ++---- .../js/components/Cis/Profil/StudentProfil.js | 20 +++++------ 3 files changed, 25 insertions(+), 42 deletions(-) diff --git a/public/js/components/Cis/Profil/MitarbeiterProfil.js b/public/js/components/Cis/Profil/MitarbeiterProfil.js index 655eb4c60..2aadb6ce8 100644 --- a/public/js/components/Cis/Profil/MitarbeiterProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterProfil.js @@ -34,7 +34,7 @@ export default { return { showModal: false, editDataFilter: null, - preloadedPhrasen:{}, + arePhrasesPreloaded: false, // tabulator options funktionen_table_options: { persistenceID: "filterTableMaProfilFunktionen", @@ -61,7 +61,7 @@ export default { responsive: 0, }, { - title: Vue.computed(() => this.preloadedPhrasen.bezeichnungPhrase), + title: Vue.computed(() => this.$p.t('ui/bezeichnung')), field: "Bezeichnung", headerFilter: true, minWidth: 200, @@ -69,7 +69,7 @@ export default { responsive: 0, }, { - title: Vue.computed(() => this.preloadedPhrasen.organisationseinheitPhrase), + title: Vue.computed(() => this.$p.t('lehre/organisationseinheit')), field: "Organisationseinheit", headerFilter: true, minWidth: 200, @@ -77,7 +77,7 @@ export default { responsive: 1, }, { - title: Vue.computed(() => this.preloadedPhrasen.gueltigVonPhrase), + title: Vue.computed(() => this.$p.t('global/gueltigVon')), field: "Gültig_von", headerFilterFunc: 'dates', headerFilter: dateFilter, @@ -89,7 +89,7 @@ export default { responsive: 4, }, { - title: Vue.computed(() => this.preloadedPhrasen.gueltigBisPhrase), + title: Vue.computed(() => this.$p.t('global/gueltigBis')), field: "Gültig_bis", headerFilterFunc: 'dates', headerFilter: dateFilter, @@ -101,7 +101,7 @@ export default { responsive: 3, }, { - title: Vue.computed(() => this.preloadedPhrasen.wochenstundenPhrase), + title: Vue.computed(() => this.$p.t('profil/wochenstunden')), field: "Wochenstunden", headerFilter: true, minWidth: 200, @@ -137,7 +137,7 @@ export default { responsive: 0, }, { - title: Vue.computed(() => this.$p.t('ui/bezeichnung')), + title: Vue.computed(() => this.$p.t('profil/entlehnteBetriebsmittel')), field: "betriebsmittel", headerFilter: true, minWidth: 200, @@ -145,7 +145,7 @@ export default { responsive: 0, }, { - title: Vue.computed(() => this.preloadedPhrasen.inventarnummerPhrase), + title: Vue.computed(() => this.$p.t('profil/inventarnummer')), field: "Nummer", headerFilter: true, resizable: true, @@ -154,7 +154,7 @@ export default { responsive: 2, }, { - title: Vue.computed(() => this.preloadedPhrasen.ausgabedatumPhrase), + title: Vue.computed(() => this.$p.t('profil/ausgabedatum')), field: "Ausgegeben_am", headerFilterFunc: 'dates', headerFilter: dateFilter, @@ -229,8 +229,8 @@ export default { }); }, setTableColumnTitles() { // reevaluates computed phrasen - if(this.$refs.betriebsmittelTable) this.$refs.betriebsmittelTable.tabulator.setColumns(this.betriebsmittel_table_options.columns) - if(this.$refs.funktionenTable) this.$refs.funktionenTable.tabulator.setColumns(this.funktionen_table_options.columns) + if(this.$refs.betriebsmittelTable) this.$refs.betriebsmittelTable.tabulator.setColumns(this.betriebsmittel_table_options.columns); + if(this.$refs.funktionenTable) this.$refs.funktionenTable.tabulator.setColumns(this.funktionen_table_options.columns); }, datetimeFormatterParams: function() { const params = { @@ -311,15 +311,7 @@ export default { created() { // preload phrasen this.$p.loadCategory(["ui","lehre","global","profil"]).then(() => { - this.preloadedPhrasen.bezeichnungPhrase = this.$p.t('ui/bezeichnung'); - this.preloadedPhrasen.organisationseinheitPhrase = this.$p.t('lehre/organisationseinheit'); - this.preloadedPhrasen.gueltigVonPhrase = this.$p.t('global/gueltigVon'); - this.preloadedPhrasen.gueltigBisPhrase = this.$p.t('global/gueltigBis'); - this.preloadedPhrasen.wochenstundenPhrase = this.$p.t('profil/wochenstunden'); - this.preloadedPhrasen.entlehnteBetriebsmittelPhrase = this.$p.t('profil/entlehnteBetriebsmittel'); - this.preloadedPhrasen.inventarnummerPhrase = this.$p.t('profil/inventarnummer'); - this.preloadedPhrasen.ausgabedatumPhrase = this.$p.t('profil/ausgabedatum'); - this.preloadedPhrasen.loaded=true; + this.arePhrasesPreloaded = true; }); //? sorts the profil Updates: pending -> accepted -> rejected this.data.profilUpdates?.sort(this.sortProfilUpdates); @@ -450,7 +442,7 @@ export default {
{ - this.preloadedPhrasen.bezeichnungPhrase = this.$p.t('ui/bezeichnung'); - this.preloadedPhrasen.organisationseinheitPhrase = this.$p.t('lehre/organisationseinheit'); - this.preloadedPhrasen.gueltigVonPhrase = this.$p.t('global/gueltigVon'); - this.preloadedPhrasen.gueltigBisPhrase = this.$p.t('global/gueltigBis'); - this.preloadedPhrasen.wochenstundenPhrase = this.$p.t('profil/wochenstunden'); - this.preloadedPhrasen.loaded = true; + this.arePhrasesPreloaded = true; }); }, @@ -247,7 +242,7 @@ export default {
- +
diff --git a/public/js/components/Cis/Profil/StudentProfil.js b/public/js/components/Cis/Profil/StudentProfil.js index 95d4baef4..885cbf2b4 100644 --- a/public/js/components/Cis/Profil/StudentProfil.js +++ b/public/js/components/Cis/Profil/StudentProfil.js @@ -33,7 +33,7 @@ export default { showModal: false, collapseIconBetriebsmittel: true, editDataFilter: null, - preloadedPhrasen:{}, + arePhrasesPreloaded: false, // tabulator options zutrittsgruppen_table_options: { persistenceID: "filterTableStudentProfilZutrittsgruppen", @@ -44,7 +44,7 @@ export default { layout: "fitColumns", columns: [ { - title: Vue.computed(() => this.preloadedPhrasen.zutrittsGruppenPhrase), + title: Vue.computed(() => this.$p.t('profil/zutrittsGruppen')), field: "bezeichnung" } ], @@ -73,7 +73,7 @@ export default { responsive: 0, }, { - title: Vue.computed(()=>this.preloadedPhrasen.entlehnteBetriebsmittelPhrase), + title: Vue.computed(()=>this.$p.t('profil/entlehnteBetriebsmittel')), field: "betriebsmittel", headerFilter: true, minWidth: 200, @@ -81,7 +81,7 @@ export default { responsive: 0, }, { - title: Vue.computed(() =>this.preloadedPhrasen.inventarnummerPhrase) , + title: Vue.computed(() => this.$p.t('profil/inventarnummer')) , field: "Nummer", headerFilter: true, resizable: true, @@ -90,7 +90,7 @@ export default { responsive: 2, }, { - title: Vue.computed(() =>this.preloadedPhrasen.ausgabedatum) , + title: Vue.computed(() => this.$p.t('profil/ausgabedatum')) , field: "Ausgegeben_am", headerFilterFunc: 'dates', headerFilter: dateFilter, @@ -249,11 +249,7 @@ export default { created() { // preload phrasen this.$p.loadCategory('profil').then(() => { - this.preloadedPhrasen.zutrittsGruppenPhrase = this.$p.t('profil/zutrittsGruppen'); - this.preloadedPhrasen.entlehnteBetriebsmittelPhrase = this.$p.t('profil/entlehnteBetriebsmittel'); - this.preloadedPhrasen.inventarnummerPhrase = this.$p.t('profil/inventarnummer'); - this.preloadedPhrasen.ausgabedatum = this.$p.t('profil/ausgabedatum'); - this.preloadedPhrasen.loaded = true; + this.arePhrasesPreloaded = true; }); //? sorts the profil Updates: pending -> accepted -> rejected this.data.profilUpdates?.sort(this.sortProfilUpdates); @@ -384,7 +380,7 @@ export default {