Add handlers for non-successful responses from the panel

This commit is contained in:
Dane Everitt 2018-06-02 16:59:16 -07:00
parent ebb7b6de9b
commit 4209be021e
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
5 changed files with 21 additions and 2 deletions

View file

@ -17,8 +17,8 @@ try {
*/ */
window.axios = require('axios'); window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.headers.common['Accept'] = 'application/json';
/** /**
* Next we will register the CSRF Token as a common header with Axios so that * Next we will register the CSRF Token as a common header with Axios so that

View file

@ -68,6 +68,10 @@
email: this.$props.email, email: this.$props.email,
}) })
.then(function (response) { .then(function (response) {
if (!(response.data instanceof Object)) {
throw new Error('An error was encountered while processing this request.');
}
self.$data.submitDisabled = false; self.$data.submitDisabled = false;
self.$data.showSpinner = false; self.$data.showSpinner = false;
self.success(response.data.status); self.success(response.data.status);

View file

@ -81,6 +81,12 @@
password: this.$props.user.password, password: this.$props.user.password,
}) })
.then(function (response) { .then(function (response) {
// If there is a 302 redirect or some other odd behavior (basically, response that isnt
// in JSON format) throw an error and don't try to continue with the login.
if (!(response.data instanceof Object)) {
throw new Error('An error was encountered while processing this request.');
}
if (response.data.complete) { if (response.data.complete) {
return window.location = '/'; return window.location = '/';
} }
@ -92,6 +98,8 @@
.catch(function (err) { .catch(function (err) {
self.$props.user.password = ''; self.$props.user.password = '';
self.$data.showSpinner = false; self.$data.showSpinner = false;
self.$refs.password.focus();
if (!err.response) { if (!err.response) {
return console.error(err); return console.error(err);
} }
@ -101,7 +109,6 @@
response.data.errors.forEach(function (error) { response.data.errors.forEach(function (error) {
self.error(error.detail); self.error(error.detail);
}); });
self.$refs.password.focus();
} }
}); });
}, },

View file

@ -93,6 +93,10 @@
token: this.$props.token, token: this.$props.token,
}) })
.then(function (response) { .then(function (response) {
if (!(response.data instanceof Object)) {
throw new Error('An error was encountered while processing this login.');
}
return window.location = response.data.redirect_to; return window.location = response.data.redirect_to;
}) })
.catch(function (err) { .catch(function (err) {

View file

@ -49,6 +49,10 @@
authentication_code: this.$data.code, authentication_code: this.$data.code,
}) })
.then(function (response) { .then(function (response) {
if (!(response.data instanceof Object)) {
throw new Error('An error was encountered while processing this login.');
}
window.location = response.data.intended; window.location = response.data.intended;
}) })
.catch(function (err) { .catch(function (err) {