diff --git a/application/config/stv.php b/application/config/stv.php index d6d06f44e..000242ac5 100644 --- a/application/config/stv.php +++ b/application/config/stv.php @@ -61,7 +61,11 @@ $config['tabs'] = 'notes' => [ //if true, the count of Messages will be shown in the header of the Tab Messages 'showCountNotes' => true - ] + ], + 'combinePeople' => [ + //multitab should only be shown with this length of selection + 'validCountMulti' => 2, + ], ]; // List of fields to show when ZGV_DOKTOR_ANZEIGEN is defined diff --git a/application/controllers/api/frontend/v1/stv/Config.php b/application/controllers/api/frontend/v1/stv/Config.php index 20e43d23a..67b71c36d 100644 --- a/application/controllers/api/frontend/v1/stv/Config.php +++ b/application/controllers/api/frontend/v1/stv/Config.php @@ -231,6 +231,7 @@ class Config extends FHCAPI_Controller $result['combinePeople'] = [ 'title' => $this->p->t('stv', 'tab_combine_people'), 'component' => './Stv/Studentenverwaltung/Details/CombinePeople.js', + 'config' => $config['combinePeople'] ]; Events::trigger('stv_conf_students', function & () use (&$result) { diff --git a/public/js/components/Stv/Studentenverwaltung/Details/CombinePeople.js b/public/js/components/Stv/Studentenverwaltung/Details/CombinePeople.js index 4374687fe..facf8848f 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/CombinePeople.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/CombinePeople.js @@ -8,50 +8,83 @@ export default { props: { modelValue: Object, }, + data(){ + return { + iframeUrl: null, + viewLoaded: false + } + }, computed: { personIds(){ if (this.modelValue.person_id) { return [this.modelValue.person_id]; } return this.modelValue.map(e => e.person_id); - } + }, + detailStringPerson1(){ + let person1 = this.modelValue[0]; + return person1.vorname + " " + person1.nachname + "(" + person1.person_id + ")"; + }, + detailStringPerson2(){ + let person2 = this.modelValue[1]; + return person2.vorname + " " + person2.nachname + "(" + person2.person_id+ ")"; + }, + }, methods: { combinePeople(){ - + this.viewLoaded = true; let person1_id = this.personIds[0]; let person2_id = this.personIds[1]; if(person1_id == person2_id) { - return this.$fhcAlert.alertError("gleiche Person, keine Zusammenlegeung möglich"); + //TODO(Manu) Phrase + return this.$fhcAlert.alertError("gleiche Person, keine Zusammenlegung möglich"); } - let linkCombinePeople = this.cisRoot + 'vilesci/stammdaten/personen_wartung.php?person_id_1=' + person1_id + '&person_id_2='+ person2_id; + // let linkCombinePeople = this.cisRoot + 'vilesci/stammdaten/personen_wartung.php?person_id_1=' + person1_id + '&person_id_2='+ person2_id; + let linkCombinePeople = 'https://c3p0.ma0068.technikum-wien.at/fhcomplete/vilesci/stammdaten/personen_wartung.php?person_id_1=' + person1_id + '&person_id_2='+ person2_id; console.log(linkCombinePeople); - window.open(linkCombinePeople, '_blank'); - - + //window.open(linkCombinePeople, '_blank'); + this.openLink(linkCombinePeople); + }, + openLink(url) { + this.iframeUrl = url; + }, + goBack(){ + this.viewLoaded = false; + this.iframeUrl = null; } }, - data(){ - return {} - }, template: /*html*/ `
- -
-- ungültige Anzahl: {{this.modelValue.length}} -
+Die Personen {{detailStringPerson1}} und {{detailStringPerson2}} zusammenlegen?
+ +