diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod index 8a38580c344c0f8a12c5da0cd3a688929344896a..e2cc361fdc49d98cf5bcfaab61c628f2fc151ea0 100644 --- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod +++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod @@ -92,6 +92,7 @@ <name>AB_ATTRIBUTE_ID</name> <title>Attribute</title> <consumer>SpecificAttribute</consumer> + <mandatory v="false" /> <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js</onValueChange> <onValueChangeTypes /> @@ -101,6 +102,7 @@ <title>Value</title> <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/value/contentTypeProcess.js</contentTypeProcess> <resolution>DAY</resolution> + <mandatory v="true" /> <mandatoryProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/value/mandatoryProcess.js</mandatoryProcess> <dropDownProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/value/dropDownProcess.js</dropDownProcess> <stateProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/value/stateProcess.js</stateProcess> @@ -124,6 +126,10 @@ <name>AttributeCount_param</name> <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/attributecount_param/valueProcess.js</valueProcess> </entityParameter> + <entityParameter> + <name>FilteredAttributeIds_param</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> <entityActionGroup> @@ -208,12 +214,22 @@ <fieldName>Attributes</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>e520143e-c72f-46e3-9c27-752471af51ae</name> + <entityName>Organisation_entity</entityName> + <fieldName>AttributeConditions</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> <name>GetTree_param</name> <expose v="false" /> </entityParameter> + <entityParameter> + <name>FilteredAttributes_param</name> + <triggerRecalculation v="true" /> + </entityParameter> </children> </entityProvider> <entityField> @@ -235,6 +251,7 @@ <entityParameter> <name>FilteredAttributes_param</name> <expose v="true" /> + <triggerRecalculation v="true" /> <description>PARAMETER</description> </entityParameter> <entityParameter> @@ -242,6 +259,12 @@ <expose v="true" /> <description>PARAMETER</description> </entityParameter> + <entityParameter> + <name>FilteredAttributeIds_param</name> + <expose v="true" /> + <triggerRecalculation v="false" /> + <description>PARAMETER</description> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dd6d6e76671005042b04179a67b2a857bf83f1da --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.FilteredAttributeIds_param")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js index cb203ce2ec22694a9223045fb2ac996b421501bf..d5f592b517612f606c0de4566b3b5e8f802bfe43 100644 --- a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js @@ -32,9 +32,9 @@ else if (rowId) if (objectType != null) attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", objectType); - if (vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param")) + if (vars.exists("$param.FilteredAttributes_param") && vars.get("$param.FilteredAttributes_param")) { - var filteredIds = JSON.parse(vars.getString("$param.FilteredAttributeIds_param")); + var filteredIds = JSON.parse(vars.getString("$param.FilteredAttributes_param")); var filteredIdsCondition = new SqlCondition(); filteredIds.forEach(function(id) diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 95de4db4fa766cbc463fdd3ce256b9cb15e87bb8..f69623633ae329de98ddd9b22dacc979c6f22e8f 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -248,6 +248,12 @@ <fieldName>Organisations</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>c79dd08b-8f62-4514-836b-2e176460000c</name> + <entityName>Productprice_entity</entityName> + <fieldName>OrganisationConditions</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> </entityProvider> <entityConsumer> @@ -803,6 +809,41 @@ <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisationtype_param/documentation.adoc</documentation> <description>PARAMETER</description> </entityParameter> + <entityConsumer> + <name>AttributeConditions</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <onValidation>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/objectrowid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/objecttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>FilteredAttributes_param</name> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>DisplaySimpleName_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/displaysimplename_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>FilteredAttributeIds_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributeconditions/children/filteredattributeids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Organisation_entity/entityfields/attributeconditions/children/displaysimplename_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributeconditions/children/displaysimplename_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ed8bbd10820acb37aeb4928a20dd218f42a9f6e0 --- /dev/null +++ b/entity/Organisation_entity/entityfields/attributeconditions/children/displaysimplename_param/valueProcess.js @@ -0,0 +1,2 @@ +import("system.result"); +result.string(1); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/attributeconditions/children/filteredattributeids_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributeconditions/children/filteredattributeids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f83f7dbc8f88c3410600abc34923de6dbefd0121 --- /dev/null +++ b/entity/Organisation_entity/entityfields/attributeconditions/children/filteredattributeids_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.logging"); +import("system.db"); +import("system.result"); + +result.object(db.table("select AB_ATTRIBUTEID from ADITO.AB_ATTRIBUTE where ATTRIBUTE_PARENT_ID = 'ab545654-1fce-4993-b763-0ec469781302'")); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/attributeconditions/children/objectrowid_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributeconditions/children/objectrowid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..843f2af2a341f31f577c7eb1ae71d7a93f801e54 --- /dev/null +++ b/entity/Organisation_entity/entityfields/attributeconditions/children/objectrowid_param/valueProcess.js @@ -0,0 +1,7 @@ +import("system.logging"); +import("system.vars"); +import("system.result"); + +logging.log(vars.get("$field.ORGANISATIONID").toSource()) + +result.string(vars.get("$field.ORGANISATIONID")); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/attributeconditions/children/objecttype_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributeconditions/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7078c62b4be7961ca9bd9a27894b9f58fed23cb1 --- /dev/null +++ b/entity/Organisation_entity/entityfields/attributeconditions/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string("Organisation"); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js b/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..cb71bd61782b431e5da9d6d991f57a68c1b9ca5b --- /dev/null +++ b/entity/Organisation_entity/entityfields/attributeconditions/onValidation.js @@ -0,0 +1,6 @@ +import("Context_lib"); +import("system.vars"); +import("Attribute_lib"); +import("system.result"); + +//result.string(AttributeRelationUtils.validateAttributeCount(vars.get("$sys.uid"), ContextUtils.getCurrentContextId(), vars.get("$field.Attributes.insertedRows"))); \ No newline at end of file diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod index f01df8218960fd5fb4c443aa53bbce725d85dc22..78af9e065843f835fef02b4c8feb49bef490267d 100644 --- a/entity/Productprice_entity/Productprice_entity.aod +++ b/entity/Productprice_entity/Productprice_entity.aod @@ -212,8 +212,23 @@ </entityField> <entityField> <name>INFO</name> - <contentType>LONG_TEXT</contentType> + <title>Information</title> + <contentType>TEXT</contentType> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> + <entityConsumer> + <name>OrganisationConditions</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Organisation_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Productprice_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js b/entity/Productprice_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ed8bbd10820acb37aeb4928a20dd218f42a9f6e0 --- /dev/null +++ b/entity/Productprice_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js @@ -0,0 +1,2 @@ +import("system.result"); +result.string(1); \ No newline at end of file diff --git a/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js b/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4e35cfba9da893b0ecb7870591d10cbb20fa9b9b --- /dev/null +++ b/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.db"); +import("system.result"); +result.object(db.array(db.ROW, "select AB_ATTRIBUTEID from ADITO.AB_ATTRIBUTE where ATTRIBUTE_PARENT_ID = 'ab545654-1fce-4993-b763-0ec469781302'")); \ No newline at end of file diff --git a/neonContext/Organisation/Organisation.aod b/neonContext/Organisation/Organisation.aod index db1e96a1a1cf5ea94667f4690f0ead8e8ac31285..a69f2013d9dfcf19301199cbb12e300e8aab071f 100644 --- a/neonContext/Organisation/Organisation.aod +++ b/neonContext/Organisation/Organisation.aod @@ -35,5 +35,13 @@ <name>0e8f983b-0ff6-431c-9118-fecd9563c742</name> <view>OrganisationEditDefaults_view</view> </neonViewReference> + <neonViewReference> + <name>30fb498c-0704-4010-b472-2038aac74c04</name> + <view>OrganisationCondition_view</view> + </neonViewReference> + <neonViewReference> + <name>c4548cdb-479e-4f08-bc8e-de893f509637</name> + <view>OrganisationConditionPricelist_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod b/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..5e7c7b5040514661643a920198e6e6f919eac095 --- /dev/null +++ b/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>OrganisationConditionPricelist_view</name> + <title>Conditions</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <neonViewReference> + <name>4ac57eb5-8011-4e32-b3c1-0c48bebd35a4</name> + <entityField>#ENTITY</entityField> + <view>OrganisationCondition_view</view> + </neonViewReference> + <neonViewReference> + <name>16260b28-b350-4bc2-b29a-23b632969070</name> + <entityField>Productprices</entityField> + <view>ProductpriceRelation_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/OrganisationCondition_view/OrganisationCondition_view.aod b/neonView/OrganisationCondition_view/OrganisationCondition_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..551bdaa1facc542448219e9e16db17339cd30c15 --- /dev/null +++ b/neonView/OrganisationCondition_view/OrganisationCondition_view.aod @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>OrganisationCondition_view</name> + <title>Conditions</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + <direction>HORIZONTAL</direction> + <maxDirectionElements v="2" /> + <autoHeight v="true" /> + </boxLayout> + </layout> + <children> + <neonViewReference> + <name>a81eca8c-e22e-43f2-8f23-1d63eff36ffd</name> + <entityField>AttributeConditions</entityField> + <view>AttributeRelationPreviewList</view> + </neonViewReference> + <genericViewTemplate> + <name>Information</name> + <showDrawer v="true" /> + <drawerCaption>Information</drawerCaption> + <fixedDrawer v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>d867f7c4-221a-43cc-8ffb-f2838239fab3</name> + <entityField>INFO</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod index 5a92246fb578e78c7af3a79e52c6ab34c25b90fa..7e350fef46a0fe26be10557adf21abb8a525f94c 100644 --- a/neonView/OrganisationMain_view/OrganisationMain_view.aod +++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod @@ -31,9 +31,9 @@ <view>360DegreeFilter_view</view> </neonViewReference> <neonViewReference> - <name>78aee175-d3ac-4378-8b3b-27f44a529aa5</name> - <entityField>Productprices</entityField> - <view>ProductpriceRelation_view</view> + <name>0728e9d5-3b38-4b53-9f13-ebf3f4a9518e</name> + <entityField>#ENTITY</entityField> + <view>OrganisationConditionPricelist_view</view> </neonViewReference> <neonViewReference> <name>55e04574-bc55-4c9a-a4c4-9ebd287f8ae6</name> diff --git a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod index 9fa83e1494ed07bcea6728ba922e2345ccf6b478..ca9c03ed9740ce66eb5fd66ac643ff044ceeb300 100644 --- a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod +++ b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod @@ -3,9 +3,11 @@ <name>ProductpriceRelation_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> - <boxLayout> + <drawerLayout> <name>layout</name> - </boxLayout> + <layoutCaption>Price Condition</layoutCaption> + <fixedDrawer v="true" /> + </drawerLayout> </layout> <children> <tableViewTemplate>