- return statusText + " (" + statusCode + ")";\r
- },\r
- getHttpErrorMessage : function(response) {\r
- var data = response.data;\r
- if (response.status === 500 && hasContents(data.exception)) {\r
- var summary = "exception: " + data.exception;\r
- if (hasContents(data.message)) {\r
- summary += " message: " + data.message;\r
- }\r
- return summary;\r
- }\r
- if (response.status === 0 && response.statusText === "") {\r
- /*\r
- * This logic is somewhat "fuzzy". Potential (brainstorming)\r
- * enhancements if users find the message unreliable include:\r
- * \r
- * A) SERVER TIMEOUT: perhaps a newer version of Angular can\r
- * reliably determine timeouts.\r
- * \r
- * B) SERVER TIMEOUT: recording start / end times and using that\r
- * to determine if timeout occured\r
- * \r
- * C) SESSION TIMEOUT "Potentially" examine cookies, although\r
- * that may not be feasible if cookies are set to "httponly".\r
- */\r
- if (data === null) {\r
- //return "possible server timeout";\r
- return "VID has timed out waiting for a response. To see status, close this popup and the screen will be refreshed automatically";\r
- }\r
- if (data === "") {\r
- return "Possible reasons include a session timeout or a server issue. "\r
- + "A session timeout might be resolved by refreshing the screen and re-logging in";\r
- }\r
- }\r
- var summary = "";\r
- if (response.status !== undefined && response.status > 0) {\r
- summary = "status: " + response.status;\r
- }\r
- if (hasContents(response.statusText)) {\r
- if (summary !== "") {\r
- summary += " ";\r
- }\r
- summary += "message: " + response.statusText;\r
- }\r
- return summary;\r
- },\r
- setHttpErrorHandler : function(httpErrorHandler) {\r
- _this.httpErrorHandler = httpErrorHandler;\r
- },\r
- runHttpErrorHandler : function(response, status) {\r
- httpErrorHandler(response, status);\r
- },\r
- startAsyncOperations : function(operationList, callbackFunction) {\r
- for (var i = 0; i < operationList.length; i++) {\r
- if (!angular.isFunction(operationList[i])) {\r
- throw "UtilityService:startAsyncOperations: invalid function: index: "\r
- + i;\r
- }\r
- }\r
- _this.asyncOperations = {\r
- operationList : operationList,\r
- callbackFunction : callbackFunction,\r
- count : 0\r
- };\r
- startNextAsyncOperation();\r
- },\r
- startNextAsyncOperation : startNextAsyncOperation,\r
- stopAsyncOperations : function() {\r
- _this.asyncOperations.count = _this.asyncOperations.operationList.length;\r
- },\r
- isObjectEmpty : isObjectEmpty,\r
- convertModel : convertModel,\r
- convertNewModel : convertNewModel,\r
- convertOldModel : convertOldModel,\r
- arrayContains : function (a, obj) {\r
- var i = a.length;\r
- if ( i > 0 ) {\r
- while (i--) {\r
- if (a[i] === obj) {\r
- return true;\r
- }\r
- }\r
- }\r
- return false;\r
- }\r
- }\r
+ return statusText + " (" + statusCode + ")";\r
+ },\r
+ getHttpErrorMessage : function(response) {\r
+ var data = response.data;\r
+ if ((response.status >= 400 && response.status < 600) && hasContents(data.exception)) {\r
+ var summary = "exception: " + data.exception;\r
+ if (hasContents(data.message)) {\r
+ summary += " message: " + data.message;\r
+ }\r
+ return summary;\r
+ }\r
+ if (response.status === 0 && response.statusText === "") {\r
+ /*\r
+ * This logic is somewhat "fuzzy". Potential (brainstorming)\r
+ * enhancements if users find the message unreliable include:\r
+ *\r
+ * A) SERVER TIMEOUT: perhaps a newer version of Angular can\r
+ * reliably determine timeouts.\r
+ *\r
+ * B) SERVER TIMEOUT: recording start / end times and using that\r
+ * to determine if timeout occured\r
+ *\r
+ * C) SESSION TIMEOUT "Potentially" examine cookies, although\r
+ * that may not be feasible if cookies are set to "httponly".\r
+ */\r
+ if (data === null) {\r
+ //return "possible server timeout";\r
+ return "VID has timed out waiting for a response. To see status, close this popup and the screen will be refreshed automatically";\r
+ }\r
+ if (data === "") {\r
+ return "Possible reasons include a session timeout or a server issue. "\r
+ + "A session timeout might be resolved by refreshing the screen and re-logging in";\r
+ }\r
+ }\r
+ var summary = "";\r
+ if (response.status !== undefined && response.status > 0) {\r
+ summary = "status: " + response.status;\r
+ }\r
+ if (hasContents(response.statusText)) {\r
+ if (summary !== "") {\r
+ summary += " ";\r
+ }\r
+ summary += "message: " + response.statusText;\r
+ }\r
+ return summary;\r
+ },\r
+ setHttpErrorHandler : function(httpErrorHandler) {\r
+ _this.httpErrorHandler = httpErrorHandler;\r
+ },\r
+ runHttpErrorHandler : function(response, status) {\r
+ httpErrorHandler(response, status);\r
+ },\r
+ startAsyncOperations : function(operationList, callbackFunction) {\r
+ for (var i = 0; i < operationList.length; i++) {\r
+ if (!angular.isFunction(operationList[i])) {\r
+ throw "UtilityService:startAsyncOperations: invalid function: index: "\r
+ + i;\r
+ }\r
+ }\r
+ _this.asyncOperations = {\r
+ operationList : operationList,\r
+ callbackFunction : callbackFunction,\r
+ count : 0\r
+ };\r
+ startNextAsyncOperation();\r
+ },\r
+ startNextAsyncOperation : startNextAsyncOperation,\r
+ stopAsyncOperations : function() {\r
+ _this.asyncOperations.count = _this.asyncOperations.operationList.length;\r
+ },\r
+ isObjectEmpty : isObjectEmpty,\r
+ convertModel : convertModel,\r
+ convertNewModel : convertNewModel,\r
+ convertOldModel : convertOldModel,\r
+ arrayContains : function (a, obj) {\r
+ var i = a.length;\r
+ if ( i > 0 ) {\r
+ while (i--) {\r
+ if (a[i] === obj) {\r
+ return true;\r
+ }\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+ }\r