diff --git a/entity/Favorite_entity/Favorite_entity.aod b/entity/Favorite_entity/Favorite_entity.aod index 40e467b44b6b345f2949d414ccfba99b8324e4b9..73dce01c7e4211209cb9737193b8c94d5a41587c 100644 --- a/entity/Favorite_entity/Favorite_entity.aod +++ b/entity/Favorite_entity/Favorite_entity.aod @@ -18,9 +18,11 @@ </entityField> <entityField> <name>ROW_ID</name> + <onValueChange>%aditoprj%/entity/Favorite_entity/entityfields/row_id/onValueChange.js</onValueChange> </entityField> <entityField> <name>OBJECT_TYPE</name> + <displayValueProcess>%aditoprj%/entity/Favorite_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>USER_ID</name> @@ -31,6 +33,36 @@ <entityField> <name>GROUP_TYPE</name> </entityField> + <entityField> + <name>TITLE</name> + <valueProcess>%aditoprj%/entity/Favorite_entity/entityfields/title/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>Offers</name> + <dependency> + <name>dependency</name> + <entityName>Offer_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>OfferOriginal_Id_param</name> + <valueProcess>%aditoprj%/entity/Favorite_entity/entityfields/offers/children/offeroriginal_id_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>CONSUMED_OFFER</name> + <consumer>Offers</consumer> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>TITLE_RELATION</name> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Favorite_entity/entityfields/object_type/displayValueProcess.js b/entity/Favorite_entity/entityfields/object_type/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2658ccbeb36a636a708de9bfd5a73df126c3afff --- /dev/null +++ b/entity/Favorite_entity/entityfields/object_type/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +result.string(translate.text(vars.get("$field.OBJECT_TYPE"))); \ No newline at end of file diff --git a/entity/Favorite_entity/entityfields/row_id/onValueChange.js b/entity/Favorite_entity/entityfields/row_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..d742908a8d00bd5705eb13b6d86dc95132bd3a35 --- /dev/null +++ b/entity/Favorite_entity/entityfields/row_id/onValueChange.js @@ -0,0 +1,88 @@ +import("system.logging"); +import("Communication_lib"); +import("Sql_lib"); +import("system.vars"); +import("system.neon"); +import("system.entities"); + +var rowid = vars.get("local.value"); +if (rowid) +{ + var titleFieldName; + var nameResult; + var relationResult; + + var config = entities.createConfigForLoadingRows(); + config.uid(vars.get("$field.ROW_ID")); + + if(vars.get("$field.OBJECT_TYPE") == "Person") + { + titleFieldNames = ["FULL_NAME_fieldGroup"]; + config.entity("Person_entity"); + config.fields(titleFieldNames) + nameResult = entities.getRow(config)[titleFieldNames[0]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Organisation") + { + titleFieldNames = ["NAME"]; + config.entity("Organisation_entity"); + config.fields(titleFieldNames); + nameResult = entities.getRow(config)[titleFieldNames[0]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Offer") + { + titleFieldNames = ["FullOfferCode"]; + config.entity("Offer_entity"); + config.fields(titleFieldNames); + nameResult = entities.getRow(config)[titleFieldNames[0]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Contract") + { + titleFieldNames = ["CONTRACTCODE"]; + config.entity("Contract_entity"); + config.fields(titleFieldNames); + nameResult = entities.getRow(config)[titleFieldNames[0]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Product") + { + titleFieldNames = ["PRODUCTCODE", "PRODUCTNAME"]; + config.entity("Contract_entity"); + config.fields(titleFieldNames); + nameResult = entities.getRow(config)[titleFieldNames[0]]; + relationResult = entities.getRow(config)[titleFieldNames[1]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Productprice") + { + titleFieldNames = ["PRICELIST", "CONTACT_ID"]; + config.entity("Productprice_entity"); + config.fields(titleFieldNames); + var row = entities.getRow(config); + nameResult = row[titleFieldNames[0]]; + + titleFieldNames = ["PERSON_TITLE"]; + config.entity("Contact_entity"); + config.uid(row[titleFieldNames[1]]); + config.fields(titleFieldNames); + relationResult = entities.getRow(config)[titleFieldNames[0]]; + } + + if(vars.get("$field.OBJECT_TYPE") == "Salesproject") + { + titleFieldNames = ["PRICELIST"]; + config.entity("Productprice_entity"); + config.fields(titleFieldNames); + nameResult = entities.getRow(config)[titleFieldNames[0]]; + } + + + + neon.setFieldValues({ + "$field.TITLE" : nameResult, + "$field.TITLE_RELATION" : relationResult != undefined && relationResult != null && relationResult != "" ? relationResult : "" + }); +} \ No newline at end of file diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index cbd7cb44ef5d77d0e3656bfe5867f3c3f68ce8f8..e9eee922433621c0f248fba51c86c94f527da971 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -10,6 +10,7 @@ <afterUiInit>%aditoprj%/entity/Organisation_entity/afterUiInit.js</afterUiInit> <afterOperatingState>%aditoprj%/entity/Organisation_entity/afterOperatingState.js</afterOperatingState> <initFilterProcess>%aditoprj%/entity/Organisation_entity/initFilterProcess.js</initFilterProcess> + <useFavorites v="true" /> <iconId>VAADIN:BUILDING</iconId> <imageProcess>%aditoprj%/entity/Organisation_entity/imageProcess.js</imageProcess> <titlePlural>Companies</titlePlural> diff --git a/neonView/FavoriteFilter_view/FavoriteFilter_view.aod b/neonView/FavoriteFilter_view/FavoriteFilter_view.aod index bdc4d5924685d9b3271cc26b30b099f4bfc477c7..c0472064057f4e9bea5b32fab8d0ddd861773322 100644 --- a/neonView/FavoriteFilter_view/FavoriteFilter_view.aod +++ b/neonView/FavoriteFilter_view/FavoriteFilter_view.aod @@ -3,6 +3,7 @@ <name>FavoriteFilter_view</name> <title>FavoriteFilter_view</title> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="false" /> <layout> <groupLayout> <name>layout</name> @@ -11,22 +12,27 @@ <children> <tableViewTemplate> <name>FavoriteFilter</name> - <iconField></iconField> + <iconField>#IMAGE</iconField> <titleField>ROW_ID</titleField> <subtitleField>GROUP_TITLE</subtitleField> <descriptionField>OBJECT_TYPE</descriptionField> <entityField>#ENTITY</entityField> <linkedColumns /> <isCreatable v="false" /> + <isEditable v="false" /> <title>favoriteFilter_view</title> <columns> + <neonTableColumn> + <name>b235f917-4c59-4b8a-be07-ea5371f69f3b</name> + <entityField>OBJECT_TYPE</entityField> + </neonTableColumn> <neonTableColumn> <name>075e4e29-515c-4d9e-b195-f481af367b42</name> - <entityField>ROW_ID</entityField> + <entityField>TITLE</entityField> </neonTableColumn> <neonTableColumn> - <name>b235f917-4c59-4b8a-be07-ea5371f69f3b</name> - <entityField>OBJECT_TYPE</entityField> + <name>9cd27b17-be4d-4621-91d5-42f3d1e8ee7d</name> + <entityField>TITLE_RELATION</entityField> </neonTableColumn> <neonTableColumn> <name>929170b5-b460-4558-9aa6-f7657f49098c</name> @@ -34,5 +40,33 @@ </neonTableColumn> </columns> </tableViewTemplate> + <treeTableViewTemplate> + <name>FavoriteTreeTable</name> + <parentField>UID</parentField> + <nodeExpandedField>OBJECT_TYPE</nodeExpandedField> + <defaultGroupFields /> + <entityField>#ENTITY</entityField> + <linkedColumns> + <element>OBJECT_TYPE</element> + <element>GROUP_TITLE</element> + </linkedColumns> + <isCreatable v="false" /> + <isEditable v="false" /> + <informationField>TITLE</informationField> + <columns> + <neonTreeTableColumn> + <name>75cd966b-ee07-42bb-ac6b-b29d93cb4c51</name> + <entityField>TITLE</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>e5a62307-2b26-4891-9a4b-55342f693e97</name> + <entityField>GROUP_TITLE</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>3302f6db-8bb4-4e48-b89b-273439e46a31</name> + <entityField>OBJECT_TYPE</entityField> + </neonTreeTableColumn> + </columns> + </treeTableViewTemplate> </children> </neonView>