show different options for address types if the user is a mitarbeiter or a student

This commit is contained in:
SimonGschnell
2024-02-12 16:29:19 +01:00
parent 9ac523c087
commit 24b467cd90
3 changed files with 41 additions and 19 deletions
+3 -3
View File
@@ -3,11 +3,11 @@ export default {
isMitarbeiterOrStudent: function (uid) {
getMitarbeiter: function (student_id) {
const url =
FHC_JS_DATA_STORAGE_OBJECT.app_root +
`cis.php/Cis/Profil/isMitarbeiterOrStudent/${uid}`;
return axios.get(url);
`cis.php/api/v1/crm/Student/getStudent`;
return axios.get(url,{student_id:student_id});
},
getView: function (uid) {
@@ -1,5 +1,11 @@
export default {
props:{data:Object},
props:{
data:Object,
isMitarbeiter:{
type: Boolean,
default: false,
},
},
data(){
return{
originalValue:null,
@@ -78,7 +84,7 @@ export default {
</div>
<div v-if="showKontaktTyp" class=" order-2 order-sm-4 order-xl-3 order-xxl-4 col-12 col-sm-5 col-xl-8 col-xxl-5 ">
<div class=" order-2 order-sm-4 order-xl-3 order-xxl-4 col-12 col-sm-5 col-xl-8 col-xxl-5 ">
<div class="form-underline">
<div class="form-underline-titel">Kontakttyp</div>
@@ -87,6 +93,9 @@ export default {
<option selected></option>
<option value="Nebenwohnsitz">Nebenwohnsitz</option>
<option value="Hauptwohnsitz">Hauptwohnsitz</option>
<option v-if="isMitarbeiter" value="Homeoffice">Homeoffice</option>
<option v-if="isMitarbeiter" value="Rechnungsadresse">Rechnungsadresse</option>
</select>
</div>
@@ -95,7 +104,8 @@ export default {
</template>
</div>
<div class="order-3 order-sm-3 order-xl-2 order-xxl-3 " :class="ortLayoutClasses">
<div class="order-3 order-sm-3 order-xl-2 order-xxl-3 col-12 col-sm-7 col-xl-12 col-xxl-7 " >
<div class="form-underline ">
<div class="form-underline-titel">Ort</div>
@@ -26,32 +26,38 @@ export default {
);
},
getView: function (topic, status) {
if(!(status === "pending")){
return "Status";
}
switch (topic) {
case "Private Kontakte":
return status === "pending" ? "EditKontakt" : "Status";
break;
case "Private Adressen":
return status === "pending" ? "EditAdresse" : "Status";
break;
case "Add Adressen":
return status === "pending" ? "EditAdresse" : "Status";
return "EditKontakt";
break;
case "Add Kontakte":
return status === "pending" ? "EditKontakt" : "Status";
break;
case "Delete Adressen":
return status === "pending" ? "Adresse" : "Status";
return "EditKontakt";
break;
case "Delete Kontakte":
return status === "pending" ? "Kontakt" : "Status";
return "Kontakt";
break;
case "Private Adressen":
return "EditAdresse";
break;
case "Add Adressen":
return "EditAdresse";
break;
case "Delete Adressen":
return "Adresse";
break;
default:
return status === "pending" ? "TextInputDokument" : "Status";
return "TextInputDokument";
break;
}
},
async openModal(updateRequest) {
let view = this.getView(updateRequest.topic, updateRequest.status);
let data = null;
let content = null;
let files = null;
@@ -84,6 +90,12 @@ export default {
files: files,
};
//?TODO: check if updateRequest.uid is a mitarbeiter, if so add the flag isMitarbeiter:true
/* if(view === "EditAdresse"){
const getMitarbeiter = await Vue.$fhcapi.UserData.getMitarbeiter(updateRequest.uid);
console.log(getMitarbeiter);
} */
//? adds the status information if the profil update request was rejected or accepted
if (updateRequest.status !== "pending") {
content["status"] = updateRequest.status;