From d1da72ef47d3f98e762e091b6c43ba9ecd510b71 Mon Sep 17 00:00:00 2001 From: Sascha Schmidt <s.schmidt@adito.de> Date: Fri, 11 Oct 2019 16:43:31 +0200 Subject: [PATCH] fix #1045149 quickentry - error on save when company is created without address --- entity/Address_entity/Address_entity.aod | 12 +-- .../entityfields/contact_id/valueProcess.js | 1 - .../recordcontainers/db/onDBInsert.js | 10 +-- .../recordcontainers/jdito/onInsert.js | 5 +- .../QuickEntry_entity/QuickEntry_entity.aod | 23 +++++- .../contacttype_param/valueProcess.js | 3 + .../children/contactid_param/valueProcess.js | 6 +- .../contacttype_param/valueProcess.js | 3 + neonContext/Address/Address.aod | 4 + .../AddressOrgMultiEdit_view.aod | 77 +++++++++++++++++++ .../QuickEntryEdit_view.aod | 5 ++ 11 files changed, 129 insertions(+), 20 deletions(-) create mode 100644 entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js rename entity/QuickEntry_entity/entityfields/{adresses => orgaddresses}/children/contactid_param/valueProcess.js (96%) create mode 100644 entity/QuickEntry_entity/entityfields/orgaddresses/children/contacttype_param/valueProcess.js create mode 100644 neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod index 56b90af820..133262e806 100644 --- a/entity/Address_entity/Address_entity.aod +++ b/entity/Address_entity/Address_entity.aod @@ -466,13 +466,13 @@ <fieldName>Adresses</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>aa315b76-7573-4627-ae15-2e7414b8b34d</name> + <entityName>QuickEntry_entity</entityName> + <fieldName>OrgAddresses</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> - <children> - <entityParameter> - <name>ContactType_param</name> - <expose v="false" /> - </entityParameter> - </children> </entityProvider> <entityParameter> <name>ContactIds_param</name> diff --git a/entity/Address_entity/entityfields/contact_id/valueProcess.js b/entity/Address_entity/entityfields/contact_id/valueProcess.js index 5917f2446d..0a5a0150c0 100644 --- a/entity/Address_entity/entityfields/contact_id/valueProcess.js +++ b/entity/Address_entity/entityfields/contact_id/valueProcess.js @@ -12,7 +12,6 @@ if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) var addrType = vars.get("$field.ADDR_TYPE"); var isOrgType = KeywordUtils.getAttributeRelation(addrType, $KeywordRegistry.addressType(), "organisation"); var contactIds = vars.get("$param.ContactIds_param"); - result.string(isOrgType ? contactId : JSON.parse(contactIds)[0]); } else if (contactId) diff --git a/entity/Address_entity/recordcontainers/db/onDBInsert.js b/entity/Address_entity/recordcontainers/db/onDBInsert.js index f6a22d75b0..05aad0bca1 100644 --- a/entity/Address_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Address_entity/recordcontainers/db/onDBInsert.js @@ -9,11 +9,11 @@ var addrType = rowdata["ADDRESS.ADDR_TYPE"]; var typeParam = vars.get("$param.ContactType_param"); -if (!typeParam && vars.exists("$param.ContactIds_param") && vars.getString("$param.ContactIds_param")) -{ - var isOrgType = KeywordUtils.getAttributeRelation(addrType, $KeywordRegistry.addressType(), "organisation"); - typeParam = isOrgType ? "organisation" : "contact"; -} +//if (!typeParam && vars.exists("$param.ContactIds_param") && vars.getString("$param.ContactIds_param")) +//{ +// var isOrgType = KeywordUtils.getAttributeRelation(addrType, $KeywordRegistry.addressType(), "organisation"); +// typeParam = isOrgType ? "organisation" : "contact"; +//} var scopeType = null if (typeParam === "contact") diff --git a/entity/ObjectRelationType_entity/recordcontainers/jdito/onInsert.js b/entity/ObjectRelationType_entity/recordcontainers/jdito/onInsert.js index 51da0240f6..fa718b256d 100644 --- a/entity/ObjectRelationType_entity/recordcontainers/jdito/onInsert.js +++ b/entity/ObjectRelationType_entity/recordcontainers/jdito/onInsert.js @@ -1,3 +1,4 @@ +import("system.neon"); import("system.util"); import("ObjectRelation_lib"); import("system.vars"); @@ -42,4 +43,6 @@ if (vars.getString("$field.Type2Enabled_proxy") == "1" 2, vars.get("$field.HIERARCHY") ]); -} \ No newline at end of file +} + +neon.refreshAll(); \ No newline at end of file diff --git a/entity/QuickEntry_entity/QuickEntry_entity.aod b/entity/QuickEntry_entity/QuickEntry_entity.aod index 6f19540672..a9fc5171af 100644 --- a/entity/QuickEntry_entity/QuickEntry_entity.aod +++ b/entity/QuickEntry_entity/QuickEntry_entity.aod @@ -25,16 +25,13 @@ <fieldName>QuickEntryAdresses</fieldName> </dependency> <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/adresses/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> <entityParameter> <name>ContactIds_param</name> <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/adresses/children/contactids_param/valueProcess.js</valueProcess> </entityParameter> <entityParameter> <name>ContactType_param</name> + <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> @@ -153,6 +150,24 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>OrgAddresses</name> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>QuickEntryAdresses</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ContactType_param</name> + <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/orgaddresses/children/contacttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js new file mode 100644 index 0000000000..bfc3470c81 --- /dev/null +++ b/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("contact"); \ No newline at end of file diff --git a/entity/QuickEntry_entity/entityfields/adresses/children/contactid_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js similarity index 96% rename from entity/QuickEntry_entity/entityfields/adresses/children/contactid_param/valueProcess.js rename to entity/QuickEntry_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js index 16c85500b5..2c71e53a49 100644 --- a/entity/QuickEntry_entity/entityfields/adresses/children/contactid_param/valueProcess.js +++ b/entity/QuickEntry_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js @@ -1,4 +1,4 @@ -import("system.vars"); -import("system.result"); - +import("system.vars"); +import("system.result"); + result.string(vars.get("$field.UID")); \ No newline at end of file diff --git a/entity/QuickEntry_entity/entityfields/orgaddresses/children/contacttype_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/orgaddresses/children/contacttype_param/valueProcess.js new file mode 100644 index 0000000000..c15d79bb24 --- /dev/null +++ b/entity/QuickEntry_entity/entityfields/orgaddresses/children/contacttype_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("organisation"); \ No newline at end of file diff --git a/neonContext/Address/Address.aod b/neonContext/Address/Address.aod index b60374eacb..477b1d4f8c 100644 --- a/neonContext/Address/Address.aod +++ b/neonContext/Address/Address.aod @@ -18,5 +18,9 @@ <name>77b182a7-2361-41a7-ae78-dc5285b41b97</name> <view>AddressLookup_view</view> </neonViewReference> + <neonViewReference> + <name>fffe7dd0-6f32-4b4f-865b-501f48813c6d</name> + <view>AddressOrgMultiEdit_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod b/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod new file mode 100644 index 0000000000..50fffcec19 --- /dev/null +++ b/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2"> + <name>AddressOrgMultiEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>MultipleEdit</name> + <entityField>#ENTITY</entityField> + <title>Firmenadresse</title> + <columns> + <neonTableColumn> + <name>2aebe24e-875a-4c57-8461-16da46d6f080</name> + <entityField>ADDR_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>435f10b8-b6ef-4187-bffc-fc6104a6130c</name> + <entityField>COUNTRY</entityField> + </neonTableColumn> + <neonTableColumn> + <name>00300f6f-ac45-4daa-9693-6452da972403</name> + <entityField>AddressSearch</entityField> + <width v="100" /> + </neonTableColumn> + <neonTableColumn> + <name>66ae75ca-7a5c-4cf0-b768-6c2900f7b7c6</name> + <entityField>STATE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b62515bf-e89d-44a9-94ff-933766657fe5</name> + <entityField>REGION</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b9379fcc-3212-488b-8f90-cade09c00f3c</name> + <entityField>Zip_ws</entityField> + </neonTableColumn> + <neonTableColumn> + <name>c1372a93-cf83-4c55-90e6-3b6b352abebf</name> + <entityField>ZIP</entityField> + </neonTableColumn> + <neonTableColumn> + <name>5a0d723a-8531-4330-957b-11a1be9d7eab</name> + <entityField>City_ws</entityField> + </neonTableColumn> + <neonTableColumn> + <name>2e7ba632-36ad-4852-bcca-d75bcf3f7de1</name> + <entityField>CITY</entityField> + <width v="75" /> + </neonTableColumn> + <neonTableColumn> + <name>2c104842-2ca1-408d-81d6-e998c0a562f2</name> + <entityField>Address_ws</entityField> + </neonTableColumn> + <neonTableColumn> + <name>ac71d5eb-7ce7-41a0-91aa-5594f2238788</name> + <entityField>ADDRESS</entityField> + </neonTableColumn> + <neonTableColumn> + <name>61261845-740e-4f4b-a1f8-5e6aeac2deba</name> + <entityField>BUILDINGNO</entityField> + </neonTableColumn> + <neonTableColumn> + <name>37df9198-cb7b-4080-a040-21ed32e26948</name> + <entityField>ADDRESSADDITION</entityField> + </neonTableColumn> + <neonTableColumn> + <name>443b9d7d-dac2-40b2-bb2b-d5e0091877a9</name> + <entityField>ADDRIDENTIFIER</entityField> + </neonTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> +</neonView> diff --git a/neonView/QuickEntryEdit_view/QuickEntryEdit_view.aod b/neonView/QuickEntryEdit_view/QuickEntryEdit_view.aod index b957d0f846..72a62d4289 100644 --- a/neonView/QuickEntryEdit_view/QuickEntryEdit_view.aod +++ b/neonView/QuickEntryEdit_view/QuickEntryEdit_view.aod @@ -31,6 +31,11 @@ <entityField>Contacts</entityField> <view>PersonMultiEdit_view</view> </neonViewReference> + <neonViewReference> + <name>fe6b7731-fdc6-4925-95b2-ee003b52dab5</name> + <entityField>OrgAddresses</entityField> + <view>AddressOrgMultiEdit_view</view> + </neonViewReference> <neonViewReference> <name>9f1eace6-b69e-4cd3-b672-5628d5ee2a47</name> <entityField>Adresses</entityField> -- GitLab