Skip to content
Snippets Groups Projects
Commit 61272a3f authored by S.Listl's avatar S.Listl
Browse files

Attribute: preset attributes with min_count

parent 1e6bfcca
No related branches found
No related tags found
No related merge requests found
Showing
with 246 additions and 49 deletions
......@@ -34,6 +34,72 @@
<column name="SORTING" valueNumeric="9"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTE">
<column name="AB_KEYWORD_ATTRIBUTEID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="NAME" value="defaultAvatarRepresentation"/>
<column name="CONTAINER" value="AttributeType"/>
<column name="TYPE" value="CHAR_VALUE"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0c537ea0-6ba2-4d9a-a27c-7c6a6920e303"/>
<column name="AB_KEYWORD_ENTRY_ID" value="972e5eb1-a457-4b75-b966-1183896dac2c"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:INPUT"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="8ada9b1e-2f23-4e07-bbd6-16a3b76c5b62"/>
<column name="AB_KEYWORD_ENTRY_ID" value="cb7ecaea-b4e6-460e-9006-4a3d059b9857"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:DATE_INPUT"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="2ef73c53-30b4-47f9-94fb-87825e14743a"/>
<column name="AB_KEYWORD_ENTRY_ID" value="14de196a-aaa6-41b9-b503-3df1d45acc1e"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:CALC"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c4cdd0dc-fc7e-443c-9c2f-c3d400ce3a1b"/>
<column name="AB_KEYWORD_ENTRY_ID" value="8a9791c1-655f-4340-91b4-cfdf6372fc75"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:CHECK_SQUARE_O"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="5afb11f5-e0eb-45f2-8018-cdf85078a236"/>
<column name="AB_KEYWORD_ENTRY_ID" value="1390813c-6b94-4336-9986-9bcaddab69ac"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:COMBOBOX"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0954628d-e40e-45e0-a808-3194594b431e"/>
<column name="AB_KEYWORD_ENTRY_ID" value="2c188a17-2961-45df-bd68-34b55352375c"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:FILE_TREE"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1516db79-6f15-4683-9314-cddebb29f995"/>
<column name="AB_KEYWORD_ENTRY_ID" value="75a67526-6b7c-400d-b958-e1f8f45466aa"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:DOT_CIRCLE"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="091bf881-e599-4baf-915a-e756ae75c52e"/>
<column name="AB_KEYWORD_ENTRY_ID" value="9d2f9605-1a5e-47d3-8920-168f5637e37f"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:KEY"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a85fd75f-7346-41d0-b7fe-6c677bd3f392"/>
<column name="AB_KEYWORD_ENTRY_ID" value="ee893a1c-d007-46fe-a190-727124c4467b"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:TEXT_INPUT"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a35c73d5-2719-422b-872b-1c6c1e0707a0"/>
<column name="AB_KEYWORD_ENTRY_ID" value="191d7293-3b3f-4dc7-bbe2-9da1a897f7df"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
<column name="CHAR_VALUE" value="VAADIN:TAG"/>
</insert>
<rollback>
<delete tableName="AB_KEYWORD_ENTRY">
......@@ -54,6 +120,27 @@
<param value="191d7293-3b3f-4dc7-bbe2-9da1a897f7df"/>
</whereParams>
</delete>
<delete tableName="AB_KEYWORD_ATTRIBUTE">
<where>AB_KEYWORD_ATTRIBUTEID = ?</where>
<whereParams>
<param value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
</whereParams>
</delete>
<delete tableName="AB_KEYWORD_ATTRIBUTERELATION">
<where>AB_KEYWORD_ATTRIBUTERELATIONID in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</where>
<whereParams>
<param value="0c537ea0-6ba2-4d9a-a27c-7c6a6920e303"/>
<param value="8ada9b1e-2f23-4e07-bbd6-16a3b76c5b62"/>
<param value="2ef73c53-30b4-47f9-94fb-87825e14743a"/>
<param value="c4cdd0dc-fc7e-443c-9c2f-c3d400ce3a1b"/>
<param value="5afb11f5-e0eb-45f2-8018-cdf85078a236"/>
<param value="0954628d-e40e-45e0-a808-3194594b431e"/>
<param value="1516db79-6f15-4683-9314-cddebb29f995"/>
<param value="091bf881-e599-4baf-915a-e756ae75c52e"/>
<param value="a85fd75f-7346-41d0-b7fe-6c677bd3f392"/>
<param value="a35c73d5-2719-422b-872b-1c6c1e0707a0"/>
</whereParams>
</delete>
</rollback>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -19,7 +19,7 @@ sqlHelper = new SqlMaskingUtils();
sqlQuery = "select OFFERID, "
+ sqlHelper.concat([sqlHelper.cast("OFFERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.offerStatus(), "OFFER.STATUS")], " | ")
+ " as TITLECOLUMN, "
+ sqlHelper.concat(["ORGANISATION.NAME"], " | ") // "'" + translate.text("Description") + ":'", sqlHelper.castLob("OFFER.INFO", 256)
+ sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Description") + ":'", sqlHelper.castLob("OFFER.INFO", 250)])
+ " as DESCCOLUMN, OFFERCODE, ORGANISATION.NAME, CUSTOMERCODE "
+ " from OFFER "
+ " join CONTACT on OFFER.CONTACT_ID = CONTACTID "
......
import("Context_lib");
import("Attribute_lib");
import("system.neon");
import("system.vars");
import("ActivityTask_lib");
......@@ -5,4 +7,5 @@ import("ActivityTask_lib");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
ActivityUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", "$param.PresetLinks_param", "$field.PARENT_CONTEXT", "$field.PARENT_ID");
AttributeRelationUtils.presetMandatoryAttributes(ContextUtils.getCurrentContextId(), "Attributes");
}
\ No newline at end of file
......@@ -69,6 +69,18 @@
<fieldName>AttributeTree</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>148faad1-78f6-4ff2-a4d5-9607d919adb9</name>
<entityName>Salesproject_entity</entityName>
<fieldName>AttributeTree</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>8ed8bae6-c69e-45ce-9fc9-5fb43587a47b</name>
<entityName>Order_entity</entityName>
<fieldName>AttributeTree</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityField>
......
......@@ -3,4 +3,5 @@ import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType) != null);
\ No newline at end of file
var contentType = AttributeTypeUtil.getContentType(attributeType);
result.string(contentType != null && contentType != "BOOLEAN");
\ No newline at end of file
......@@ -106,6 +106,18 @@
<fieldName>Attributes</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>6e01a982-198c-40ab-ae1b-7f5683d33f07</name>
<entityName>Salesproject_entity</entityName>
<fieldName>Attributes</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>1d33f00a-203d-4119-9178-c7dc0d087353</name>
<entityName>Order_entity</entityName>
<fieldName>Attributes</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
......@@ -141,18 +153,6 @@
<name>ID_VALUE</name>
<searchable v="false" />
</entityField>
<entityField>
<name>ATTRIBUTE_PARENT_ID</name>
<title>Superordinate Attribute</title>
<dropDownProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attribute_parent_id/dropDownProcess.js</dropDownProcess>
<searchable v="false" />
<displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attribute_parent_id/displayValueProcess.js</displayValueProcess>
<onValueChangeTypes>
<element>MASK</element>
<element>PROCESS</element>
<element>PROCESS_SETVALUE</element>
</onValueChangeTypes>
</entityField>
<entityConsumer>
<name>Keywords</name>
<fieldType>DEPENDENCY_OUT</fieldType>
......@@ -227,24 +227,15 @@
<dbRecordContainer>
<name>db</name>
<alias>Data_alias</alias>
<fromClauseProcess>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
<conditionProcess>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
<linkInformation>
<linkInformation>
<name>14697123-47ee-4ff0-8ab2-2b8d1217f637</name>
<name>9565b2b1-ace7-4464-ae76-c71bd8f5f676</name>
<tableName>AB_ATTRIBUTERELATION</tableName>
<primaryKey>AB_ATTRIBUTERELATIONID</primaryKey>
<isUIDTable v="true" />
<readonly v="false" />
</linkInformation>
<linkInformation>
<name>a988b754-86b1-4d27-8406-08712d12766c</name>
<tableName>AB_ATTRIBUTE</tableName>
<primaryKey>AB_ATTRIBUTEID</primaryKey>
<isUIDTable v="false" />
<readonly v="false" />
</linkInformation>
</linkInformation>
<recordFieldMappings>
<dbRecordFieldMapping>
......@@ -279,10 +270,6 @@
<name>ID_VALUE.value</name>
<recordfield>AB_ATTRIBUTERELATION.ID_VALUE</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ATTRIBUTE_PARENT_ID.value</name>
<recordfield>AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>USER_NEW.value</name>
<recordfield>AB_ATTRIBUTERELATION.USER_NEW</recordfield>
......
import("system.vars");
import("system.result");
import("Attribute_lib");
result.string(AttributeUtil.getFullAttributeName(vars.get("$field.ATTRIBUTE_PARENT_ID")));
\ No newline at end of file
import("system.vars");
import("system.result");
import("Attribute_lib");
result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.ObjectType_param"), true));
......@@ -3,4 +3,5 @@ import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType) != null);
\ No newline at end of file
var contentType = AttributeTypeUtil.getContentType(attributeType);
result.string(contentType != null && contentType != "BOOLEAN");
\ No newline at end of file
......@@ -4,7 +4,8 @@ import("system.result");
import("Sql_lib");
var cond = SqlCondition.begin()
.andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.ObjectRowId_param");
.andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.ObjectRowId_param")
.andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_TYPE", "$param.ObjectType_param");
if (vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param")
&& vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param"))
......
import("system.result");
result.string("AB_ATTRIBUTERELATION join AB_ATTRIBUTE on (AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID)");
\ No newline at end of file
import("system.db");
import("system.result");
result.object({
"AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID" : db.ASCENDING
});
\ No newline at end of file
......@@ -4,6 +4,7 @@
<title>Attribute Usage</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/AttributeUsage_entity/documentation.adoc</documentation>
<onValidation>%aditoprj%/entity/AttributeUsage_entity/onValidation.js</onValidation>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
......@@ -53,6 +54,8 @@
<title>Minimal Count</title>
<contentType>NUMBER</contentType>
<searchable v="false" />
<stateProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/min_count/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/min_count/valueProcess.js</valueProcess>
<onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js</onValidation>
</entityField>
<entityField>
......@@ -60,6 +63,8 @@
<title>Maximal Count</title>
<contentType>NUMBER</contentType>
<searchable v="false" />
<stateProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/valueProcess.js</valueProcess>
<onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js</onValidation>
</entityField>
<entityConsumer>
......@@ -85,6 +90,17 @@
</entityParameter>
</children>
</entityConsumer>
<entityParameter>
<name>SingleSelection_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityParameter>
<name>DisableMinCount_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
......@@ -7,6 +7,7 @@ result.object([
"Product",
"Activity",
"Offer",
"Order",
"Employee",
"Salesproject"
]);
\ No newline at end of file
import("system.neon");
import("system.result");
import("system.vars");
if (vars.exists("$param.SingleSelection_param") && vars.get("$param.SingleSelection_param") == "true")
result.string(neon.COMPONENTSTATE_READONLY);
else
result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
import("system.result");
import("system.vars");
if (vars.exists("$param.SingleSelection_param") && vars.get("$param.SingleSelection_param") == "true")
result.string("1");
\ No newline at end of file
import("system.neon");
import("system.result");
import("system.vars");
if (vars.exists("$param.DisableMinCount_param") && vars.get("$param.DisableMinCount_param") == "true")
result.string(neon.COMPONENTSTATE_READONLY);
else
result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
import("system.result");
import("system.vars");
if (vars.exists("$param.DisableMinCount_param") && vars.get("$param.DisableMinCount_param") == "true")
result.string("");
\ No newline at end of file
import("system.translate");
import("system.vars");
import("system.result");
var minCount = vars.getString("$field.MIN_COUNT");
var maxCount = vars.getString("$field.MAX_COUNT");
if (minCount != "" && maxCount != "" && minCount > maxCount)
result.string(translate.text("The minimal count can't be larger than the maximal count!"));
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment