From d4864f4d3dc3f52f2a8153f83bd1d51d458e94c3 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Thu, 27 Jun 2019 13:49:18 +0200 Subject: [PATCH] language table in Product --- .../Data_alias/basic/2019.1.4/changelog.xml | 2 + .../create_description_translation.xml | 18 ++ aliasDefinition/Data_alias/Data_alias.aod | 250 ++++++++++++++++++ .../DescriptionTranslation_entity.aod | 118 +++++++++ .../entityfields/lang/displayValueProcess.js | 10 + .../excludedids_param/valueProcess.js | 9 + .../entityfields/object_rowid/valueProcess.js | 8 + .../entityfields/object_type/valueProcess.js | 8 + .../recordcontainers/db/conditionProcess.js | 9 + .../lang.displayvalue/expression.js | 7 + .../lang.value/expression.js | 0 entity/Language_entity/Language_entity.aod | 28 ++ .../recordcontainers/db/conditionProcess.js | 9 + entity/Product_entity/Product_entity.aod | 18 ++ .../objectrowid_param/valueProcess.js | 4 + .../children/objecttype_param/valueProcess.js | 4 + .../DescriptionTranslation.aod | 18 ++ .../DescriptionTranslationEdit_view.aod | 27 ++ .../DescriptionTranslationFilter_view.aod | 26 ++ .../ProductMain_view/ProductMain_view.aod | 121 +++++---- process/Context_lib/process.js | 10 +- 21 files changed, 637 insertions(+), 67 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.1.4/create_description_translation.xml create mode 100644 entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod create mode 100644 entity/DescriptionTranslation_entity/entityfields/lang/displayValueProcess.js create mode 100644 entity/DescriptionTranslation_entity/entityfields/languages/children/excludedids_param/valueProcess.js create mode 100644 entity/DescriptionTranslation_entity/entityfields/object_rowid/valueProcess.js create mode 100644 entity/DescriptionTranslation_entity/entityfields/object_type/valueProcess.js create mode 100644 entity/DescriptionTranslation_entity/recordcontainers/db/conditionProcess.js create mode 100644 entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js create mode 100644 entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js create mode 100644 entity/Language_entity/recordcontainers/db/conditionProcess.js create mode 100644 entity/Product_entity/entityfields/descriptiontranslations/children/objectrowid_param/valueProcess.js create mode 100644 entity/Product_entity/entityfields/descriptiontranslations/children/objecttype_param/valueProcess.js create mode 100644 neonContext/DescriptionTranslation/DescriptionTranslation.aod create mode 100644 neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod create mode 100644 neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml index d4d982c2c6d..b97380ae77f 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml @@ -158,4 +158,6 @@ <include relativeToChangelogFile="true" file="Attributes/AB_ATTRIBUTE.xml"/> <include relativeToChangelogFile="true" file="Attributes/AB_ATTRIBUTEUSAGE.xml"/> + + <include relativeToChangelogFile="true" file="create_description_translation.xml"/> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.1.4/create_description_translation.xml b/.liquibase/Data_alias/basic/2019.1.4/create_description_translation.xml new file mode 100644 index 00000000000..07230bba7ef --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/create_description_translation.xml @@ -0,0 +1,18 @@ +<?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="m.mansour" id="ba354d1e-f161-4b20-aaf2-f7ddf6419f57"> + <createTable tableName="DESCRIPTIONTRANSLATION"> + <column name="DESCRIPTIONTRANSLATIONID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_DESCRIPTIONTRANSLATION_DESCRIPTIONTRANSLATIONID"/> + </column> + <column name="OBJECT_TYPE" type="VARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="OBJECT_ROWID" type="CHAR(36)"> + <constraints nullable="false"/> + </column> + <column name="LANG" type="CHAR(36)"/> + <column name="DESCRIPTION" type="NCLOB"/> + </createTable> +</changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index cb33c328630..520aa65dd73 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -10013,6 +10013,256 @@ </entityFieldDb> </entityFields> </entityDb> + <entityDb> + <name>DESCRIPTIONTRANSLATION</name> + <dbName></dbName> + <idColumn>DESCRIPTIONTRANSLATIONID</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>OBJECT_ROWID</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>DESCRIPTIONTRANSLATIONID</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>DESCRIPTION</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>OBJECT_TYPE</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>LANG</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>AB_UNLINKEDMAIL</name> + <dbName></dbName> + <idColumn>AB_UNLINKEDMAILID</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>MAIL</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>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>SENDER</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="1000" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>SUBJECT</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>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="true" /> + <isUnique v="false" /> + <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>AB_UNLINKEDMAILID</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>RECIPIENTS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="4000" /> + <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> + <entityFieldDb> + <name>SENTDATE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> </entities> </entityGroup> </aliasDefDb> diff --git a/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod new file mode 100644 index 00000000000..071ec6c9a75 --- /dev/null +++ b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.9" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.9"> + <name>DescriptionTranslation_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Description</title> + <titlePlural>Descriptions</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>DESCRIPTIONTRANSLATIONID</name> + </entityField> + <entityField> + <name>OBJECT_TYPE</name> + <title>Type</title> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/DescriptionTranslation_entity/entityfields/object_type/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OBJECT_ROWID</name> + <title>Object</title> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/DescriptionTranslation_entity/entityfields/object_rowid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>LANG</name> + <title>Language</title> + <consumer>Languages</consumer> + <mandatory v="true" /> + <displayValueProcess>%aditoprj%/entity/DescriptionTranslation_entity/entityfields/lang/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>DESCRIPTION</name> + <title>Description</title> + <mandatory v="true" /> + </entityField> + <entityConsumer> + <name>Languages</name> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3NameFiltered</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExcludedIds_param</name> + <valueProcess>%aditoprj%/entity/DescriptionTranslation_entity/entityfields/languages/children/excludedids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectRowid_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityProvider> + <name>DescriptionTranslations</name> + <dependencies> + <entityDependency> + <name>72298519-6028-4d4b-9ef6-3227fb065bb8</name> + <entityName>Product_entity</entityName> + <fieldName>DescriptionTranslations</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>b12c4b68-b868-45fe-9f72-aa914a19382a</name> + <tableName>DESCRIPTIONTRANSLATION</tableName> + <primaryKey>DESCRIPTIONTRANSLATIONID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>DESCRIPTION.value</name> + <recordfield>DESCRIPTIONTRANSLATION.DESCRIPTION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DESCRIPTIONTRANSLATIONID.value</name> + <recordfield>DESCRIPTIONTRANSLATION.DESCRIPTIONTRANSLATIONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>DESCRIPTIONTRANSLATION.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>DESCRIPTIONTRANSLATION.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANG.value</name> + <recordfield>DESCRIPTIONTRANSLATION.LANG</recordfield> + <expression>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANG.displayValue</name> + <expression>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/DescriptionTranslation_entity/entityfields/lang/displayValueProcess.js b/entity/DescriptionTranslation_entity/entityfields/lang/displayValueProcess.js new file mode 100644 index 00000000000..ac0f29fc259 --- /dev/null +++ b/entity/DescriptionTranslation_entity/entityfields/lang/displayValueProcess.js @@ -0,0 +1,10 @@ +import("system.db"); +import("system.translate"); +import("system.vars"); +import("system.result"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("Sql_lib"); + +result.string(translate.text(db.cell(SqlCondition.begin().andPrepareVars("AB_LANGUAGE.ISO3", "$this.value") + .buildSql("select NAME_LATIN from AB_LANGUAGE", "1=2")))); \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/entityfields/languages/children/excludedids_param/valueProcess.js b/entity/DescriptionTranslation_entity/entityfields/languages/children/excludedids_param/valueProcess.js new file mode 100644 index 00000000000..15bf867229f --- /dev/null +++ b/entity/DescriptionTranslation_entity/entityfields/languages/children/excludedids_param/valueProcess.js @@ -0,0 +1,9 @@ +import("Sql_lib"); +import("system.db"); +import("system.result"); +import("system.neon"); + +result.object(db.array(db.COLUMN, SqlCondition.begin() + .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "$param.ObjectType_param") + .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "$param.ObjectRowid_param") + .buildSql("select LANG from DESCRIPTIONTRANSLATION", "1=2"))); \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/entityfields/object_rowid/valueProcess.js b/entity/DescriptionTranslation_entity/entityfields/object_rowid/valueProcess.js new file mode 100644 index 00000000000..753abe3b085 --- /dev/null +++ b/entity/DescriptionTranslation_entity/entityfields/object_rowid/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$param.ObjectRowid_param")); +} \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/entityfields/object_type/valueProcess.js b/entity/DescriptionTranslation_entity/entityfields/object_type/valueProcess.js new file mode 100644 index 00000000000..55877cba6b8 --- /dev/null +++ b/entity/DescriptionTranslation_entity/entityfields/object_type/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$param.ObjectType_param")); +} \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/recordcontainers/db/conditionProcess.js b/entity/DescriptionTranslation_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 00000000000..59b16d3684e --- /dev/null +++ b/entity/DescriptionTranslation_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,9 @@ +import("system.db"); +import("system.result"); +import("Sql_lib"); + +var cond = SqlCondition.begin() + .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "$param.ObjectType_param") + .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "$param.ObjectRowid_param"); + +result.string(db.translateCondition(cond.build("1 = 2"))) \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js new file mode 100644 index 00000000000..66406524c0b --- /dev/null +++ b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.displayvalue/expression.js @@ -0,0 +1,7 @@ +import("system.logging"); +import("system.result"); +import("Keyword_lib"); + +var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("DESCRIPTIONTRANSLATION.LANG"); +logging.log(sql) +result.string(sql); \ No newline at end of file diff --git a/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/entity/Language_entity/Language_entity.aod b/entity/Language_entity/Language_entity.aod index 89843a7e0ba..439c799ebb5 100644 --- a/entity/Language_entity/Language_entity.aod +++ b/entity/Language_entity/Language_entity.aod @@ -74,12 +74,40 @@ <isConsumer v="false" /> </entityDependency> </dependencies> + <children> + <entityParameter> + <name>ExcludedIds_param</name> + <expose v="false" /> + </entityParameter> + </children> </entityProvider> + <entityProvider> + <name>ISO3NameFiltered</name> + <dependencies> + <entityDependency> + <name>2df9d0ed-c26b-4166-9667-786a55146e05</name> + <entityName>DescriptionTranslation_entity</entityName> + <fieldName>Languages</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ExcludedIds_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>ExcludedIds_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> <name>db</name> <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/Language_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <linkInformation> <linkInformation> <name>3cd06d7c-16c3-49e5-87cd-672a7222e613</name> diff --git a/entity/Language_entity/recordcontainers/db/conditionProcess.js b/entity/Language_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 00000000000..ac4edfa2826 --- /dev/null +++ b/entity/Language_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,9 @@ +import("system.vars"); +import("system.db"); +import("system.result"); +import("Sql_lib"); + +var cond = SqlCondition.begin() + .andIn("AB_LANGUAGE.ISO3", JSON.parse(vars.getString("$param.ExcludedIds_param")), undefined, true) + +result.string(db.translateCondition(cond.build("1 = 1"))) \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 8adc4776543..d43d263ba27 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -445,6 +445,24 @@ <name>ProductText_param</name> <valueProcess>%aditoprj%/entity/Product_entity/entityfields/producttext_param/valueProcess.js</valueProcess> </entityParameter> + <entityConsumer> + <name>DescriptionTranslations</name> + <dependency> + <name>dependency</name> + <entityName>DescriptionTranslation_entity</entityName> + <fieldName>DescriptionTranslations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowid_param</name> + <valueProcess>%aditoprj%/entity/Product_entity/entityfields/descriptiontranslations/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Product_entity/entityfields/descriptiontranslations/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Product_entity/entityfields/descriptiontranslations/children/objectrowid_param/valueProcess.js b/entity/Product_entity/entityfields/descriptiontranslations/children/objectrowid_param/valueProcess.js new file mode 100644 index 00000000000..533f8ec837e --- /dev/null +++ b/entity/Product_entity/entityfields/descriptiontranslations/children/objectrowid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$sys.uid")); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/descriptiontranslations/children/objecttype_param/valueProcess.js b/entity/Product_entity/entityfields/descriptiontranslations/children/objecttype_param/valueProcess.js new file mode 100644 index 00000000000..cc6924394ae --- /dev/null +++ b/entity/Product_entity/entityfields/descriptiontranslations/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/neonContext/DescriptionTranslation/DescriptionTranslation.aod b/neonContext/DescriptionTranslation/DescriptionTranslation.aod new file mode 100644 index 00000000000..63008a00cac --- /dev/null +++ b/neonContext/DescriptionTranslation/DescriptionTranslation.aod @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>DescriptionTranslation</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>DescriptionTranslationFilter_view</filterview> + <editview>DescriptionTranslationEdit_view</editview> + <entity>DescriptionTranslation_entity</entity> + <references> + <neonViewReference> + <name>dd74152c-282f-4cde-9ad8-93a027dbbf56</name> + <view>DescriptionTranslationFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>0d8720bb-5bef-4913-a0ea-d426875d8127</name> + <view>DescriptionTranslationEdit_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod b/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod new file mode 100644 index 00000000000..4069467fa69 --- /dev/null +++ b/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod @@ -0,0 +1,27 @@ +<?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>DescriptionTranslationEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>translationData</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>9f8ad216-e4da-4973-bf3f-1d24dca765f3</name> + <entityField>LANG</entityField> + </entityFieldLink> + <entityFieldLink> + <name>64dde5e6-d8f7-42f7-bea9-104210ebf08f</name> + <entityField>DESCRIPTION</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod new file mode 100644 index 00000000000..043efc0bd39 --- /dev/null +++ b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod @@ -0,0 +1,26 @@ +<?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>DescriptionTranslationFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>translation</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>4bdaf352-d5f1-44a1-9cca-7cb877928ba5</name> + <entityField>LANG</entityField> + </neonTableColumn> + <neonTableColumn> + <name>e00000eb-c883-4fd4-854e-c985938392aa</name> + <entityField>DESCRIPTION</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/ProductMain_view/ProductMain_view.aod b/neonView/ProductMain_view/ProductMain_view.aod index 44ff539d6ae..b5ea26c430a 100644 --- a/neonView/ProductMain_view/ProductMain_view.aod +++ b/neonView/ProductMain_view/ProductMain_view.aod @@ -1,58 +1,63 @@ -<?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>ProductMain_view</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <layout> - <masterSlaveLayout> - <name>layout</name> - <master>9ff71d55-84be-411e-9637-5dc0eba6c79e</master> - </masterSlaveLayout> - </layout> - <children> - <neonViewReference> - <name>9ff71d55-84be-411e-9637-5dc0eba6c79e</name> - <entityField>#ENTITY</entityField> - <view>ProductPreview_view</view> - </neonViewReference> - <neonViewReference> - <name>41887933-bb9a-48ce-818d-1db815021a36</name> - <entityField>Activities</entityField> - <view>ActivityFilter_view</view> - </neonViewReference> - <neonViewReference> - <name>754b4efe-3ea7-42de-8e35-c85c3a0b4abf</name> - <entityField>Tasks</entityField> - <view>TaskFilter_view</view> - </neonViewReference> - <neonViewReference> - <name>51f37fe5-91e1-4b76-83b3-be0319e871a4</name> - <entityField>#ENTITY</entityField> - <view>ProductDescription_view</view> - </neonViewReference> - <neonViewReference> - <name>7f416115-ff89-45ca-be10-ed568cac266c</name> - <entityField>ProductLinks</entityField> - <view>Prod2prodFilter_view</view> - </neonViewReference> - <neonViewReference> - <name>11c4c5a0-27fa-4748-a6c6-3a667d2f3d8f</name> - <entityField>Productprices</entityField> - <view>ProductpriceFilter_view</view> - </neonViewReference> - <neonViewReference> - <name>616f7cc3-93e7-41ee-8d38-027dd3d4b299</name> - <entityField>Documents</entityField> - <view>DocumentFilter_view</view> - </neonViewReference> - <neonViewReference> - <name>6ee1258f-b571-45c1-b833-f292361b5a04</name> - <entityField>AttributeTree</entityField> - <view>AttributeRelationTree_view</view> - </neonViewReference> - <neonViewReference> - <name>0faf6a9e-b1f3-452d-b7fd-d0c9e3fc25f8</name> - <entityField>LogHistoryConsumer</entityField> - <view>LogHistoryFilter_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>ProductMain_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <masterSlaveLayout> + <name>layout</name> + <master>9ff71d55-84be-411e-9637-5dc0eba6c79e</master> + </masterSlaveLayout> + </layout> + <children> + <neonViewReference> + <name>9ff71d55-84be-411e-9637-5dc0eba6c79e</name> + <entityField>#ENTITY</entityField> + <view>ProductPreview_view</view> + </neonViewReference> + <neonViewReference> + <name>41887933-bb9a-48ce-818d-1db815021a36</name> + <entityField>Activities</entityField> + <view>ActivityFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>754b4efe-3ea7-42de-8e35-c85c3a0b4abf</name> + <entityField>Tasks</entityField> + <view>TaskFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>51f37fe5-91e1-4b76-83b3-be0319e871a4</name> + <entityField>#ENTITY</entityField> + <view>ProductDescription_view</view> + </neonViewReference> + <neonViewReference> + <name>7f416115-ff89-45ca-be10-ed568cac266c</name> + <entityField>ProductLinks</entityField> + <view>Prod2prodFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>11c4c5a0-27fa-4748-a6c6-3a667d2f3d8f</name> + <entityField>Productprices</entityField> + <view>ProductpriceFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>616f7cc3-93e7-41ee-8d38-027dd3d4b299</name> + <entityField>Documents</entityField> + <view>DocumentFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>c647d35b-3535-4acf-b6cb-c9786a353b08</name> + <entityField>DescriptionTranslations</entityField> + <view>DescriptionTranslationFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>6ee1258f-b571-45c1-b833-f292361b5a04</name> + <entityField>AttributeTree</entityField> + <view>AttributeRelationTree_view</view> + </neonViewReference> + <neonViewReference> + <name>0faf6a9e-b1f3-452d-b7fd-d0c9e3fc25f8</name> + <entityField>LogHistoryConsumer</entityField> + <view>LogHistoryFilter_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 1bec33e710b..80de2ad6f59 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -25,15 +25,7 @@ function ContextUtils() {} */ ContextUtils.getCurrentContextId = function() { - var entityName = vars.getString("$sys.currententityname"); - // TODO: replace with Core-method instead of switch-case!!! - - // TODO: workaround: remove "entity" and add "context". This is a Workaround and has to be changed (see above todo)! - return entityName.substr(0, entityName.length-7); - - - - // return vars.getString("$sys.currentcontextname"); + return vars.getString("$sys.currentcontextname"); } /** -- GitLab