From 72a619466344ea0f0109300658aeb503f78180db Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Thu, 20 Dec 2018 10:34:34 +0100 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1029627][Preview Kontakt: Standard-Kommunikationsadresse] --- entity/Pers_entity/Pers_entity.aod | 2 ++ .../entityfields/image/onValueChange.js | 12 ++----- .../standard_email_comm/onValueChange.js | 4 +++ .../standard_phone_comm/onValueChange.js | 4 +++ .../recordcontainers/db/onDBUpdate.js | 35 ++++++++++--------- 5 files changed, 30 insertions(+), 27 deletions(-) create mode 100644 entity/Pers_entity/entityfields/standard_email_comm/onValueChange.js create mode 100644 entity/Pers_entity/entityfields/standard_phone_comm/onValueChange.js diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod index 0dd258c28f..fff3b24f67 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 368310478f..f7fffb124f 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 0000000000..4572302a6f --- /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 0000000000..fc6615da8d --- /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 e1ed5102d9..58697e7bda 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); +}); -- GitLab