| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd"> |
| <simple-method method-name="setPartyToCart" short-description="Set party to cart" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/> |
| <check-errors/> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="cart"/> |
| <check-errors/> |
| <clear-field field="contactMechId"/> |
| <if-not-empty field="cart"> |
| <set field="delegator" from-field="parameters.delegator"/> |
| <set field="partyId" from-field="parameters.partyId"/> |
| <set field="showOld" value="false" type="Boolean"/> |
| <call-class-method class-name="org.apache.ofbiz.party.contact.ContactMechWorker" method-name="getPartyContactMechValueMaps" ret-field="partyContactMechValueMaps"> |
| <field field="delegator" type="org.apache.ofbiz.entity.Delegator"/> |
| <field field="partyId" type="String"/> |
| <field field="showOld" type="boolean"/> |
| </call-class-method> |
| <if-not-empty field="partyContactMechValueMaps"> |
| <iterate list="partyContactMechValueMaps" entry="partyContactMechValueMap"> |
| <set field="contactMech" from-field="partyContactMechValueMap.contactMech"/> |
| <set field="partyContactMechPurposes" from-field="partyContactMechValueMap.partyContactMechPurposes"/> |
| <if-not-empty field="partyContactMechPurposes"> |
| <iterate list="partyContactMechPurposes" entry="partyContactMechPurpose"> |
| <if-compare-field field="partyContactMechPurpose.contactMechPurposeTypeId" operator="equals" to-field="parameters.contactMechPurposeTypeId" type="String"> |
| <if-compare-field field="partyContactMechPurpose.contactMechId" operator="equals" to-field="parameters.contactMechId" type="String"> |
| <set field="contactMechId" from-field="partyContactMechPurpose.contactMechId"/> |
| </if-compare-field> |
| </if-compare-field> |
| </iterate> |
| </if-not-empty> |
| </iterate> |
| </if-not-empty> |
| <if-empty field="contactMechId"> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosBillingOrShippingLocationMissing"/></add-error> |
| <check-errors/> |
| <else> |
| <call-object-method obj-field="webPosSession" method-name="getUserLogin" ret-field="userLogin"/> |
| <call-object-method obj-field="webPosSession" method-name="getDispatcher" ret-field="dispatcher"/> |
| <call-object-method obj-field="cart" method-name="setUserLogin"> |
| <field field="userLogin" type="org.apache.ofbiz.entity.GenericValue"/> |
| <field field="dispatcher" type="org.apache.ofbiz.service.LocalDispatcher"/> |
| </call-object-method> |
| <set field="contactMechPurposeTypeId" from-field="parameters.contactMechPurposeTypeId"/> |
| <call-object-method obj-field="cart" method-name="addContactMech"> |
| <field field="contactMechPurposeTypeId" type="String"/> |
| <field field="contactMechId" type="String"/> |
| </call-object-method> |
| <if-compare field="contactMechPurposeTypeId" operator="equals" value="SHIPPING_LOCATION"> |
| <call-object-method obj-field="cart" method-name="setShipToCustomerPartyId"> |
| <field field="partyId" type="String"/> |
| </call-object-method> |
| <else> |
| <call-object-method obj-field="cart" method-name="setBillToCustomerPartyId"> |
| <field field="partyId" type="String"/> |
| </call-object-method> |
| <call-object-method obj-field="cart" method-name="setPlacingCustomerPartyId"> |
| <field field="partyId" type="String"/> |
| </call-object-method> |
| </else> |
| </if-compare> |
| <call-object-method obj-field="webPosTransaction" method-name="calcTax"/> |
| <check-errors/> |
| </else> |
| </if-empty> |
| </if-not-empty> |
| <else> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> |
| <check-errors/> |
| </else> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="addCartItem" short-description="Add Cart Item" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/> |
| <check-errors/> |
| <call-class-method class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" method-name="addToCart"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="response" type="javax.servlet.http.HttpServletResponse"/> |
| </call-class-method> |
| <call-object-method obj-field="webPosTransaction" method-name="calcTax"/> |
| <check-errors/> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="updateCartItem" short-description="Update Cart Item" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/> |
| <check-errors/> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="cart"/> |
| <check-errors/> |
| <if-not-empty field="cart"> |
| <set field="cartLineIndex" from-field="parameters.cartLineIndex" type="Integer"/> |
| <call-object-method obj-field="cart" method-name="findCartItem" ret-field="cartItem"> |
| <field field="cartLineIndex" type="int"/> |
| </call-object-method> |
| <if-not-empty field="cartItem"> |
| <set field="quantity" from-field="parameters.quantity" type="BigDecimal"/> |
| <set field="dispatcher" from-field="parameters.dispatcher"/> |
| <set field="triggerExternalOps" value="true" type="Boolean"/> |
| <set field="resetShipGroup" value="true" type="Boolean"/> |
| <set field="updateProductPrice" value="false" type="Boolean"/> |
| <call-object-method obj-field="cartItem" method-name="setQuantity"> |
| <field field="quantity" type="BigDecimal"/> |
| <field field="dispatcher" type="org.apache.ofbiz.service.LocalDispatcher"/> |
| <field field="cart" type="org.apache.ofbiz.order.shoppingcart.ShoppingCart"/> |
| <field field="triggerExternalOps" type="boolean"/> |
| <field field="resetShipGroup" type="boolean"/> |
| <field field="updateProductPrice" type="boolean"/> |
| </call-object-method> |
| <call-object-method obj-field="webPosTransaction" method-name="calcTax"/> |
| <check-errors/> |
| </if-not-empty> |
| </if-not-empty> |
| <else> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> |
| <check-errors/> |
| </else> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="deleteCartItem" short-description="Delete Cart Item" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/> |
| <check-errors/> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="cart"/> |
| <check-errors/> |
| <if-not-empty field="cart"> |
| <set field="cartLineIndex" from-field="parameters.cartLineIndex" type="Integer"/> |
| <set field="dispatcher" from-field="parameters.dispatcher"/> |
| <call-object-method obj-field="cart" method-name="removeCartItem"> |
| <field field="cartLineIndex" type="int"/> |
| <field field="dispatcher" type="org.apache.ofbiz.service.LocalDispatcher"/> |
| </call-object-method> |
| <call-object-method obj-field="webPosTransaction" method-name="calcTax"/> |
| <check-errors/> |
| </if-not-empty> |
| <else> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> |
| <check-errors/> |
| </else> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="getProductAndPrice" short-description="Get Product And Price" login-required="true"> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| </entity-one> |
| <if-empty field="product"> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosCannotFindProduct"/></add-error> |
| <check-errors/> |
| <else> |
| <script>groovy: |
| webPosSession = org.apache.ofbiz.webpos.WebPosEvents.getWebPosSession(request, null); |
| if (webPosSession != null) { |
| parameters.put("webPosSession", webPosSession); |
| parameters.put("productStoreId", org.apache.ofbiz.product.store.ProductStoreWorker.getProductStoreId(request)); |
| parameters.put("catalogId", org.apache.ofbiz.product.catalog.CatalogWorker.getCurrentCatalogId(request)); |
| parameters.put("webSiteId", org.apache.ofbiz.webapp.website.WebSiteWorker.getWebSiteId(request)); |
| session = request.getSession(); |
| parameters.put("autoUserLogin", session.getAttribute("autoUserLogin")); |
| cart = webPosSession.getCart(); |
| if (cart != null) { |
| parameters.put("cart", cart); |
| parameters.put("currencyId", cart.getCurrency()); |
| parameters.put("agreementId", cart.getAgreementId()); |
| parameters.put("partyId", cart.getPartyId()); |
| } |
| } |
| </script> |
| <if-not-empty field="parameters.webPosSession"> |
| <if-not-empty field="parameters.cart"> |
| <set field="priceContext.product" from-field="product"/> |
| <set field="priceContext.prodCatalogId" from-field="parameters.catalogId"/> |
| <set field="priceContext.currencyUomId" from-field="parameters.currencyId"/> |
| <set field="priceContext.autoUserLogin" from-field="parameters.autoUserLogin"/> |
| <set field="priceContext.webSiteId" from-field="parameters.webSiteId"/> |
| <set field="priceContext.productStoreId" from-field="parameters.productStoreId"/> |
| <set field="priceContext.checkIncludeVat" value="Y"/> |
| <set field="priceContext.agreementId" from-field="parameters.agreementId"/> |
| <set field="priceContext.partyId" from-field="parameters.partyId"/> |
| <call-service service-name="calculateProductPrice" in-map-name="priceContext"> |
| <result-to-field result-name="price" field="price"/> |
| </call-service> |
| <field-to-request field="price" request-name="price"/> |
| <field-to-request field="parameters.currencyId" request-name="currencyUomId"/> |
| <field-to-request field="product" request-name="product"/> |
| </if-not-empty> |
| </if-not-empty> |
| </else> |
| </if-empty> |
| </simple-method> |
| |
| <simple-method method-name="getFormattedAmount" short-description="Get Formatted Amount" login-required="true"> |
| <set field="amount" from-field="parameters.amount" type="BigDecimal" default-value="0"/> |
| <set field="isoCode" from-field="parameters.currencyId" type="String"/> |
| <set field="maximumFractionDigits" value="2" type="Integer"/> |
| <call-class-method class-name="org.apache.ofbiz.base.util.UtilFormatOut" method-name="formatCurrency" ret-field="formattedAmount"> |
| <field field="amount" type="BigDecimal"/> |
| <field field="isoCode" type="String"/> |
| <field field="locale" type="Locale"/> |
| <field field="maximumFractionDigits" type="int"/> |
| </call-class-method> |
| <field-to-request field="formattedAmount" request-name="formattedAmount"/> |
| </simple-method> |
| |
| <simple-method method-name="getFormattedProductFeaturePrice" short-description="Get Formatted Product Feature Price" login-required="true"> |
| <entity-and entity-name="ProductFeaturePrice" list="productFeaturePrices" filter-by-date="true"> |
| <field-map field-name="productFeatureId" from-field="parameters.productFeatureId"/> |
| <field-map field-name="productPriceTypeId" from-field="parameters.productPriceTypeId"/> |
| <field-map field-name="currencyUomId" from-field="parameters.currencyUomId"/> |
| </entity-and> |
| <if-not-empty field="productFeaturePrices"> |
| <first-from-list list="productFeaturePrices" entry="productFeaturePrice"/> |
| <set field="amount" from-field="productFeaturePrice.price" type="BigDecimal" default-value="0"/> |
| <set field="isoCode" from-field="productFeaturePrice.currencyUomId" type="String"/> |
| <set field="maximumFractionDigits" value="2" type="Integer"/> |
| <call-class-method class-name="org.apache.ofbiz.base.util.UtilFormatOut" method-name="formatCurrency" ret-field="formattedFeaturePrice"> |
| <field field="amount" type="BigDecimal"/> |
| <field field="isoCode" type="String"/> |
| <field field="locale" type="Locale"/> |
| <field field="maximumFractionDigits" type="int"/> |
| </call-class-method> |
| <field-to-request field="formattedFeaturePrice" request-name="formattedFeaturePrice"/> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="removeSalesRep" short-description="Remove Sales Rep from cart" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="cart"/> |
| <check-errors/> |
| <if-not-empty field="cart"> |
| <call-object-method obj-field="cart" method-name="getAdditionalPartyRoleMap" ret-field="partyRoles"/> |
| <check-errors/> |
| <set field="roleTypeId" value="SALES_REP"/> |
| <call-object-method obj-field="partyRoles" method-name="get" ret-field="partyRole"> |
| <field field="roleTypeId" type="Object"/> |
| </call-object-method> |
| <check-errors/> |
| <call-object-method obj-field="partyRole" method-name="size" ret-field="partyRoleSize"/> |
| <check-errors/> |
| <if-compare field="partyRoleSize" operator="less-equals" value="1" type="Integer"> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosSelectOneSalesRep"/></add-error> |
| <check-errors/> |
| <else> |
| <set field="partyId" from-field="parameters.partyId"/> |
| <set field="roleTypeId" value="SALES_REP"/> |
| <call-object-method obj-field="cart" method-name="removeAdditionalPartyRole"> |
| <field field="partyId" type="String"/> |
| <field field="roleTypeId" type="String"/> |
| </call-object-method> |
| </else> |
| </if-compare> |
| </if-not-empty> |
| <else> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> |
| <check-errors/> |
| </else> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="addSalesRep" short-description="Add Sales Rep to cart" login-required="true"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="cart"/> |
| <check-errors/> |
| <if-not-empty field="cart"> |
| <set field="partyId" from-field="parameters.partyId"/> |
| <set field="roleTypeId" value="SALES_REP"/> |
| <call-object-method obj-field="cart" method-name="addAdditionalPartyRole"> |
| <field field="partyId" type="String"/> |
| <field field="roleTypeId" type="String"/> |
| </call-object-method> |
| </if-not-empty> |
| <else> |
| <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> |
| <check-errors/> |
| </else> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="getShipMethods" short-description="Get shipping methods" login-required="false"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="shoppingCart"/> |
| <check-errors/> |
| <set field="dispatcher" from-field="parameters.dispatcher" type="Object"/> |
| <script>groovy: |
| import org.apache.ofbiz.order.shoppingcart.shipping.ShippingEstimateWrapper; |
| shippingEstWpr = ShippingEstimateWrapper.getWrapper(dispatcher, shoppingCart, 0); |
| parameters.put("shippingEstWpr", shippingEstWpr); |
| </script> |
| <set field="shippingEstWpr" from-field="parameters.shippingEstWpr"/> |
| <call-object-method obj-field="shippingEstWpr" method-name="getShippingMethods" ret-field="carrierShipmentMethodList"/> |
| <call-object-method obj-field="shoppingCart" method-name="getShipmentMethodTypeId" ret-field="shipmentMethodTypeId"/> |
| <call-object-method obj-field="shoppingCart" method-name="getCarrierPartyId" ret-field="carrierPartyId"/> |
| <call-object-method obj-field="shoppingCart" method-name="getCurrency" ret-field="currency"/> |
| <if-not-empty field="shipmentMethodTypeId"> |
| <if-not-empty field="carrierPartyId"> |
| <set field="chosenShippingMethod" value="${shipmentMethodTypeId}@${carrierPartyId}"/> |
| </if-not-empty> |
| </if-not-empty> |
| <iterate list="carrierShipmentMethodList" entry="carrierShipmentMethod"> |
| <call-object-method obj-field="shippingEstWpr" method-name="getShippingEstimate" ret-field="shippingEst"> |
| <field field="carrierShipmentMethod" type="org.apache.ofbiz.entity.GenericValue"/> |
| </call-object-method> |
| <if-empty field="shippingEst"> |
| <set field="shippingEst" value="-1" type="Integer"/> |
| </if-empty> |
| <set field="negValue" value="-1" type="Integer"/> |
| <set field="shippingMethod" value="${carrierShipmentMethod.shipmentMethodTypeId}@${carrierShipmentMethod.partyId}"/> |
| <if-compare-field field="shippingEst" operator="greater" to-field="negValue"> |
| <set field="shippingDesc" value="${carrierShipmentMethod.partyId} ${carrierShipmentMethod.description} - ${shippingEst?currency(${currency})}"/> |
| <else> |
| <set field="shippingDesc" value="${carrierShipmentMethod.partyId} ${carrierShipmentMethod.description} - ${uiLabelMap.OrderCalculatedOffline}"/> |
| </else> |
| </if-compare-field> |
| <set field="shippingOptionMap.shippingMethod" from-field="shippingMethod"/> |
| <set field="shippingOptionMap.shippingDesc" from-field="shippingDesc"/> |
| <if-not-empty field="carrierShipmentMethod.productStoreShipMethId"> |
| <set field="shippingOptionMap.productStoreShipMethId" from-field="carrierShipmentMethod.productStoreShipMethId"/> |
| </if-not-empty> |
| <field-to-list field="shippingOptionMap" list="shippingOptions"/> |
| <clear-field field="shippingOptionMap"/> |
| </iterate> |
| <set field="parameters.shippingOptions" from-field="shippingOptions"/> |
| <field-to-request field="parameters.shippingOptions" request-name="shippingOptions"/> |
| </if-not-empty> |
| </simple-method> |
| |
| <simple-method method-name="setShipMethod" short-description="Set ship method" login-required="false"> |
| <clear-field field="posTerminalId"/> |
| <call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="posTerminalId" type="String"/> |
| </call-class-method> |
| <if-not-empty field="webPosSession"> |
| <call-object-method obj-field="webPosSession" method-name="getCart" ret-field="shoppingCart"/> |
| <check-errors/> |
| <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/> |
| <check-errors/> |
| <script>groovy: |
| shippingMethod = parameters.get("shipMethod"); |
| if(shippingMethod != null) { |
| shipmentMethodTypeId = shippingMethod.substring(0, shippingMethod.indexOf("@")); |
| if (shippingMethod.indexOf(":") != -1) { |
| carrierPartyId = shippingMethod.substring(shippingMethod.indexOf("@")+1, shippingMethod.indexOf(":")); |
| productStoreShipMethId = shippingMethod.substring(shippingMethod.indexOf(":")+1); |
| parameters.put("productStoreShipMethId", productStoreShipMethId); |
| } else { |
| carrierPartyId = shippingMethod.substring(shippingMethod.indexOf("@")+1); |
| } |
| parameters.put("shipmentMethodTypeId", shipmentMethodTypeId); |
| parameters.put("carrierPartyId", carrierPartyId); |
| } |
| </script> |
| <set field="shipmentMethodTypeId" from-field="parameters.shipmentMethodTypeId"/> |
| <set field="carrierPartyId" from-field="parameters.carrierPartyId"/> |
| <set field="productStoreShipMethId" from-field="parameters.productStoreShipMethId"/> |
| <entity-one entity-name="CarrierAndShipmentMethod" value-field="shipmentMethod"> |
| <field-map field-name="shipmentMethodTypeId" from-field="shipmentMethodTypeId"/> |
| <field-map field-name="partyId" from-field="carrierPartyId"/> |
| <field-map field-name="roleTypeId" value="CARRIER"/> |
| </entity-one> |
| <field-to-request field="shipmentMethod.description" request-name="shippingDescription"/> |
| <call-object-method obj-field="shoppingCart" method-name="setAllShipmentMethodTypeId"> |
| <field field="shipmentMethodTypeId"/> |
| </call-object-method> |
| <call-object-method obj-field="shoppingCart" method-name="setAllCarrierPartyId"> |
| <field field="carrierPartyId"/> |
| </call-object-method> |
| <call-object-method obj-field="shoppingCart" method-name="setAllProductStoreShipMethId"> |
| <field field="productStoreShipMethId"/> |
| </call-object-method> |
| <call-object-method obj-field="shoppingCart" method-name="getCurrency" ret-field="isoCode"/> |
| <set field="dispatcher" from-field="parameters.dispatcher" type="Object"/> |
| <set field="delegator" from-field="parameters.delegator" type="Object"/> |
| <set field="locale" from-field="parameters.locale" type="Object"/> |
| <script>groovy: |
| Map shipCost = org.apache.ofbiz.order.shoppingcart.shipping.ShippingEvents.getShipGroupEstimate(dispatcher, delegator, shoppingCart, 0); |
| shippingTotal = shipCost.get("shippingTotal"); |
| if (shippingTotal == null) { |
| shippingTotal = BigDecimal.ZERO; |
| } |
| shoppingCart.setItemShipGroupEstimate(shippingTotal, 0); |
| parameters.put("shippingTotal", org.apache.ofbiz.base.util.UtilFormatOut.formatCurrency(shippingTotal, isoCode, locale)); |
| |
| // Calculate and add the tax adjustments |
| webPosTransaction.calcTax(); |
| |
| salesTax = shoppingCart.getTotalSalesTax(); |
| totalSalesTax = org.apache.ofbiz.base.util.UtilFormatOut.formatCurrency(salesTax, isoCode, locale); |
| parameters.put("totalSalesTax", totalSalesTax); |
| |
| cartGrandTotal = org.apache.ofbiz.base.util.UtilFormatOut.formatCurrency(shoppingCart.getGrandTotal(), isoCode, locale); |
| parameters.put("cartGrandTotal", cartGrandTotal); |
| </script> |
| <call-class-method method-name="doPromotions" class-name="org.apache.ofbiz.order.shoppingcart.product.ProductPromoWorker"> |
| <field field="shoppingCart" type="org.apache.ofbiz.order.shoppingcart.ShoppingCart"/> |
| <field field="dispatcher" type="org.apache.ofbiz.service.LocalDispatcher"/> |
| </call-class-method> |
| <field-to-request field="parameters.shippingTotal" request-name="shippingTotal"/> |
| <field-to-request field="parameters.cartGrandTotal" request-name="cartGrandTotal"/> |
| <field-to-request field="parameters.totalSalesTax" request-name="totalSalesTax"/> |
| </if-not-empty> |
| </simple-method> |
| </simple-methods> |