This commit is contained in:
2020-04-05 20:38:08 +00:00
parent 8432ed62f7
commit d031f60285
4 changed files with 41 additions and 10 deletions

View File

@@ -49,8 +49,10 @@ CURRENT TODOs
@@@@@@@@@@@ ROADMAP STAGE 2:
todo: server state
- check server routes, what do they do to take into account server state
todo: SERVER STATUS
todo: SERVER STATE
- check server status on attempt to login for first time or whatever, it should give a prominent warning if the server is unavailable due to closed for maint or whatever rather than just timing out.
- Also it allows login which is good but it should restrict the UI if it's a fresh login to a closed server rather than just failing to do certain things
- Maybe overall testing is needed with a closed server just to suss out what to do in the UI for that, we want ops people and admins in there but not other biz users if it's locked out

View File

@@ -4,11 +4,22 @@ import initialize from "./initialize";
export function processLogin(response) {
return new Promise(function(resolve, reject) {
//check there is a response of some kind
if (!response) {
window.$gz.store.commit("logItem", "auth::processLogin -> no response");
return reject();
}
//is there an error?
if (response.error) {
return reject(response.error);
}
//is token present?
if (!response || !response.data || !response.data.token) {
if (!response.data || !response.data.token) {
window.$gz.store.commit(
"logItem",
"auth::processLogin -> response empty"
"auth::processLogin -> response contains no data"
);
return reject();
}

View File

@@ -35,6 +35,7 @@ export default {
)
.then(window.$gz.api.status)
.then(window.$gz.api.json)
// eslint-disable-next-line
.then((response) => {
window.$gz._.forEach(
response.data,

View File

@@ -11,6 +11,9 @@
<v-col cols="12" class="d-flex d-md-none">
<v-img :src="require('../assets/logo.svg')" contain height="64"></v-img>
</v-col>
<v-col cols="12" md="7" offset-md="3">
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
</v-col>
<template v-if="$ay.dev">
<v-col cols="12" offset="md-6">
<span class="title red--text">DEVELOPMENT MODE</span>
@@ -70,11 +73,14 @@ export default {
data() {
return {
input: {
username: "manager",
password: "l3tm3in"
// username: "manager",
// password: "l3tm3in"
username: "CustomerLimited",
password: "CustomerLimited"
},
errorBadCreds: false,
reveal: false
reveal: false,
formState: { errorBoxMessage: null }
};
},
created() {
@@ -90,23 +96,34 @@ export default {
document.getElementsByName("password")[0].focus();
},
login() {
if (this.input.username != "" && this.input.password != "") {
this.errorBadCreds = false;
let vm = this;
let vm = this;
if (vm.input.username != "" && vm.input.password != "") {
vm.errorBadCreds = false;
auth
.authenticate(this.input.username, this.input.password)
.authenticate(vm.input.username, vm.input.password)
.then(() => {
vm.$router.push(vm.$store.state.homePage);
})
.catch(function handleCaughtLoginError(error) {
/* xeslint-disable-next-line */
//bad creds?
if (
error.message &&
error.message.includes("ErrorUserNotAuthenticated")
) {
vm.errorBadCreds = true;
}
//server closed?
if (error.code == 2000) {
vm.formState.errorBoxMessage = error.message;
}
// {
// "code": "2000",
// "message": "Testing ops only server state"
// }
//-----
});
}
}