diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 0b734992cbf469c8ad0c53e3ec90f2ef3f35c583..eed1bb576180f095df20d45252e1b2d7d5f7adf1 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -5116,6 +5116,787 @@ </entityFieldDb> </entityFields> </entityDb> + <entityDb> + <name>AB_ATTRIBUTEUSAGE</name> + <dbName></dbName> + <idColumn>AB_ATTRIBUTEUSAGEID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <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>AB_ATTRIBUTEUSAGEID</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>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>AB_ATTRIBUTE_ID</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> + <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>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <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> + <entityFieldDb> + <name>MIN_COUNT</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>MAX_COUNT</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> + </entityFields> + </entityDb> + <entityDb> + <name>AB_ATTRIBUTE</name> + <dbName></dbName> + <idColumn>AB_ATTRIBUTEID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <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>ATTRIBUTE_NAME</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ATTRIBUTE_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="true" /> + <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>AB_ATTRIBUTEID</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>ATTRIBUTE_ACTIVE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="5" /> + <size v="5" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ATTRIBUTE_PARENT_ID</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> + <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>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>AB_ATTRIBUTERELATION</name> + <dbName></dbName> + <idColumn>AB_ATTRIBUTERELATIONID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <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>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>BOOL_VALUE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="5" /> + <size v="5" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_VALUE</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>NUMBER_VALUE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2" /> + <size v="14" /> + <scale v="2" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>AB_ATTRIBUTERELATIONID</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>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <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> + <entityFieldDb> + <name>CHAR_VALUE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>AB_ATTRIBUTE_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>ID_VALUE</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> + <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> + </entityFields> + </entityDb> + <entityDb> + <name>DATABASECHANGELOG</name> + <dbName></dbName> + <idColumn></idColumn> + <idGeneratorType v="1" /> + <idGeneratorInterval v="1" /> + <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>EXECTYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="10" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATEEXECUTED</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>ORDEREXECUTED</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>COMMENTS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>AUTHOR</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CONTEXTS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>MD5SUM</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="35" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DESCRIPTION</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>LIQUIBASE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="20" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DEPLOYMENT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="10" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>TAG</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>LABELS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>FILENAME</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>DATABASECHANGELOGLOCK</name> + <dbName></dbName> + <idColumn>ID</idColumn> + <idGeneratorType v="1" /> + <idGeneratorInterval v="1" /> + <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>LOCKGRANTED</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>LOCKED</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>LOCKEDBY</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> </entities> </entityGroup> </aliasDefDb> diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod index 1991fe78ecbd39bf8d2705bf172f5355ce0942d4..a27ce68caa45c48538ab846a22556d363249f264 100644 --- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod +++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod @@ -26,6 +26,13 @@ <node name="INTERNAL_ADMINISTRATOR" kind="159" /> </node> </node> + <node name="Administration" kind="123" title="Administration"> + <icon>NEON:WRENCH</icon> + <node name="Group3" kind="123" title=""> + <node name="Attribute_context" kind="10077" /> + <node name="INTERNAL_ADMINISTRATOR" kind="159" /> + </node> + </node> </entityNode> <company> <name>company</name> diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod index 49c9a10ee277683c74162b48cf3626d7099f473f..0fbc84dbd62d654ff15bd90fac1294dc11c2c329 100644 --- a/entity/Address_entity/Address_entity.aod +++ b/entity/Address_entity/Address_entity.aod @@ -67,7 +67,7 @@ </entityField> <entityField> <name>STATE</name> - <title>State</title> + <title>${ADDRESS_STATE}</title> <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/state/mandatoryProcess.js</mandatoryProcess> </entityField> <entityField> diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..1e4c91f04cc6179015626206d42773394e0caba3 --- /dev/null +++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod @@ -0,0 +1,181 @@ +<?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.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1"> + <name>AttributeRelation_entity</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <recordContainer>db</recordContainer> + <entityFields> + <entityIncomingField> + <name>#INCOMING</name> + </entityIncomingField> + <entityField> + <name>AB_ATTRIBUTERELATIONID</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>AB_ATTRIBUTE_ID</name> + <title>Attribute</title> + <mandatory v="true" /> + <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js</possibleItemsProcess> + <stateProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js</stateProcess> + </entityField> + <entityField> + <name>OBJECT_ROWID</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OBJECT_TYPE</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + </entityField> + <entityField> + <name>ATTRIBUTERELATION_VALUE</name> + <title>Value</title> + <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js</contentTypeProcess> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>CHAR_VALUE</name> + <state>EDITABLE</state> + </entityField> + <entityIncomingField> + <name>OrgAttr_dfi</name> + <fieldType>DEPENDENCY_IN</fieldType> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>2226c7fc-45d4-45e8-a5d3-a5e13dff4b59</name> + <entityName>Org_entity</entityName> + <fieldName>OrgAttr_dfo</fieldName> + <isOutgoing v="false" /> + </entityDependency> + </dependencies> + </entityIncomingField> + <entityField> + <name>ATTRIBUTE_NAME</name> + </entityField> + <entityParameter> + <name>objectRowId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>DATE_VALUE</name> + <contentType>DATE</contentType> + <state>EDITABLE</state> + </entityField> + <entityField> + <name>NUMBER_VALUE</name> + <contentType>NUMBER</contentType> + <state>EDITABLE</state> + </entityField> + <entityField> + <name>ATTRIBUTE_TYPE</name> + </entityField> + <entityParameter> + <name>objectType_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>BOOL_VALUE</name> + <contentType>BOOLEAN</contentType> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ID_VALUE</name> + </entityField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>1ffc8a7d-56a2-4516-abd9-071e857058e9</name> + <tableName>AB_ATTRIBUTERELATION</tableName> + <primaryKey>AB_ATTRIBUTERELATIONID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>AB_ATTRIBUTE_ID.value</name> + <recordfield>AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>AB_ATTRIBUTERELATIONID.value</name> + <recordfield>AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>AB_ATTRIBUTERELATION.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>AB_ATTRIBUTERELATION.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>AB_ATTRIBUTERELATION.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>AB_ATTRIBUTERELATION.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>AB_ATTRIBUTERELATION.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>AB_ATTRIBUTERELATION.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CHAR_VALUE.value</name> + <recordfield>AB_ATTRIBUTERELATION.CHAR_VALUE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_VALUE.value</name> + <recordfield>AB_ATTRIBUTERELATION.DATE_VALUE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NUMBER_VALUE.value</name> + <recordfield>AB_ATTRIBUTERELATION.NUMBER_VALUE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_NAME.value</name> + <expression>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_TYPE.value</name> + <expression>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>BOOL_VALUE.value</name> + <recordfield>AB_ATTRIBUTERELATION.BOOL_VALUE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ID_VALUE.value</name> + <recordfield>AB_ATTRIBUTERELATION.ID_VALUE</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2449074c9672b85ce7ddec1e78cfce6710a1e7fb --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Attribute_lib"); + +result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.objectType_param"))); diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..749c17f2401775fb86abb79f7b2baf00744a5681 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js @@ -0,0 +1,5 @@ +//import("system.vars"); +//import("system.result"); +// +//if (vars.get("$field.ATTRIBUTERELATION_VALUE")) +// result.string("READONLY"); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..622e00f05f77bd63405f4487831518087cc38d27 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.neon"); +import("system.util"); +import("system.vars"); +import("system.result"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ccd7b53d9e4d0fc3179309d08ce8ff17ad651702 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js @@ -0,0 +1,8 @@ +import("system.logging"); +import("system.vars"); +import("system.result"); +import("Attribute_lib"); + +var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeContentType(); +logging.log("type is " + attrType) +result.string(attrType); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..0dcab8e25a383d7f578549187155687ac32d89c5 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js @@ -0,0 +1,12 @@ +import("system.logging"); +import("system.vars"); +import("Entity_lib"); +import("Attribute_lib"); + +var attrValue = vars.exists("$field.ATTRIBUTERELATION_VALUE") ? vars.get("$field.ATTRIBUTERELATION_VALUE") : ""; +attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue); +var attribute = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")); + +attribute.setAttributeValue(attrValue); + +//logging.log("field is " + field + " and attrvalue is " + attrValue) \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dc4b3c47bae965a6a21168c8ce6c4ef087ae0176 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js @@ -0,0 +1,14 @@ +import("system.logging"); +import("system.result"); +import("system.vars"); +import("Attribute_lib"); + +//var attrValue = vars.getString("$field.ATTRIBUTERELATION_VALUE"); +var attrField = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeField(); + +if (attrField != null) +{ + logging.log("value of " + vars.get("$field.AB_ATTRIBUTERELATIONID") + " (" + vars.get("$field.ATTRIBUTE_NAME") + ") = " + attrField) + result.string(vars.get(attrField)); +} + diff --git a/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..13b11be60e6ff9abcd2ae44306b70f3367cdb5ed --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("0") \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js b/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..83fdc179510373157ac394d755c406adc59e1c43 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null) + result.string(vars.get("$param.objectRowId_param")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a2239bdb8c4a4c4cc92b319a4e90a2a64260b97e --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.objectType_param") && vars.get("$param.objectType_param") != null) + result.string(vars.get("$param.objectType_param")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js b/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f83ae05abaf417c8b8502955eb3a6af39a9d4f89 --- /dev/null +++ b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,14 @@ +import("system.db"); +import("system.vars"); +import("system.result"); +import("Sql_lib"); + +if (vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null) +{ + cond = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", vars.get("$param.objectRowId_param")) + .build(); + result.string(db.translateCondition(cond)); +} +else + result.string("1 = 2"); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..e4aa4657a299ef907e6fb0b44865b0b97c35bd8c --- /dev/null +++ b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("select ATTRIBUTE_NAME from AB_ATTRIBUTE where AB_ATTRIBUTE.AB_ATTRIBUTEID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID"); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/AttributeUsage_entity/AttributeUsage_entity.aod b/entity/AttributeUsage_entity/AttributeUsage_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..02591fac2b2e708712f9a5e6fd813446eff12191 --- /dev/null +++ b/entity/AttributeUsage_entity/AttributeUsage_entity.aod @@ -0,0 +1,126 @@ +<?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.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1"> + <name>AttributeUsage_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <recordContainer>db</recordContainer> + <entityFields> + <entityIncomingField> + <name>#INCOMING</name> + </entityIncomingField> + <entityField> + <name>OBJECT_TYPE</name> + <title>Entity</title> + <possibleItemsProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js</possibleItemsProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <contentType>DATE</contentType> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <contentType>DATE</contentType> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + </entityField> + <entityField> + <name>AB_ATTRIBUTEUSAGEID</name> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>AB_ATTRIBUTE_ID</name> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js</valueProcess> + </entityField> + <entityIncomingField> + <name>Attribute_dfi</name> + <fieldType>DEPENDENCY_IN</fieldType> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>47ac9f95-8879-43fd-92a9-86079e735e58</name> + <entityName>Attribute_entity</entityName> + <fieldName>AttributeUsage_dfo</fieldName> + <isOutgoing v="false" /> + </entityDependency> + </dependencies> + </entityIncomingField> + <entityParameter> + <name>attributeId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>MIN_COUNT</name> + <title>Minimal Count</title> + <contentType>NUMBER</contentType> + <searchable v="false" /> + <onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js</onValidation> + </entityField> + <entityField> + <name>MAX_COUNT</name> + <title>Maximal Count</title> + <contentType>NUMBER</contentType> + <searchable v="false" /> + <onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js</onValidation> + </entityField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>c30f5670-580e-4621-95dd-0fec4a99190f</name> + <tableName>AB_ATTRIBUTEUSAGE</tableName> + <primaryKey>AB_ATTRIBUTEUSAGEID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>AB_ATTRIBUTE_ID.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>AB_ATTRIBUTEUSAGEID.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.AB_ATTRIBUTEUSAGEID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MAX_COUNT.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.MAX_COUNT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MIN_COUNT.value</name> + <recordfield>AB_ATTRIBUTEUSAGE.MIN_COUNT</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d3399e68903611cd80b239a5b3a24bb62282d0fc --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.attributeId_param") && vars.get("$param.attributeId_param") != null) + result.string(vars.get("$param.attributeId_param")); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js b/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7df83b4096e7df4d63cc4d81f8fadf0884444479 --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js b/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71 --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js b/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..cfec392b7024d4f7c6113dfc840fb39aa8b6e96f --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js @@ -0,0 +1,13 @@ +import("system.result"); +import("system.vars"); +import("system.translate"); +import("Entity_lib"); + +var maxCount = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MAX_COUNT")); + +if (maxCount) +{ + maxCount = Number(maxCount); + if (maxCount <= 0 || maxCount != Math.floor(maxCount)) //when specified, max count must can't be negative, zero or not an integer + result.string(false); +} diff --git a/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js b/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..36ddf1f1fdf60592f1f46cec7c9983495ccb9e6c --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js @@ -0,0 +1,13 @@ +import("system.result"); +import("system.vars"); +import("system.translate"); +import("Entity_lib"); + +var minCount = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MIN_COUNT")); + +if (minCount) +{ + minCount = Number(minCount); + if (minCount < 0 || minCount != Math.floor(minCount)) //when specified, max count must can't be negative or not an integer + result.string(false); +} diff --git a/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js b/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ad231346ea73dafb48059894d1f10c3d36050ef2 --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object([["Org_context", "Org"]]); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js b/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f7bc09814242ecd21bf3ad37099740d77f73fa32 --- /dev/null +++ b/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("system.vars"); + +if(vars.exists("$param.attributeId_param") && vars.get("$param.attributeId_param") != null) + result.string("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = ('" + vars.getString("$param.attributeId_param") + "')"); +else + result.string("1 = 2"); \ No newline at end of file diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..2a9637e1bd5623990e3aa29d003d3afdb8fda758 --- /dev/null +++ b/entity/Attribute_entity/Attribute_entity.aod @@ -0,0 +1,145 @@ +<?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.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1"> + <name>Attribute_entity</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <iconId>VAADIN:TAG</iconId> + <recordContainer>db</recordContainer> + <entityFields> + <entityIncomingField> + <name>#INCOMING</name> + </entityIncomingField> + <entityField> + <name>ATTRIBUTE_NAME</name> + <title>Name</title> + <mandatory v="true" /> + </entityField> + <entityField> + <name>ATTRIBUTE_TYPE</name> + <title>Type</title> + <mandatory v="true" /> + <possibleItemsProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js</possibleItemsProcess> + </entityField> + <entityField> + <name>AB_ATTRIBUTEID</name> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ATTRIBUTE_PARENT_ID</name> + </entityField> + <entityField> + <name>DATE_NEW</name> + <contentType>DATE</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <contentType>DATE</contentType> + </entityField> + <entityField> + <name>USER_NEW</name> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + </entityField> + <entityOutgoingField> + <name>AttributeChild_dfo</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <fieldName></fieldName> + </dependency> + </entityOutgoingField> + <entityIncomingField> + <name>AttributeParent_dfi</name> + <fieldType>DEPENDENCY_IN</fieldType> + <recordContainer>db</recordContainer> + </entityIncomingField> + <entityParameter> + <name>attrParentId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityOutgoingField> + <name>AttributeUsage_dfo</name> + <title>Usage</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeUsage_entity</entityName> + <fieldName>Attribute_dfi</fieldName> + </dependency> + <children> + <entityParameter> + <name>attributeId_param</name> + <code>%aditoprj%/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js</code> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityOutgoingField> + <entityField> + <name>ATTRIBUTE_ACTIVE</name> + <title>Active</title> + <contentType>BOOLEAN</contentType> + <possibleItemsProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js</possibleItemsProcess> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js</valueProcess> + </entityField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/Attribute_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <onDBDelete>%aditoprj%/entity/Attribute_entity/recordcontainers/db/onDBDelete.js</onDBDelete> + <linkInformation> + <linkInformation> + <name>b5fd38e1-b315-4e66-bd68-569dfc04710c</name> + <tableName>AB_ATTRIBUTE</tableName> + <primaryKey>AB_ATTRIBUTEID</primaryKey> + <isUIDTable v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>AB_ATTRIBUTEID.value</name> + <recordfield>AB_ATTRIBUTE.AB_ATTRIBUTEID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_NAME.value</name> + <recordfield>AB_ATTRIBUTE.ATTRIBUTE_NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_PARENT_ID.value</name> + <recordfield>AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_TYPE.value</name> + <recordfield>AB_ATTRIBUTE.ATTRIBUTE_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>AB_ATTRIBUTE.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>AB_ATTRIBUTE.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>AB_ATTRIBUTE.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>AB_ATTRIBUTE.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ATTRIBUTE_ACTIVE.value</name> + <recordfield>AB_ATTRIBUTE.ATTRIBUTE_ACTIVE</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js b/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7df83b4096e7df4d63cc4d81f8fadf0884444479 --- /dev/null +++ b/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js b/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e4c1d8a78277a5e9b51c2d33a8a96bd3f26186cb --- /dev/null +++ b/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js @@ -0,0 +1,7 @@ +import("system.translate"); +import("system.result"); + +result.object([ + ["1", translate.text("Yes")], + ["0", translate.text("No")] +]); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..246c17c087fbbb4d52c421b75fd2ed3cecd21442 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string("1"); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js b/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3dc3e304437678edc609efc401378f1d2b0d84e9 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Attribute_lib"); + +result.object(AttributeTypes.getTypeList()); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js b/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..033bf9a666c5254c8945077776b2834560164e56 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.AB_ATTRIBUTEID")); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/date_new/valueProcess.js b/entity/Attribute_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71 --- /dev/null +++ b/entity/Attribute_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.date")); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/user_new/valueProcess.js b/entity/Attribute_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c --- /dev/null +++ b/entity/Attribute_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.getString("$sys.user")); \ No newline at end of file diff --git a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2c2d8e0a101e1051fb616a6b74bf859065b787cb --- /dev/null +++ b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("Sql_lib"); + +//if (vars.exists("$field.AB_ATTRIBUTEID") && vars.get("$field.AB_ATTRIBUTEID") != "") +// result.string(SqlCondition.begin().andPrepare("ATTRIBUTE_PARENT_ID", vars.get("$field.AB_ATTRIBUTEID"))); \ No newline at end of file diff --git a/entity/Attribute_entity/recordcontainers/db/onDBDelete.js b/entity/Attribute_entity/recordcontainers/db/onDBDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..504e2d5e4f82c9ccbdeb7b380f546003c3f5f9a8 --- /dev/null +++ b/entity/Attribute_entity/recordcontainers/db/onDBDelete.js @@ -0,0 +1,11 @@ +import("system.vars"); +import("system.db"); +import("Sql_lib"); + +var attributeId = vars.get("$field.AB_ATTRIBUTEID"); +var usageCondition = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", attributeId) + .build(); + +//delete all entries in AB_ATTRIBUTEUSAGE belonging to the attribute to avoid unrelated entries +db.deleteData("AB_ATTRIBUTEUSAGE", usageCondition); \ No newline at end of file diff --git a/entity/Comm_entity/entityfields/medium_id/valueProcess.js b/entity/Comm_entity/entityfields/medium_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod index 4b8964d13b127ac38b69f0b0c37fa126cd4816e1..7aad5dc5f50cca43077eb0f71d7b771003c94eae 100644 --- a/entity/Org_entity/Org_entity.aod +++ b/entity/Org_entity/Org_entity.aod @@ -467,6 +467,28 @@ <fieldName>ISO2_NAME</fieldName> </dependency> </entityOutgoingField> + <entityOutgoingField> + <name>OrgAttr_dfo</name> + <title>Attributes</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>OrgAttr_dfi</fieldName> + </dependency> + <children> + <entityParameter> + <name>objectRowId_param</name> + <code>%aditoprj%/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js</code> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>objectType_param</name> + <code>%aditoprj%/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js</code> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityOutgoingField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js b/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..0e435a3d15ece690e8f94844a8ac57ad2f3c2b08 --- /dev/null +++ b/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.ORGID")); \ No newline at end of file diff --git a/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js b/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e --- /dev/null +++ b/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/entity/Org_entity/recordcontainers/db/onDBUpdate.js b/entity/Org_entity/recordcontainers/db/onDBUpdate.js index b0047f43f07c4f962b6165f3a429dac26ea689b7..a2bda1f54c6408cb82440aae4bcfd276ca567608 100644 --- a/entity/Org_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Org_entity/recordcontainers/db/onDBUpdate.js @@ -3,7 +3,7 @@ import("Org_lib"); import("Comm_lib"); import("Entity_lib"); -// TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer +// TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Container FieldChanges.assimilateChangeAndDispose("$field.IMAGE", function(state, value){ if (state == FieldChanges.STATE_CHANGED()) OrgUtils.setImage(vars.get("$field.ORGID"), value); diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index b1fbca7801f85300a8640eca14ae25e56753e92e..18311db9c92e09d046ac05a256910719a60f5eac 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -1487,6 +1487,19 @@ </entry> <entry> <key>${FORECAST_ENGLISH}</key> + <key>${ADDRESS_STATE}</key> + </entry> + <entry> + <key>${NUMBER}</key> + </entry> + <entry> + <key>Usage</key> + </entry> + <entry> + <key>Maximal Count</key> + </entry> + <entry> + <key>Minimal Count</key> </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index c2f99df80667ec0aa28b3a3d9a7e8598c5e63f41..7a997ae430781dc8960f1bf131730b42e38d1192 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -22,6 +22,10 @@ <key>E-Mail</key> <value>E-Mail</value> </entry> + <entry> + <key>Maximal Count</key> + <value>Maximale Anzahl</value> + </entry> <entry> <key>Customer</key> <value>Kunde</value> @@ -30,10 +34,18 @@ <key>Internal</key> <value>Intern</value> </entry> + <entry> + <key>Usage</key> + <value>Verwendung</value> + </entry> <entry> <key>Show all activities</key> <value>Alle Aktivitäten anzeigen</value> </entry> + <entry> + <key>${ADDRESS_STATE}</key> + <value>Staat</value> + </entry> <entry> <key>Show all contracts</key> <value>Alle Verträge anzeigen</value> @@ -110,6 +122,10 @@ <key>Online-Meeting</key> <value>Online-Meeting</value> </entry> + <entry> + <key>${NUMBER}</key> + <value>Zahl</value> + </entry> <entry> <key>Choose address</key> <value>Adresse auswählen</value> @@ -921,6 +937,10 @@ <key>Total gross</key> <value>Betrag brutto</value> </entry> + <entry> + <key>Minimal Count</key> + <value>Minimale Anzahl</value> + </entry> <entry> <key>${ORGTYPE_OTHER}</key> <value>Sonstige</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index d4e1267101fcd063abb5805a9f3470c47cc0f139..15d73635855f33fa8892af6163a52e111f9df2e0 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -1517,6 +1517,21 @@ <entry> <key>${FORECAST_ENGLISH}</key> <value>Forecast</value> + <key>${ADDRESS_STATE}</key> + <value>state</value> + </entry> + <entry> + <key>${NUMBER}</key> + <value>Number</value> + </entry> + <entry> + <key>Usage</key> + </entry> + <entry> + <key>Maximal Count</key> + </entry> + <entry> + <key>Minimal Count</key> </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> diff --git a/neonContext/AttributeRelation_context/AttributeRelation_context.aod b/neonContext/AttributeRelation_context/AttributeRelation_context.aod new file mode 100644 index 0000000000000000000000000000000000000000..4604a512c94044f9b5f1e9c4157158e63712faad --- /dev/null +++ b/neonContext/AttributeRelation_context/AttributeRelation_context.aod @@ -0,0 +1,19 @@ +<?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.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>AttributeRelation_context</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>AttributeRelationTree_view</filterview> + <editview>AttributeRelationMultiEdit_view</editview> + <entity>AttributeRelation_entity</entity> + <references> + <neonViewReference> + <name>d21d2e1b-db79-4013-a056-6e9ce35a5757</name> + <view>AttributeRelationTree_view</view> + </neonViewReference> + <neonViewReference> + <name>52dd8729-c22d-4767-b491-1e8c9d157ddb</name> + <view>AttributeRelationMultiEdit_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/AttributeUsage_context/AttributeUsage_context.aod b/neonContext/AttributeUsage_context/AttributeUsage_context.aod new file mode 100644 index 0000000000000000000000000000000000000000..520b5db6374fe8a00aea3a0141b481f10407b9c9 --- /dev/null +++ b/neonContext/AttributeUsage_context/AttributeUsage_context.aod @@ -0,0 +1,16 @@ +<?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.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>AttributeUsage_context</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>AttributeUsage_entity</entity> + <references> + <neonViewReference> + <name>6f384e66-886a-4a88-90b2-3fa74447b485</name> + <view>AttributeUsageFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>db6545ff-cbf4-4c47-aa52-30ae7e203448</name> + <view>AttributeUsageMultiEdit_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/Attribute_context/Attribute_context.aod b/neonContext/Attribute_context/Attribute_context.aod new file mode 100644 index 0000000000000000000000000000000000000000..63209dcd4c959033893c525a167ee46d0967c84a --- /dev/null +++ b/neonContext/Attribute_context/Attribute_context.aod @@ -0,0 +1,30 @@ +<?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.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>Attribute_context</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:TAGS</icon> + <mainview>AttributeMain_view</mainview> + <filterview>AttributeFilter_view</filterview> + <editview>AttributeEdit_view</editview> + <preview>AttributePreview_view</preview> + <entity>Attribute_entity</entity> + <references> + <neonViewReference> + <name>058f2577-b598-4d92-90ad-628342302a9c</name> + <view>AttributeFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>96bf484d-dc8d-42ad-9242-dfefacc87956</name> + <view>AttributePreview_view</view> + </neonViewReference> + <neonViewReference> + <name>59089acc-a6db-48c2-8061-2d3ca8246e37</name> + <view>AttributeEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>05d998e7-7364-4425-aefe-3cf284933d52</name> + <view>AttributeMain_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/AddressEdit_view/AddressEdit_view.aod b/neonView/AddressEdit_view/AddressEdit_view.aod index e0fa06319ca80dd75e43e38d2c10af3efc74eaac..60a769bd9d3b7e03293cb832b6c904b70a19630c 100644 --- a/neonView/AddressEdit_view/AddressEdit_view.aod +++ b/neonView/AddressEdit_view/AddressEdit_view.aod @@ -21,6 +21,10 @@ <name>d8a7a16b-9d7f-44d7-bbb1-b0404d5b8b8f</name> <entityField>COUNTRY</entityField> </entityFieldLink> + <entityFieldLink> + <name>e7804363-405d-429d-91c9-23de9685cc9a</name> + <entityField>STATE</entityField> + </entityFieldLink> <entityFieldLink> <name>c70668f3-6722-4a90-86d6-0d89be06dbe1</name> <entityField>ADDRESS</entityField> diff --git a/neonView/AddressFilter_view/AddressFilter_view.aod b/neonView/AddressFilter_view/AddressFilter_view.aod index a4d5fe9263d10885d94fa5b9653a1a85f6634908..78f5d08807b8c870c61f898395c631ad52193115 100644 --- a/neonView/AddressFilter_view/AddressFilter_view.aod +++ b/neonView/AddressFilter_view/AddressFilter_view.aod @@ -37,6 +37,10 @@ <name>10e9e08f-db9b-4789-a4b4-b2a0a750b069</name> <entityField>COUNTRY</entityField> </neonTableColumn> + <neonTableColumn> + <name>9a965a25-a8aa-4777-865e-138624f2d848</name> + <entityField>STATE</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod index e947fb863feb2b6ce28009ea7936885c386dec3c..ab275f2b133aa5e18f0c73f3a177f71a4f29c44a 100644 --- a/neonView/AddressList_view/AddressList_view.aod +++ b/neonView/AddressList_view/AddressList_view.aod @@ -22,6 +22,10 @@ <name>dfaa01a1-0b11-4f92-aa18-89f12ebb2db5</name> <entityField>COUNTRY</entityField> </neonTableColumn> + <neonTableColumn> + <name>17039f2e-4253-4242-bcc4-b75483adfbd0</name> + <entityField>STATE</entityField> + </neonTableColumn> <neonTableColumn> <name>4e5e6a4f-f43e-4861-a912-fb05e576f960</name> <entityField>ADDRESS</entityField> diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod index b754b2220048536cf7c4ea7dd2944f92bafe5ab6..4192daba616b5f41261d4545ae65b0fb90d82dc5 100644 --- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod +++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod @@ -36,6 +36,10 @@ <name>d8a7a26b-9d7f-44d7-bbb1-b0404d5b8b2f</name> <entityField>COUNTRY</entityField> </neonTableColumn> + <neonTableColumn> + <name>945bd8e7-9d0d-4e32-8908-24d8dfb74463</name> + <entityField>STATE</entityField> + </neonTableColumn> </columns> </genericMultipleViewTemplate> </children> diff --git a/neonView/AttributeEdit_view/AttributeEdit_view.aod b/neonView/AttributeEdit_view/AttributeEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..5409c8302b77e6c2062b0f7065aa7ea4978de2fd --- /dev/null +++ b/neonView/AttributeEdit_view/AttributeEdit_view.aod @@ -0,0 +1,36 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>AttrEdit_template</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>0c6cd7c6-cced-4719-b0c5-08f8e3d13f2f</name> + <entityField>ATTRIBUTE_NAME</entityField> + </entityFieldLink> + <entityFieldLink> + <name>8cbc6049-2530-4960-b45f-830f3220889e</name> + <entityField>ATTRIBUTE_TYPE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>d26696ac-199c-45f0-9147-b75dee3f4b65</name> + <entityField>ATTRIBUTE_ACTIVE</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + <neonViewReference> + <name>8387ef27-9565-400f-a0d5-ef1d2019b722</name> + <entityField>AttributeUsage_dfo</entityField> + <view>AttributeUsageMultiEdit_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..c3090529d6cd218b1fe2662d9930498bb9a1d86e --- /dev/null +++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod @@ -0,0 +1,29 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeFilter_view</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table_template</name> + <entityField>#ENTITY</entityField> + <title>Attributes</title> + <columns> + <neonTableColumn> + <name>a8065137-406d-49ea-9ebf-a04fbecba2fb</name> + <entityField>ATTRIBUTE_NAME</entityField> + </neonTableColumn> + <neonTableColumn> + <name>054d2c18-8434-4a47-bc0d-c8782f4d1a8f</name> + <entityField>ATTRIBUTE_TYPE</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeMain_view/AttributeMain_view.aod b/neonView/AttributeMain_view/AttributeMain_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..38b0c466d6f319a0bc156fac223aa1eacaba6884 --- /dev/null +++ b/neonView/AttributeMain_view/AttributeMain_view.aod @@ -0,0 +1,28 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeMain_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <masterSlaveLayout> + <name>layout</name> + <master>b8e5b606-4fbb-4a74-b7c4-ac612a9797f2</master> + </masterSlaveLayout> + </layout> + <children> + <neonViewReference> + <name>b8e5b606-4fbb-4a74-b7c4-ac612a9797f2</name> + <entityField>#ENTITY</entityField> + <view>AttributePreview_view</view> + </neonViewReference> + <neonViewReference> + <name>d8009eea-f473-4f65-8796-a1ab48ef3b49</name> + <entityField>#ENTITY</entityField> + <view>AttributeFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>5dee1c0b-c670-4eb9-bd95-6f6474709aa2</name> + <entityField>AttributeUsage_dfo</entityField> + <view>AttributeUsageFilter_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/AttributePreview_view/AttributePreview_view.aod b/neonView/AttributePreview_view/AttributePreview_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..39928da62cb424594ac8ab1cd284a8743a01ccbf --- /dev/null +++ b/neonView/AttributePreview_view/AttributePreview_view.aod @@ -0,0 +1,18 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributePreview_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <cardViewTemplate> + <name>Attr_template</name> + <titleField>ATTRIBUTE_NAME</titleField> + <descriptionField>ATTRIBUTE_TYPE</descriptionField> + <entityField>#ENTITY</entityField> + </cardViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..e872c8b1638a2da5e853d68863a813bdf62890cd --- /dev/null +++ b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeRelationMultiEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>GenericMultiple</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>beb3a9bd-ca81-42ce-8d43-d0984946c81e</name> + <entityField>AB_ATTRIBUTE_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>29e9bc62-c748-471e-85ae-6c87e8f2dee1</name> + <entityField>ATTRIBUTERELATION_VALUE</entityField> + </neonTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..df5ce99c93fe244f3c03b0cc7bb6adc9f2fc7715 --- /dev/null +++ b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod @@ -0,0 +1,28 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeRelationTree_view</name> + <title>Attributes</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table</name> + <autoNewRow v="false" /> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>b37d207a-6119-454a-8fc6-073e9d54b1d3</name> + <entityField>AB_ATTRIBUTE_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>83a10d52-9eaf-4901-935e-2a7410831861</name> + <entityField>ATTRIBUTERELATION_VALUE</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..78e83f9ef0da3853e12c6c5274f14cc9ecef5c48 --- /dev/null +++ b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod @@ -0,0 +1,30 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeUsageFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>UsageTable_template</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>ba8d5468-4e59-4ab8-8174-afcca1ae0d9e</name> + <entityField>OBJECT_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>7e7ebe69-2c09-402c-9264-5c5ea48a202b</name> + <entityField>MIN_COUNT</entityField> + </neonTableColumn> + <neonTableColumn> + <name>07683f36-9b32-43aa-8bd5-51c3d7761c76</name> + <entityField>MAX_COUNT</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..d4c440597438eeaa4c21caa866e4262314bc19d6 --- /dev/null +++ b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod @@ -0,0 +1,35 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeUsageMultiEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>UsageEdit_template</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>a2efb4ca-4e8d-4e90-9870-2cebf338d95f</name> + <entityField>OBJECT_TYPE</entityField> + <width v="75" /> + </neonTableColumn> + <neonTableColumn> + <name>0ea0ead0-99a7-460a-ab8a-d3ef5f780682</name> + <entityField>MIN_COUNT</entityField> + <width v="75" /> + <expandRatio v="100" /> + </neonTableColumn> + <neonTableColumn> + <name>6fcd2a5b-641f-4b8f-aee0-cb18987b8a04</name> + <entityField>MAX_COUNT</entityField> + <width v="75" /> + <expandRatio v="100" /> + </neonTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> +</neonView> diff --git a/neonView/OrgEdit_view/OrgEdit_view.aod b/neonView/OrgEdit_view/OrgEdit_view.aod index 84b506c276756bf85e1101644d23570ec76dc917..3503cc145ffb92d69ca89adcaa7148fff6a550b3 100644 --- a/neonView/OrgEdit_view/OrgEdit_view.aod +++ b/neonView/OrgEdit_view/OrgEdit_view.aod @@ -52,5 +52,10 @@ <entityField>OrgComm_dfo</entityField> <view>CommMultiEdit_view</view> </neonViewReference> + <neonViewReference> + <name>2e648487-73d1-41ce-a562-5ce6bce3b599</name> + <entityField>OrgAttr_dfo</entityField> + <view>AttributeRelationMultiEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/OrgMain_view/OrgMain_view.aod b/neonView/OrgMain_view/OrgMain_view.aod index 4c801b173f0262c80eb0aac639b39869794dd878..8c01252daf7d5a6a06a16b8850e01d97513742f8 100644 --- a/neonView/OrgMain_view/OrgMain_view.aod +++ b/neonView/OrgMain_view/OrgMain_view.aod @@ -1,7 +1,7 @@ <?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> <name>OrgMain_view</name> - <title></title> + <title>Attribute</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <masterSlaveLayout> @@ -40,5 +40,10 @@ <entityField>OrgContract_dfo</entityField> <view>ContractFilter_view</view> </neonViewReference> + <neonViewReference> + <name>39c98ccb-7f77-4df0-818f-1f302f69fec4</name> + <entityField>OrgAttr_dfo</entityField> + <view>AttributeRelationTree_view</view> + </neonViewReference> </children> </neonView> diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml new file mode 100644 index 0000000000000000000000000000000000000000..ccff0d652557dbee6f8887e42c95b9bfb2ef9023 --- /dev/null +++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml @@ -0,0 +1,29 @@ +<?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="s.listl" id="fbe17fba-5bf7-4203-8f6f-01723e07654c"> + <createTable tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTE_AB_ATTRIBUTEID"/> + </column> + <column name="ATTRIBUTE_PARENT_ID" type="CHAR(36)"> + </column> + <column name="ATTRIBUTE_TYPE" type="NVARCHAR(63)"> + <constraints nullable="false"/> + </column> + <column name="ATTRIBUTE_NAME" type="NVARCHAR(63)"> + <constraints nullable="false"/> + </column> + <column name="ATTRIBUTE_ACTIVE" type="TINYINT"> + <constraints nullable="false"/> + </column> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)"/> + <column name="DATE_NEW" type="TIMESTAMP"> + <constraints nullable="false"/> + </column> + <column name="DATE_EDIT" type="TIMESTAMP"/> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.xml new file mode 100644 index 0000000000000000000000000000000000000000..77936415efd5e740191953ad7ff7a9fbe013b039 --- /dev/null +++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.xml @@ -0,0 +1,34 @@ +<?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="s.listl" id="e7699654-7d2f-4657-a0f6-50416f76386b"> + <createTable tableName="AB_ATTRIBUTERELATION"> + <column name="AB_ATTRIBUTERELATIONID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTERELATION_AB_ATTRIBUTERELATIONID"/> + </column> + <column name="AB_ATTRIBUTE_ID" type="CHAR(36)"> + <constraints nullable="false"/> + </column> + <column name="OBJECT_ROWID" type="CHAR(36)"> + <constraints nullable="false"/> + </column> + <column name="OBJECT_TYPE" type="NVARCHAR(63)"> + <constraints nullable="false"/> + </column> + <column name="CHAR_VALUE" type="NVARCHAR(63)"/> + <column name="ID_VALUE" type="CHAR(36)"/> + <column name="DATE_VALUE" type="TIMESTAMP"/> + <column name="NUMBER_VALUE" type="NUMERIC(14,2)"/> + <column name="BOOL_VALUE" type="TINYINT"> + <constraints nullable="false"/> + </column> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)"/> + <column name="DATE_NEW" type="TIMESTAMP"> + <constraints nullable="false"/> + </column> + <column name="DATE_EDIT" type="TIMESTAMP"/> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.xml new file mode 100644 index 0000000000000000000000000000000000000000..0b4aa710596aefc6d3917d1a5775031d4537d990 --- /dev/null +++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.xml @@ -0,0 +1,25 @@ +<?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="s.listl" id="f303c620-ebe0-4c47-a05a-d987c9a1514d"> + <createTable tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTEUSAGE_AB_ATTRIBUTEUSAGEID"/> + </column> + <column name="AB_ATTRIBUTE_ID" type="CHAR(36)"> + </column> + <column name="OBJECT_TYPE" type="NVARCHAR(63)"> + <constraints nullable="false"/> + </column> + <column name="MIN_COUNT" type="INTEGER"/> + <column name="MAX_COUNT" type="INTEGER"/> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)"/> + <column name="DATE_NEW" type="TIMESTAMP"> + <constraints nullable="false"/> + </column> + <column name="DATE_EDIT" type="TIMESTAMP"/> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/masterChangelog.xml b/others/db_changes/masterChangelog.xml index 844fde71a102a17cfef132f58bd69350de96b4c2..c55cf19447048d87214f64b25ccbf144ad283619 100644 --- a/others/db_changes/masterChangelog.xml +++ b/others/db_changes/masterChangelog.xml @@ -1,6 +1,9 @@ <?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"> <include file="data_alias/struct/AditoBasic/create_ab_objectrelation.xml"/> + <include file="data_alias/struct/AditoBasic/create_ab_attribute.xml"/> + <include file="data_alias/struct/AditoBasic/create_ab_attributerelation.xml"/> + <include file="data_alias/struct/AditoBasic/create_ab_attributeusage.xml"/> <include file="data_alias/struct/create_pers.xml"/> <include file="data_alias/struct/create_org.xml"/> diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 3f9daeb173f0de1d87682e389317618aba75d421..336d6b092bda8ab38166821c8d50c82ace586ceb 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -2,7 +2,7 @@ <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.0.3" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.3"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>basic 2019</projectName> + <projectName>xRM-Basic2019</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry> diff --git a/process/Attribute_lib/Attribute_lib.aod b/process/Attribute_lib/Attribute_lib.aod new file mode 100644 index 0000000000000000000000000000000000000000..f50b749c9645b06fd60039a0b9597148d22850c7 --- /dev/null +++ b/process/Attribute_lib/Attribute_lib.aod @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7"> + <name>Attribute_lib</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <process>%aditoprj%/process/Attribute_lib/process.js</process> + <alias>Data_alias</alias> + <variants> + <element>LIBRARY</element> + </variants> +</process> diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js new file mode 100644 index 0000000000000000000000000000000000000000..8c541df0b19762c4742612df3c2f65691b46f8b5 --- /dev/null +++ b/process/Attribute_lib/process.js @@ -0,0 +1,178 @@ +import("system.translate"); +import("system.neon"); +import("system.vars"); +import("system.db"); +import("Sql_lib"); + +/** + * Provides functions for the work with attributes. + * Don't instanciate this! + * + * @class + */ +function AttributeUtil () {} + +AttributeUtil.getPossibleAttributes = function (pObjectType) +{ + if (pObjectType == null) + return []; + + var attrSql = "select AB_ATTRIBUTEID, ATTRIBUTE_NAME from AB_ATTRIBUTE" + + " join AB_ATTRIBUTEUSAGE on AB_ATTRIBUTEID = AB_ATTRIBUTE_ID"; + attrSql = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType) + .buildSql(attrSql); + + return db.table(attrSql); +} + +AttributeUtil.getAttribute = function () +{ + +} + +AttributeUtil.getAttributes = function () +{ + +} + +AttributeUtil.setAttribute = function () +{ + +} + + +/** + * object for handling values of the AttributeRelation entity + */ +function AttributeHandler (pAttrId) +{ + this.attributeId = pAttrId; + this._attributeType = null; +} + +AttributeHandler.begin = function (pAttrId) +{ + return new AttributeHandler(pAttrId); +} + +/** + * gets the type of the attribute by the attributeId, after the first call the value + * is stored so that the sql selection is done only once + * + * @return {String} attribute type + */ +AttributeHandler.prototype._getAttributeType = function () +{ + if (this._attributeType == null && this.attributeId != null) + { + var attrTypeSelect = "select ATTRIBUTE_TYPE from AB_ATTRIBUTE"; + attrTypeSelect = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", this.attributeId) + .buildSql(attrTypeSelect); + this._attributeType = db.cell(attrTypeSelect); + } + return this._attributeType; +} + +/** + * returns the field that belongs to the type of the attribute + * + * @return {String} attribute field + */ +AttributeHandler.prototype.getAttributeField = function () +{ + return AttributeTypes.getAttributeField(this._getAttributeType()); +} + +AttributeHandler.prototype.getAttributeContentType = function () +{ + return AttributeTypes.getContentType(this._getAttributeType()); +} + +AttributeHandler.prototype.setAttributeValue = function (pValue) +{ + var field = this.getAttributeField(); + if (field != null && vars.exists(field)) + neon.setFieldValue(field, pValue) + return pValue; +} + +/** + * Object for the enumeration of all attribute types. + */ +var AttributeTypes = { + TEXT : "TEXT", + DATE : "DATE", + NUMBER : "NUMBER", + BOOLEAN : "BOOLEAN", + COMBO : "COMBO", + GROUP : "GROUP" +} + +/** + * returns the required contentType for the given attribute type + * + * @param {String} pAttributeType the attribute type + * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) + * @return {String} the contentType for the attribute + */ +AttributeTypes.getContentType = function (pAttributeType) +{ + switch (pAttributeType) + { + case AttributeTypes.TEXT: + case AttributeTypes.DATE: + case AttributeTypes.NUMBER: + case AttributeTypes.BOOLEAN: + return pAttributeType; + case AttributeTypes.COMBO: + return AttributeTypes.TEXT; + default: + return null; //TODO: change default value maybe + } +} + +/** + * returns the required field for the given attribute type that holds the value of the attribute + * + * @param {String} pAttributeType the attribute type + * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) + * @return {String} the field for the attribute + */ +AttributeTypes.getAttributeField = function (pAttributeType) +{ + switch (pAttributeType) + { + case AttributeTypes.TEXT: + return "$field.CHAR_VALUE"; + case AttributeTypes.DATE: + return "$field.DATE_VALUE"; + case AttributeTypes.NUMBER: + return "$field.NUMBER_VALUE"; + case AttributeTypes.BOOLEAN: + return "$field.BOOL_VALUE"; + case AttributeTypes.COMBO: + return "$field.ID_VALUE"; + default: + return null; //TODO: change default value maybe + } +} + +/** + * Makes a two-dimensional array of the attribute types and the corresponding names. + * This is used for the selection of the type when creating an attribute. + * + * @return {String[][]} array with attribute types and names + */ +AttributeTypes.getTypeList = function () +{ + return [ + [AttributeTypes.TEXT, translate.text("Text")], + [AttributeTypes.DATE, translate.text("Date")], + [AttributeTypes.NUMBER, translate.text("${NUMBER}")], + [AttributeTypes.BOOLEAN, translate.text("Checkbox")], + [AttributeTypes.COMBO, translate.text("Combobox")], + [AttributeTypes.GROUP, translate.text("Group")] + ]; +}