This commit is contained in:
@@ -24,12 +24,12 @@ function dealWithError(msg, form) {
|
||||
//then put the error into it
|
||||
if (form) {
|
||||
if (form.$gzdevmode()) {
|
||||
//make sure appError is defined on data
|
||||
if (!form.$_.has(form, "appError")) {
|
||||
throw "DEV ERROR errorHandler::dealWithError -> appError seems to be missing from form's vue data object";
|
||||
//make sure formState.appError is defined on data
|
||||
if (!form.$_.has(form, "formState.appError")) {
|
||||
throw "DEV ERROR errorHandler::dealWithError -> formState.appError seems to be missing from form's vue data object";
|
||||
}
|
||||
}
|
||||
form.appError = msg;
|
||||
form.formState.appError = msg;
|
||||
form.$gzform.setErrorBoxErrors(form);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,11 +79,11 @@ function getControlLabel(ctrl) {
|
||||
function getErrorsForField(vm, ref) {
|
||||
var ret = [];
|
||||
if (ref == "errorbox") {
|
||||
ret = vm.$_.filter(vm.serverError.details, function(o) {
|
||||
ret = vm.$_.filter(vm.formState.serverError.details, function(o) {
|
||||
return !o.target;
|
||||
});
|
||||
} else {
|
||||
ret = vm.$_.filter(vm.serverError.details, function(o) {
|
||||
ret = vm.$_.filter(vm.formState.serverError.details, function(o) {
|
||||
if (!o.target) {
|
||||
return false;
|
||||
}
|
||||
@@ -110,9 +110,9 @@ function getErrorBoxErrors(vm, errs) {
|
||||
}
|
||||
|
||||
//any application errors?
|
||||
if (vm.appError) {
|
||||
if (vm.formState.appError) {
|
||||
hasErrors = true;
|
||||
ret = vm.appError + "\r\n----------\r\n" + ret;
|
||||
ret = vm.formState.appError + "\r\n----------\r\n" + ret;
|
||||
}
|
||||
|
||||
if (!hasErrors) {
|
||||
@@ -322,44 +322,44 @@ export default {
|
||||
serverErrors(vm, ref) {
|
||||
//CHECK PREREQUISITES IN DEV MODE TO ENSURE FORM ISN"T MISSING NEEDED DATA ATTRIBUTES ETC
|
||||
if (vm.$gzdevmode()) {
|
||||
//make sure serverErrors is defined on data
|
||||
if (!vm.$_.has(vm, "serverError")) {
|
||||
throw "DEV ERROR gzform::serverErrors -> serverError seems to be missing from form's vue data object";
|
||||
//make sure formState.serverErrors is defined on data
|
||||
if (!vm.$_.has(vm, "formState.serverError")) {
|
||||
throw "DEV ERROR gzform::formState.serverErrors -> formState.serverError seems to be missing from form's vue data object";
|
||||
}
|
||||
|
||||
//make sure appError is defined on data
|
||||
if (!vm.$_.has(vm, "appError")) {
|
||||
throw "DEV ERROR gzform::serverErrors -> appError seems to be missing from form's vue data object";
|
||||
//make sure formState.appError is defined on data
|
||||
if (!vm.$_.has(vm, "formState.appError")) {
|
||||
throw "DEV ERROR gzform::formState.serverErrors -> formState.appError seems to be missing from form's vue data object";
|
||||
}
|
||||
|
||||
//make sure formState.errorBoxMessage is defined on data
|
||||
if (!vm.$_.has(vm, "formState.errorBoxMessage")) {
|
||||
throw "DEV ERROR gzform::serverErrors -> formState.errorBoxMessage seems to be missing from form's vue data object";
|
||||
throw "DEV ERROR gzform::formState.serverErrors -> formState.errorBoxMessage seems to be missing from form's vue data object";
|
||||
}
|
||||
|
||||
//ensure the error returned is in an expected format to catch coding errors at the server end
|
||||
if (!vm.$_.isEmpty(vm.serverError)) {
|
||||
if (!vm.$_.isEmpty(vm.formState.serverError)) {
|
||||
//Make sure there is an error code if there is an error collection
|
||||
if (!vm.serverError.code) {
|
||||
throw "DEV ERROR gzform::serverErrors -> server returned error without code";
|
||||
if (!vm.formState.serverError.code) {
|
||||
throw "DEV ERROR gzform::formState.serverErrors -> server returned error without code";
|
||||
}
|
||||
}
|
||||
}
|
||||
var ret = [];
|
||||
|
||||
//check for errors if we have any errors
|
||||
if (!vm.$_.isEmpty(vm.serverError)) {
|
||||
if (!vm.$_.isEmpty(vm.formState.serverError)) {
|
||||
//debugger;
|
||||
//First let's get the top level error code
|
||||
|
||||
var apiErrorCode = parseInt(vm.serverError.code);
|
||||
var apiErrorCode = parseInt(vm.formState.serverError.code);
|
||||
|
||||
//GENERAL ERROR
|
||||
if (ref == "errorbox") {
|
||||
//Add any general errors to ret
|
||||
var err = vm.$gzlocale.get("ErrorAPI" + apiErrorCode.toString());
|
||||
if (vm.serverError.message) {
|
||||
err = err + "\r\n" + vm.serverError.message;
|
||||
if (vm.formState.serverError.message) {
|
||||
err = err + "\r\n" + vm.formState.serverError.message;
|
||||
}
|
||||
//Update the form status
|
||||
this.setFormState({
|
||||
@@ -371,7 +371,7 @@ export default {
|
||||
//DETAIL ERRORS
|
||||
//{"error":{"code":"2200","details":[{"message":"Exception: Error converting value \"\" to type 'AyaNova.Biz.AUTHORIZATION_ROLES'. Path 'roles', line 1, position 141.","target":"roles","error":"2203"}],"message":"Object did not pass validation"}}
|
||||
//Specific field validation errors are in an array in "details" key
|
||||
if (!vm.$_.isEmpty(vm.serverError.details)) {
|
||||
if (!vm.$_.isEmpty(vm.formState.serverError.details)) {
|
||||
//See if this key is in the details array
|
||||
var errorsForField = getErrorsForField(vm, ref);
|
||||
|
||||
@@ -406,14 +406,14 @@ export default {
|
||||
},
|
||||
|
||||
///////////////////////////////
|
||||
// ClearServerErrors
|
||||
// ClearformState.serverErrors
|
||||
// Clear all server errors and app errors and ensure error box doesn't show
|
||||
//
|
||||
deleteAllErrorBoxErrors(vm) {
|
||||
//clear all keys from server error
|
||||
vm.$gzutil.removeAllPropertiesFromObject(vm.serverError);
|
||||
vm.$gzutil.removeAllPropertiesFromObject(vm.formState.serverError);
|
||||
//clear app errors
|
||||
vm.appError = null;
|
||||
vm.formState.appError = null;
|
||||
//clear out actual message box display
|
||||
vm.formState.errorBoxMessage = null;
|
||||
//Update the form status
|
||||
@@ -439,8 +439,8 @@ export default {
|
||||
if (triggeringChange || vm.formState.loading) {
|
||||
return;
|
||||
}
|
||||
//If ref appears in the servererrors details collection, remove each one
|
||||
var m = vm.$_.remove(vm.serverError.details, function(o) {
|
||||
//If ref appears in the formState.serverErrors details collection, remove each one
|
||||
var m = vm.$_.remove(vm.formState.serverError.details, function(o) {
|
||||
if (!o.target) {
|
||||
return false;
|
||||
}
|
||||
@@ -448,10 +448,13 @@ export default {
|
||||
});
|
||||
|
||||
//If there are no more errors in details then remove the whole thing as it's no longer required
|
||||
if (vm.serverError.details && vm.serverError.details.length < 1) {
|
||||
if (vm.serverError.code == "2200") {
|
||||
if (
|
||||
vm.formState.serverError.details &&
|
||||
vm.formState.serverError.details.length < 1
|
||||
) {
|
||||
if (vm.formState.serverError.code == "2200") {
|
||||
//clear all keys from server error
|
||||
vm.$gzutil.removeAllPropertiesFromObject(vm.serverError);
|
||||
vm.$gzutil.removeAllPropertiesFromObject(vm.formState.serverError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -251,16 +251,15 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
obj: {},
|
||||
serverError: {},
|
||||
|
||||
appError: null,
|
||||
formState: {
|
||||
ready: false,
|
||||
dirty: false,
|
||||
valid: true,
|
||||
readOnly: false,
|
||||
loading: true,
|
||||
errorBoxMessage: null
|
||||
errorBoxMessage: null,
|
||||
appError: null,
|
||||
serverError: {}
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -299,7 +298,7 @@ export default {
|
||||
.get(url)
|
||||
.then(res => {
|
||||
if (res.error) {
|
||||
vm.serverError = res.error;
|
||||
vm.formState.serverError = res.error;
|
||||
vm.$gzform.setErrorBoxErrors(vm);
|
||||
} else {
|
||||
vm.obj = res.data;
|
||||
@@ -335,7 +334,7 @@ export default {
|
||||
.then(res => {
|
||||
this.formState.loading = false;
|
||||
if (res.error) {
|
||||
vm.serverError = res.error;
|
||||
vm.formState.serverError = res.error;
|
||||
vm.$gzform.setErrorBoxErrors(vm);
|
||||
} else {
|
||||
vm.$gzform.setFormState({
|
||||
|
||||
Reference in New Issue
Block a user