import("DataPrivacy_lib"); import("Sql_lib"); import("system.util"); import("system.db"); import("system.vars"); import("Attribute_lib"); var rowdata = vars.get("$local.rowdata"); var attributeId = rowdata["AB_ATTRIBUTE_ID.value"] var type = AttributeUtil.getAttributeType(attributeId); var attributeRelationId = vars.getString("$param.ShowEmpty_param") == "true" ? JSON.parse(vars.get("$local.uid"))[0] : vars.get("$local.uid"); if (vars.getString("$param.ShowEmpty_param") == "true" && !rowdata["AB_ATTRIBUTERELATIONID.value"]) { var columns = [ "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTE_ID", "OBJECT_ROWID", "OBJECT_TYPE", "DATE_NEW", "USER_NEW" ]; var values = [ attributeRelationId, attributeId, vars.get("$param.ObjectRowId_param"), vars.get("$param.ObjectType_param"), vars.get("$sys.date"), vars.get("$sys.user") ]; var valueField = AttributeTypeUtil.getDatabaseField(type); if (valueField) { columns.push(valueField); if (AttributeTypeUtil.useLookup(type)) values.push(rowdata["VALUE_LOOKUP.value"]) else values.push(rowdata["VALUE.value"]); } db.insertData("AB_ATTRIBUTERELATION", columns, null, values); } else { var fieldValues = { "AB_ATTRIBUTE_ID" : attributeId, "DATE_EDIT" : rowdata["DATE_EDIT.value"], "USER_EDIT" : rowdata["USER_EDIT.value"] }; var dbFields = AttributeTypeUtil.getAllDatabaseFields(); dbFields.forEach(function (row) { fieldValues[row] = ""; //set every field but the correct value field to null }); fieldValues[AttributeTypeUtil.getDatabaseField(type)] = AttributeTypeUtil.useLookup(type) ? rowdata["VALUE_LOOKUP.value"] : rowdata["VALUE.value"]; newWhere("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", attributeRelationId) .updateFields(fieldValues); } if (vars.get("$param.ObjectType_param") == "Person") DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$param.ObjectRowId_param"), vars.get("$param.ShowDsgvoMessage_param"));