diff --git a/application/models/education/Projektarbeit_model.php b/application/models/education/Projektarbeit_model.php index aaa0962b1..f59855ba0 100644 --- a/application/models/education/Projektarbeit_model.php +++ b/application/models/education/Projektarbeit_model.php @@ -210,7 +210,15 @@ class Projektarbeit_model extends DB_Model campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.insertamum, - campus.tbl_paabgabe.updateamum + campus.tbl_paabgabe.updateamum, + (SELECT p.vorname || ' ' || p.nachname + FROM public.tbl_benutzer b + JOIN public.tbl_person p USING(person_id) + WHERE b.uid = campus.tbl_paabgabe.insertvon) AS insertvon_fullname, + (SELECT p.vorname || ' ' || p.nachname + FROM public.tbl_benutzer b + JOIN public.tbl_person p USING(person_id) + WHERE b.uid = campus.tbl_paabgabe.updatevon) AS updatevon_fullname FROM campus.tbl_paabgabe JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz) WHERE campus.tbl_paabgabe.projektarbeit_id IN ? ORDER BY campus.tbl_paabgabe.datum"; diff --git a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js index fd77ad347..b3bbeb1a2 100644 --- a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js +++ b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js @@ -2,7 +2,8 @@ import BsModal from '../../Bootstrap/Modal.js'; import VueDatePicker from '../../vueDatepicker.js.php'; import ApiAbgabe from '../../../api/factory/abgabe.js' import { getDateStyleClass } from "./getDateStyleClass.js"; -import { compareISODateValues, formatISODate, getViennaTodayISO } from "./dateUtils.js"; +import {compareISODateValues, formatDateTime, formatISODate, getViennaTodayISO} from "./dateUtils.js"; + export const AbgabeMitarbeiterDetail = { name: "AbgabeMitarbeiterDetail", @@ -77,6 +78,19 @@ export const AbgabeMitarbeiterDetail = { } }, methods: { + getSavedTerminInfoString(termin) { + const isUpdate = termin.updateamum != null; + + const fullname = isUpdate + ? termin.updatevon_fullname + : termin.insertvon_fullname; + + const datetime = isUpdate + ? termin.updateamum + : termin.insertamum; + + return this.$p.t('ui/savedAtByV3', [formatDateTime(datetime), fullname]) + }, terminIsInvalid(termin) { return termin.note?.positiv == false && !termin.beurteilungsnotiz }, @@ -905,7 +919,7 @@ export const AbgabeMitarbeiterDetail = {
{{ $capitalize( $p.t('abgabetool/c4actions') )}}
-
+
-
- Your grey text here +
+ {{getSavedTerminInfoString(termin)}}
diff --git a/public/js/components/Cis/Abgabetool/dateUtils.js b/public/js/components/Cis/Abgabetool/dateUtils.js index c9cb080a9..5723d9baf 100644 --- a/public/js/components/Cis/Abgabetool/dateUtils.js +++ b/public/js/components/Cis/Abgabetool/dateUtils.js @@ -11,6 +11,13 @@ export function formatISODate(dateParam) { return date.isValid ? date.toFormat('dd.MM.yyyy') : ''; } +export function formatDateTime(dateParam) { + if (!dateParam) return ''; + + const date = luxon.DateTime.fromFormat(dateParam, "yyyy-MM-dd HH:mm:ss"); + return date.isValid ? date.toFormat("dd.MM.yyyy HH:mm") : ''; +} + export function toViennaDate(dateParam) { if (!dateParam) return null; diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index a99f8bf03..8c1a78af9 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -2134,6 +2134,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'savedAtByV3', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gespeichert am {0} von {1}', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Saved on {0} by {1}', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'anrechnung', @@ -57463,7 +57483,7 @@ I have been informed that I am under no obligation to consent to the transmissio ), array( 'sprache' => 'English', - 'text' => 'Saved on {date} von {name}', + 'text' => 'Saved on {date} by {name}', 'description' => '', 'insertvon' => 'system' )