added zum admin befördern

This commit is contained in:
rchrist 2019-06-06 19:58:29 +02:00
parent 645e31deb2
commit 22cb78a2ff

View File

@ -65,6 +65,20 @@
</q-expansion-item>
</q-card>
</q-list>
<p class="text-h5 q-pt-lg" v-show="hasAdminState"> Nutzer zu Administrator befördern </p>
<div v-show="hasAdminState" align="center" class="row q-mt-sm justify-between">
<q-input lazy-rules outlined filled stack-label v-model="newAdminMail"
type="text" label="Email des Nutzers" color="black" class="col q-mr-sm"
:rules="[val=>validateEmail(val)||'Bitte Email verwenden']"/>
<div class="row" style="padding-bottom: 20px">
<q-btn label="Nutzer befördern"
unelevated
@click="getUser()"
:disabled="!adminInviteChecked"
color="primary"
type="submit"/>
</div>
</div>
</div>
</q-tab-panel>
<q-tab-panel v-if="boolAlreadyInTeam" name="teams" class="q-pa-none">
@ -180,6 +194,7 @@
boolStatus: false,
boolTable: true,
boolMemberTableUpdating: false,
newAdminMail: "",
teamColumns: [
{
name: 'desc',
@ -205,7 +220,6 @@
page: 1,
rowsPerPage: 10
},
// newAdminMail: "",
}
},
mounted: function () {
@ -268,6 +282,20 @@
}).onDismiss(() => {
})
},
confirmAddAdmin(newAdmin) {
this.$q.dialog({
title: 'Administrator hinzufügen',
message: 'Willst du den Nutzer ' + newAdmin.name + ' mit der Email ' + newAdmin.email + ' wirklich zum Administrator befördern?',
persistent: true,
cancel: true,
}).onOk(() => {
console.log('>>>> OK');
this.addAdmin(newAdmin);
}).onCancel(() => {
console.log('>>>> Cancel')
}).onDismiss(() => {
})
},
activateInvite() {
if (this.inviteActivated) {
this.inviteActivated = false;
@ -505,73 +533,73 @@
});
this.updateStatus();
},
// getUser() {
// const data = {
// "email" : this.newAdminMail
// }
// JSON.stringify(data);
// const token = JSON.parse(localStorage.getItem('userToken')).token;
// this.$axios.get(process.env.USER_API + '/account/email', data, {
// headers: {
// 'Authorization': 'Bearer ' + token,
// }
// }).then((response) => {
// let newAdminAccount = response.data;
// if (response.status === 200) {
// this.addAdmin(JSON.parse(response).data);
// }
// })
// .catch((error) => {
// let message;
// let header = "Unbekannter Fehler...";
// if (error.response) {
// console.log(error.response)
// if (error.response.status === 400) {
// message = "Es gibt keinen Nutzer mit dieser Email!";
// header = "Email überprüfen!";
// }
// } else if (error.request) {
// console.log(error.request);
// header = "Anfrage fehlgeschlagen!";
// message = "Die Verbindung zum Server ist gestört. Versuchen Sie es später noch einmal.";
// }
// this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: message, title: header});
// });
// },
// addAdmin(newAdmin) {
// const token = JSON.parse(localStorage.getItem('userToken')).token;
// newAdmin.roles.role = "ADMIN";
// JSON.stringify(newAdmin);
// this.$axios.patch(process.env.USER_API, '/account', newAdmin, {
// headers: {
// 'Authorization': 'Bearer ' + token,
// }
// }).then((response) => {
// if (response.status === 200) {
// this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {
// message: "Du hast den Nutzer mit der Email " + this.newAdminMail + " als Admin freigeschalten!",
// title: "Nutzerverwaltung",
// color: "blue"
// });
// }
// })
// .catch((error) => {
// let message;
// let header = "Unbekannter Fehler...";
// if (error.response) {
// console.log(error.response)
// if (error.response.status === 400) {
// message = JSON.parse(error).error;
// header = "Probleme mit dem zu bearbeitenden Nutzeraccount!";
// }
// } else if (error.request) {
// console.log(error.request);
// header = "Anfrage fehlgeschlagen!";
// message = "Die Verbindung zum Server ist gestört. Versuchen Sie es später noch einmal.";
// }
// this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: message, title: header});
// });
// },
getUser() {
const data = {
"email" : this.newAdminMail
};
JSON.stringify(data);
const token = JSON.parse(localStorage.getItem('userToken')).token;
this.$axios.get(process.env.USER_API + '/account/email', data, {
headers: {
'Authorization': 'Bearer ' + token,
}
}).then((response) => {
let newAdminAccount = response.data;
if (response.status === 200) {
this.confirmAddAdmin((JSON.parse(response).data));
}
})
.catch((error) => {
let message;
let header = "Unbekannter Fehler...";
if (error.response) {
console.log(error.response)
if (error.response.status === 400) {
message = "Es gibt keinen Nutzer mit dieser Email!";
header = "Email überprüfen!";
}
} else if (error.request) {
console.log(error.request);
header = "Anfrage fehlgeschlagen!";
message = "Die Verbindung zum Server ist gestört. Versuchen Sie es später noch einmal.";
}
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: message, title: header});
});
},
addAdmin(newAdmin) {
const token = JSON.parse(localStorage.getItem('userToken')).token;
newAdmin.roles.role = "ADMIN";
JSON.stringify(newAdmin);
this.$axios.patch(process.env.USER_API, '/account', newAdmin, {
headers: {
'Authorization': 'Bearer ' + token,
}
}).then((response) => {
if (response.status === 200) {
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {
message: "Du hast den Nutzer mit der Email " + this.newAdminMail + " als Admin freigeschalten!",
title: "Nutzerverwaltung",
color: "blue"
});
}
})
.catch((error) => {
let message;
let header = "Unbekannter Fehler...";
if (error.response) {
console.log(error.response)
if (error.response.status === 400) {
message = JSON.parse(error).error;
header = "Probleme mit dem zu bearbeitenden Nutzeraccount!";
}
} else if (error.request) {
console.log(error.request);
header = "Anfrage fehlgeschlagen!";
message = "Die Verbindung zum Server ist gestört. Versuchen Sie es später noch einmal.";
}
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: message, title: header});
});
},
handleError(error) {
let msg;
let title;