diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod index fa0187084e458d0756e6a7f8402b4504bba23bb5..6825e5edc558a5f1ce8fa754382231dd31d125e9 100644 --- a/entity/Communication_entity/Communication_entity.aod +++ b/entity/Communication_entity/Communication_entity.aod @@ -6,6 +6,7 @@ <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/Communication_entity/documentation.adoc</documentation> <contentTitleProcess>%aditoprj%/entity/Communication_entity/contentTitleProcess.js</contentTitleProcess> + <afterOperatingState>%aditoprj%/entity/Communication_entity/afterOperatingState.js</afterOperatingState> <recordContainer>db</recordContainer> <entityFields> <entityField> diff --git a/entity/Communication_entity/afterOperatingState.js b/entity/Communication_entity/afterOperatingState.js new file mode 100644 index 0000000000000000000000000000000000000000..7085e9f853c10e7ebaadcd76f44b8786c5d621ed --- /dev/null +++ b/entity/Communication_entity/afterOperatingState.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.neon"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW) + vars.set("$context.PushDataPrivacyNotification", "false"); \ No newline at end of file diff --git a/entity/Communication_entity/recordcontainers/db/onDBInsert.js b/entity/Communication_entity/recordcontainers/db/onDBInsert.js index 5497aac10e4c84e9d6f63bdd28012b0bfe75cc06..7d836ae39e0b9d809ba388111d4ab1ab4302a6f9 100644 --- a/entity/Communication_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Communication_entity/recordcontainers/db/onDBInsert.js @@ -11,7 +11,11 @@ var rowdata = vars.get("$local.rowdata"); var standard = new StandardObject("Communication", vars.get("$local.uid"), "Person", rowdata["COMMUNICATION.CONTACT_ID"]) standard.onCommunicationInsert(rowdata["COMMUNICATION.MEDIUM_ID"]); -DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param")); +if(vars.exists("$context.PushDataPrivacyNotification") && vars.get("$context.PushDataPrivacyNotification") == "false" && vars.get("$sys.isclient")) +{ + DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param")); + vars.set("$context.PushDataPrivacyNotification", "true"); +} if (vars.exists("$param.AdditionalContactIds_param") && vars.get("$param.AdditionalContactIds_param")) { diff --git a/entity/Communication_entity/recordcontainers/db/onDBUpdate.js b/entity/Communication_entity/recordcontainers/db/onDBUpdate.js index da680f82c23c27da4f2cfb65488df9b1426b77bc..ebf288114b69f9c461bebc6ca31b2c39ada5b513 100644 --- a/entity/Communication_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Communication_entity/recordcontainers/db/onDBUpdate.js @@ -10,7 +10,11 @@ if (rowdata["COMMUNICATION.CONTACT_ID"] != null) var standard = new StandardObject("Communication", vars.get("$local.uid"), "Person", rowdata["COMMUNICATION.CONTACT_ID"]) standard.onCommunicationUpdate(rowdata["COMMUNICATION.MEDIUM_ID"]); } - -DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param")); + +if(vars.exists("$context.PushDataPrivacyNotification") && vars.get("$context.PushDataPrivacyNotification") == "false" && vars.get("$sys.isclient")) +{ + DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param")); + vars.set("$context.PushDataPrivacyNotification", "true"); +} WorkflowSignalSender.updated(); \ No newline at end of file