summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Filippov <a.filippov@yadro.com>2018-03-20 10:42:26 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-03-27 12:10:56 +0000
commit0e480f5591bbd87c6c2db97308d97f6bfdba39f5 (patch)
treeff9598cca696622658796bbd7eb594a9135bae94
parent74b05409417c71855edb2692b429465507ba0a64 (diff)
downloadphosphor-webui-0e480f5591bbd87c6c2db97308d97f6bfdba39f5.tar.gz
phosphor-webui-0e480f5591bbd87c6c2db97308d97f6bfdba39f5.zip
Show error message received from server side
When an error occurs during authorization, display the error message received from server side instead hardcoded message. Partially resolves openbmc/openbmc#2974 Resolves openbmc/openbmc#3024 Tested: Enter invalid username or password and verify error message Change-Id: I91ca29d5a69e12e12ce490ce3206173de7d41f09 Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
-rw-r--r--app/common/services/userModel.js9
-rw-r--r--app/login/controllers/login-controller.html3
-rw-r--r--app/login/controllers/login-controller.js11
3 files changed, 14 insertions, 9 deletions
diff --git a/app/common/services/userModel.js b/app/common/services/userModel.js
index f82c1f1..43437c5 100644
--- a/app/common/services/userModel.js
+++ b/app/common/services/userModel.js
@@ -22,8 +22,15 @@ window.angular && (function (angular) {
|| response.status === undefined)){
sessionStorage.setItem('LOGIN_ID', username);
callback(true);
+ }else if(response && response.data && response.data.data
+ && response.data.data.description){
+ callback(false, response.data.data.description);
+ }else if(response && response.message){
+ callback(false, response.message);
+ }else if(error){
+ callback(false, 'Server unreachable');
}else{
- callback(false, error);
+ callback(false, 'Internal error');
}
});
},
diff --git a/app/login/controllers/login-controller.html b/app/login/controllers/login-controller.html
index 805e64a..ec88c0b 100644
--- a/app/login/controllers/login-controller.html
+++ b/app/login/controllers/login-controller.html
@@ -23,8 +23,7 @@
<input id="login__submit" class="btn-primary submit" type="button" value="Log in" role="button" ng-click="login(host, username, password)" ng-class="{error: error}" ng-disabled="dataService.loading">
- <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p>
- <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p>
+ <p class="login__error-msg" role="alert" ng-if="error">{{description}}</p>
</form>
</div>
</div>
diff --git a/app/login/controllers/login-controller.js b/app/login/controllers/login-controller.js
index c2ed383..1f87871 100644
--- a/app/login/controllers/login-controller.js
+++ b/app/login/controllers/login-controller.js
@@ -30,7 +30,7 @@ window.angular && (function (angular) {
};
$scope.login = function(host, username, password){
$scope.error = false;
- $scope.server_unreachable = false;
+ $scope.description = false;
if(!username || username == "" ||
!password || password == "" ||
@@ -39,15 +39,14 @@ window.angular && (function (angular) {
return false;
}else{
$scope.dataService.setHost(host);
- userModel.login(username, password, function(status, unreachable){
+ userModel.login(username, password, function(status, description){
if(status){
$scope.$emit('user-logged-in',{});
$window.location.hash = '#/overview/server';
}else{
- if(unreachable){
- $scope.server_unreachable = true;
- }else{
- $scope.error = true;
+ $scope.error = true;
+ if(description){
+ $scope.description = description;
}
};
});
OpenPOWER on IntegriCloud