diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod index 0dd258c28f01b5689fb8143914c9960f3594e085..fff3b24f67d41d3aa380f9eed2495c5a03866bd3 100644 --- a/entity/Pers_entity/Pers_entity.aod +++ b/entity/Pers_entity/Pers_entity.aod @@ -416,11 +416,13 @@ <name>STANDARD_EMAIL_COMM</name> <title>E-Mail</title> <outgoingField>PersCommEmail_dfo</outgoingField> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/standard_email_comm/onValueChange.js</onValueChange> </entityField> <entityField> <name>STANDARD_PHONE_COMM</name> <title>Phone</title> <outgoingField>PersCommPhone_dfo</outgoingField> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/standard_phone_comm/onValueChange.js</onValueChange> </entityField> <entityOutgoingField> <name>PersCommPhone_dfo</name> diff --git a/entity/Pers_entity/entityfields/image/onValueChange.js b/entity/Pers_entity/entityfields/image/onValueChange.js index 368310478f68a4f034d6245e41a6a9e90deb3f69..f7fffb124f892cacb684ac531a608d61bae0ad4e 100644 --- a/entity/Pers_entity/entityfields/image/onValueChange.js +++ b/entity/Pers_entity/entityfields/image/onValueChange.js @@ -1,12 +1,4 @@ -import("system.vars"); -import("system.neon"); +import("Entity_lib"); // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process -if (vars.get("$field.IMAGE")) -{ - vars.set("$image.changedImage", true); -} -else -{ - vars.set("$image.changedImage", "deleted"); -} +FieldChanges.setChange("$field.IMAGE"); \ No newline at end of file diff --git a/entity/Pers_entity/entityfields/standard_email_comm/onValueChange.js b/entity/Pers_entity/entityfields/standard_email_comm/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..4572302a6feaf84e3aa89ff8fd0fde83552075b0 --- /dev/null +++ b/entity/Pers_entity/entityfields/standard_email_comm/onValueChange.js @@ -0,0 +1,4 @@ +import("Entity_lib"); + +// TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process +FieldChanges.setChange("$field.STANDARD_EMAIL_COMM"); \ No newline at end of file diff --git a/entity/Pers_entity/entityfields/standard_phone_comm/onValueChange.js b/entity/Pers_entity/entityfields/standard_phone_comm/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..fc6615da8d114efa6d05c7f5fea04cfc4ba0fd8a --- /dev/null +++ b/entity/Pers_entity/entityfields/standard_phone_comm/onValueChange.js @@ -0,0 +1,4 @@ +import("Entity_lib"); + +// TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process +FieldChanges.setChange("$field.STANDARD_PHONE_COMM"); \ No newline at end of file diff --git a/entity/Pers_entity/recordcontainers/db/onDBUpdate.js b/entity/Pers_entity/recordcontainers/db/onDBUpdate.js index e1ed5102d903a176cee1702a6f01fabe2c4b5ff3..58697e7bda169e7a66735bbea8359527069e9213 100644 --- a/entity/Pers_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Pers_entity/recordcontainers/db/onDBUpdate.js @@ -1,21 +1,22 @@ import("system.vars"); -import("Pers_lib"); +import("Org_lib"); +import("Comm_lib"); +import("Entity_lib"); // TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer -if (vars.exists("$image.changedImage")) -{ - if (vars.get("$image.changedImage")) - { - var imageData = vars.getString("$field.IMAGE"); - if (vars.get("$image.changedImage") != "deleted") - { - PersUtils.setImage(vars.get("$field.PERSID"), imageData); - } - else - { - PersUtils.removeImage(vars.get("$field.PERSID")); - } - } -} +FieldChanges.assimilateChangeAndDispose("$field.IMAGE", function(state, value){ + if (state == FieldChanges.STATE_CHANGED()) + PersUtils.setImage(vars.get("$field.PERSID"), value); + else + PersUtils.removeImage(vars.get("$field.PERSID")); +}); -vars.set("$image.changedImage", false); + +var uid = vars.get("$sys.uid"); +FieldChanges.assimilateChangeAndDispose("$field.STANDARD_EMAIL_COMM", function(state, value){ + CommUtil.setStandardMail(uid, value); +}); + +FieldChanges.assimilateChangeAndDispose("$field.STANDARD_PHONE_COMM", function(state, value){ + CommUtil.setStandardPhone(uid, value); +});