diff --git a/.liquibase/Data_alias/basic/2019.1.4/Product_added_ImageBlobs.xml b/.liquibase/Data_alias/basic/2019.1.4/Product_added_ImageBlobs.xml new file mode 100644 index 0000000000000000000000000000000000000000..f9028a849a3a07428876944e6de72175280c4224 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/Product_added_ImageBlobs.xml @@ -0,0 +1,10 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="27dd5dea-94f2-47e6-88c3-5d5a50d781fa"> + <addColumn tableName="PRODUCT"> + <column name="PICTURE" type="LONGBLOB"/> + </addColumn> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml index e5c1d61bf029fdac755ff098d5350332ce4ffd75..b52bf9b77baf8a4689f6bc476c6b504d4fd3dd5f 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml @@ -183,4 +183,6 @@ <include relativeToChangelogFile="true" file="AditoBasic/init_NotificationPriority.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_NotificationState.xml"/> + + <include relativeToChangelogFile="true" file="Product_added_ImageBlobs.xml"/> </databaseChangeLog> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 2184530956118d95ee3b0323e95f9365625f1886..d631bbcd062f37f762cef7cdd60e346912dc7203 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -1835,6 +1835,20 @@ <title>Creation user</title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>PICTURE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2004" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -10797,284 +10811,6 @@ </entityFieldDb> </entityFields> </entityDb> - <entityDb> - <name>DUPLICATESCANCONDITIONCONFIG</name> - <dbName></dbName> - <idColumn>ID</idColumn> - <idGeneratorType v="0" /> - <idGeneratorInterval v="1" /> - <documentation></documentation> - <title></title> - <description></description> - <auditSyncConfig> - <name>auditSyncConfig</name> - <auditMode v="0" /> - <syncActive v="false" /> - <syncComplete v="true" /> - <syncDirection v="1" /> - <syncIds></syncIds> - </auditSyncConfig> - <entityFields> - <entityFieldDb> - <name>DATE_EDIT</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="91" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CONDITION</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="2005" /> - <size v="2147483647" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>COUNT_CHARACTERS_TO_USE</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>DATE_NEW</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="91" /> - <size v="10" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>ID</name> - <dbName></dbName> - <primaryKey v="true" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="true" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>USER_NEW</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="50" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>DUPLICATESCAN_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CONDITION_CONFIG_NAME</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="200" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>USER_EDIT</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="50" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - </entityFields> - </entityDb> - <entityDb> - <name>DUPLICATESCANNER</name> - <dbName></dbName> - <idColumn>ID</idColumn> - <idGeneratorType v="0" /> - <idGeneratorInterval v="1" /> - <documentation></documentation> - <title></title> - <description></description> - <auditSyncConfig> - <name>auditSyncConfig</name> - <auditMode v="0" /> - <syncActive v="false" /> - <syncComplete v="true" /> - <syncDirection v="1" /> - <syncIds></syncIds> - </auditSyncConfig> - <entityFields> - <entityFieldDb> - <name>DATE_EDIT</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="91" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>FILTER_NAME</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="200" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>DATE_NEW</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="91" /> - <size v="10" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>ID</name> - <dbName></dbName> - <primaryKey v="true" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="true" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>USER_NEW</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="50" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>ENTITY_TO_SCAN_NAME</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="200" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>EXTERNAL_SERVICE_USAGE_ALLOWED</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="16" /> - <size v="1" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>USER_EDIT</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="50" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - </entityFields> - </entityDb> </entities> </entityGroup> </aliasDefDb> diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index a40f3fa42cd2c6e1f4e4db6d7634ecc4f71903fe..23567b7dfb7df267dc8d5d0604a86a981e53cf62 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -10,7 +10,6 @@ <contentTitleProcess>%aditoprj%/entity/Product_entity/contentTitleProcess.js</contentTitleProcess> <afterUiInit>%aditoprj%/entity/Product_entity/afterUiInit.js</afterUiInit> <iconId>VAADIN:HAMMER</iconId> - <imageProcess>%aditoprj%/entity/Product_entity/imageProcess.js</imageProcess> <titlePlural>Products</titlePlural> <recordContainer>db</recordContainer> <entityFields> @@ -128,13 +127,9 @@ </children> </entityConsumer> <entityField> - <name>IMAGE</name> + <name>PICTURE</name> <contentType>IMAGE</contentType> - <valueProcess>%aditoprj%/entity/Product_entity/entityfields/image/valueProcess.js</valueProcess> - <onValueChange>%aditoprj%/entity/Product_entity/entityfields/image/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> + <displayValueProcess>%aditoprj%/entity/Product_entity/entityfields/picture/displayValueProcess.js</displayValueProcess> </entityField> <entityConsumer> <name>StockCounts</name> @@ -556,6 +551,10 @@ <name>CONTACT_ID.displayValue</name> <recordfield>ORGANISATION.NAME</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <recordfield>PRODUCT.PICTURE</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> <indexRecordContainer> diff --git a/entity/Product_entity/entityfields/image/onValueChange.js b/entity/Product_entity/entityfields/image/onValueChange.js deleted file mode 100644 index 1fc5daeeea2101848906d4ec2c0f78ebc23fd634..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/image/onValueChange.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.vars"); -import("Entity_lib"); - -// TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023 -FieldChanges.setChange("$field.IMAGE"); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/image/valueProcess.js b/entity/Product_entity/entityfields/image/valueProcess.js deleted file mode 100644 index a02ae76ca2bfe7aefcadf452c09cbbdcc11413ad..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/image/valueProcess.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); -import("Product_lib"); - -result.string(ProductUtils.getImage(vars.get("$field.PRODUCTID"), vars.getString("$field.PRODUCTNAME"))); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/picture/displayValueProcess.js b/entity/Product_entity/entityfields/picture/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..61071fa5de14d9b69e322e75eed3c546b8ab9e8b --- /dev/null +++ b/entity/Product_entity/entityfields/picture/displayValueProcess.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW) { + if (vars.get("$this.value")) + result.string(vars.get("$this.value")); + else + result.string(vars.get("$param.ProductText_param")); +} diff --git a/entity/Product_entity/imageProcess.js b/entity/Product_entity/imageProcess.js deleted file mode 100644 index 73e048a22cc0459fe33d9df5747bcac6a56acbb9..0000000000000000000000000000000000000000 --- a/entity/Product_entity/imageProcess.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.vars"); -import("system.result"); - -result.string(vars.get("$param.ProductText_param")); \ No newline at end of file diff --git a/neonView/ProductFilter_view/ProductFilter_view.aod b/neonView/ProductFilter_view/ProductFilter_view.aod index 87debd2398a051bb5d0ae1e07b08860c86857636..040e29d62f3c5a87281fe8ffa3fb5fe2627d306e 100644 --- a/neonView/ProductFilter_view/ProductFilter_view.aod +++ b/neonView/ProductFilter_view/ProductFilter_view.aod @@ -39,7 +39,7 @@ <columns> <neonTableColumn> <name>2b03ec87-92a8-44dd-932e-80df160b2c8e</name> - <entityField>#IMAGE</entityField> + <entityField>PICTURE</entityField> </neonTableColumn> <neonTableColumn> <name>ee627d12-c60c-48c2-a86e-2a144f5853e6</name> diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod index cbe4e918fa8161d48ac38b5143ddc95c88dcab66..620131972723f1dfc41577e57143c09846aa22e8 100644 --- a/neonView/ProductPreview_view/ProductPreview_view.aod +++ b/neonView/ProductPreview_view/ProductPreview_view.aod @@ -1,74 +1,74 @@ -<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>ProductPreview_view</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <layout> - <headerFooterLayout> - <name>layout</name> - <header>Header</header> - </headerFooterLayout> - </layout> - <children> - <cardViewTemplate> - <name>Header</name> - <iconField>IMAGE</iconField> - <titleField>PRODUCTCODE</titleField> - <descriptionField>PRODUCTNAME</descriptionField> - <favoriteAction1>newActivity</favoriteAction1> - <entityField>#ENTITY</entityField> - </cardViewTemplate> - <genericViewTemplate> - <name>Info</name> - <showDrawer v="true" /> - <drawerCaption>Details</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>c47d3f86-867d-4bc4-bcc3-6e22ff8efa6d</name> - <entityField>GROUPCODEID</entityField> - </entityFieldLink> - <entityFieldLink> - <name>505cc05b-0497-4baa-81cb-294ec6e1a133</name> - <entityField>STATUS</entityField> - </entityFieldLink> - <entityFieldLink> - <name>bd8e7e33-6fc6-48fe-b9be-931383f4d859</name> - <entityField>CONTACT_ID</entityField> - </entityFieldLink> - <entityFieldLink> - <name>a5a3ecee-059d-4bf2-9654-abe3efd58510</name> - <entityField>UNIT</entityField> - </entityFieldLink> - <entityFieldLink> - <name>abef7fe5-88f6-44fe-af91-38487eb9b750</name> - <entityField>ADVERTISING</entityField> - </entityFieldLink> - <entityFieldLink> - <name>ba604dc5-06b2-44f2-a9b3-c4c3adb9f8f8</name> - <entityField>MINSTOCK</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> - <genericViewTemplate> - <name>ProductPriceCurrent</name> - <showDrawer v="true" /> - <drawerCaption>Prices</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>e47628f5-dd89-4a5d-bb39-8edf8dba9e73</name> - <entityField>currentPurchasePrice</entityField> - </entityFieldLink> - <entityFieldLink> - <name>da93c159-d0b2-41d4-8ebe-7f28f623356c</name> - <entityField>currentSalesPrice</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> - <neonViewReference> - <name>cf0f8792-3f4a-435d-b04c-16843e3f1cd4</name> - <entityField>MainDocuments</entityField> - <view>DocumentList_view</view> - </neonViewReference> - </children> -</neonView> +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>ProductPreview_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <headerFooterLayout> + <name>layout</name> + <header>Header</header> + </headerFooterLayout> + </layout> + <children> + <cardViewTemplate> + <name>Header</name> + <iconField>PICTURE</iconField> + <titleField>PRODUCTCODE</titleField> + <descriptionField>PRODUCTNAME</descriptionField> + <favoriteAction1>newActivity</favoriteAction1> + <entityField>#ENTITY</entityField> + </cardViewTemplate> + <genericViewTemplate> + <name>Info</name> + <showDrawer v="true" /> + <drawerCaption>Details</drawerCaption> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>c47d3f86-867d-4bc4-bcc3-6e22ff8efa6d</name> + <entityField>GROUPCODEID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>505cc05b-0497-4baa-81cb-294ec6e1a133</name> + <entityField>STATUS</entityField> + </entityFieldLink> + <entityFieldLink> + <name>bd8e7e33-6fc6-48fe-b9be-931383f4d859</name> + <entityField>CONTACT_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>a5a3ecee-059d-4bf2-9654-abe3efd58510</name> + <entityField>UNIT</entityField> + </entityFieldLink> + <entityFieldLink> + <name>abef7fe5-88f6-44fe-af91-38487eb9b750</name> + <entityField>ADVERTISING</entityField> + </entityFieldLink> + <entityFieldLink> + <name>ba604dc5-06b2-44f2-a9b3-c4c3adb9f8f8</name> + <entityField>MINSTOCK</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + <genericViewTemplate> + <name>ProductPriceCurrent</name> + <showDrawer v="true" /> + <drawerCaption>Prices</drawerCaption> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>e47628f5-dd89-4a5d-bb39-8edf8dba9e73</name> + <entityField>currentPurchasePrice</entityField> + </entityFieldLink> + <entityFieldLink> + <name>da93c159-d0b2-41d4-8ebe-7f28f623356c</name> + <entityField>currentSalesPrice</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + <neonViewReference> + <name>cf0f8792-3f4a-435d-b04c-16843e3f1cd4</name> + <entityField>MainDocuments</entityField> + <view>DocumentList_view</view> + </neonViewReference> + </children> +</neonView>