From a07ab924d32a6a2258539f53ba2875afa1e070bf Mon Sep 17 00:00:00 2001 From: nickago Date: Wed, 29 Jul 2015 09:42:13 -0700 Subject: Added a unique error message for bad username and simplified error outputed to user --- store/sql_user_store.go | 6 +++++- web/react/components/user_settings.jsx | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/store/sql_user_store.go b/store/sql_user_store.go index cd63e95b8..19b61d8f9 100644 --- a/store/sql_user_store.go +++ b/store/sql_user_store.go @@ -161,7 +161,11 @@ func (us SqlUserStore) Update(user *model.User, allowActiveUpdate bool) StoreCha } if count, err := us.GetMaster().Update(user); err != nil { - result.Err = model.NewAppError("SqlUserStore.Update", "We encounted an error updating the account", "user_id="+user.Id+", "+err.Error()) + if IsUniqueConstraintError(err.Error(), "Username", "users_username_teamid_key") { + result.Err = model.NewAppError("SqlUserStore.Update", "This username is already taken. Please choose another.", "user_id="+user.Id+", "+err.Error()) + } else { + result.Err = model.NewAppError("SqlUserStore.Update", "We encounted an error updating the account", "user_id="+user.Id+", "+err.Error()) + } } else if count != 1 { result.Err = model.NewAppError("SqlUserStore.Update", "We couldn't update the account", fmt.Sprintf("user_id=%v, count=%v", user.Id, count)) } else { diff --git a/web/react/components/user_settings.jsx b/web/react/components/user_settings.jsx index e1ae6da52..47772a26b 100644 --- a/web/react/components/user_settings.jsx +++ b/web/react/components/user_settings.jsx @@ -709,7 +709,7 @@ var GeneralTab = React.createClass({ }.bind(this), function(err) { state = this.getInitialState(); - state.server_error = err; + state.server_error = err.message; this.setState(state); }.bind(this) ); -- cgit v1.2.3-1-g7c22 From 7cdd91687c0e163dd867a11fb56fd7fbac9879d2 Mon Sep 17 00:00:00 2001 From: nickago Date: Wed, 29 Jul 2015 10:45:33 -0700 Subject: Added error safety and a unique message for duplicate emails --- store/sql_user_store.go | 4 +++- web/react/components/user_settings.jsx | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/store/sql_user_store.go b/store/sql_user_store.go index 19b61d8f9..552d12843 100644 --- a/store/sql_user_store.go +++ b/store/sql_user_store.go @@ -161,7 +161,9 @@ func (us SqlUserStore) Update(user *model.User, allowActiveUpdate bool) StoreCha } if count, err := us.GetMaster().Update(user); err != nil { - if IsUniqueConstraintError(err.Error(), "Username", "users_username_teamid_key") { + if IsUniqueConstraintError(err.Error(), "Email", "users_email_teamid_key") { + result.Err = model.NewAppError("SqlUserStore.Update", "This email is already taken. Please choose another", "user_id="+user.Id+", "+err.Error()) + } else if IsUniqueConstraintError(err.Error(), "Username", "users_username_teamid_key") { result.Err = model.NewAppError("SqlUserStore.Update", "This username is already taken. Please choose another.", "user_id="+user.Id+", "+err.Error()) } else { result.Err = model.NewAppError("SqlUserStore.Update", "We encounted an error updating the account", "user_id="+user.Id+", "+err.Error()) diff --git a/web/react/components/user_settings.jsx b/web/react/components/user_settings.jsx index 47772a26b..e7ac08a94 100644 --- a/web/react/components/user_settings.jsx +++ b/web/react/components/user_settings.jsx @@ -709,7 +709,11 @@ var GeneralTab = React.createClass({ }.bind(this), function(err) { state = this.getInitialState(); - state.server_error = err.message; + if(err.message) { + state.server_error = err.message; + } else { + state.server_error = err + } this.setState(state); }.bind(this) ); -- cgit v1.2.3-1-g7c22