This commit is contained in:
2019-04-23 19:41:55 +00:00
parent b8789627ab
commit 8d83ca6b95
3 changed files with 39 additions and 37 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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({