diff --git a/application/controllers/api/frontend/v1/Abgabe.php b/application/controllers/api/frontend/v1/Abgabe.php index 759c32d58..819a1071b 100644 --- a/application/controllers/api/frontend/v1/Abgabe.php +++ b/application/controllers/api/frontend/v1/Abgabe.php @@ -947,6 +947,16 @@ class Abgabe extends FHCAPI_Controller $paabgabeArr = $this->getDataOrTerminateWithError($result, 'general'); $paabgabe = $paabgabeArr[0]; + // resolve the insert/update user full names so the frontend info string ("saved at X by Y") + // renders immediately for freshly created/updated termine without needing a reload. + $this->load->model('person/Person_model', 'PersonModel'); + if(!empty($paabgabe->insertvon)) { + $paabgabe->insertvon_fullname = getData($this->PersonModel->getFullName($paabgabe->insertvon)); + } + if(!empty($paabgabe->updatevon)) { + $paabgabe->updatevon_fullname = getData($this->PersonModel->getFullName($paabgabe->updatevon)); + } + // check if abgabe even has note if($paabgabe->note) { $this->load->model('education/Note_model', 'NoteModel'); diff --git a/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js b/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js index 80750babc..eb27412a1 100644 --- a/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js +++ b/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js @@ -306,6 +306,22 @@ export const AbgabeStudentDetail = { const noteOpt = this.notenOptions.find(opt => opt.note == termin.note) return noteOpt ? noteOpt.bezeichnung : '' }, + hasZweitbetreuer(projektarbeit) { + return !!(projektarbeit.zweitbetreuer_person_id || projektarbeit.zweitbetreuer) + }, + getErstbetreuerLabel(projektarbeit) { + return projektarbeit.betreuerart_kurzbz + ? this.$capitalize(this.$p.t('abgabetool/c4betrart' + projektarbeit.betreuerart_kurzbz)) + : this.$capitalize(this.$p.t('abgabetool/c4betreuerv2')) + }, + getZweitbetreuerLabel(projektarbeit) { + return projektarbeit.zweitbetreuer_betreuerart_kurzbz + ? this.$capitalize(this.$p.t('abgabetool/c4betrart' + projektarbeit.zweitbetreuer_betreuerart_kurzbz)) + : this.$capitalize(this.$p.t('abgabetool/c4zweitbetreuerv2')) + }, + getZweitbetreuerName(projektarbeit) { + return projektarbeit.zweitbetreuer?.first ?? '' + }, }, watch: { projektarbeit(newVal) { @@ -430,7 +446,8 @@ export const AbgabeStudentDetail = {

-

{{$capitalize( $p.t('abgabetool/c4betreuerv2') ) }}: {{projektarbeit ? $p.t('abgabetool/c4betrart' + projektarbeit.betreuerart_kurzbz) + ' ' + projektarbeit.betreuer : ''}}

+

{{ getErstbetreuerLabel(projektarbeit) }}: {{ projektarbeit.betreuer }}

+

{{ getZweitbetreuerLabel(projektarbeit) }}: {{ getZweitbetreuerName(projektarbeit) }}

diff --git a/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js b/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js index 1c00c21e9..bdba6c191 100644 --- a/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js +++ b/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js @@ -308,6 +308,19 @@ export const AbgabetoolStudent = { hasZweitbetreuer(projektarbeit) { return !!(projektarbeit.zweitbetreuer_person_id || projektarbeit.zweitbetreuer) }, + getErstbetreuerLabel(projektarbeit) { + return projektarbeit.betreuerart_kurzbz + ? this.$capitalize(this.$p.t('abgabetool/c4betrart' + projektarbeit.betreuerart_kurzbz)) + : this.$capitalize(this.$p.t('abgabetool/c4betreuerv2')) + }, + getZweitbetreuerLabel(projektarbeit) { + return projektarbeit.zweitbetreuer_betreuerart_kurzbz + ? this.$capitalize(this.$p.t('abgabetool/c4betrart' + projektarbeit.zweitbetreuer_betreuerart_kurzbz)) + : this.$capitalize(this.$p.t('abgabetool/c4zweitbetreuerv2')) + }, + getZweitbetreuerName(projektarbeit) { + return projektarbeit.zweitbetreuer?.first ?? '' + }, getErstbetreuerEmailLabel(projektarbeit) { // with only one betreuer keep the generic label; with multiple betreuer // distinguish the email rows by their betreuungsart bezeichnung @@ -510,9 +523,9 @@ export const AbgabetoolStudent = {
-
{{ projektarbeit?.betreuerart_kurzbz ? $capitalize( $p.t('abgabetool/c4betrart' + projektarbeit.betreuerart_kurzbz) ) : $capitalize( $p.t('abgabetool/c4betreuerv2') ) }}
+
{{ getErstbetreuerLabel(projektarbeit) }}
- {{ projektarbeit.betreuerart_kurzbz ? projektarbeit.betreuer : '' }} + {{ projektarbeit.betreuer }}
@@ -521,13 +534,13 @@ export const AbgabetoolStudent = {
-
-
{{ projektarbeit.zweitbetreuer_betreuerart_kurzbz ? $p.t('abgabetool/c4betrart' + projektarbeit.zweitbetreuer_betreuerart_kurzbz) : '' }}
+
+
{{ getZweitbetreuerLabel(projektarbeit) }}
- {{ projektarbeit.zweitbetreuer?.first }} + {{ getZweitbetreuerName(projektarbeit) }}
-
+
{{ getZweitbetreuerEmailLabel(projektarbeit) }}