diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties
index a4e15e8d49a..734461f0c73 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -5,6 +5,7 @@ state.Enabled=Enabled
label.system.wide.capacity=System-wide capacity
label.network.service.providers=Network Service Providers
message.launch.zone=Zone is ready to launch; please proceed to the next step.
+error.unable.to.reach.management.server=Unable to reach Management Server
#new labels (end) ************************************************************************************************
label.add.compute.offering=Add compute offering
diff --git a/ui/index.jsp b/ui/index.jsp
index fb862626fb3..d42dfa265cc 100644
--- a/ui/index.jsp
+++ b/ui/index.jsp
@@ -2868,6 +2868,7 @@ dictionary = {
'message.you.must.have.at.least.one.physical.network': '',
'message.please.select.a.different.public.and.management.network.before.removing': '',
'label.purpose': '',
-'error.please.specify.physical.network.tags': ''
+'error.please.specify.physical.network.tags': '',
+'error.unable.to.reach.management.server': ''
};
diff --git a/ui/scripts/cloudStack.js b/ui/scripts/cloudStack.js
index d173f4ed03c..566948b0102 100644
--- a/ui/scripts/cloudStack.js
+++ b/ui/scripts/cloudStack.js
@@ -263,8 +263,15 @@
// TEMPORARY -- replace w/ output of capability response, etc., once implemented
window.g_projectsInviteRequired = false;
},
- error: function() {
- args.response.error();
+ error: function(XMLHttpRequest) {
+ var errorMsg = parseXMLHttpResponse(XMLHttpRequest);
+ if(errorMsg.length == 0) {
+ if(XMLHttpRequest.status == 0)
+ errorMsg = dictionary['error.unable.to.reach.management.server'];
+ else
+ errorMsg = dictionary['label.error'];
+ }
+ args.response.error(errorMsg);
},
beforeSend : function(XMLHttpResponse) {
return true;
diff --git a/ui/scripts/ui-custom/login.js b/ui/scripts/ui-custom/login.js
index 77130af3b8d..61439bf619f 100644
--- a/ui/scripts/ui-custom/login.js
+++ b/ui/scripts/ui-custom/login.js
@@ -75,7 +75,7 @@
});
},
error: function(args) {
- cloudStack.dialog.notice({ message: 'Invalid username and/or password.' });
+ cloudStack.dialog.notice({ message: args });
}
}
});