From a974f35005f2b065d68d4dba8ac133b64214a62e Mon Sep 17 00:00:00 2001 From: "m.escher" <m.escher@mescher-nb.aditosoftware.local> Date: Tue, 2 Oct 2018 15:26:02 +0200 Subject: [PATCH] ORGNAME Lookup processes --- entity/Pers_entity/Pers_entity.aod | 7 +++++++ .../entityfields/org_id/onValueChange.js | 0 .../entityfields/org_id/valueProcess.js | 8 ++++++-- .../entityfields/orgname/fieldIdProcess.js | 3 +-- .../orgname/linkedContextProcess.js | 7 +++++-- .../entityfields/orgname/onValueChange.js | 17 ++++++++++++++++ .../entityfields/orgname/valueProcess.js | 20 +++++++++++++++++++ .../_____PREFERENCES_PROJECT.aod | 2 +- 8 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 entity/Pers_entity/entityfields/org_id/onValueChange.js create mode 100644 entity/Pers_entity/entityfields/orgname/onValueChange.js create mode 100644 entity/Pers_entity/entityfields/orgname/valueProcess.js diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod index 6f54575abb..81aaf1e8d1 100644 --- a/entity/Pers_entity/Pers_entity.aod +++ b/entity/Pers_entity/Pers_entity.aod @@ -169,6 +169,7 @@ <columnName>ORG_ID</columnName> <caption></caption> <valueProcess>%aditoprj%/entity/Pers_entity/entityfields/org_id/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/org_id/onValueChange.js</onValueChange> </entityField> <entityField> <name>REL_USER_NEW</name> @@ -242,7 +243,13 @@ <linkedContextProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js</linkedContextProcess> <mandatory v="true" /> <outgoingField>PersOrg_dfo</outgoingField> + <valueProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/valueProcess.js</valueProcess> <fieldIdProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js</fieldIdProcess> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/orgname/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + </onValueChangeTypes> </entityField> <entityField> <name>ORGID</name> diff --git a/entity/Pers_entity/entityfields/org_id/onValueChange.js b/entity/Pers_entity/entityfields/org_id/onValueChange.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/entity/Pers_entity/entityfields/org_id/valueProcess.js b/entity/Pers_entity/entityfields/org_id/valueProcess.js index 489cac6bba..2c20db8f32 100644 --- a/entity/Pers_entity/entityfields/org_id/valueProcess.js +++ b/entity/Pers_entity/entityfields/org_id/valueProcess.js @@ -5,8 +5,12 @@ import("system.neon"); if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) { - if(vars.exists("$param.OrgId_param") && vars.get("$param.OrgId_param") != null) + if(vars.exists("$image.lookup_orgname") && vars.get("$image.lookup_orgname") == '') + result.string(vars.get("$this.value")); + else if(vars.exists("$param.OrgId_param") && vars.get("$param.OrgId_param") != null) result.string(vars.getString("$param.OrgId_param")); else result.string("0") -} \ No newline at end of file +} +else + result.string(vars.get("$this.value")); diff --git a/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js b/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js index ade38aef1c..7dd987ac84 100644 --- a/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js +++ b/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js @@ -1,11 +1,10 @@ -import("system.logging"); import("system.vars"); import("system.db"); import("system.result"); import("system.neon"); var ret = ""; -var orgid = vars.getString("$field.ORGID").trim(); +var orgid = vars.getString("$field.ORG_ID").trim(); if(orgid == "0") ret = null; diff --git a/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js b/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js index ec9fb8b7c0..d2f6c19c34 100644 --- a/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js +++ b/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js @@ -5,7 +5,10 @@ import("system.neon"); var orgid = vars.getString("$field.ORGID"); -if((orgid == null || orgid.trim() == "0") && (vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_NEW)) +if(vars.exists("$image.lookup_orgname") && vars.get("$image.lookup_orgname") != '') + result.string("Org_context"); +else if((orgid == null || orgid.trim() == "0") + && (vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_NEW)) result.string(null); else - result.string("Org_context"); + result.string("Org_context"); diff --git a/entity/Pers_entity/entityfields/orgname/onValueChange.js b/entity/Pers_entity/entityfields/orgname/onValueChange.js new file mode 100644 index 0000000000..fce9fb549e --- /dev/null +++ b/entity/Pers_entity/entityfields/orgname/onValueChange.js @@ -0,0 +1,17 @@ +import("system.logging"); +import("system.db"); +import("system.neon"); +import("system.vars"); + +var org_id = db.cell("select ORG_ID from RELATION where RELATIONID = '" + vars.getString("$field.ORGNAME") + "'"); + +logging.log("value change -> " + org_id); + +if(org_id != '') +{ + neon.setFieldValue("$field.ORG_ID", org_id); + + var org_name = db.cell("select NAME from ORG where ORGID = '" + org_id + "'"); + vars.set("$image.lookup_orgname", org_name); + neon.refresh("", "$field.ORGNAME"); +} diff --git a/entity/Pers_entity/entityfields/orgname/valueProcess.js b/entity/Pers_entity/entityfields/orgname/valueProcess.js new file mode 100644 index 0000000000..563668cb78 --- /dev/null +++ b/entity/Pers_entity/entityfields/orgname/valueProcess.js @@ -0,0 +1,20 @@ +import("system.result"); +import("system.vars"); + +if(!vars.exists("$image.lookup_orgname")) +{ + result.string(vars.get("$this.value")); +} +else +{ + var name = vars.get("$image.lookup_orgname"); + + if(name != null) + { + vars.set("$image.lookup_orgname", null); + result.string(name); + } + else + result.string(vars.get("$this.value")); +} + \ No newline at end of file diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 9fb33b2728..b0f2142f63 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -2,7 +2,7 @@ <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.1"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>xRM-Basic 5</projectName> + <projectName>xRM-Basic-5</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry> -- GitLab