diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 2c9c7faaccd7d4362f2c6409ec776ea7440a28aa..d03d338d99b497acd580e820f5cb8713eb9c53c1 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -1031,6 +1031,24 @@ <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/discounted_vat/stateProcess.js</stateProcess> <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/discounted_vat/displayValueProcess.js</displayValueProcess> </entityField> + <entityConsumer> + <name>Products</name> + <children> + <entityParameter> + <name>OrderOfferInformations_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShownInOfferMainView_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + <dependency> + <name>dependency</name> + <entityName>Product_entity</entityName> + <fieldName>Products</fieldName> + </dependency> + </entityConsumer> <entityActionGroup> <name>observeActionGroup</name> <children> diff --git a/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js b/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b066c99d521690629eff7020ce956500287970e1 --- /dev/null +++ b/entity/Offer_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js @@ -0,0 +1,11 @@ +import("system.vars"); +import("system.result"); + +var orderInfoObject = { + "ContactId_param": vars.get("$field.CONTACT_ID"), + "Currency_param": vars.get("$field.CURRENCY"), + "OfferId_param": vars.get("$field.OFFERID"), + "OfferStatus_param": vars.get("$field.STATUS") +}; + +result.object(orderInfoObject); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js b/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e5bfa3bbe7f58d2ffaf401248014a6d1a560d2de --- /dev/null +++ b/entity/Offer_entity/entityfields/products/children/showninoffermainview_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("true"); \ No newline at end of file diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod index 2070e3bbd02cf3cd4daaef52cc2a43c338a50af7..08b8e12dc9d6ccb982b1d5aacd57015d342c350f 100644 --- a/entity/Offeritem_entity/Offeritem_entity.aod +++ b/entity/Offeritem_entity/Offeritem_entity.aod @@ -83,10 +83,12 @@ <linkedContext>Product</linkedContext> <mandatory v="true" /> <stateProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/onValueChange.js</onValueChange> <onValueChangeTypes> <element>MASK</element> + <element>PROCESS</element> </onValueChangeTypes> </entityField> <entityField> @@ -165,14 +167,6 @@ <entityProvider> <name>OfferItems</name> <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name> - <entityName>Offer_entity</entityName> - <fieldName>Offeritems</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> <children> <entityParameter> <name>ContactId_param</name> @@ -196,6 +190,14 @@ <title></title> </entityParameter> </children> + <dependencies> + <entityDependency> + <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name> + <entityName>Offer_entity</entityName> + <fieldName>Offeritems</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> </entityProvider> <entityField> <name>INFO</name> @@ -206,11 +208,6 @@ </entityField> <entityConsumer> <name>KeywordProductGroupcodes</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> <children> <entityParameter> <name>ContainerName_param</name> @@ -218,14 +215,14 @@ <expose v="false" /> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordQuantityUnits</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> <fieldName>SpecificContainerKeywords</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordQuantityUnits</name> <children> <entityParameter> <name>ContainerName_param</name> @@ -233,6 +230,11 @@ <expose v="false" /> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> </entityConsumer> <entityConsumer> <name>Products</name> @@ -250,6 +252,10 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityParameter> + <name>ProductId_param</name> + <expose v="true" /> + </entityParameter> <entityParameter> <name>Discount_param</name> <expose v="true" /> diff --git a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js index bb3640469b1d952d4ab5fc07f00b5cca1ba4eb2d..e10bbc483b4488b6efb2acbc66f9d89aac82e431 100644 --- a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js +++ b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js @@ -1,6 +1,6 @@ -import("system.result"); -import("system.neon"); import("system.vars"); +import("system.result"); +import("Sql_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) - result.string(""); \ No newline at end of file +if(vars.get("$field.PRODUCT_ID")) + result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell()); \ No newline at end of file diff --git a/entity/Offeritem_entity/entityfields/product_id/valueProcess.js b/entity/Offeritem_entity/entityfields/product_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d10595b68a69f247e9ffafee9f95fe4155786168 --- /dev/null +++ b/entity/Offeritem_entity/entityfields/product_id/valueProcess.js @@ -0,0 +1,6 @@ +import("system.neon"); +import("system.result"); +import("system.vars"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null && vars.get("$param.ProductId_param")) + result.string(vars.get("$param.ProductId_param")); \ No newline at end of file diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index ef827841cebce70f7601b9afde2bd27621764a01..ad9892139f1fd85ceec66e62b2b6d490095a13b0 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -108,11 +108,6 @@ <entityConsumer> <name>Orderitems</name> <description></description> - <dependency> - <name>dependency</name> - <entityName>Orderitem_entity</entityName> - <fieldName>Orderitems</fieldName> - </dependency> <children> <entityParameter> <name>OrderId_param</name> @@ -138,6 +133,11 @@ <mandatory v="true" /> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>Orderitem_entity</entityName> + <fieldName>Orderitems</fieldName> + </dependency> </entityConsumer> <entityField> <name>NET</name> @@ -199,11 +199,6 @@ <entityConsumer> <name>Documents</name> <selectionMode>MULTI</selectionMode> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> <children> <entityParameter> <name>AssignmentRowId_param</name> @@ -214,15 +209,15 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>MainDocuments</name> - <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> - <fieldName>MainDocuments</fieldName> + <fieldName>Documents</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>MainDocuments</name> + <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <children> <entityParameter> <name>AssignmentRowId_param</name> @@ -233,28 +228,28 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>Salesprojects</name> <dependency> <name>dependency</name> - <entityName>Salesproject_entity</entityName> - <fieldName>Salesprojects</fieldName> + <entityName>Document_entity</entityName> + <fieldName>MainDocuments</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>Salesprojects</name> <children> <entityParameter> <name>ContactId_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordCurrencies</name> <dependency> <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> + <entityName>Salesproject_entity</entityName> + <fieldName>Salesprojects</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordCurrencies</name> <children> <entityParameter> <name>ContainerName_param</name> @@ -262,14 +257,14 @@ <expose v="false" /> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordStates</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> <fieldName>SpecificContainerKeywords</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordStates</name> <children> <entityParameter> <name>ContainerName_param</name> @@ -277,6 +272,11 @@ <expose v="false" /> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> </entityConsumer> <entityConsumer> <name>Languages</name> @@ -295,11 +295,6 @@ </entityParameter> <entityConsumer> <name>Activities</name> - <dependency> - <name>dependency</name> - <entityName>Activity_entity</entityName> - <fieldName>LinkedObjects</fieldName> - </dependency> <children> <entityParameter> <name>RowId_param</name> @@ -314,6 +309,11 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>Activity_entity</entityName> + <fieldName>LinkedObjects</fieldName> + </dependency> </entityConsumer> <entityField> <name>OFFER_ID</name> @@ -327,11 +327,6 @@ <entityConsumer> <name>Tasks</name> <stateProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Task_entity</entityName> - <fieldName>Tasks</fieldName> - </dependency> <children> <entityParameter> <name>RowId_param</name> @@ -346,15 +341,15 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>Task_entity</entityName> + <fieldName>Tasks</fieldName> + </dependency> </entityConsumer> <entityConsumer> <name>Attributes</name> <onValidation>%aditoprj%/entity/Order_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> <children> <entityParameter> <name>ObjectRowId_param</name> @@ -365,15 +360,15 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>AttributeTree</name> - <stateProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>AttributeRelation_entity</entityName> - <fieldName>TreeProvider</fieldName> + <fieldName>AttributeRelations</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>AttributeTree</name> + <stateProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/stateProcess.js</stateProcess> <children> <entityParameter> <name>ObjectType_param</name> @@ -384,20 +379,25 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>LogHistories</name> <dependency> <name>dependency</name> - <entityName>LogHistory_entity</entityName> - <fieldName>LogHistoryProvider</fieldName> + <entityName>AttributeRelation_entity</entityName> + <fieldName>TreeProvider</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>LogHistories</name> <children> <entityParameter> <name>tablenames_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> </entityConsumer> <entityField> <name>ORDERTYPE</name> @@ -473,31 +473,31 @@ </entityField> <entityConsumer> <name>KeywordOrderTypes</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> <children> <entityParameter> <name>ContainerName_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordordertypes/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordDunningLevels</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> <fieldName>SpecificContainerKeywords</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordDunningLevels</name> <children> <entityParameter> <name>ContainerName_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keyworddunninglevels/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> </entityConsumer> <entityField> <name>OBJECT_ROWID</name> @@ -525,11 +525,6 @@ </entityField> <entityConsumer> <name>Objects</name> - <dependency> - <name>dependency</name> - <entityName>Object_entity</entityName> - <fieldName>FilteredObjects</fieldName> - </dependency> <children> <entityParameter> <name>ContactId_param</name> @@ -540,14 +535,14 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>Contexts</name> <dependency> <name>dependency</name> - <entityName>Context_entity</entityName> - <fieldName>Exclusive</fieldName> + <entityName>Object_entity</entityName> + <fieldName>FilteredObjects</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>Contexts</name> <children> <entityParameter> <name>Blacklist_param</name> @@ -558,6 +553,11 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>Context_entity</entityName> + <fieldName>Exclusive</fieldName> + </dependency> </entityConsumer> <entityParameter> <name>PossibleConnectionTypes</name> @@ -610,46 +610,46 @@ </entityField> <entityConsumer> <name>KeywordPaymentTerms</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> <children> <entityParameter> <name>ContainerName_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordpaymentterms/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordDeliveryTerms</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> <fieldName>SpecificContainerKeywords</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordDeliveryTerms</name> <children> <entityParameter> <name>ContainerName_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keyworddeliveryterms/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> </entityConsumer> <entityConsumer> <name>PossibleAddresses</name> <documentation>%aditoprj%/entity/Order_entity/entityfields/possibleaddresses/documentation.adoc</documentation> - <dependency> - <name>dependency</name> - <entityName>Address_entity</entityName> - <fieldName>OrganisationAndContactAddresses</fieldName> - </dependency> <children> <entityParameter> <name>ContactId_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/possibleaddresses/children/contactid_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>OrganisationAndContactAddresses</fieldName> + </dependency> </entityConsumer> <entityField> <name>NOTICE</name> @@ -666,25 +666,20 @@ </entityField> <entityConsumer> <name>Offers</name> - <dependency> - <name>dependency</name> - <entityName>Offer_entity</entityName> - <fieldName>ContactOffers</fieldName> - </dependency> <children> <entityParameter> <name>ContactId_param</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>DocumentTemplateTexHeader</name> <dependency> <name>dependency</name> - <entityName>DocumentTemplate_entity</entityName> - <fieldName>DocumentTemplateProvider</fieldName> + <entityName>Offer_entity</entityName> + <fieldName>ContactOffers</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>DocumentTemplateTexHeader</name> <children> <entityParameter> <name>DocumentTemplateType_param</name> @@ -695,14 +690,14 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documenttemplatetexheader/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>DocumentTemplateTexFooter</name> <dependency> <name>dependency</name> <entityName>DocumentTemplate_entity</entityName> <fieldName>DocumentTemplateProvider</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>DocumentTemplateTexFooter</name> <children> <entityParameter> <name>DocumentTemplateType_param</name> @@ -713,6 +708,11 @@ <valueProcess>%aditoprj%/entity/Order_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>DocumentTemplate_entity</entityName> + <fieldName>DocumentTemplateProvider</fieldName> + </dependency> </entityConsumer> <entityField> <name>ChosenTexHeader</name> @@ -955,6 +955,24 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/Order_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> + <entityConsumer> + <name>Products</name> + <children> + <entityParameter> + <name>OrderOfferInformations_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShownInOrderMainView_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + <dependency> + <name>dependency</name> + <entityName>Product_entity</entityName> + <fieldName>Products</fieldName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js b/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9de8fbf51b9869563227d4ef30fcd4bba5a6eac7 --- /dev/null +++ b/entity/Order_entity/entityfields/products/children/orderofferinformations_param/valueProcess.js @@ -0,0 +1,11 @@ +import("system.vars"); +import("system.result"); + +var orderInfoObject = { + "ContactId_param": vars.get("$field.CONTACT_ID"), + "Currency_param": vars.get("$field.CURRENCY"), + "OrderId_param": vars.get("$field.SALESORDERID"), + "OrderStatus_param": vars.get("$field.ORDERSTATUS") +}; + +result.object(orderInfoObject); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js b/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e5bfa3bbe7f58d2ffaf401248014a6d1a560d2de --- /dev/null +++ b/entity/Order_entity/entityfields/products/children/showninordermainview_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("true"); \ No newline at end of file diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod index fb8846a9e4df1bc98d758dcb009821e194e11cd8..6a02b00aea28efcf29007d0437180314c300cf2c 100644 --- a/entity/Orderitem_entity/Orderitem_entity.aod +++ b/entity/Orderitem_entity/Orderitem_entity.aod @@ -74,9 +74,12 @@ <title>Article</title> <consumer>Products</consumer> <linkedContext>Product</linkedContext> + <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/Orderitem_entity/entityfields/product_id/onValueChange.js</onValueChange> <onValueChangeTypes> <element>MASK</element> + <element>PROCESS</element> </onValueChangeTypes> </entityField> <entityField> @@ -143,20 +146,6 @@ <entityProvider> <name>Orderitems</name> <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name> - <entityName>Order_entity</entityName> - <fieldName>Orderitems</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>911de4a4-0e85-4d50-93ee-6f8f2308589e</name> - <entityName>Order_entity</entityName> - <fieldName>Orderitems</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> <children> <entityParameter> <name>ContactId_param</name> @@ -179,6 +168,20 @@ <expose v="true" /> </entityParameter> </children> + <dependencies> + <entityDependency> + <name>7810e350-d011-4d95-8d0b-883f3a0e519c</name> + <entityName>Order_entity</entityName> + <fieldName>Orderitems</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>911de4a4-0e85-4d50-93ee-6f8f2308589e</name> + <entityName>Order_entity</entityName> + <fieldName>Orderitems</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> </entityProvider> <entityField> <name>INFO</name> @@ -187,11 +190,6 @@ </entityField> <entityConsumer> <name>KeywordProductGroupcodes</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> <children> <entityParameter> <name>ContainerName_param</name> @@ -199,14 +197,14 @@ <expose v="false" /> </entityParameter> </children> - </entityConsumer> - <entityConsumer> - <name>KeywordQuantityUnits</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> <fieldName>SpecificContainerKeywords</fieldName> </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordQuantityUnits</name> <children> <entityParameter> <name>ContainerName_param</name> @@ -214,6 +212,11 @@ <expose v="false" /> </entityParameter> </children> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> </entityConsumer> <entityConsumer> <name>Products</name> @@ -242,6 +245,10 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityParameter> + <name>ProductId_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e10bbc483b4488b6efb2acbc66f9d89aac82e431 --- /dev/null +++ b/entity/Orderitem_entity/entityfields/product_id/displayValueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("Sql_lib"); + +if(vars.get("$field.PRODUCT_ID")) + result.string(newSelect("PRODUCT.PRODUCTNAME").from("PRODUCT").whereIfSet("PRODUCT.PRODUCTID", vars.get("$field.PRODUCT_ID")).cell()); \ No newline at end of file diff --git a/entity/Orderitem_entity/entityfields/product_id/valueProcess.js b/entity/Orderitem_entity/entityfields/product_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d10595b68a69f247e9ffafee9f95fe4155786168 --- /dev/null +++ b/entity/Orderitem_entity/entityfields/product_id/valueProcess.js @@ -0,0 +1,6 @@ +import("system.neon"); +import("system.result"); +import("system.vars"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null && vars.get("$param.ProductId_param")) + result.string(vars.get("$param.ProductId_param")); \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 30137332d48b8cba0ae3d6d9efe4c48b9d3c8b83..745495cdc92b5f0b239f8e781ba54e1ea711fb2c 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -370,6 +370,18 @@ <fieldName>Products</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>19171308-e523-438a-994c-9d6e7b58ee04</name> + <entityName>Offer_entity</entityName> + <fieldName>Products</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>acbbb19a-16e6-4220-8997-4a79db85100a</name> + <entityName>Order_entity</entityName> + <fieldName>Products</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> </entityProvider> <entityActionField> @@ -515,6 +527,35 @@ <fieldName>Provider</fieldName> </dependency> </entityConsumer> + <entityActionField> + <name>addToOrder</name> + <title>Add to order</title> + <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/addtoorder/onActionProcess.js</onActionProcess> + <isObjectAction v="false" /> + <iconId>VAADIN:FILE_TEXT_O</iconId> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/Product_entity/entityfields/addtoorder/stateProcess.js</stateProcess> + </entityActionField> + <entityActionField> + <name>addToOffer</name> + <title>Add to offer</title> + <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/addtooffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CART</iconId> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/Product_entity/entityfields/addtooffer/stateProcess.js</stateProcess> + </entityActionField> + <entityParameter> + <name>ShownInOfferMainView_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ShownInOrderMainView_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OrderOfferInformations_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Product_entity/entityfields/addtooffer/onActionProcess.js b/entity/Product_entity/entityfields/addtooffer/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1e0d4dfbc0c56000930864c2a81fe102fcb2583b --- /dev/null +++ b/entity/Product_entity/entityfields/addtooffer/onActionProcess.js @@ -0,0 +1,8 @@ +import("system.neon"); +import("system.vars"); + +var params = JSON.parse(vars.get("$param.OrderOfferInformations_param")); + +params["ProductId_param"] = vars.get("$field.PRODUCTID"); + +neon.openContext("OfferItem", "OfferItemEdit_view", null, neon.OPERATINGSTATE_NEW, params); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/addtooffer/stateProcess.js b/entity/Product_entity/entityfields/addtooffer/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a28ffee7b2185270e3e81736bcbf2605c8af57f9 --- /dev/null +++ b/entity/Product_entity/entityfields/addtooffer/stateProcess.js @@ -0,0 +1,18 @@ +import("system.neon"); +import("system.result"); +import("Offer_lib"); +import("system.vars"); + + + +if(vars.get("$param.ShownInOfferMainView_param")) +{ + + var res; + res = OfferUtils.isEditable(vars.get("$param.OrderOfferInformations_param")["OfferStatus_param"])? + neon.COMPONENTSTATE_EDITABLE: neon.COMPONENTSTATE_DISABLED; + + + result.string(res); +} + \ No newline at end of file diff --git a/entity/Product_entity/entityfields/addtoorder/onActionProcess.js b/entity/Product_entity/entityfields/addtoorder/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9e9d45e347cf3867e9165e75c7cdc2cb9253ae19 --- /dev/null +++ b/entity/Product_entity/entityfields/addtoorder/onActionProcess.js @@ -0,0 +1,9 @@ +import("system.neon"); +import("system.vars"); + +var params = JSON.parse(vars.get("$param.OrderOfferInformations_param")); + +params["ProductId_param"] = vars.get("$field.PRODUCTID"); + + +neon.openContext("OrderItem", "OrderItemEdit_view", null, neon.OPERATINGSTATE_NEW, params); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/addtoorder/stateProcess.js b/entity/Product_entity/entityfields/addtoorder/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d56602dfa0240f59d8cdb8619071cc96033bbdeb --- /dev/null +++ b/entity/Product_entity/entityfields/addtoorder/stateProcess.js @@ -0,0 +1,37 @@ +import("Order_lib"); +import("Sql_lib"); +import("system.neon"); +import("system.result"); +import("system.vars"); + +if(vars.get("$param.ShownInOrderMainView_param")) +{ + var orderObject = JSON.parse(vars.get("$param.OrderOfferInformations_param")); + var orderStatus = orderObject["OrderStatus_param"]; + var res; + var itemcount = newSelect("count(*)") + .from("SALESORDERITEM") + .whereIfSet("SALESORDERITEM.SALESORDER_ID", orderObject["OrderId_param"]) + .cell(true, "0"); + + + + if (orderStatus == undefined){ + res = neon.COMPONENTSTATE_DISABLED; + } + else if (itemcount == "0" && orderStatus == "1" ) { + res = neon.COMPONENTSTATE_DISABLED; + } + + else if (itemcount == "0" && orderStatus == "0"){ + res = neon.COMPONENTSTATE_EDITABLE; + } + + else + { + res = OrderUtils.isEditable(orderStatus)? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_DISABLED; + } + + result.string(res); +} + diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index fb4bb331d5ae83829c161f730480426473dbb901..045b4a294e877d356edd2a60506858b206d6524f 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -50,6 +50,14 @@ <key>Its not allowed to step over some salesproject phases.</key> <value>Es ist nicht erlaubt Vertriebsprojektphasen zu überspringen.</value> </entry> + <entry> + <key>Add to offer</key> + <value>Zu Angebot hinzufügen</value> + </entry> + <entry> + <key>Add to order</key> + <value>Zu Beleg hinzufügen</value> + </entry> <entry> <key>Probability AI</key> <value>Wahrscheinlichkeit KI</value> diff --git a/neonView/OfferMain_view/OfferMain_view.aod b/neonView/OfferMain_view/OfferMain_view.aod index 0fe9ef986d53ab558b5b4993ee73b7b5c5f394a8..2010f32c7d27ac1e66b86c24284e11fed94dc821 100644 --- a/neonView/OfferMain_view/OfferMain_view.aod +++ b/neonView/OfferMain_view/OfferMain_view.aod @@ -19,6 +19,11 @@ <entityField>Offeritems</entityField> <view>OfferitemFilter_view</view> </neonViewReference> + <neonViewReference> + <name>f94b5b0d-e1a2-4fd3-a9fa-c61a1bdf6ecd</name> + <entityField>Products</entityField> + <view>ProductFilter_view</view> + </neonViewReference> <neonViewReference> <name>e6b12eed-d67e-467c-9302-f6340f901235</name> <entityField>#ENTITY</entityField> diff --git a/neonView/OrderMain_view/OrderMain_view.aod b/neonView/OrderMain_view/OrderMain_view.aod index bb81d1a3d65e4f44f67e6673de0db10fa61477b1..470461ecaeb0bffd66f046ebf529633ddcb672e3 100644 --- a/neonView/OrderMain_view/OrderMain_view.aod +++ b/neonView/OrderMain_view/OrderMain_view.aod @@ -24,6 +24,11 @@ <entityField>#ENTITY</entityField> <view>OrderCondition_view</view> </neonViewReference> + <neonViewReference> + <name>07e7374d-8d52-4677-bbf3-dedd9c1d6ab1</name> + <entityField>Products</entityField> + <view>ProductFilter_view</view> + </neonViewReference> <neonViewReference> <name>1e0af6a9-9bb6-47b5-944b-636d21ac74d2</name> <entityField>AttributeTree</entityField> diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod index c8267c392031eb5b6ad0fac6daf830ce9d15310d..2117c52998bdb57ddfc55fff4e0fb5475a7c70a2 100644 --- a/neonView/ProductPreview_view/ProductPreview_view.aod +++ b/neonView/ProductPreview_view/ProductPreview_view.aod @@ -17,6 +17,13 @@ <favoriteAction1>newActivity</favoriteAction1> <entityField>#ENTITY</entityField> </cardViewTemplate> + <actionsViewTemplate> + <name>Action</name> + <actions> + <element>addToOffer</element> + <element>addToOrder</element> + </actions> + </actionsViewTemplate> <favoriteViewTemplate> <name>Favorites</name> <objectType>PRODUCT_OBJECTTYPE</objectType>