diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod index 47d89cc0a1c49c8507d6ada469a4e05775d32217..a27095f385c2ecdb9d1e6a053534477b059f39f7 100644 --- a/entity/Communication_entity/Communication_entity.aod +++ b/entity/Communication_entity/Communication_entity.aod @@ -12,6 +12,7 @@ <title>${COMM_ADDRESS}</title> <contentTypeProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/contentTypeProcess.js</contentTypeProcess> <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Communication_entity/entityfields/addr/onValidation.js</onValidation> </entityField> <entityField> @@ -23,12 +24,6 @@ <title>Medium</title> <consumer>KeywordMediums</consumer> <mandatory v="true" /> - <onValueChange>%aditoprj%/entity/Communication_entity/entityfields/medium_id/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - <element>PROCESS</element> - <element>RECORD</element> - </onValueChangeTypes> </entityField> <entityField> <name>CONTACT_ID</name> diff --git a/entity/Communication_entity/entityfields/addr/valueProcess.js b/entity/Communication_entity/entityfields/addr/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4485a97535dcb1453202c4be8c601ec4428b5afa --- /dev/null +++ b/entity/Communication_entity/entityfields/addr/valueProcess.js @@ -0,0 +1,19 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); + +var recordstate = vars.get("$sys.recordstate"); +if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) +{ + var medium = vars.get("$field.MEDIUM_ID"); + if (vars.getString("$this.value") == "" && medium) + { + var keywordAttrs = KeywordUtils.getAttributeRelationsByKey(medium, $KeywordRegistry.communicationMedium()); + var isInternet = keywordAttrs.contentType == "LINK"; + + if (isInternet) + result.string("https://"); + } +} \ No newline at end of file diff --git a/entity/Communication_entity/entityfields/medium_id/onValueChange.js b/entity/Communication_entity/entityfields/medium_id/onValueChange.js deleted file mode 100644 index 2befa48edce658cc2dacc6a4e081a1343b6f6a2b..0000000000000000000000000000000000000000 --- a/entity/Communication_entity/entityfields/medium_id/onValueChange.js +++ /dev/null @@ -1,11 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("Entity_lib"); - -var isInternet = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MEDIUM_ID")) == "d08956b8-369e-4b65-88fa-1c37b3368ae3"; -var internetPreset = "https://"; - -if (isInternet && vars.get("$field.ADDR") == "") //medium == Internet - neon.setFieldValue("$field.ADDR", internetPreset); -else if (!isInternet && vars.get("$field.ADDR") == internetPreset) - neon.setFieldValue("$field.ADDR", ""); \ No newline at end of file