Removing feedback_state fields when saving a model from the GUI
Change-Id: I5cd9dcb202594b9a29473483c8af1d3c9d5ed71e
diff --git a/src/app/core/services/helpers/config.helpers.ts b/src/app/core/services/helpers/config.helpers.ts
index 194bea1..0e17d73 100644
--- a/src/app/core/services/helpers/config.helpers.ts
+++ b/src/app/core/services/helpers/config.helpers.ts
@@ -97,7 +97,9 @@
public form_excluded_fields = this.excluded_fields.concat([
'id',
'policy_status',
+ 'policy_code',
'backend_status',
+ 'backend_code',
]);
constructor(
@@ -319,7 +321,7 @@
return;
}
- // remove fields added by the GUI
+ // remove fields that are not part of the model
item = this.removeExtraFields(item, model);
const itemCopy = angular.copy(item);
@@ -356,8 +358,9 @@
private removeExtraFields(item: any, modelDef: IXosModeldef) {
_.forEach(Object.keys(item), prop => {
- const hasField = _.findIndex(modelDef.fields, {name: prop}) > -1;
- if (!hasField) {
+ const field = _.find(modelDef.fields, {name: prop});
+ const hasField = angular.isDefined(field);
+ if (!hasField || field.read_only) {
delete item[prop];
}
});