0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-24 23:48:13 -05:00

Improved error handling in setup/two screen

no issue
- display the `context` property of any API errors so that the messages are useful
- use the same email/password that was used for the setup request in the session request to avoid issues with keys being hit after Enter
This commit is contained in:
Kevin Ansfield 2019-03-21 10:53:35 +00:00
parent ea3c986f63
commit f3cfafe6ac

View file

@ -143,7 +143,7 @@ export default Controller.extend(ValidationEngine, {
// Don't call the success handler, otherwise we will be redirected to admin
this.set('session.skipAuthSuccessHandler', true);
return this.session.authenticate('authenticator:cookie', this.email, this.password).then(() => {
return this.session.authenticate('authenticator:cookie', data.email, data.password).then(() => {
this.set('blogCreated', true);
return this._afterAuthentication(result);
}).catch((error) => {
@ -161,7 +161,8 @@ export default Controller.extend(ValidationEngine, {
_handleSaveError(resp) {
if (isInvalidError(resp)) {
this.set('flowErrors', resp.payload.errors[0].message);
let [error] = resp.payload.errors;
this.set('flowErrors', `${error.message} ${error.context}`);
} else {
this.notifications.showAPIError(resp, {key: 'setup.blog-details'});
}
@ -169,7 +170,8 @@ export default Controller.extend(ValidationEngine, {
_handleAuthenticationError(error) {
if (error && error.payload && error.payload.errors) {
this.set('flowErrors', error.payload.errors[0].message);
let [apiError] = error.payload.errors;
this.set('flowErrors', `${apiError.message} ${apiError.context}`);
} else {
// Connection errors don't return proper status message, only req.body
this.notifications.showAlert('There was a problem on the server.', {type: 'error', key: 'setup.authenticate.failed'});