Author: hansbak
Date: Mon Feb 7 01:56:53 2011 New Revision: 1067840 URL: http://svn.apache.org/viewvc?rev=1067840&view=rev Log: add quoteterm fields to be the same as ordeterm fields, add maintenance screens to the quote, copy quoteterms to orderterms when creating order from quote Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.xml ofbiz/trunk/applications/order/entitydef/entitymodel.xml ofbiz/trunk/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml ofbiz/trunk/applications/order/servicedef/services.xml ofbiz/trunk/applications/order/servicedef/services_quote.xml ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml ofbiz/trunk/applications/order/webapp/ordermgr/quote/CopyQuote.ftl ofbiz/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl ofbiz/trunk/applications/order/widget/ordermgr/FieldLookupForms.xml ofbiz/trunk/applications/order/widget/ordermgr/OrderMenus.xml ofbiz/trunk/applications/order/widget/ordermgr/QuoteForms.xml ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/config/OrderUiLabels.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/config/OrderUiLabels.xml (original) +++ ofbiz/trunk/applications/order/config/OrderUiLabels.xml Mon Feb 7 01:56:53 2011 @@ -2799,6 +2799,9 @@ <value xml:lang="zh_CN">æ°å»ºæ¥ä»·è§è²</value> <value xml:lang="zh_TW">æ°å»ºå ±å¹è§è²</value> </property> + <property key="OrderCreateOrderQuoteTerm"> + <value xml:lang="en">Create New Quote Term</value> + </property> <property key="OrderCreateOrderQuoteWorkEfforts"> <value xml:lang="de">Offerte Arbeitseinsatz erstellen</value> <value xml:lang="en">Create Quote Work Efforts</value> @@ -6586,6 +6589,9 @@ <value xml:lang="zh">ç¼è¾è¯¢ä»·è§è²</value> <value xml:lang="zh_TW">ä¿®æ¹å ±å¹è§è²</value> </property> + <property key="OrderOrderQuoteEditTerm"> + <value xml:lang="en">Edit Quote Term</value> + </property> <property key="OrderOrderQuoteEditWorkEfforts"> <value xml:lang="de">Offertarbeitseinsatz bearbeiten</value> <value xml:lang="en">Edit Quote Work Efforts</value> @@ -6788,6 +6794,9 @@ <value xml:lang="zh">询价è§è²å表</value> <value xml:lang="zh_TW">ååºå ±å¹è§è²</value> </property> + <property key="OrderOrderQuoteListTerms"> + <value xml:lang="en">List Quote Terms</value> + </property> <property key="OrderOrderQuoteManualUnitPrice"> <value xml:lang="de">Manueller Stückpreis</value> <value xml:lang="en">Manual Unit Price</value> @@ -6920,6 +6929,12 @@ <value xml:lang="zh_CN">æ¥ä»·æè½ç±»åæ è¯</value> <value xml:lang="zh_TW">å ±å¹æè½é¡åID</value> </property> + <property key="OrderOrderQuoteTerms"> + <value xml:lang="en">Quote Term</value> + </property> + <property key="OrderOrderQuoteTermList"> + <value xml:lang="en">Quote Term List</value> + </property> <property key="OrderOrderQuoteType"> <value xml:lang="de">Offerttyp</value> <value xml:lang="en">Quote Type</value> @@ -12694,4 +12709,7 @@ <value xml:lang="zh">项ç®å称</value> <value xml:lang="zh_TW">å°æ¡å稱</value> </property> -</resource> + <property key="QuoteTermDescription"> + <value xml:lang="en">Term Description</value> + </property> +</resource> \ No newline at end of file Modified: ofbiz/trunk/applications/order/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/applications/order/entitydef/entitymodel.xml Mon Feb 7 01:56:53 2011 @@ -1496,6 +1496,9 @@ under the License. <field name="quoteItemSeqId" type="id-ne"></field> <field name="termValue" type="numeric"></field> <field name="uomId" type="id"></field> + <field name="termDays" type="numeric"></field> + <field name="textValue" type="description"></field> + <field name="description" type="description"></field> <prim-key field="termTypeId"/> <prim-key field="quoteId"/> <prim-key field="quoteItemSeqId"/> Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml (original) +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/quote/QuoteServices.xml Mon Feb 7 01:56:53 2011 @@ -247,6 +247,15 @@ under the License. <call-service service-name="createQuoteCoefficient" in-map-name="createQuoteCoefficientInMap"/> </iterate> </if-compare> + <if-compare field="parameters.copyQuoteTerms" value="Y" operator="equals"> + <get-related value-field="quote" relation-name="QuoteTerm" list="quoteTerms"/> + <iterate list="quoteTerms" entry="quoteTerm"> + <clear-field field="createQuoteTermInMap"/> + <set-service-fields service-name="createQuoteTerm" to-map="createQuoteTermInMap" map="quoteTerm"/> + <set from-field="quoteIdTo" field="createQuoteTermInMap.quoteId"/> + <call-service service-name="createQuoteTerm" in-map-name="createQuoteTermInMap"/> + </iterate> + </if-compare> <check-errors/> </simple-method> @@ -934,4 +943,21 @@ under the License. <remove-value value-field="quoteWorkEffort"/> </if-not-empty> </simple-method> + <simple-method method-name="createQuoteTerm" short-description="Create a QuoteTerm"> + <make-value value-field="newEntity" entity-name="QuoteTerm"/> + <set-pk-fields map="parameters" value-field="newEntity"/> + <set-nonpk-fields map="parameters" value-field="newEntity"/> + <create-value value-field="newEntity"/> + </simple-method> + <simple-method method-name="updateQuoteTerm" short-description="Update a QuoteTerm"> + <make-value value-field="newEntity" entity-name="QuoteTerm"/> + <set-pk-fields map="parameters" value-field="newEntity"/> + <set-nonpk-fields map="parameters" value-field="newEntity"/> + <store-value value-field="newEntity"/> + </simple-method> + <simple-method method-name="deleteQuoteTerm" short-description="Delete a QuoteTerm"> + <make-value value-field="newEntity" entity-name="QuoteTerm"/> + <set-pk-fields map="parameters" value-field="newEntity"/> + <remove-value value-field="newEntity"/> + </simple-method> </simple-methods> Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml (original) +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml Mon Feb 7 01:56:53 2011 @@ -126,4 +126,109 @@ under the License. </entity-one> <check-errors/> </simple-method> + <simple-method method-name="testCreateQuoteTerm" short-description="update a request" login-required="false"> + <entity-one entity-name="UserLogin" value-field="userLogin"> + <field-map field-name="userLoginId" value="system"/> + </entity-one> + <set-current-user-login value-field="userLogin"/> + <set field="serviceCtx.termTypeId" value="FIN_PAYMENT_DISC"/> + <set field="serviceCtx.quoteId" value="CQ10000"/> + <set field="serviceCtx.quoteItemSeqId" value="00001"/> + <set field="termValue" value="40" type="Long"/> + <set field="serviceCtx.termValue" from-field="termValue"/> + <set field="termDays" value="4" type="Long"/> + <set field="serviceCtx.termDays" from-field="termDays"/> + <set field="serviceCtx.uomId" value="CNY"/> + <set field="serviceCtx.description" value="create quoteterm"/> + <call-service service-name="createQuoteTerm" in-map-name="serviceCtx"> + <results-to-map map-name="serviceResult"/> + </call-service> + <assert> + <and> + <if-compare-field field="serviceResult.quoteId" operator="equals" to-field="serviceCtx.quoteId"/> + <if-compare-field field="serviceResult.quoteItemSeqId" operator="equals" to-field="serviceCtx.quoteItemSeqId"/> + <if-compare-field field="serviceResult.termTypeId" operator="equals" to-field="serviceCtx.termTypeId"/> + <not><if-empty field="serviceResult.termTypeId"/></not> + <not><if-empty field="serviceResult.termValue"/></not> + <not><if-empty field="serviceResult.termDays"/></not> + <not><if-empty field="serviceResult.uomId"/></not> + <not><if-empty field="serviceResult.description"/></not> + </and> + </assert> + <!-- Confirm that a matching Quoteterm was created --> + <entity-one value-field="quoteTerm" entity-name="QuoteTerm"> + <field-map field-name="termTypeId" from-field="serviceCtx.termTypeId"/> + <field-map field-name="quoteId" from-field="serviceResult.quoteId"/> + <field-map field-name="quoteItemSeqId" from-field="serviceCtx.quoteItemSeqId"/> + </entity-one> + <assert> + <not><if-empty field="quoteTerm"/></not> + </assert> + <check-errors/> + </simple-method> + <simple-method method-name="testUpdateQuoteTerm" short-description="update a request" login-required="false"> + <entity-one entity-name="UserLogin" value-field="userLogin"> + <field-map field-name="userLoginId" value="system"/> + </entity-one> + <set-current-user-login value-field="userLogin"/> + <set field="serviceCtx.termTypeId" value="FIN_PAYMENT_DISC"/> + <set field="serviceCtx.quoteId" value="CQ10000"/> + <set field="serviceCtx.quoteItemSeqId" value="00001"/> + <set field="termValue" value="30" type="Long"/> + <set field="serviceCtx.termValue" from-field="termValue"/> + <set field="termDays" value="3" type="Long"/> + <set field="serviceCtx.termDays" from-field="termDays"/> + <set field="serviceCtx.uomId" value="CNY"/> + <set field="serviceCtx.description" value="update quoteterm"/> + <call-service service-name="updateQuoteTerm" in-map-name="serviceCtx"> + <results-to-map map-name="serviceResult"/> + </call-service> + <assert> + <and> + <if-compare-field field="serviceResult.quoteId" operator="equals" to-field="serviceCtx.quoteId"/> + <if-compare-field field="serviceResult.quoteItemSeqId" operator="equals" to-field="serviceCtx.quoteItemSeqId"/> + <if-compare-field field="serviceResult.termTypeId" operator="equals" to-field="serviceCtx.termTypeId"/> + <not><if-empty field="serviceResult.termValue"/></not> + <not><if-empty field="serviceResult.termDays"/></not> + <not><if-empty field="serviceResult.uomId"/></not> + <not><if-empty field="serviceResult.description"/></not> + </and> + </assert> + <!-- Confirm that a matching Quoteterm was updated --> + <entity-one value-field="quoteTerm" entity-name="QuoteTerm"> + <field-map field-name="termTypeId" from-field="serviceCtx.termTypeId"/> + <field-map field-name="quoteId" from-field="serviceResult.quoteId"/> + <field-map field-name="quoteItemSeqId" from-field="serviceCtx.quoteItemSeqId"/> + </entity-one> + <assert> + <not><if-empty field="quoteTerm"/></not> + </assert> + <check-errors/> + </simple-method> + <simple-method method-name="testDeleteQuoteTerm" short-description="update a request" login-required="false"> + <entity-one entity-name="UserLogin" value-field="userLogin"> + <field-map field-name="userLoginId" value="system"/> + </entity-one> + <set-current-user-login value-field="userLogin"/> + <set field="serviceCtx.termTypeId" value="FIN_PAYMENT_DISC"/> + <set field="serviceCtx.quoteId" value="CQ10000"/> + <set field="serviceCtx.quoteItemSeqId" value="00001"/> + <call-service service-name="deleteQuoteTerm" in-map-name="quoteTermMap"> + <results-to-map map-name="serviceResult"/> + </call-service> + <assert> + <if-compare-field field="serviceResult.quoteId" operator="equals" to-field="serviceCtx.quoteId"/> + <if-compare-field field="serviceResult.quoteItemSeqId" operator="equals" to-field="serviceCtx.quoteItemSeqId"/> + <if-compare-field field="serviceResult.termTypeId" operator="equals" to-field="serviceCtx.termTypeId"/> + </assert> + <entity-one value-field="quoteTerm" entity-name="QuoteTerm"> + <field-map field-name="termTypeId" from-field="serviceCtx.termTypeId"/> + <field-map field-name="quoteId" from-field="serviceCtx.quoteId"/> + <field-map field-name="quoteItemSeqId" from-field="serviceCtx.quoteItemSeqId"/> + </entity-one> + <assert> + <if-empty field="quoteTerm"/> + </assert> + <check-errors/> + </simple-method> </simple-methods> Modified: ofbiz/trunk/applications/order/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/servicedef/services.xml (original) +++ ofbiz/trunk/applications/order/servicedef/services.xml Mon Feb 7 01:56:53 2011 @@ -1090,4 +1090,27 @@ under the License. <attribute name="orderItem" type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/> <attribute name="orderAdjustment " type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/> </service> + <service name="createQuoteTerm" engine="simple" default-entity-name="QuoteTerm" + location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="createQuoteTerm"> + <description> + Create a new Quate term. + </description> + <auto-attributes mode="IN" include="pk" optional="false"/> + <auto-attributes mode="IN" include="nonpk" optional="true"/> + </service> + <service name="updateQuoteTerm" engine="simple" default-entity-name="QuoteTerm" + location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="updateQuoteTerm"> + <description> + Edit the Quate term. + </description> + <auto-attributes mode="IN" include="pk" optional="false"/> + <auto-attributes mode="IN" include="nonpk" optional="true"/> + </service> + <service name="deleteQuoteTerm" engine="simple" default-entity-name="QuoteTerm" + location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="deleteQuoteTerm"> + <description> + delete the Quate term. + </description> + <auto-attributes mode="IN" include="pk" optional="false"/> + </service> </services> Modified: ofbiz/trunk/applications/order/servicedef/services_quote.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services_quote.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/servicedef/services_quote.xml (original) +++ ofbiz/trunk/applications/order/servicedef/services_quote.xml Mon Feb 7 01:56:53 2011 @@ -61,6 +61,7 @@ under the License. <attribute name="copyQuoteCoefficients" type="String" mode="IN" optional="true"/> <attribute name="copyQuoteItems" type="String" mode="IN" optional="true"/> <attribute name="copyQuoteAdjustments" type="String" mode="IN" optional="true"/> + <attribute name="copyQuoteTerms" type="String" mode="IN" optional="true"/> </service> <service name="checkUpdateQuoteStatus" default-entity-name="Quote" engine="simple" location="component://order/script/org/ofbiz/order/quote/QuoteServices.xml" invoke="checkUpdateQuoteStatus" auth="true"> Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Mon Feb 7 01:56:53 2011 @@ -2780,6 +2780,16 @@ public class ShoppingCart implements Ite orderTerm.put("textValue", textValue); return addOrderTerm(orderTerm); } + + public int addOrderTerm(String termTypeId, BigDecimal termValue, Long termDays, String textValue, String description) { + GenericValue orderTerm = this.getDelegator().makeValue("OrderTerm"); + orderTerm.put("termTypeId", termTypeId); + orderTerm.put("termValue", termValue); + orderTerm.put("termDays", termDays); + orderTerm.put("textValue", textValue); + orderTerm.put("description", description); + return addOrderTerm(orderTerm); + } /** Add an orderTerm to the order */ public int addOrderTerm(GenericValue orderTerm) { Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java Mon Feb 7 01:56:53 2011 @@ -30,6 +30,7 @@ import javolution.util.FastList; import javolution.util.FastMap; import org.apache.commons.lang.math.NumberUtils; +import org.ofbiz.base.conversion.MiscConverters.DecimalFormatToString; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.UtilDateTime; @@ -678,11 +679,13 @@ public class ShoppingCartServices { List<GenericValue>quoteAdjs = null; List<GenericValue>quoteRoles = null; List<GenericValue>quoteAttributes = null; + List<GenericValue>quoteTerms = null; try { quoteItems = quote.getRelated("QuoteItem", UtilMisc.toList("quoteItemSeqId")); quoteAdjs = quote.getRelated("QuoteAdjustment"); quoteRoles = quote.getRelated("QuoteRole"); quoteAttributes = quote.getRelated("QuoteAttribute"); + quoteTerms = quote.getRelated("QuoteTerm"); } catch (GenericEntityException e) { Debug.logError(e, module); return ServiceUtil.returnError(e.getMessage()); @@ -709,6 +712,23 @@ public class ShoppingCartServices { } } + // set the order term + if (UtilValidate.isNotEmpty(quoteTerms)) { + // create order term from quote term + for(GenericValue quoteTerm : quoteTerms) { + BigDecimal termValue = BigDecimal.ZERO; + if (UtilValidate.isNotEmpty(quoteTerm.getString("termValue"))){ + termValue = new BigDecimal(quoteTerm.getString("termValue")); + } + long termDays = 0; + if (UtilValidate.isNotEmpty(quoteTerm.getString("termDays"))) { + termDays = Long.parseLong(quoteTerm.getString("termDays").trim()); + } + + cart.addOrderTerm(quoteTerm.getString("termTypeId"), termValue, termDays, quoteTerm.getString("textValue"),quoteTerm.getString("description")); + } + } + // set the attribute information if (UtilValidate.isNotEmpty(quoteAttributes)) { for(GenericValue quoteAttribute : quoteAttributes) { Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml Mon Feb 7 01:56:53 2011 @@ -264,6 +264,83 @@ under the License. <event type="service" invoke="quickShipEntireOrder"/> <response name="success" type="request-redirect" value="orderview"><redirect-parameter name="orderId"/></response> <response name="error" type="view" value="orderview"/> + </request-map> + <request-map uri="createQuoteTerm"> + <security https="true" auth="true"/> + <event type="service" invoke="createQuoteTerm"/> + <response name="success" type="request-redirect" value="ListQuoteTerms"> + <redirect-parameter name="quoteId"/> + </response> + <response name="error" type="request-redirect" value="EditQuoteTerm"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + </request-map> + <request-map uri="createQuoteTermFromItem"> + <security https="true" auth="true"/> + <event type="service" invoke="createQuoteTerm"/> + <response name="success" type="request-redirect" value="EditQuoteItem"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + <response name="error" type="request-redirect" value="EditQuoteTermItem"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + </request-map> + <request-map uri="updateQuoteTermFromItem"> + <security https="true" auth="true"/> + <event type="service" path="" invoke="updateQuoteTerm"/> + <response name="success" type="request-redirect" value="EditQuoteItem"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + <response name="error" type="request-redirect" value="EditQuoteTermItem"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + <redirect-parameter name="termTypeId"/> + <redirect-parameter name="termDays"/> + <redirect-parameter name="textValue"/> + <redirect-parameter name="uomId"/> + <redirect-parameter name="description"/> + <redirect-parameter name="termValue"/> + </response> + </request-map> + <request-map uri="updateQuoteTerm"> + <security https="true" auth="true"/> + <event type="service" path="" invoke="updateQuoteTerm"/> + <response name="success" type="request-redirect" value="ListQuoteTerms"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + <response name="error" type="request-redirect" value="EditQuoteTerm"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + <redirect-parameter name="termTypeId"/> + <redirect-parameter name="termDays"/> + <redirect-parameter name="textValue"/> + <redirect-parameter name="uomId"/> + <redirect-parameter name="description"/> + <redirect-parameter name="termValue"/> + </response> + </request-map> + <request-map uri="deleteQuoteTermFromItem"> + <security https="true" auth="true"/> + <event type="service" path="" invoke="deleteQuoteTerm"/> + <response name="success" type="request-redirect" value="EditQuoteItem"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + <response name="error" type="view" value="EditQuoteItem"/> + </request-map> + <request-map uri="deleteQuoteTerm"> + <security https="true" auth="true"/> + <event type="service" path="" invoke="deleteQuoteTerm"/> + <response name="success" type="request-redirect" value="ListQuoteTerms"> + <redirect-parameter name="quoteId"/> + <redirect-parameter name="quoteItemSeqId"/> + </response> + <response name="error" type="view" value="ListQuoteTerms"/> </request-map> <request-map uri="quickDropShipOrder"> <security https="true" auth="true"/> @@ -1403,13 +1480,13 @@ under the License. <request-map uri="createQuote"> <security https="true" auth="true"/> <event type="service" path="" invoke="createQuote"/> - <response name="success" type="view" value="EditQuote"/> + <response name="success" type="view" value="ViewQuote"/> <response name="error" type="view" value="EditQuote"/> </request-map> <request-map uri="updateQuote"> <security https="true" auth="true"/> <event type="service" path="" invoke="updateQuote"/> - <response name="success" type="view" value="EditQuote"/> + <response name="success" type="view" value="ViewQuote"/> <response name="error" type="view" value="EditQuote"/> </request-map> <request-map uri="copyQuote"> @@ -1439,12 +1516,15 @@ under the License. <request-map uri="createQuoteItem"> <security https="true" auth="true"/> <event type="service" path="" invoke="createQuoteItem"/> - <response name="success" type="view" value="EditQuoteItem"/> + <response name="success" type="request-redirect" value="ListQuoteItems"> + <redirect-parameter name="quoteId"/> + </response> </request-map> <request-map uri="updateQuoteItem"> <security https="true" auth="true"/> <event type="service" path="" invoke="updateQuoteItem"/> - <response name="success" type="view" value="EditQuoteItem"/> + <response name="success" type="view" value="ListQuoteItems"/> + <response name="error" type="view" value="EditQuoteItem"/> </request-map> <request-map uri="removeQuoteItem"> <security https="true" auth="true"/> @@ -1749,6 +1829,18 @@ under the License. <response name="success" type="view" value="ProductUomDropDownOnly" save-last-view="true"/> </request-map> + <request-map uri="ListQuoteTerms"> + <security auth="true" https="true"/> + <response name="success" type="view" value="ListQuoteTerms" save-last-view="true"/> + </request-map> + <request-map uri="EditQuoteTerm"> + <security auth="true" https="true"/> + <response name="success" type="view" value="EditQuoteTerm" save-last-view="true"/> + </request-map> + <request-map uri="EditQuoteTermItem"> + <security auth="true" https="true"/> + <response name="success" type="view" value="EditQuoteTermItem" save-last-view="true"/> + </request-map> <!-- These are just examples of reports developed using JasperReport and not really useful reports. In order to run them you'll have to follow the notes in the @@ -1946,5 +2038,8 @@ under the License. <view-map name="SendCompletionMail" type="screen" page="component://order/widget/ordermgr/OrderViewScreens.xml#SendOrderCompletion"/> <view-map name="ReturnHistory" type="screen" page="component://order/widget/ordermgr/OrderReturnScreens.xml#OrderReturnHistory"/> <view-map name="ProductUomDropDownOnly" type="screen" page="component://order/widget/ordermgr/OrderEntryCatalogScreens.xml#ProductUomDropDownOnly"/> + <view-map name="EditQuoteTerm" type="screen" page="component://order/widget/ordermgr/QuoteScreens.xml#EditQuoteTerm"/> + <view-map name="EditQuoteTermItem" type="screen" page="component://order/widget/ordermgr/QuoteScreens.xml#EditQuoteTermItem"/> + <view-map name="ListQuoteTerms" type="screen" page="component://order/widget/ordermgr/QuoteScreens.xml#ListQuoteTerms"/> <!-- end of view mappings --> </site-conf> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/quote/CopyQuote.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/quote/CopyQuote.ftl?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/quote/CopyQuote.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/quote/CopyQuote.ftl Mon Feb 7 01:56:53 2011 @@ -26,6 +26,7 @@ under the License. ${uiLabelMap.OrderOrderQuoteRoles} <input type="checkbox" name="copyQuoteRoles" value="Y" checked="checked" /> ${uiLabelMap.OrderOrderQuoteAttributes} <input type="checkbox" name="copyQuoteAttributes" value="Y" checked="checked" /> ${uiLabelMap.OrderOrderQuoteCoefficients} <input type="checkbox" name="copyQuoteCoefficients" value="Y" checked="checked" /> + ${uiLabelMap.OrderOrderQuoteTerms} <input type="checkbox" name="copyQuoteTerms" value="Y" checked="checked" /> </div> <input type="submit" class="smallSubmit" value="${uiLabelMap.CommonCopy}"/> </form> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl Mon Feb 7 01:56:53 2011 @@ -28,17 +28,27 @@ under the License. <div class="screenlet-body"> <table cellspacing="0" class="basic-table"> <tr valign="bottom" class="header-row"> - <td width="10%">${uiLabelMap.ProductItem}</td> - <td width="35%">${uiLabelMap.ProductProduct}</td> + <td width="15%">${uiLabelMap.ProductItem}</td> + <td width="20%">${uiLabelMap.ProductProduct}</td> <td width="10%" align="right">${uiLabelMap.ProductQuantity}</td> <td width="10%" align="right">${uiLabelMap.OrderSelAmount}</td> + <td width="5%" align="right"> </td> <td width="10%" align="right">${uiLabelMap.OrderOrderQuoteUnitPrice}</td> <td width="10%" align="right">${uiLabelMap.OrderAdjustments}</td> <td width="10%" align="right">${uiLabelMap.CommonSubtotal}</td> - <td width="5%" align="right"> </td> + </tr> + <tr valign="bottom" class="header-row"> + <td> ${uiLabelMap.OrderOrderTermType}</td> + <td> ${uiLabelMap.OrderOrderTermValue}</td> + <td> ${uiLabelMap.OrderOrderTermDays}</td> + <td> ${uiLabelMap.QuoteTermDescription}</td> + <td></td> + <td></td> + <td></td> + <td align="right"> </td> </tr> <#assign totalQuoteAmount = 0.0> - <#assign alt_row = false> + <#assign alt_row = false/> <#list quoteItems as quoteItem> <#if quoteItem.productId?exists> <#assign product = quoteItem.getRelatedOne("Product")> @@ -57,15 +67,17 @@ under the License. </#list> <#assign totalQuoteItemAmount = quoteItemAmount + totalQuoteItemAdjustmentAmount> <#assign totalQuoteAmount = totalQuoteAmount + totalQuoteItemAmount> - <tr valign="middle"<#if alt_row> class="alternate-row"</#if>> - <td valign="top"> + + <tr <#if alt_row>class="alternate-row" </#if>> + <td > <div> - <#if showQuoteManagementLinks?exists && quoteItem.isPromo?default("N") == "N"> + <#if showQuoteManagementLinks?exists && quoteItem.isPromo?default("N") == "N" && quote.statusId=="QUO_CREATED"> <a href="<@ofbizUrl>EditQuoteItem?quoteId=${quoteItem.quoteId}&quoteItemSeqId=${quoteItem.quoteItemSeqId}</@ofbizUrl>" class="buttontext">${quoteItem.quoteItemSeqId}</a> <#else> ${quoteItem.quoteItemSeqId} </#if> </div> + <#assign quoteTerms = delegator.findByAnd("QuoteTerm", {"quoteId" : quoteItem.quoteId, "quoteItemSeqId" : quoteItem.quoteItemSeqId})> </td> <td valign="top"> <div> @@ -83,17 +95,31 @@ under the License. </#if> </div> </td> + <td></td> <td align="right" valign="top">${quoteItem.quantity?if_exists}</td> <td align="right" valign="top">${quoteItem.selectedAmount?if_exists}</td> <td align="right" valign="top"><@ofbizCurrency amount=quoteItem.quoteUnitPrice isoCode=quote.currencyUomId/></td> <td align="right" valign="top"><@ofbizCurrency amount=totalQuoteItemAdjustmentAmount isoCode=quote.currencyUomId/></td> <td align="right" valign="top"><@ofbizCurrency amount=totalQuoteItemAmount isoCode=quote.currencyUomId/></td> </tr> + <#list quoteTerms as quoteTerm> + <#assign termDescription = delegator.findByPrimaryKey("TermType",{"termTypeId":quoteTerm.termTypeId})> + <tr <#if alt_row>class="alternate-row" </#if>> + <td valign="top"> ${termDescription.description?if_exists}</td> + <td valign="top"> ${quoteTerm.termValue?if_exists}</td> + <td valign="top"><#if quoteTerm.termDays?exists> ${quoteTerm.termDays?if_exists}</#if></td> + <td valign="top"><#if quoteTerm.description?exists> ${quoteTerm.description}</#if></td> + <td align="right" valign="top"></td> + <td align="right" valign="top"></td> + <td align="right" valign="top"></td> + <td align="right" valign="top"></td> + </tr> + </#list> <#-- now show adjustment details per line item --> <#list quoteItemAdjustments as quoteItemAdjustment> <#assign adjustmentType = quoteItemAdjustment.getRelatedOne("OrderAdjustmentType")> - <tr> - <td align="right" colspan="5"><span class="label">${adjustmentType.get("description",locale)?if_exists}</span></td> + <tr class="alternate-row"> + <td align="right" colspan="4"><span class="label">${adjustmentType.get("description",locale)?if_exists}</span></td> <td align="right"><@ofbizCurrency amount=quoteItemAdjustment.amount isoCode=quote.currencyUomId/></td> <td> </td> </tr> @@ -103,7 +129,7 @@ under the License. </#list> <tr><td colspan="10"><hr /></td></tr> <tr> - <td align="right" colspan="6" class="label">${uiLabelMap.CommonSubtotal}</td> + <td align="right" colspan="7" class="label">${uiLabelMap.CommonSubtotal}</td> <td align="right"><@ofbizCurrency amount=totalQuoteAmount isoCode=quote.currencyUomId/></td> </tr> <tr><td colspan="5"></td><td colspan="6"><hr /></td></tr> @@ -125,7 +151,7 @@ under the License. <tr><td colspan="5"></td><td colspan="6"><hr /></td></tr> </#if> <tr> - <td align="right" colspan="6" class="label">${uiLabelMap.OrderGrandTotal}</td> + <td align="right" colspan="7" class="label">${uiLabelMap.OrderGrandTotal}</td> <td align="right"> <@ofbizCurrency amount=grandTotalQuoteAmount isoCode=quote.currencyUomId/> </td> Modified: ofbiz/trunk/applications/order/widget/ordermgr/FieldLookupForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/FieldLookupForms.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/FieldLookupForms.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/FieldLookupForms.xml Mon Feb 7 01:56:53 2011 @@ -423,16 +423,10 @@ under the License. <field name="quoteId"><hidden/></field> <field name="quoteItemSeqId"><hidden/></field> <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo==null}"> - <hyperlink also-hidden="false" description="${quoteItemSeqId}" target="EditQuoteItem"> - <parameter param-name="quoteId"/> - <parameter param-name="quoteItemSeqId"/> - </hyperlink> + <hyperlink also-hidden="false" target-type="plain" description="${quoteItemSeqId}" target="javascript:set_value('${quoteItemSeqId}')"/> </field> <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo!=null&&isPromo.equals("N")}"> - <hyperlink also-hidden="false" description="${quoteItemSeqId}" target="EditQuoteItem"> - <parameter param-name="quoteId"/> - <parameter param-name="quoteItemSeqId"/> - </hyperlink> + <hyperlink also-hidden="false" target-type="plain" description="${quoteItemSeqId}" target="javascript:set_value('${quoteItemSeqId}')"/> </field> <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" use-when="${bsh:isPromo!=null&&isPromo.equals("Y")}"><display/></field> <field name="productId"> Modified: ofbiz/trunk/applications/order/widget/ordermgr/OrderMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/OrderMenus.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/OrderMenus.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/OrderMenus.xml Mon Feb 7 01:56:53 2011 @@ -135,24 +135,36 @@ under the License. </menu-item> <menu-item name="EditQuote" title="${uiLabelMap.OrderOrderQuote}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> <link target="EditQuote"> <parameter param-name="quoteId" from-field="quote.quoteId"/> </link> </menu-item> <menu-item name="ListQuoteRoles" title="${uiLabelMap.OrderOrderQuoteRoles}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> <link target="ListQuoteRoles"> <parameter param-name="quoteId" from-field="quote.quoteId"/> </link> </menu-item> <menu-item name="ListQuoteItems" title="${uiLabelMap.OrderOrderQuoteItems}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> <link target="ListQuoteItems"> <parameter param-name="quoteId" from-field="quote.quoteId"/> </link> </menu-item> <menu-item name="ListQuoteAttributes" title="${uiLabelMap.OrderOrderQuoteAttributes}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> <link target="ListQuoteAttributes"> <parameter param-name="quoteId" from-field="quote.quoteId"/> </link> @@ -160,7 +172,10 @@ under the License. <menu-item name="ListQuoteCoefficients" title="${uiLabelMap.OrderOrderQuoteCoefficients}"> <condition> - <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <and> + <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </and> </condition> <link target="ListQuoteCoefficients"> <parameter param-name="quoteId" from-field="quote.quoteId"/> @@ -169,7 +184,10 @@ under the License. <menu-item name="ManageQuotePrices" title="${uiLabelMap.OrderOrderQuotePrices}"> <condition> - <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <and> + <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </and> </condition> <link target="ManageQuotePrices"> <parameter param-name="quoteId" from-field="quote.quoteId"/> @@ -178,7 +196,10 @@ under the License. <menu-item name="ListQuoteAdjustments" title="${uiLabelMap.OrderOrderQuoteAdjustments}"> <condition> - <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <and> + <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </and> </condition> <link target="ListQuoteAdjustments"> <parameter param-name="quoteId" from-field="quote.quoteId"/> @@ -187,7 +208,10 @@ under the License. <menu-item name="ViewQuoteProfit" title="${uiLabelMap.OrderViewQuoteProfit}"> <condition> - <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <and> + <if-has-permission permission="ORDERMGR" action="_QUOTE_PRICE"/> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </and> </condition> <link target="ViewQuoteProfit"> <parameter param-name="quoteId" from-field="quote.quoteId"/> @@ -195,10 +219,21 @@ under the License. </menu-item> <menu-item name="QuoteWorkEfforts" title="${uiLabelMap.OrderOrderQuoteWorkEfforts}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> <link target="ListQuoteWorkEfforts"> <parameter param-name="quoteId" from-field="quote.quoteId"/> </link> </menu-item> + <menu-item name="QuoteTerms" title="${uiLabelMap.OrderOrderQuoteTerms}"> + <condition> + <if-compare operator="equals" value="QUO_CREATED" field="quote.statusId"/> + </condition> + <link target="ListQuoteTerms"> + <parameter param-name="quoteId" from-field="parameters.quoteId"/> + </link> + </menu-item> </menu> <menu name="QuoteSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml" @@ -338,5 +373,39 @@ under the License. </link> </menu-item> </menu> + <menu name="quoteTermSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml" + menu-container-style="button-bar button-style-2"> + <menu-item name="EditQuoteTerm" title="${uiLabelMap.OrderCreateOrderQuoteTerm}" > + <condition> + <and> + <if-empty field="parameters.quoteItemSeqId"/> + <not><if-empty field="quote.quoteId"/></not> + </and> + </condition> + <link target="EditQuoteTerm" text="" style="buttontext"> + <parameter param-name="quoteId" from-field="parameters.quoteId"/> + </link> + </menu-item> + <menu-item name="EditQuoteTermItem" title="${uiLabelMap.OrderCreateOrderQuoteTerm}" > + <condition> + <and> + <not><if-empty field="parameters.quoteItemSeqId"/></not> + <not><if-empty field="quote.quoteId"/></not> + </and> + </condition> + <link target="EditQuoteTermItem" text="" style="buttontext"> + <parameter param-name="quoteId" from-field="parameters.quoteId"/> + <parameter param-name="quoteItemSeqId" from-field="parameters.quoteItemSeqId"/> + </link> + </menu-item> + </menu> + <menu name="quoteItemSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml" + menu-container-style="button-bar button-style-2"> + <menu-item name="EditQuoteTerm" title="${uiLabelMap.OrderCreateOrderQuoteTerm}" > + <link target="EditQuoteItem" text="${uiLabelMap.OrderCreateOrderQuoteItem}" style="buttontext"> + <parameter param-name="quoteId" from-field="quote.quoteId"/> + </link> + </menu-item> + </menu> </menus> Modified: ofbiz/trunk/applications/order/widget/ordermgr/QuoteForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/QuoteForms.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/QuoteForms.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/QuoteForms.xml Mon Feb 7 01:56:53 2011 @@ -456,4 +456,89 @@ under the License. <field name="note"><textarea/></field> <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field> </form> + <form name="ListQuoteTerms" type="list" list-name="quoteTerms" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="ListQuoteTerms"> + <auto-fields-entity entity-name="QuoteTerm" default-field-type="display"/> + <field name="termTypeId" > + <display-entity entity-name="TermType" description="${description}" key-field-name="termTypeId"/> + </field> + <field name="uomId" title="${uiLabelMap.OrderOrderQuoteUomId}"> + <display-entity entity-name="Uom" description="${description}" key-field-name="uomId"/> + </field> + <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> + <hyperlink target="EditQuoteTerm" description="${uiLabelMap.CommonEdit}" also-hidden="false"> + <parameter param-name="termTypeId"/> + <parameter param-name="quoteItemSeqId"/> + <parameter param-name="quoteId"/> + <parameter param-name="target" value="updateQuoteTerm"/> + <parameter param-name="tabButtonItems" value="QuoteTerms"/> + </hyperlink> + </field> + <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> + <hyperlink target="deleteQuoteTerm" description="${uiLabelMap.CommonRemove}" also-hidden="false"> + <parameter param-name="termTypeId"/> + <parameter param-name="quoteItemSeqId"/> + <parameter param-name="quoteId"/> + </hyperlink> + </field> + </form> + <form name="ListQuoteTermItem" extends="ListQuoteTerms"> + <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> + <hyperlink target="EditQuoteTermItem" description="${uiLabelMap.CommonEdit}" also-hidden="false"> + <parameter param-name="termTypeId"/> + <parameter param-name="quoteItemSeqId"/> + <parameter param-name="quoteId"/> + <parameter param-name="target" value="updateQuoteTermFromItem"/> + <parameter param-name="tabButtonItems" value="ListQuoteItems"/> + </hyperlink> + </field> + <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> + <hyperlink target="deleteQuoteTermFromItem" description="${uiLabelMap.CommonRemove}" also-hidden="false"> + <parameter param-name="termTypeId"/> + <parameter param-name="quoteItemSeqId"/> + <parameter param-name="quoteId"/> + </hyperlink> + </field> + </form> + <form name="EditQuoteTerm" type="single" target="updateQuoteTerm" title="" default-map-name="quoteTerm" + header-row-style="header-row" default-table-style="basic-table"> + <actions> + <entity-one entity-name="StatusItem" value-field="currentStatus" auto-field-map="false"> + <field-map field-name="statusId" from-field="quote.statusId"/> + </entity-one> + <set field="tabButtonItem" from-field="parameters.tabButtonItems"/> + </actions> + <alt-target use-when="quoteTerm==null" target="createQuoteTerm"/> + <auto-fields-entity entity-name="QuoteTerm" default-field-type="edit"/> + <field name="tabButtonItems"><hidden value="${tabButtonItem}"/></field> + <field name="quoteItemSeqId" tooltip="${uiLabelMap.CommonRequired}"> + <drop-down> + <entity-options description="${quoteItemSeqId} - [${productId}]" entity-name="QuoteItem"> + <entity-constraint name="quoteId" operator="equals" value="${quoteId}"/> + <entity-order-by field-name="quoteItemSeqId"/> + </entity-options> + </drop-down> + </field> + <field name="quoteItemSeqId" use-when="quoteItemSeqId!=null" tooltip="${uiLabelMap.CommonRequired}"><display/></field> + <field name="termTypeId" tooltip="${uiLabelMap.CommonRequired}"> + <drop-down current-description=""> + <entity-options description="${description}" entity-name="TermType" key-field-name="termTypeId"/> + </drop-down> + </field> + <field name="termTypeId" use-when="termTypeId!=null" tooltip="${uiLabelMap.CommonRequired}"> + <display-entity entity-name="TermType" description="${description} [${termTypeId}]" key-field-name="termTypeId"/> + </field> + <field name="quoteId"><hidden/></field> + + <field name="uomId"> + <drop-down current-description=""> + <entity-options description="${description}" entity-name="Uom" key-field-name="uomId"/> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + <form name="EditQuoteTermItem" type="single" target="updateQuoteTermFromItem" title="" default-map-name="quoteTerm" + header-row-style="header-row" default-table-style="basic-table" extends="EditQuoteTerm"> + <alt-target use-when="quoteTerm==null" target="createQuoteTermFromItem"/> + </form> </forms> Modified: ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml?rev=1067840&r1=1067839&r2=1067840&view=diff ============================================================================== --- ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml (original) +++ ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml Mon Feb 7 01:56:53 2011 @@ -313,12 +313,8 @@ under the License. <widgets> <decorator-screen name="CommonQuoteDecorator" location="${parameters.quoteDecoratorLocation}"> <decorator-section name="body"> + <include-menu name="quoteItemSubTabBar" location="component://order/widget/ordermgr/OrderMenus.xml"/> <screenlet title="${uiLabelMap.OrderOrderQuoteListItems}"> - <container> - <link target="EditQuoteItem" text="${uiLabelMap.OrderCreateOrderQuoteItem}" style="buttontext"> - <parameter param-name="quoteId" from-field="quote.quoteId"/> - </link> - </container> <include-form name="ListQuoteItems" location="component://order/widget/ordermgr/QuoteForms.xml"/> </screenlet> </decorator-section> @@ -337,18 +333,27 @@ under the License. <entity-one entity-name="Quote" value-field="quote" auto-field-map="true"/> <entity-one entity-name="QuoteItem" value-field="quoteItem"/> + <entity-and entity-name="QuoteTerm" list="quoteTerms"> + <field-map field-name="quoteId" from-field="parameters.quoteId"/> + <field-map field-name="quoteItemSeqId" from-field="parameters.quoteItemSeqId"/> + </entity-and> </actions> <widgets> <decorator-screen name="CommonQuoteDecorator" location="${parameters.quoteDecoratorLocation}"> <decorator-section name="body"> - <screenlet title="${uiLabelMap.OrderOrderQuoteEditItems}"> - <container> - <link target="EditQuoteItem" text="${uiLabelMap.OrderCreateOrderQuoteItem}" style="buttontext"> - <parameter param-name="quoteId" from-field="quote.quoteId"/> - </link> - </container> - <include-form name="EditQuoteItem" location="component://order/widget/ordermgr/QuoteForms.xml"/> - </screenlet> + <container> + <include-menu name="quoteTermSubTabBar" location="component://order/widget/ordermgr/OrderMenus.xml"/> + </container> + <container style="lefthalf"> + <screenlet title="${uiLabelMap.OrderOrderQuoteEditItems}" > + <include-form name="EditQuoteItem" location="component://order/widget/ordermgr/QuoteForms.xml"/> + </screenlet> + </container> + <container style="righthalf"> + <screenlet title="${uiLabelMap.OrderOrderQuoteTermList}"> + <include-form name="ListQuoteTermItem" location="component://order/widget/ordermgr/QuoteForms.xml"/> + </screenlet> + </container> </decorator-section> </decorator-screen> </widgets> @@ -686,6 +691,15 @@ under the License. <condition> <not><if-empty field="quoteItems"/></not> </condition> + <actions> + <entity-and list="quoteItemList" entity-name="QuoteItem"> + <field-map field-name="quoteId" from-field="parameters.quoteId"/> + </entity-and> + <entity-one value-field="quote" entity-name="Quote"> + <field-map field-name="quoteId" from-field="parameters.quoteId"/> + </entity-one> + <set field="quoteStatusId" from-field="quote.statusId"/> + </actions> <widgets> <platform-specific> <html><html-template location="component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl"/></html> @@ -693,4 +707,76 @@ under the License. </widgets> </section> </screen> + <screen name="EditQuoteTerm"> + <section> + <actions> + <set field="titleProperty" value="${uiLabelMap.OrderOrderQuoteEditTerm}"/> + <set field="tabButtonItem" value="QuoteTerms"/> + <set field="quoteId" from-field="parameters.quoteId"/> + <set field="termTypeId" from-field="parameters.termTypeId"/> + <set field="quoteItemSeqId" from-field="parameters.quoteItemSeqId"/> + <entity-one entity-name="QuoteTerm" value-field="quoteTerm"/> + <entity-one entity-name="Quote" value-field="quote" auto-field-map="true"/> + <set field="target" from-field="parameters.target"/> + </actions> + <widgets> + <decorator-screen name="CommonQuoteDecorator" location="${parameters.quoteDecoratorLocation}"> + <decorator-section name="body"> + <screenlet title="${uiLabelMap.OrderOrderQuoteEditTerm}"> + <include-form name="EditQuoteTerm" location="component://order/widget/ordermgr/QuoteForms.xml"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="EditQuoteTermItem"> + <section> + <actions> + <set field="titleProperty" value="${uiLabelMap.OrderOrderQuoteEditTerm}"/> + <set field="tabButtonItem" value="ListQuoteItems"/> + <set field="quoteId" from-field="parameters.quoteId"/> + <set field="termTypeId" from-field="parameters.termTypeId"/> + <set field="quoteItemSeqId" from-field="parameters.quoteItemSeqId"/> + <entity-one entity-name="QuoteTerm" value-field="quoteTerm"/> + <entity-one entity-name="Quote" value-field="quote" auto-field-map="true"/> + <set field="target" from-field="parameters.target"/> + </actions> + <widgets> + <decorator-screen name="CommonQuoteDecorator" location="${parameters.quoteDecoratorLocation}"> + <decorator-section name="body"> + <screenlet title="${uiLabelMap.OrderOrderQuoteEditTerm}"> + <include-form name="EditQuoteTermItem" location="component://order/widget/ordermgr/QuoteForms.xml"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="ListQuoteTerms"> + <section> + <actions> + <set field="titleProperty" value="${uiLabelMap.OrderOrderQuoteEditTerm}"/> + <set field="tabButtonItem" value="QuoteTerms"/> + <set field="quoteId" from-field="parameters.quoteId"/> + <set field="termTypeId" from-field="parameters.termTypeId"/> + <set field="quoteItemSeqId" from-field="parameters.quoteItemSeqId"/> + <entity-one entity-name="QuoteTerm" value-field="quoteTerm"/> + <entity-one entity-name="Quote" value-field="quote" auto-field-map="true"/> + <entity-and entity-name="QuoteTerm" list="quoteTerms"> + <field-map field-name="quoteId" from-field="parameters.quoteId"/> + </entity-and> + </actions> + <widgets> + <decorator-screen name="CommonQuoteDecorator" location="${parameters.quoteDecoratorLocation}"> + <decorator-section name="body"> + <include-menu name="quoteTermSubTabBar" location="component://order/widget/ordermgr/OrderMenus.xml"/> + <screenlet title="${uiLabelMap.OrderOrderQuoteTermList}"> + <include-form name="ListQuoteTerms" location="component://order/widget/ordermgr/QuoteForms.xml"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> </screens> |
Free forum by Nabble | Edit this page |