From 1023a9621eac977720fe6a90dada17c96311c174 Mon Sep 17 00:00:00 2001 From: "f.maier" <f.maier@adito.de> Date: Thu, 21 Oct 2021 11:30:51 +0200 Subject: [PATCH] [Projekt: xRM-ContactManagement][TicketNr.: 2001606][Bild-Spalte in Tabellen mitaufnehmen] --- .../product_id/displayValueProcess.js | 6 ++-- .../product_id.displayvalue/expression.js | 10 +++---- .../Advertising_entity/Advertising_entity.aod | 8 ++++++ .../picture.value/expression.js | 12 ++++++++ .../CommunicationSettings_entity.aod | 8 ++++++ .../picture.value/expression.js | 13 +++++++++ entity/Contact_entity/Contact_entity.aod | 8 ++++++ .../picture.value/expression.js | 12 ++++++++ .../DescriptionTranslation_entity.aod | 8 ++++++ .../picture.value/expression.js | 12 ++++++++ .../ExportTemplateSelection_entity.aod | 2 +- .../entityfields/exportcount/titleProcess.js | 13 --------- .../ExportTemplate_entity.aod | 1 - entity/Forecast_entity/Forecast_entity.aod | 8 ++++++ .../picture.value/expression.js | 10 +++++++ .../InterestLink_entity.aod | 8 ++++++ .../picture.value/expression.js | 12 ++++++++ entity/Offeritem_entity/Offeritem_entity.aod | 8 ++++++ .../product_id/displayValueProcess.js | 8 ++++-- .../picture.value/expression.js | 12 ++++++++ .../product_id.displayvalue/expression.js | 3 +- entity/Orderitem_entity/Orderitem_entity.aod | 8 ++++++ .../product_id/displayValueProcess.js | 8 ++++-- .../picture.value/expression.js | 12 ++++++++ .../product_id.displayvalue/expression.js | 3 +- entity/Planning_entity/Planning_entity.aod | 8 ++++++ .../picture.value/expression.js | 10 +++++++ entity/Prod2prod_entity/Prod2prod_entity.aod | 7 +++++ .../recordcontainers/jdito/contentProcess.js | 5 +++- .../Timetracking_entity.aod | 8 ++++++ .../contact_id.displayvalue/expression.js | 2 +- .../picture.value/expression.js | 14 ++++++++++ .../AdvertisingFilter_view.aod | 2 +- .../AdvertisingPreview_view.aod | 2 +- .../CommunicationSettingsFilter_view.aod | 2 +- .../CommunicationSettingsPreview_view.aod | 2 +- .../ContactList_view/ContactList_view.aod | 4 +++ .../DescriptionTranslationFilter_view.aod | 8 ++++++ .../DescriptionTranslationPreview_view.aod | 18 ++++-------- .../ForecastFilter_view.aod | 12 ++++++++ .../ForecastPreview_view.aod | 1 + .../InterestLinkFilter_view.aod | 4 +++ .../OfferitemFilter_view.aod | 8 ++++++ .../OfferitemPreview_view.aod | 24 ++++++++-------- .../OrderitemFilter_view.aod | 12 ++++++++ .../OrderitemPreview_view.aod | 14 ++++------ .../PlanningFilter_view.aod | 12 ++++++++ .../PlanningMultiEditOverlay_view.aod | 4 +++ .../PlanningOrganisationFilter_view.aod | 12 ++++++++ .../Prod2prodFilter_view.aod | 8 ++++++ .../TimetrackingFilter_view.aod | 8 ++++++ .../TimetrackingPreview_view.aod | 27 +++++------------- process/Product_lib/process.js | 28 +++++++++++++++++++ 53 files changed, 390 insertions(+), 89 deletions(-) create mode 100644 entity/Advertising_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/Contact_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js delete mode 100644 entity/ExportTemplateSelection_entity/entityfields/exportcount/titleProcess.js create mode 100644 entity/Forecast_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/InterestLink_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/Planning_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js create mode 100644 entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js diff --git a/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js b/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js index b4a2de7925..34b95afc4d 100644 --- a/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js @@ -1,8 +1,10 @@ +import("system.neon"); +import("Product_lib"); import("system.vars"); import("system.result"); import("Sql_lib"); -if(vars.get("$field.PRODUCT_ID")) +if(vars.get("$field.PRODUCT_ID") && vars.get("$sys.viewmode") != neon.FRAME_VIEWMODE_TABLE) { - result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell()); + result.string(ProductUtils.getProductName(vars.get("$field.PRODUCT_ID"))); } \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js index c3affdfee4..deadc02e14 100644 --- a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js @@ -1,8 +1,6 @@ -import("system.vars"); +import("Product_lib"); import("system.result"); -import("Sql_lib"); -result.string(newSelect("PRODUCT.PRODUCTNAME") - .from("PRODUCT") - .where("ADVERTISINGITEM.PRODUCT_ID = PRODUCT.PRODUCTID") - .toString()); \ No newline at end of file +result.string(ProductUtils.getProductNameSubSql("ADVERTISINGITEM.PRODUCT_ID")); + + \ No newline at end of file diff --git a/entity/Advertising_entity/Advertising_entity.aod b/entity/Advertising_entity/Advertising_entity.aod index a2e6c6eddc..6313f129f4 100644 --- a/entity/Advertising_entity/Advertising_entity.aod +++ b/entity/Advertising_entity/Advertising_entity.aod @@ -241,6 +241,10 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -327,6 +331,10 @@ <dbRecordFieldMapping> <name>OBJECT_ROWID.displayValue</name> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..178f767874 --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "(" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.advertisingStatus(), "ADVERTISING.STATUS") + ")"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod b/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod index 8a34a28bae..ee03291546 100644 --- a/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod +++ b/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod @@ -213,6 +213,10 @@ <contentType>BOOLEAN</contentType> <valueProcess>%aditoprj%/entity/CommunicationSettings_entity/entityfields/isactive/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -319,6 +323,10 @@ <recordfield>COMMUNICATIONSETTINGS.ISACTIVE</recordfield> <isFilterable v="true" /> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..151dab31e9 --- /dev/null +++ b/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,13 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", + "(" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.communicationSettingStatus(), "COMMUNICATIONSETTINGS.STATUS") + ")"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/Contact_entity/Contact_entity.aod b/entity/Contact_entity/Contact_entity.aod index 1933fdd556..2a21349579 100644 --- a/entity/Contact_entity/Contact_entity.aod +++ b/entity/Contact_entity/Contact_entity.aod @@ -275,6 +275,10 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -367,6 +371,10 @@ <name>DEPARTMENT.displayValue</name> <expression>%aditoprj%/entity/Contact_entity/recordcontainers/db/recordfieldmappings/department.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Contact_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Contact_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Contact_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..443ec0029c --- /dev/null +++ b/entity/Contact_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "ORGANISATION.NAME"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod index 0be0b503e6..de4a3074d3 100644 --- a/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod +++ b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod @@ -69,6 +69,10 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -100,6 +104,10 @@ <name>LANG.displayValue</name> <expression>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..7e503d7b46 --- /dev/null +++ b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "(" + LanguageKeywordUtils.getResolvedTitleSqlPart("DESCRIPTIONTRANSLATION.LANG") + ")"]); + +result.string(sql.toString()); diff --git a/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod b/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod index 7f406a3337..bf8dd47ba4 100644 --- a/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod +++ b/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod @@ -88,7 +88,7 @@ <entityField> <name>exportCount</name> <documentation>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/exportcount/documentation.adoc</documentation> - <titleProcess>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/exportcount/titleProcess.js</titleProcess> + <title>Datasets are exported</title> <valueProcess>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/exportcount/valueProcess.js</valueProcess> </entityField> <entityProvider> diff --git a/entity/ExportTemplateSelection_entity/entityfields/exportcount/titleProcess.js b/entity/ExportTemplateSelection_entity/entityfields/exportcount/titleProcess.js deleted file mode 100644 index d12a65747f..0000000000 --- a/entity/ExportTemplateSelection_entity/entityfields/exportcount/titleProcess.js +++ /dev/null @@ -1,13 +0,0 @@ -import("system.translate"); -import("system.result"); -import("system.vars"); - -var comingFrom = vars.get("$field.comingfrom") -var res - -if(comingFrom == "Organisation") - res = translate.text("Organisations will be exported"); -else if(comingFrom == "Person") - res = translate.text("Contacts will be exported"); - -result.string(res) \ No newline at end of file diff --git a/entity/ExportTemplate_entity/ExportTemplate_entity.aod b/entity/ExportTemplate_entity/ExportTemplate_entity.aod index bc87544aeb..e1ad54b46f 100644 --- a/entity/ExportTemplate_entity/ExportTemplate_entity.aod +++ b/entity/ExportTemplate_entity/ExportTemplate_entity.aod @@ -185,7 +185,6 @@ </entityConsumer> <entityField> <name>PICTURE</name> - <title>Picture</title> <contentType>IMAGE</contentType> </entityField> </entityFields> diff --git a/entity/Forecast_entity/Forecast_entity.aod b/entity/Forecast_entity/Forecast_entity.aod index a596f7e006..8d2b49c8a0 100644 --- a/entity/Forecast_entity/Forecast_entity.aod +++ b/entity/Forecast_entity/Forecast_entity.aod @@ -123,6 +123,10 @@ <name>KIND</name> <valueProcess>%aditoprj%/entity/Forecast_entity/entityfields/kind/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -177,6 +181,10 @@ <name>KIND.value</name> <recordfield>FORECAST.KIND</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..d8a3ca2410 --- /dev/null +++ b/entity/Forecast_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,10 @@ +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "FORECAST.GROUPCODE")]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/InterestLink_entity/InterestLink_entity.aod b/entity/InterestLink_entity/InterestLink_entity.aod index fc1a14a5db..1ac1a55774 100644 --- a/entity/InterestLink_entity/InterestLink_entity.aod +++ b/entity/InterestLink_entity/InterestLink_entity.aod @@ -100,6 +100,10 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/InterestLink_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -154,6 +158,10 @@ <name>DATE_NEW.value</name> <recordfield>INTERESTLINK.DATE_NEW</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/InterestLink_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/InterestLink_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/InterestLink_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..96223909b2 --- /dev/null +++ b/entity/InterestLink_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "INTEREST.TITLE"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod index 5657ac3d3c..87a0d3f6ca 100644 --- a/entity/Offeritem_entity/Offeritem_entity.aod +++ b/entity/Offeritem_entity/Offeritem_entity.aod @@ -296,6 +296,10 @@ <state>READONLY</state> <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/currency/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -408,6 +412,10 @@ <name>DISCOUNT.displayValue</name> <expression>%aditoprj%/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/discount.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js index e10bbc483b..34b95afc4d 100644 --- a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js +++ b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js @@ -1,6 +1,10 @@ +import("system.neon"); +import("Product_lib"); import("system.vars"); import("system.result"); import("Sql_lib"); -if(vars.get("$field.PRODUCT_ID")) - result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell()); \ No newline at end of file +if(vars.get("$field.PRODUCT_ID") && vars.get("$sys.viewmode") != neon.FRAME_VIEWMODE_TABLE) +{ + result.string(ProductUtils.getProductName(vars.get("$field.PRODUCT_ID"))); +} \ No newline at end of file diff --git a/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..266ce0e685 --- /dev/null +++ b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "(" + ProductUtils.getProductNameSubSql("OFFERITEM.PRODUCT_ID") + ")"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js index 505fda0b8e..a3c7e1a4b0 100644 --- a/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js +++ b/entity/Offeritem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js @@ -1,5 +1,6 @@ +import("Product_lib"); import("system.vars"); import("system.result"); // TODO: remove when #title is used as display value for lookups -result.string("(select PRODUCT.PRODUCTNAME from PRODUCT where OFFERITEM.PRODUCT_ID = PRODUCT.PRODUCTID)"); \ No newline at end of file +result.string(ProductUtils.getProductNameSubSql("OFFERITEM.PRODUCT_ID")); \ No newline at end of file diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod index 2ba72ab532..b6f5ec9513 100644 --- a/entity/Orderitem_entity/Orderitem_entity.aod +++ b/entity/Orderitem_entity/Orderitem_entity.aod @@ -278,6 +278,10 @@ <state>READONLY</state> <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/currency/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -368,6 +372,10 @@ <isFilterable v="true" /> <isLookupFilter v="true" /> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js index e10bbc483b..99ef423450 100644 --- a/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js +++ b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js @@ -1,6 +1,10 @@ +import("Product_lib"); +import("system.neon"); import("system.vars"); import("system.result"); import("Sql_lib"); -if(vars.get("$field.PRODUCT_ID")) - result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell()); \ No newline at end of file +if(vars.get("$field.PRODUCT_ID") && vars.get("$sys.viewmode") != neon.FRAME_VIEWMODE_TABLE) +{ + result.string(ProductUtils.getProductName(vars.get("$field.PRODUCT_ID"))); +} \ No newline at end of file diff --git a/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..75190112fb --- /dev/null +++ b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,12 @@ +import("Product_lib"); +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "(" + ProductUtils.getProductNameSubSql("SALESORDERITEM.PRODUCT_ID") + ")"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js index c356272a55..60e5f9a443 100644 --- a/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js +++ b/entity/Orderitem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js @@ -1,5 +1,6 @@ +import("Product_lib"); import("system.vars"); import("system.result"); // TODO: remove when #title is used as display value for lookups -result.string("(select PRODUCT.PRODUCTNAME from PRODUCT where SALESORDERITEM.PRODUCT_ID = PRODUCT.PRODUCTID)"); \ No newline at end of file +result.string(ProductUtils.getProductNameSubSql("SALESORDERITEM.PRODUCT_ID")); \ No newline at end of file diff --git a/entity/Planning_entity/Planning_entity.aod b/entity/Planning_entity/Planning_entity.aod index 7db241b3cd..272d77a080 100644 --- a/entity/Planning_entity/Planning_entity.aod +++ b/entity/Planning_entity/Planning_entity.aod @@ -197,6 +197,10 @@ <name>PlanningIds_param</name> <expose v="true" /> </entityParameter> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -259,6 +263,10 @@ <name>GROUPCODE.displayValue</name> <expression>%aditoprj%/entity/Planning_entity/recordcontainers/db/recordfieldmappings/groupcode.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Planning_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Planning_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Planning_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..efc140d384 --- /dev/null +++ b/entity/Planning_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,10 @@ +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.forecastStatus(), "FORECAST.STATUS")]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod index 4136115ae9..2cc4ae001d 100644 --- a/entity/Prod2prod_entity/Prod2prod_entity.aod +++ b/entity/Prod2prod_entity/Prod2prod_entity.aod @@ -140,6 +140,10 @@ <entityField> <name>UID</name> </entityField> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <jDitoRecordContainer> @@ -190,6 +194,9 @@ <jDitoRecordFieldMapping> <name>unit.displayValue</name> </jDitoRecordFieldMapping> + <jDitoRecordFieldMapping> + <name>PICTURE.value</name> + </jDitoRecordFieldMapping> <jDitoRecordFieldMapping> <name>currentPurchasePrice.value</name> </jDitoRecordFieldMapping> diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js index bb1b8c2231..9c60cc28a8 100644 --- a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js @@ -7,6 +7,8 @@ import("Sql_lib"); import("Keyword_lib"); import("KeywordRegistry_basic"); +var sqlMask = new SqlMaskingUtils(); + var query = newSelect([ "PROD2PROD.PROD2PRODID", // UID.value "PROD2PROD.PROD2PRODID", // PROD2PRODID.value @@ -23,7 +25,8 @@ var query = newSelect([ KeywordUtils.getResolvedTitleSqlPart( // unit.displaValue $KeywordRegistry.quantityUnit(), "PRODUCT.UNIT" - ) + ), + sqlMask.concatenate(["'TEXT:'", "PRODUCT.PRODUCTCODE"]) ]).from("PROD2PROD") .join("PRODUCT", "PRODUCT.PRODUCTID = PROD2PROD.SOURCE_ID"); diff --git a/entity/Timetracking_entity/Timetracking_entity.aod b/entity/Timetracking_entity/Timetracking_entity.aod index bf1a1db9fb..8422d4687a 100644 --- a/entity/Timetracking_entity/Timetracking_entity.aod +++ b/entity/Timetracking_entity/Timetracking_entity.aod @@ -114,6 +114,10 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityField> + <name>PICTURE</name> + <contentType>IMAGE</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -154,6 +158,10 @@ <name>TRACKINGMINUTES.value</name> <recordfield>TIMETRACKING.TRACKINGMINUTES</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <expression>%aditoprj%/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js b/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js index 418c211fe3..e6b609c1fc 100644 --- a/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js +++ b/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js @@ -1,4 +1,4 @@ import("system.result"); import("Person_lib"); -result.string(PersUtils.getResolvingDisplaySubSql("CONTACT_ID")) \ No newline at end of file +result.string(PersUtils.getResolvingDisplaySubSql("CONTACT_ID")); \ No newline at end of file diff --git a/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js b/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js new file mode 100644 index 0000000000..e1797504c1 --- /dev/null +++ b/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/picture.value/expression.js @@ -0,0 +1,14 @@ +import("Person_lib"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.result"); +import("Sql_lib"); + +var sqlMask = new SqlMaskingUtils(); + +var sql = sqlMask.concatenate(["'TEXT:'", "(" + newSelect(sqlMask.concatenate(["FIRSTNAME, ' ', LASTNAME"])) + .from("PERSON") + .join("CONTACT", "PERSON_ID = PERSONID") + .where("CONTACT.CONTACTID = TIMETRACKING.CONTACT_ID") + ")"]); + +result.string(sql.toString()); \ No newline at end of file diff --git a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod index 842cca711c..0142ccd3be 100644 --- a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod +++ b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod @@ -16,7 +16,7 @@ <columns> <neonTableColumn> <name>8c3e1048-7f7a-4210-a849-198f5b569c04</name> - <entityField>#ICON</entityField> + <entityField>PICTURE</entityField> </neonTableColumn> <neonTableColumn> <name>b8971987-29bb-48dc-b9fc-075a63ef0b4e</name> diff --git a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod index d8d0a57add..7f185600c6 100644 --- a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod +++ b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod @@ -11,7 +11,7 @@ <children> <cardViewTemplate> <name>Card</name> - <iconField>#ICON</iconField> + <iconField>PICTURE</iconField> <titleField>STATUS</titleField> <subtitleField>CONTACT_ID</subtitleField> <descriptionField>RESPONSIBLE_ID</descriptionField> diff --git a/neonView/CommunicationSettingsFilter_view/CommunicationSettingsFilter_view.aod b/neonView/CommunicationSettingsFilter_view/CommunicationSettingsFilter_view.aod index 7c2518ba09..9ed01d96a4 100644 --- a/neonView/CommunicationSettingsFilter_view/CommunicationSettingsFilter_view.aod +++ b/neonView/CommunicationSettingsFilter_view/CommunicationSettingsFilter_view.aod @@ -14,7 +14,7 @@ <columns> <neonTreeTableColumn> <name>1e698c64-ce5c-46d1-8c90-290d5ea187c7</name> - <entityField>ICON</entityField> + <entityField>PICTURE</entityField> </neonTreeTableColumn> <neonTreeTableColumn> <name>5738f47a-57cd-4e6a-a017-1a5ab80581ac</name> diff --git a/neonView/CommunicationSettingsPreview_view/CommunicationSettingsPreview_view.aod b/neonView/CommunicationSettingsPreview_view/CommunicationSettingsPreview_view.aod index 80f8488429..41516c7ace 100644 --- a/neonView/CommunicationSettingsPreview_view/CommunicationSettingsPreview_view.aod +++ b/neonView/CommunicationSettingsPreview_view/CommunicationSettingsPreview_view.aod @@ -11,7 +11,7 @@ <children> <cardViewTemplate> <name>Card</name> - <iconField>ICON</iconField> + <iconField>PICTURE</iconField> <titleField>#CONTENTTITLE</titleField> <subtitleField>STATUS</subtitleField> <isEditable v="false" /> diff --git a/neonView/ContactList_view/ContactList_view.aod b/neonView/ContactList_view/ContactList_view.aod index f5f7695c21..0b8de21bdc 100644 --- a/neonView/ContactList_view/ContactList_view.aod +++ b/neonView/ContactList_view/ContactList_view.aod @@ -15,6 +15,10 @@ <isDeletable v="false" /> <isEditable v="false" /> <columns> + <neonTableColumn> + <name>5c3b4a01-f8d6-45df-92aa-8e39c94789f5</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>ef71b5ad-8581-4845-ae66-7df17d1459e0</name> <entityField>ORGANISATION_CONTACTID</entityField> diff --git a/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod index ba3690b8e6..3dc9a54ea8 100644 --- a/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod +++ b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod @@ -12,6 +12,10 @@ <name>translation</name> <entityField>#ENTITY</entityField> <columns> + <neonTableColumn> + <name>b33e3ff8-ec3a-4d5d-8961-3b18175502a3</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>4bdaf352-d5f1-44a1-9cca-7cb877928ba5</name> <entityField>LANG</entityField> @@ -26,6 +30,10 @@ <name>Treetable</name> <entityField>#ENTITY</entityField> <columns> + <neonTreeTableColumn> + <name>5303f922-1e77-48db-94b3-f803e10f91c3</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>a9046b9c-0324-4e19-a22b-ae39c6a1c8c4</name> <entityField>LANG</entityField> diff --git a/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod b/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod index 6d15eecc7d..907c3d70c5 100644 --- a/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod +++ b/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod @@ -10,19 +10,11 @@ </boxLayout> </layout> <children> - <genericViewTemplate> - <name>TranslationInfo</name> - <showDrawer v="true" /> - <drawerCaption>Description</drawerCaption> - <hideLabels v="true" /> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>5e432839-ca9a-4a29-8006-0a1673d94c92</name> - <entityField>LANG</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> + <cardViewTemplate> + <name>Card</name> + <iconField>PICTURE</iconField> + <titleField>LANG</titleField> + </cardViewTemplate> <genericViewTemplate> <name>Description</name> <showDrawer v="true" /> diff --git a/neonView/ForecastFilter_view/ForecastFilter_view.aod b/neonView/ForecastFilter_view/ForecastFilter_view.aod index 2003610345..f232cf1d4c 100644 --- a/neonView/ForecastFilter_view/ForecastFilter_view.aod +++ b/neonView/ForecastFilter_view/ForecastFilter_view.aod @@ -18,6 +18,10 @@ <element>INFO</element> </editableColumns> <columns> + <neonTableColumn> + <name>68de81f0-00c6-4e11-a8d3-2922a202a1b0</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>ed63515d-4c7b-4e40-92b0-81fa1395b0f1</name> <entityField>GROUPCODE</entityField> @@ -50,6 +54,10 @@ <subtitleField>VOLUME</subtitleField> <entityField>#ENTITY</entityField> <columns> + <neonTableColumn> + <name>b7acab7d-5e92-45b5-9b41-e653ee1e5679</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>323f26d7-4ac2-4ff9-91d1-7459cc7e3469</name> <entityField>GROUPCODE</entityField> @@ -72,6 +80,10 @@ <name>Treetable</name> <entityField>#ENTITY</entityField> <columns> + <neonTreeTableColumn> + <name>a6a83c1c-6ea0-4f06-bf8a-8d6b071b1a64</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>9bdb1cf9-5348-464d-84fb-747d509b0eef</name> <entityField>GROUPCODE</entityField> diff --git a/neonView/ForecastPreview_view/ForecastPreview_view.aod b/neonView/ForecastPreview_view/ForecastPreview_view.aod index c358340227..83d8efb894 100644 --- a/neonView/ForecastPreview_view/ForecastPreview_view.aod +++ b/neonView/ForecastPreview_view/ForecastPreview_view.aod @@ -11,6 +11,7 @@ <children> <cardViewTemplate> <name>Header</name> + <iconField>PICTURE</iconField> <titleField>GROUPCODE</titleField> <descriptionField>DATE_START</descriptionField> <entityField>#ENTITY</entityField> diff --git a/neonView/InterestLinkFilter_view/InterestLinkFilter_view.aod b/neonView/InterestLinkFilter_view/InterestLinkFilter_view.aod index 162387862c..7b5f66f6dd 100644 --- a/neonView/InterestLinkFilter_view/InterestLinkFilter_view.aod +++ b/neonView/InterestLinkFilter_view/InterestLinkFilter_view.aod @@ -12,6 +12,10 @@ <tableViewTemplate> <name>Table</name> <columns> + <neonTableColumn> + <name>435b5eb5-3854-4906-bd93-dbfed0bbe01c</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>261f0387-dd00-486d-add4-56d0c64be583</name> <entityField>INTEREST_ID</entityField> diff --git a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod index ce595dd965..f7aa53c60c 100644 --- a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod +++ b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod @@ -18,6 +18,10 @@ </editableColumns> <favoriteActionGroup1>group</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>10cd8712-bb90-4c03-ac07-10d318c1e6e9</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTreeTableColumn> <name>91e85f61-5e5d-48f8-aeb1-a5740ec07e25</name> <entityField>ITEMPOSITION</entityField> @@ -82,6 +86,10 @@ <entityField>#ENTITY</entityField> <favoriteActionGroup1>group</favoriteActionGroup1> <columns> + <neonTreeTableColumn> + <name>6f0c91ac-1e3a-4d42-a063-b7daf1805a1e</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>91e85f61-5e5d-48f8-aeb1-a5740ec07e25</name> <entityField>ITEMPOSITION</entityField> diff --git a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod index 9f7d0ff449..719a8984f8 100644 --- a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod +++ b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod @@ -8,6 +8,12 @@ </boxLayout> </layout> <children> + <cardViewTemplate> + <name>Card</name> + <iconField>PICTURE</iconField> + <titleField>PRODUCT_ID</titleField> + <subtitleField>ITEMPOSITION</subtitleField> + </cardViewTemplate> <genericViewTemplate> <name>Info</name> <showDrawer v="true" /> @@ -15,15 +21,7 @@ <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>171901d8-32a2-4689-aeb3-e00936172330</name> - <entityField>ITEMPOSITION</entityField> - </entityFieldLink> - <entityFieldLink> - <name>335b6954-46ab-4235-9681-3ebd261af72a</name> - <entityField>PRODUCT_ID</entityField> - </entityFieldLink> - <entityFieldLink> - <name>e792d720-187f-4aa1-917c-1c8065222b72</name> + <name>f0a31e9a-4e20-474b-85a4-07dd46062486</name> <entityField>QUANTITY</entityField> </entityFieldLink> <entityFieldLink> @@ -42,6 +40,10 @@ <name>b161516e-f1ee-47c6-ae92-a37bbe0ae564</name> <entityField>TotalPrice</entityField> </entityFieldLink> + <entityFieldLink> + <name>69948799-9ec2-4fba-843d-7b86f9e4585f</name> + <entityField>TotalPrice</entityField> + </entityFieldLink> <entityFieldLink> <name>f8043352-f756-4854-9caa-a9aea073e4fe</name> <entityField>DISCOUNT</entityField> @@ -50,10 +52,6 @@ <name>e25386dc-a740-4f93-a1f0-32317cf5a36a</name> <entityField>OPTIONAL</entityField> </entityFieldLink> - <entityFieldLink> - <name>69948799-9ec2-4fba-843d-7b86f9e4585f</name> - <entityField>TotalPrice</entityField> - </entityFieldLink> </fields> </genericViewTemplate> <genericViewTemplate> diff --git a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod index 5696e2e72d..289133336b 100644 --- a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod +++ b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod @@ -16,6 +16,10 @@ <entityField>#ENTITY</entityField> <favoriteActionGroup1>group</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>e34ac276-72e4-4699-a564-830a3dd1aa46</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>8c74810d-d127-4e64-8fbf-1b3db1835232</name> <entityField>ITEMPOSITION</entityField> @@ -59,6 +63,10 @@ <entityField>#ENTITY</entityField> <favoriteActionGroup1>group</favoriteActionGroup1> <columns> + <neonTreeTableColumn> + <name>63a667e9-3729-4ceb-98db-bb4d39bf6420</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>d07130dd-7727-45cc-8f8c-ae5d2972d21d</name> <entityField>ITEMPOSITION</entityField> @@ -107,6 +115,10 @@ <element>INFO</element> </editableColumns> <columns> + <neonTableColumn> + <name>85d30b0c-1e03-4b46-a4d1-caa3e2e7e589</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>5bc12f25-59d4-49b5-bbb8-4ff791303cb7</name> <entityField>ITEMPOSITION</entityField> diff --git a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod index ccbae0155b..554b0bdc40 100644 --- a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod +++ b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod @@ -8,20 +8,18 @@ </headerFooterLayout> </layout> <children> + <cardViewTemplate> + <name>Card</name> + <iconField>PICTURE</iconField> + <titleField>PRODUCT_ID</titleField> + <subtitleField>ITEMPOSITION</subtitleField> + </cardViewTemplate> <genericViewTemplate> <name>Info</name> <showDrawer v="true" /> <drawerCaption>Details</drawerCaption> <entityField>#ENTITY</entityField> <fields> - <entityFieldLink> - <name>ad4fb267-277c-47ca-ad3d-c518cd234a39</name> - <entityField>ITEMPOSITION</entityField> - </entityFieldLink> - <entityFieldLink> - <name>a704c785-f27f-431b-a6ac-77fd21217d9d</name> - <entityField>PRODUCT_ID</entityField> - </entityFieldLink> <entityFieldLink> <name>d501d9d5-f149-4685-903d-0394dc6e40e2</name> <entityField>QUANTITY</entityField> diff --git a/neonView/PlanningFilter_view/PlanningFilter_view.aod b/neonView/PlanningFilter_view/PlanningFilter_view.aod index 93e3ba9a59..8e3102318e 100644 --- a/neonView/PlanningFilter_view/PlanningFilter_view.aod +++ b/neonView/PlanningFilter_view/PlanningFilter_view.aod @@ -13,6 +13,10 @@ <name>Table</name> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>b0c6fa20-9647-4a78-a6bf-006da824826d</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>2024c784-29c3-498b-80b3-f2e378f25773</name> <entityField>CONTACT_ID</entityField> @@ -47,6 +51,10 @@ <name>TreeTable</name> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTreeTableColumn> + <name>1e6b027f-2c23-42e7-995f-aa291b9ecb7d</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>9664cd27-0bd3-48e1-bc4e-b80e8ce52c64</name> <entityField>CONTACT_ID</entityField> @@ -84,6 +92,10 @@ </editableColumns> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>40c6e73b-bf74-4ebe-bdb3-a81431fb3179</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>9dc22f85-20d3-4891-810e-74570c1faf80</name> <entityField>FORECAST_YEAR</entityField> diff --git a/neonView/PlanningMultiEditOverlay_view/PlanningMultiEditOverlay_view.aod b/neonView/PlanningMultiEditOverlay_view/PlanningMultiEditOverlay_view.aod index e190fa525c..4636aeff1d 100644 --- a/neonView/PlanningMultiEditOverlay_view/PlanningMultiEditOverlay_view.aod +++ b/neonView/PlanningMultiEditOverlay_view/PlanningMultiEditOverlay_view.aod @@ -19,6 +19,10 @@ <isDeletable v="false" /> <isEditable v="false" /> <columns> + <neonTableColumn> + <name>dd5202ce-c167-46d2-a606-bafc64ca1d46</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>bb541f09-5a3c-4905-a73e-4a94b8dd4aba</name> <entityField>CONTACT_ID</entityField> diff --git a/neonView/PlanningOrganisationFilter_view/PlanningOrganisationFilter_view.aod b/neonView/PlanningOrganisationFilter_view/PlanningOrganisationFilter_view.aod index ed4339a63e..86ec2ce27a 100644 --- a/neonView/PlanningOrganisationFilter_view/PlanningOrganisationFilter_view.aod +++ b/neonView/PlanningOrganisationFilter_view/PlanningOrganisationFilter_view.aod @@ -16,6 +16,10 @@ </editableColumns> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>6c6cdc5d-1c78-4445-ae4f-361cd40563a0</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>9dc22f85-20d3-4891-810e-74570c1faf80</name> <entityField>FORECAST_YEAR</entityField> @@ -64,6 +68,10 @@ <name>Table</name> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTableColumn> + <name>58ecb5ec-ea5f-4a35-b76b-f6b855b2762e</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>2024c784-29c3-498b-80b3-f2e378f25773</name> <entityField>CONTACT_ID</entityField> @@ -98,6 +106,10 @@ <name>TreeTable</name> <favoriteActionGroup1>FilterViewActions</favoriteActionGroup1> <columns> + <neonTreeTableColumn> + <name>33dab0a4-01f6-48b9-b1e0-6bd5b089d2d7</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>9664cd27-0bd3-48e1-bc4e-b80e8ce52c64</name> <entityField>CONTACT_ID</entityField> diff --git a/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod b/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod index c009ab9b93..ef67b19dbe 100644 --- a/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod +++ b/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod @@ -20,6 +20,10 @@ </devices> <title>Parts list</title> <columns> + <neonTreeTableColumn> + <name>20ab6e11-ed41-4e54-973a-fa3be1be0764</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>43d3c9b0-21ab-4996-8d24-af74a5ee1e1a</name> <entityField>PRODUCTCODE</entityField> @@ -63,6 +67,10 @@ <element>TAKEPRICE</element> </editableColumns> <columns> + <neonTableColumn> + <name>6804d8c8-4eea-4d10-acf3-beb7e3e69244</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>82c22185-4532-4084-a7d2-0f64270e50b4</name> <entityField>PRODUCTCODE</entityField> diff --git a/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod b/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod index 4a8121fb00..cb734d95b7 100644 --- a/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod +++ b/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod @@ -18,6 +18,10 @@ <descriptionField>TRACKINGDATE</descriptionField> <entityField>#ENTITY</entityField> <columns> + <neonTableColumn> + <name>162997d8-5ea1-4ee2-9fb1-add45d2a0d52</name> + <entityField>PICTURE</entityField> + </neonTableColumn> <neonTableColumn> <name>fa423332-8987-4fc2-981c-66447678b922</name> <entityField>TRACKINGDATE</entityField> @@ -40,6 +44,10 @@ <name>Treetable</name> <entityField>#ENTITY</entityField> <columns> + <neonTreeTableColumn> + <name>d20a13e9-97e1-461e-8aab-8dec1a23a647</name> + <entityField>PICTURE</entityField> + </neonTreeTableColumn> <neonTreeTableColumn> <name>314436db-0a9e-4113-ab70-7922a7a03ab5</name> <entityField>TRACKINGDATE</entityField> diff --git a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod index 59b86472d8..8072e61cb5 100644 --- a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod +++ b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod @@ -8,26 +8,13 @@ </headerFooterLayout> </layout> <children> - <genericViewTemplate> - <name>Details</name> - <showDrawer v="true" /> - <drawerCaption>Details</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>835197c0-2e0c-4989-8d5b-80ccd064d55e</name> - <entityField>CONTACT_ID</entityField> - </entityFieldLink> - <entityFieldLink> - <name>ce7d8cc0-ac9c-4195-861f-23483db6cd91</name> - <entityField>TRACKINGDATE</entityField> - </entityFieldLink> - <entityFieldLink> - <name>45f4f97c-5fde-4c90-9dba-4e5b540328b3</name> - <entityField>TRACKINGMINUTES</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> + <cardViewTemplate> + <name>Card</name> + <iconField>PICTURE</iconField> + <titleField>CONTACT_ID</titleField> + <subtitleField>TRACKINGDATE</subtitleField> + <informationField>TRACKINGMINUTES</informationField> + </cardViewTemplate> <genericViewTemplate> <name>Info</name> <showDrawer v="true" /> diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js index 8f4bb1eed7..51f13baf3e 100644 --- a/process/Product_lib/process.js +++ b/process/Product_lib/process.js @@ -410,6 +410,34 @@ ProductUtils.removeImage = function(pProductId) return ImageUtils.remove("PRODUCT", "IMAGE", pProductId); } +/** + * returns the product name for the productid + * + * @param {String} pProductId the id of the product. + * @return {String} the name of the product + */ +ProductUtils.getProductName = function(pProductId) +{ + return newSelect("PRODUCT.PRODUCTNAME") + .from("PRODUCT") + .whereIfSet("PRODUCT.PRODUCTID", pProductId) + .cell(); +} + +/** + * returns the product name for the productid + * + * @param {String} pProductIdColumn the productIdColumn + * @return {String} the name of the product as subSQL + */ +ProductUtils.getProductNameSubSql = function(pProductIdColumn) +{ + return newSelect("PRODUCT.PRODUCTNAME") + .from("PRODUCT") + .whereIfSet("PRODUCT.PRODUCTID = " + pProductIdColumn) + .toString(); +} + /** * Class containing utility functions for Prod2Prod (Parts list) * -- GitLab