You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mr...@apache.org on 2011/05/22 15:11:21 UTC
svn commit: r1125951 [2/9] - in /ofbiz/trunk: applications/order/config/
applications/order/src/org/ofbiz/order/shoppingcart/
applications/order/webapp/ordermgr/WEB-INF/actions/order/
applications/order/widget/ordermgr/ framework/base/src/org/ofbiz/bas...
Added: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml?rev=1125951&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml (added)
+++ ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml Sun May 22 13:11:17 2011
@@ -0,0 +1,467 @@
+<?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" xsi:noNamespaceSchemaLocation="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.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.ofbiz.party.contact.ContactMechWorker" method-name="getPartyContactMechValueMaps" ret-field="partyContactMechValueMaps">
+ <field field="delegator" type="org.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.ofbiz.entity.GenericValue"/>
+ <field field="dispatcher" type="org.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.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.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.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.ofbiz.service.LocalDispatcher"/>
+ <field field="cart" type="org.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.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.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>
+ <call-bsh>
+ <![CDATA[
+ webPosSession = org.ofbiz.webpos.WebPosEvents.getWebPosSession(request, null);
+ if (webPosSession != null) {
+ parameters.put("webPosSession", webPosSession);
+ parameters.put("productStoreId", org.ofbiz.product.store.ProductStoreWorker.getProductStoreId(request));
+ parameters.put("catalogId", org.ofbiz.product.catalog.CatalogWorker.getCurrentCatalogId(request));
+ parameters.put("webSiteId", org.ofbiz.product.catalog.CatalogWorker.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());
+ }
+ }
+ ]]>
+ </call-bsh>
+ <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.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 entry="productFeaturePrice" list="productFeaturePrices"/>
+ <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.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.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.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.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"/>
+ <call-bsh>
+ <![CDATA[
+ import org.ofbiz.order.shoppingcart.shipping.ShippingEstimateWrapper;
+ shippingEstWpr = ShippingEstimateWrapper.getWrapper(dispatcher, shoppingCart, 0);
+ parameters.put("shippingEstWpr", shippingEstWpr);
+ ]]>
+ </call-bsh>
+ <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.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.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/>
+ <call-bsh>
+ <![CDATA[
+ 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);
+ }
+ ]]>
+ </call-bsh>
+ <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="setShipmentMethodTypeId">
+ <field field="shipmentMethodTypeId"/>
+ </call-object-method>
+ <call-object-method obj-field="shoppingCart" method-name="setCarrierPartyId">
+ <field field="carrierPartyId"/>
+ </call-object-method>
+ <call-object-method obj-field="shoppingCart" method-name="setProductStoreShipMethId">
+ <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"/>
+ <call-bsh>
+ <![CDATA[
+ Map shipCost = org.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.ofbiz.base.util.UtilFormatOut.formatCurrency(shippingTotal, isoCode, locale));
+
+ // Calculate and add the tax adjustments
+ webPosTransaction.calcTax();
+
+ salesTax = shoppingCart.getTotalSalesTax();
+ totalSalesTax = org.ofbiz.base.util.UtilFormatOut.formatCurrency(salesTax, isoCode, locale);
+ parameters.put("totalSalesTax", totalSalesTax);
+
+ cartGrandTotal = org.ofbiz.base.util.UtilFormatOut.formatCurrency(shoppingCart.getGrandTotal(), isoCode, locale);
+ parameters.put("cartGrandTotal", cartGrandTotal);
+ ]]>
+ </call-bsh>
+ <call-class-method method-name="doPromotions" class-name="org.ofbiz.order.shoppingcart.product.ProductPromoWorker">
+ <field field="shoppingCart" type="org.ofbiz.order.shoppingcart.ShoppingCart"/>
+ <field field="dispatcher" type="org.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>
\ No newline at end of file
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CartEvents.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml?rev=1125951&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml (added)
+++ ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml Sun May 22 13:11:17 2011
@@ -0,0 +1,37 @@
+<?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" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+ <simple-method method-name="createUpdateAddress" short-description="Create/Update party address" login-required="true">
+ <set-service-fields service-name="createUpdatePerson" map="parameters" to-map="createUpdatePersonMap"/>
+ <call-service service-name="createUpdatePerson" in-map-name="createUpdatePersonMap">
+ <result-to-field result-name="partyId" field="parameters.partyId"/>
+ </call-service>
+ <if-empty field="parameters.contactMechId">
+ <set-service-fields service-name="createPostalAddressAndPurposes" map="parameters" to-map="createPostalAddressAndPurposesMap"/>
+ <call-service service-name="createPostalAddressAndPurposes" in-map-name="createPostalAddressAndPurposesMap">
+ <result-to-field result-name="contactMechId" field="parameters.contactMechId"/>
+ </call-service>
+ <else>
+ <set-service-fields service-name="updatePostalAddressAndPurposes" map="parameters" to-map="updatePostalAddressAndPurposesMap"/>
+ <call-service service-name="updatePostalAddressAndPurposes" in-map-name="updatePostalAddressAndPurposesMap"/>
+ </else>
+ </if-empty>
+ </simple-method>
+</simple-methods>
\ No newline at end of file
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/CustomerEvents.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/ManagerEvents.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/ManagerEvents.xml?rev=1125951&r1=1125950&r2=1125951&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/ManagerEvents.xml (original)
+++ ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/ManagerEvents.xml Sun May 22 13:11:17 2011
@@ -19,243 +19,223 @@ under the License.
-->
<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
<simple-method method-name="openTerminal" short-description="Open Terminal" login-required="true">
- <if-not-empty field="parameters.confirm">
- <set field="posTerminalId" value="null"/>
- <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
- <if-compare field="mgrLoggedIn" operator="equals" value="true" type="String">
- <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
- <check-errors/>
- <call-object-method obj-field="webPosTransaction" method-name="isOpen" ret-field="isOpen"/>
- <if-compare field="isOpen" operator="equals" value="false">
- <set field="startingDrawerAmount" from-field="parameters.startingDrawerAmount" type="String"/>
- <set field="allowNegative" value="false" type="Boolean"/>
- <set field="allowPositive" value="true" type="Boolean"/>
- <set field="minDecimal" value="0" type="Integer"/>
- <set field="maxDecimal" value="3" type="Integer"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="startingDrawerAmount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
- </call-class-method>
- <if-compare field="isDouble" operator="equals" value="true">
- <make-value value-field="terminalState" entity-name="PosTerminalState"/>
- <call-object-method obj-field="webPosSession" method-name="getId" ret-field="terminalState.posTerminalId"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilDateTime" method-name="nowTimestamp" ret-field="terminalState.openedDate"/>
- <call-object-method obj-field="webPosSession" method-name="getUserLoginId" ret-field="terminalState.openedByUserLoginId"/>
- <call-object-method obj-field="webPosTransaction" method-name="getTransactionId" ret-field="terminalState.startingTxId"/>
- <set from-field="parameters.startingDrawerAmount" field="terminalState.startingDrawerAmount"/>
- <create-value value-field="terminalState"/>
- <check-errors/>
- <log level="info" message="Created PosTerminalState ${terminalState.startingTxId}"/>
- <else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerOpenTerminalDrawingAmountNotValid"/></add-error>
- <check-errors/>
- </else>
- </if-compare>
+ <clear-field field="posTerminalId"/>
+ <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
+ <if-compare field="mgrLoggedIn" operator="equals" value="true" type="String">
+ <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
+ <check-errors/>
+ <call-object-method obj-field="webPosTransaction" method-name="isOpen" ret-field="isOpen"/>
+ <if-compare field="isOpen" operator="equals" value="false">
+ <set field="startingDrawerAmountStr" from-field="parameters.startingDrawerAmount" type="String"/>
+ <log message="startingDrawerAmountStr: ${startingDrawerAmountStr}" level="always"/>
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="startingDrawerAmount">
+ <field field="startingDrawerAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
+ </call-class-method>
+ <if-not-empty field="startingDrawerAmount">
+ <make-value value-field="terminalState" entity-name="PosTerminalState"/>
+ <call-object-method obj-field="webPosSession" method-name="getId" ret-field="terminalState.posTerminalId"/>
+ <call-class-method class-name="org.ofbiz.base.util.UtilDateTime" method-name="nowTimestamp" ret-field="terminalState.openedDate"/>
+ <call-object-method obj-field="webPosSession" method-name="getUserLoginId" ret-field="terminalState.openedByUserLoginId"/>
+ <call-object-method obj-field="webPosTransaction" method-name="getTransactionId" ret-field="terminalState.startingTxId"/>
+ <set from-field="startingDrawerAmount" field="terminalState.startingDrawerAmount" type="BigDecimal"/>
+ <create-value value-field="terminalState"/>
+ <check-errors/>
+ <log level="info" message="Created PosTerminalState ${terminalState.startingTxId}"/>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerTerminalAlreadyOpened"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerOpenTerminalDrawingAmountNotValid"/></add-error>
<check-errors/>
</else>
- </if-compare>
+ </if-not-empty>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerTerminalAlreadyOpened"/></add-error>
<check-errors/>
</else>
</if-compare>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
<check-errors/>
</else>
- </if-not-empty>
+ </if-compare>
+ <else>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <check-errors/>
+ </else>
</if-not-empty>
</simple-method>
-
+
<simple-method method-name="closeTerminal" short-description="Close Terminal" login-required="true">
- <if-not-empty field="parameters.confirm">
- <set field="posTerminalId" value="null"/>
- <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
- <if-compare field="mgrLoggedIn" operator="equals" value="true">
- <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
- <check-errors/>
- <call-object-method obj-field="webPosTransaction" method-name="getTerminalState" ret-field="terminalState"/>
- <if-not-empty field="terminalState">
- <set field="amount" from-field="parameters.endingDrawerCashAmount" type="String"/>
- <set field="allowNegative" value="false" type="Boolean"/>
- <set field="allowPositive" value="true" type="Boolean"/>
- <set field="minDecimal" value="0" type="Integer"/>
- <set field="maxDecimal" value="3" type="Integer"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
+ <clear-field field="posTerminalId"/>
+ <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
+ <if-compare field="mgrLoggedIn" operator="equals" value="true">
+ <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
+ <check-errors/>
+ <call-object-method obj-field="webPosTransaction" method-name="getTerminalState" ret-field="terminalState"/>
+ <if-not-empty field="terminalState">
+ <set field="endingDrawerCashAmountStr" from-field="parameters.endingDrawerCashAmount" type="String"/>
+ <if-not-empty field="endingDrawerCashAmountStr">
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="endingDrawerCashAmount">
+ <field field="endingDrawerCashAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-compare field="isDouble" operator="equals" value="false">
+ <if-empty field="endingDrawerCashAmount">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerCloseTerminalCashAmountNotValid"/></add-error>
<check-errors/>
- </if-compare>
- <set field="amount" from-field="parameters.endingDrawerCheckAmount" type="String"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
+ </if-empty>
+ </if-not-empty>
+ <set field="endingDrawerCheckAmountStr" from-field="parameters.endingDrawerCheckAmount" type="String"/>
+ <if-not-empty field="endingDrawerCheckAmountStr">
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="endingDrawerCheckAmount">
+ <field field="endingDrawerCheckAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-compare field="isDouble" operator="equals" value="false">
+ <if-empty field="endingDrawerCheckAmount">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerCloseTerminalCheckAmountNotValid"/></add-error>
<check-errors/>
- </if-compare>
- <set field="amount" from-field="parameters.endingDrawerCcAmount" type="String"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
+ </if-empty>
+ </if-not-empty>
+ <set field="endingDrawerCcAmountStr" from-field="parameters.endingDrawerCcAmount" type="String"/>
+ <if-not-empty field="endingDrawerCcAmountStr">
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="endingDrawerCcAmount">
+ <field field="endingDrawerCcAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-compare field="isDouble" operator="equals" value="false">
+ <if-empty field="endingDrawerCcAmount">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerCloseTerminalCcAmountNotValid"/></add-error>
<check-errors/>
- </if-compare>
- <set field="amount" from-field="parameters.endingDrawerGcAmount" type="String"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
+ </if-empty>
+ </if-not-empty>
+ <set field="endingDrawerGcAmountStr" from-field="parameters.endingDrawerGcAmount" type="String"/>
+ <if-not-empty field="endingDrawerGcAmountStr">
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="endingDrawerGcAmount">
+ <field field="endingDrawerGcAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-compare field="isDouble" operator="equals" value="false">
+ <if-empty field="endingDrawerGcAmount">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerCloseTerminalGcAmounNotValidt"/></add-error>
<check-errors/>
- </if-compare>
- <set field="amount" from-field="parameters.endingDrawerOtherAmount" type="String"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
+ </if-empty>
+ </if-not-empty>
+ <set field="endingDrawerOtherAmountStr" from-field="parameters.endingDrawerOtherAmount" type="String"/>
+ <if-not-empty field="endingDrawerOtherAmountStr">
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="endingDrawerOtherAmount">
+ <field field="endingDrawerOtherAmountStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-compare field="isDouble" operator="equals" value="false">
+ <if-empty field="endingDrawerOtherAmount">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerCloseTerminalOtherAmountNotValid"/></add-error>
<check-errors/>
- </if-compare>
- <call-object-method obj-field="webPosSession" method-name="getUserLoginId" ret-field="terminalState.closedByUserLoginId"/>
- <set from-field="parameters.endingDrawerCashAmount" field="terminalState.actualEndingCash"/>
- <set from-field="parameters.endingDrawerCheckAmount" field="terminalState.actualEndingCheck"/>
- <set from-field="parameters.endingDrawerCcAmount" field="terminalState.actualEndingCc"/>
- <set from-field="parameters.endingDrawerGcAmount" field="terminalState.actualEndingGc"/>
- <set from-field="parameters.endingDrawerOtherAmount" field="terminalState.actualEndingOther"/>
- <call-object-method obj-field="webPosTransaction" method-name="getTransactionId" ret-field="terminalState.endingTxId"/>
- <store-value value-field="terminalState"/>
- <check-errors/>
- <log level="info" message="Close PosTerminalState ${terminalState.endingTxId}"/>
- <else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerTerminalAlreadyClosed"/></add-error>
- <check-errors/>
- </else>
+ </if-empty>
</if-not-empty>
+ <call-object-method obj-field="webPosSession" method-name="getUserLoginId" ret-field="terminalState.closedByUserLoginId"/>
+ <set field="terminalState.actualEndingCash" from-field="endingDrawerCashAmount" type="BigDecimal"/>
+ <set field="terminalState.actualEndingCheck" from-field="endingDrawerCheckAmount" type="BigDecimal"/>
+ <set field="terminalState.actualEndingCc" from-field="endingDrawerCcAmount" type="BigDecimal"/>
+ <set field="terminalState.actualEndingGc" from-field="endingDrawerGcAmount" type="BigDecimal"/>
+ <set field="terminalState.actualEndingOther" from-field="endingDrawerOtherAmount" type="BigDecimal"/>
+ <call-class-method class-name="org.ofbiz.base.util.UtilDateTime" method-name="nowTimestamp" ret-field="terminalState.closedDate"/>
+ <call-object-method obj-field="webPosTransaction" method-name="getTransactionId" ret-field="terminalState.endingTxId"/>
+ <store-value value-field="terminalState"/>
+ <check-errors/>
+ <log level="info" message="Close PosTerminalState ${terminalState.endingTxId}"/>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerTerminalAlreadyClosed"/></add-error>
<check-errors/>
</else>
- </if-compare>
+ </if-not-empty>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
<check-errors/>
</else>
- </if-not-empty>
- <!-- // TODO: missing to call the printTotals and SyncCallbackAdaptor and SecurityEvents.logout(pos) -->
+ </if-compare>
+ <else>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <check-errors/>
+ </else>
</if-not-empty>
+ <!-- // TODO: missing to call the printTotals and SyncCallbackAdaptor and SecurityEvents.logout(pos) -->
</simple-method>
-
+
<simple-method method-name="voidOrder" short-description="Void Order" login-required="true">
- <if-not-empty field="parameters.confirm">
- <set field="posTerminalId" value="null"/>
- <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
- <if-compare field="mgrLoggedIn" operator="equals" value="true">
- <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
- <check-errors/>
- <call-object-method obj-field="webPosTransaction" method-name="getTerminalState" ret-field="terminalState"/>
- <if-not-empty field="terminalState">
- <set field="fieldName" value="openedDate" type="String"/>
- <call-object-method obj-field="terminalState" method-name="getTimestamp" ret-field="openDate">
+ <clear-field field="posTerminalId"/>
+ <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
+ <if-compare field="mgrLoggedIn" operator="equals" value="true">
+ <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
+ <check-errors/>
+ <call-object-method obj-field="webPosTransaction" method-name="getTerminalState" ret-field="terminalState"/>
+ <if-not-empty field="terminalState">
+ <set field="fieldName" value="openedDate" type="String"/>
+ <call-object-method obj-field="terminalState" method-name="getTimestamp" ret-field="openDate">
+ <field field="fieldName" type="String"/>
+ </call-object-method>
+ <entity-one entity-name="OrderHeader" value-field="orderHeader">
+ <field-map field-name="orderId" from-field="parameters.orderId"/>
+ </entity-one>
+ <if-not-empty field="orderHeader">
+ <set field="fieldName" value="orderDate" type="String"/>
+ <call-object-method obj-field="orderHeader" method-name="getTimestamp" ret-field="orderDate">
<field field="fieldName" type="String"/>
</call-object-method>
- <entity-one entity-name="OrderHeader" value-field="orderHeader">
- <field-map field-name="orderId" from-field="parameters.orderId"/>
- </entity-one>
- <if-not-empty field="orderHeader">
- <set field="fieldName" value="orderDate" type="String"/>
- <call-object-method obj-field="orderHeader" method-name="getTimestamp" ret-field="orderDate">
- <field field="fieldName" type="String"/>
- </call-object-method>
- <call-object-method obj-field="orderDate" method-name="after" ret-field="isAfter">
- <field field="openDate" type="Timestamp"/>
+ <call-object-method obj-field="orderDate" method-name="after" ret-field="isAfter">
+ <field field="openDate" type="Timestamp"/>
+ </call-object-method>
+ <if-compare field="isAfter" operator="equals" value="true">
+ <call-object-method obj-field="webPosSession" method-name="getDispatcher" ret-field="dispatcher"/>
+ <set field="returnOrder.orderId" from-field="parameters.orderId"/>
+ <set field="returnOrder.returnHeaderTypeId" value="CUSTOMER_RETURN"/>
+ <call-object-method obj-field="webPosSession" method-name="getUserLogin" ret-field="returnOrder.userLogin"/>
+ <set field="serviceName" value="quickReturnOrder"/>
+ <call-object-method obj-field="dispatcher" method-name="runSync" ret-field="returnResp">
+ <field field="serviceName" type="String"/>
+ <field field="returnOrder" type="java.util.Map"/>
</call-object-method>
- <if-compare field="isAfter" operator="equals" value="true">
- <call-object-method obj-field="webPosSession" method-name="getDispatcher" ret-field="dispatcher"/>
- <set field="returnOrder.orderId" from-field="parameters.orderId"/>
- <set field="returnOrder.returnHeaderTypeId" value="CUSTOMER_RETURN"/>
- <call-object-method obj-field="webPosSession" method-name="getUserLogin" ret-field="returnOrder.userLogin"/>
- <set field="serviceName" value="quickReturnOrder"/>
- <call-object-method obj-field="dispatcher" method-name="runSync" ret-field="returnResp">
- <field field="serviceName" type="String"/>
- <field field="returnOrder" type="java.util.Map"/>
- </call-object-method>
- <check-errors/>
- <log level="info" message="Void order ${returnResp}"/>
- <else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderNotValidDate"/></add-error>
- <check-errors/>
- </else>
- </if-compare>
+ <check-errors/>
+ <log level="info" message="Void order ${returnResp}"/>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderNotValidOrderId"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderNotValidDate"/></add-error>
<check-errors/>
</else>
- </if-not-empty>
+ </if-compare>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderTerminalNotOpened"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderNotValidOrderId"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerVoidOrderTerminalNotOpened"/></add-error>
<check-errors/>
</else>
- </if-compare>
+ </if-not-empty>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
<check-errors/>
</else>
- </if-not-empty>
- <!-- // TODO: print void receipt -->
+ </if-compare>
+ <else>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <check-errors/>
+ </else>
</if-not-empty>
+ <!-- // TODO: print void receipt -->
</simple-method>
-
+
<simple-method method-name="shutdown" short-description="Shutdown" login-required="true">
- <set field="posTerminalId" value="null"/>
+ <clear-field field="posTerminalId"/>
<call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession">
<field field="request" type="javax.servlet.http.HttpServletRequest"/>
<field field="posTerminalId" type="String"/>
@@ -276,110 +256,96 @@ under the License.
</else>
</if-not-empty>
</simple-method>
-
+
<simple-method method-name="paidOutAndIn" short-description="Paid Out and In" login-required="true">
- <if-not-empty field="parameters.confirm">
- <set field="posTerminalId" value="null"/>
- <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
- <if-compare field="mgrLoggedIn" operator="equals" value="true">
- <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
- <check-errors/>
- <call-object-method obj-field="webPosTransaction" method-name="isOpen" ret-field="isOpen"/>
- <check-errors/>
- <if-compare field="isOpen" operator="equals" value="true">
- <set field="amount" from-field="parameters.amountInOut" type="String"/>
- <set field="allowNegative" value="false" type="Boolean"/>
- <set field="allowPositive" value="true" type="Boolean"/>
- <set field="minDecimal" value="0" type="Integer"/>
- <set field="maxDecimal" value="3" type="Integer"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
- </call-class-method>
- <if-compare field="isDouble" operator="equals" value="true">
- <make-value value-field="internTx" entity-name="PosTerminalInternTx"/>
- <call-object-method obj-field="webPosTransaction" method-name="getTerminalLogId" ret-field="internTx.posTerminalLogId"/>
- <set field="internTx.paidAmount" from-field="parameters.amountInOut"/>
- <set field="internTx.reasonComment" from-field="parameters.reasonCommentInOut"/>
- <set field="internTx.reasonEnumId" from-field="parameters.reasonInOut"/>
- <create-value value-field="internTx"/>
- <set from-field="parameters.type" field="paidInOut"/>
- <call-object-method obj-field="webPosTransaction" method-name="paidInOut">
- <field field="paidInOut" type="String"/>
- </call-object-method>
+ <clear-field field="posTerminalId"/>
+ <call-class-method class-name="org.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="isManagerLoggedIn" ret-field="mgrLoggedIn"/>
+ <if-compare field="mgrLoggedIn" operator="equals" value="true">
+ <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
+ <check-errors/>
+ <call-object-method obj-field="webPosTransaction" method-name="isOpen" ret-field="isOpen"/>
+ <check-errors/>
+ <if-compare field="isOpen" operator="equals" value="true">
+ <set field="amountInOutStr" from-field="parameters.amountInOut" type="String"/>
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="amountInOut">
+ <field field="amountInOutStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
+ </call-class-method>
+ <if-not-empty field="amountInOut">
+ <make-value value-field="internTx" entity-name="PosTerminalInternTx"/>
+ <call-object-method obj-field="webPosTransaction" method-name="getTerminalLogId" ret-field="internTx.posTerminalLogId"/>
+ <set field="internTx.paidAmount" from-field="amountInOut" type="BigDecimal"/>
+ <set field="internTx.reasonComment" from-field="parameters.reasonCommentInOut"/>
+ <if-compare field="parameters.type" operator="equals" value="IN">
+ <set field="internTx.reasonEnumId" from-field="parameters.reasonIn"/>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerPaidOutAndIndAmountNotValid"/></add-error>
- <check-errors/>
+ <set field="internTx.reasonEnumId" from-field="parameters.reasonOut"/>
</else>
</if-compare>
+ <create-value value-field="internTx"/>
+ <set from-field="parameters.type" field="paidInOut"/>
+ <call-object-method obj-field="webPosTransaction" method-name="paidInOut">
+ <field field="paidInOut" type="String"/>
+ </call-object-method>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerPaidOutAndInWithoutOpenedTransaction"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerPaidOutAndIndAmountNotValid"/></add-error>
<check-errors/>
</else>
- </if-compare>
+ </if-not-empty>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerPaidOutAndInWithoutOpenedTransaction"/></add-error>
<check-errors/>
</else>
</if-compare>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotManagerLoggedIn"/></add-error>
<check-errors/>
</else>
- </if-not-empty>
+ </if-compare>
+ <else>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <check-errors/>
+ </else>
</if-not-empty>
</simple-method>
-
+
<simple-method method-name="modifyPrice" short-description="Modify Price" login-required="true">
- <if-not-empty field="parameters.confirm">
- <set field="posTerminalId" value="null"/>
- <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field="webPosSession">
- <field field="request" type="javax.servlet.http.HttpServletRequest"/>
- <field field="posTerminalId" type="String"/>
+ <clear-field field="posTerminalId"/>
+ <call-class-method class-name="org.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/>
+ <set field="priceStr" from-field="parameters.price" type="String"/>
+ <call-class-method class-name="org.ofbiz.base.util.UtilNumber" method-name="stringToBigDecimal" ret-field="price">
+ <field field="priceStr" type="String"/>
+ <field field="locale" type="java.util.Locale"/>
</call-class-method>
- <if-not-empty field="webPosSession">
- <call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
+ <if-not-empty field="price">
+ <set field="cartLineIdx" from-field="parameters.cartLineIdx" type="Integer"/>
+ <call-object-method obj-field="webPosTransaction" method-name="modifyPrice">
+ <field field="cartLineIdx" type="int"/>
+ <field field="price" type="BigDecimal"/>
+ </call-object-method>
+ <check-errors/>
+ <call-object-method obj-field="webPosTransaction" method-name="calcTax"/>
<check-errors/>
- <set field="amount" from-field="parameters.price" type="String"/>
- <set field="allowNegative" value="false" type="Boolean"/>
- <set field="allowPositive" value="true" type="Boolean"/>
- <set field="minDecimal" value="0" type="Integer"/>
- <set field="maxDecimal" value="3" type="Integer"/>
- <call-class-method class-name="org.ofbiz.base.util.UtilValidate" method-name="isDouble" ret-field="isDouble">
- <field field="amount" type="String"/>
- <field field="allowNegative" type="boolean"/>
- <field field="allowPositive" type="boolean"/>
- <field field="minDecimal" type="int"/>
- <field field="maxDecimal" type="int"/>
- </call-class-method>
- <if-compare field="isDouble" operator="equals" value="true">
- <set from-field="parameters.sku" field="sku" type="String"/>
- <set from-field="parameters.price" field="price" type="BigDecimal"/>
- <call-object-method obj-field="webPosTransaction" method-name="modifyPrice">
- <field field="sku" type="String"/>
- <field field="price" type="BigDecimal"/>
- </call-object-method>
- <check-errors/>
- <call-object-method obj-field="webPosTransaction" method-name="calcTax"/>
- <check-errors/>
- <else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerModifyPriceNotValidPrice"/></add-error>
- <check-errors/>
- </else>
- </if-compare>
<else>
- <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosManagerModifyPriceNotValidPrice"/></add-error>
<check-errors/>
</else>
</if-not-empty>
+ <else>
+ <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
+ <check-errors/>
+ </else>
</if-not-empty>
</simple-method>
</simple-methods>
\ No newline at end of file