blob: 4f23219f9ca649e79da1d62081a9feb43e1ed1d7 [file] [log] [blame]
<?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="payCash" short-description="Pay Cash" 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/>
<if-empty field="parameters.amountCash">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="context.amountCash"/>
<check-errors/>
<else>
<call-map-processor in-map-name="parameters" out-map-name="context">
<simple-map-processor name="inputValidate">
<process field="amountCash">
<convert type="BigDecimal" to-field="amountCash" replace="true" set-if-null="false">
<fail-property resource="WebPosUiLabels" property="WebPosPayCashNotValidAmount"/>
</convert>
</process>
</simple-map-processor>
</call-map-processor>
<check-errors/>
</else>
</if-empty>
<if-empty field="context.amountCash">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCashNotValidAmount"/></add-error>
<check-errors/>
<else>
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="totalDue"/>
<if-compare field="totalDue" operator="less-equals" value="0.00" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosTransactionTotalDueZero"/></add-error>
<check-errors/>
</if-compare>
<if-compare-field field="totalDue" operator="less" to-field="context.amountCash" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCashGreaterThanTotalDue"/></add-error>
<check-errors/>
</if-compare-field>
<log level="info" message="Processing [Cash] Amount : ${context.amountCash}"/>
<set field="paymentType" value="CASH"/>
<set field="refNum" value=""/>
<set field="authCode" value=""/>
<call-object-method obj-field="webPosTransaction" method-name="addPayment">
<field field="paymentType" type="String"/>
<field field="context.amountCash" type="BigDecimal"/>
<field field="refNum" type="String"/>
<field field="authCode" type="String"/>
</call-object-method>
<check-errors/>
</else>
</if-empty>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
<check-errors/>
</else>
</if-not-empty>
</simple-method>
<simple-method method-name="payCheck" short-description="Pay Check" 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/>
<if-empty field="parameters.amountCheck">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="context.amountCheck"/>
<check-errors/>
<else>
<call-map-processor in-map-name="parameters" out-map-name="context">
<simple-map-processor name="inputValidate">
<process field="amountCheck">
<convert type="BigDecimal" to-field="amountCheck" replace="true" set-if-null="false">
<fail-property resource="WebPosUiLabels" property="WebPosPayCheckNotValidAmount"/>
</convert>
</process>
</simple-map-processor>
</call-map-processor>
<check-errors/>
</else>
</if-empty>
<if-not-empty field="context.amountCheck">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="totalDue"/>
<if-compare field="totalDue" operator="less-equals" value="0.00" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosTransactionTotalDueZero"/></add-error>
<check-errors/>
</if-compare>
<if-compare-field field="totalDue" operator="less" to-field="context.amountCheck" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCheckGreaterThanTotalDue"/></add-error>
<check-errors/>
</if-compare-field>
<set field="paymentType" value="PERSONAL_CHECK"/>
<call-object-method obj-field="webPosTransaction" method-name="checkPaymentMethodType" ret-field="paymentCheck">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getNoPaymentCode" ret-field="noPaymentCode"/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getExternalPaymentCode" ret-field="externalPaymentCode"/>
<!-- No Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="noPaymentCode">
<call-object-method obj-field="webPosTransaction" method-name="clearPayment">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<call-object-method obj-field="webPosTransaction" method-name="processNoPayment">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<else>
<!-- External Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="externalPaymentCode">
<if-not-empty field="parameters.refNum">
<set field="refNum" from-field="parameters.refNum"/>
<call-object-method obj-field="webPosTransaction" method-name="processExternalPayment">
<field field="paymentType" type="String"/>
<field field="context.amountCheck" type="BigDecimal"/>
<field field="refNum" type="String"/>
</call-object-method>
<check-errors/>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCheckMissingRefNum"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<!-- Internal Payment not yet supported -->
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCheckInternal"/></add-error>
<check-errors/>
</else>
</if-compare-field>
</else>
</if-compare-field>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCheckNotValidAmount"/></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-method method-name="payGiftCard" short-description="Pay Gift Card" 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/>
<if-empty field="parameters.amountGiftCard">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="context.amountGiftCard"/>
<check-errors/>
<else>
<call-map-processor in-map-name="parameters" out-map-name="context">
<simple-map-processor name="inputValidate">
<process field="amountGiftCard">
<convert type="BigDecimal" to-field="amountGiftCard" replace="true" set-if-null="false">
<fail-property resource="WebPosUiLabels" property="WebPosPayGiftCardNotValidAmount"/>
</convert>
</process>
</simple-map-processor>
</call-map-processor>
<check-errors/>
</else>
</if-empty>
<if-not-empty field="context.amountGiftCard">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="totalDue"/>
<if-compare field="totalDue" operator="less-equals" value="0.00" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosTransactionTotalDueZero"/></add-error>
<check-errors/>
</if-compare>
<if-compare-field field="totalDue" operator="less" to-field="context.amountGiftCard" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayGiftCardGreaterThanTotalDue"/></add-error>
<check-errors/>
</if-compare-field>
<set field="paymentType" value="GIFT_CARD"/>
<call-object-method obj-field="webPosTransaction" method-name="checkPaymentMethodType" ret-field="paymentCheck">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getNoPaymentCode" ret-field="noPaymentCode"/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getExternalPaymentCode" ret-field="externalPaymentCode"/>
<!-- No Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="noPaymentCode">
<call-object-method obj-field="webPosTransaction" method-name="processNoPayment">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<else>
<!-- External Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="externalPaymentCode">
<if-not-empty field="parameters.refNum">
<set field="refNum" from-field="parameters.refNum"/>
<call-object-method obj-field="webPosTransaction" method-name="processExternalPayment">
<field field="paymentType" type="String"/>
<field field="context.amountGiftCard" type="BigDecimal"/>
<field field="refNum" type="String"/>
</call-object-method>
<check-errors/>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentGiftCardMissingRefNum"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<!-- Internal Payment not yet supported -->
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentGiftCardInternal"/></add-error>
<check-errors/>
</else>
</if-compare-field>
</else>
</if-compare-field>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayGiftCardNotValidAmount"/></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-method method-name="payCreditCard" short-description="Pay Credit Card" 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/>
<if-empty field="parameters.amountCreditCard">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="context.amountCreditCard"/>
<check-errors/>
<else>
<call-map-processor in-map-name="parameters" out-map-name="context">
<simple-map-processor name="inputValidate">
<process field="amountCreditCard">
<convert type="BigDecimal" to-field="amountCreditCard" replace="true" set-if-null="false">
<fail-property resource="WebPosUiLabels" property="WebPosPayCreditCardNotValidAmount"/>
</convert>
</process>
</simple-map-processor>
</call-map-processor>
<check-errors/>
</else>
</if-empty>
<if-not-empty field="context.amountCreditCard">
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="totalDue"/>
<if-compare field="totalDue" operator="less-equals" value="0.00" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosTransactionTotalDueZero"/></add-error>
<check-errors/>
</if-compare>
<if-compare-field field="totalDue" operator="less" to-field="context.amountCreditCard" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCreditCardGreaterThanTotalDue"/></add-error>
<check-errors/>
</if-compare-field>
<if-compare field="parameters.swipeCard" operator="equals" value="Y">
<if-empty field="parameters.swipeData">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentSwipeDataEmpty"/></add-error>
<check-errors/>
</if-empty>
<else>
<if-empty field="parameters.firstName">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCreditCardFirstNameEmpty"/></add-error>
<check-errors/>
</if-empty>
<if-empty field="parameters.lastName">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCreditCardLastNameEmpty"/></add-error>
<check-errors/>
</if-empty>
<set field="paymentType" value="CREDIT_CARD"/>
<call-object-method obj-field="webPosTransaction" method-name="checkPaymentMethodType" ret-field="paymentCheck">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getNoPaymentCode" ret-field="noPaymentCode"/>
<call-class-method class-name="org.apache.ofbiz.webpos.transaction.WebPosTransaction" method-name="getExternalPaymentCode" ret-field="externalPaymentCode"/>
<!-- No Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="noPaymentCode">
<call-object-method obj-field="webPosTransaction" method-name="processNoPayment">
<field field="paymentType" type="String"/>
</call-object-method>
<check-errors/>
<else>
<!-- External Payment -->
<if-compare-field field="paymentCheck" operator="equals" to-field="externalPaymentCode">
<if-not-empty field="parameters.refNum">
<set field="refNum" from-field="parameters.refNum"/>
<call-object-method obj-field="webPosTransaction" method-name="processExternalPayment">
<field field="paymentType" type="String"/>
<field field="context.amountCreditCard" type="BigDecimal"/>
<field field="refNum" type="String"/>
</call-object-method>
<check-errors/>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardMissingRefNum"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<!-- Internal Payment -->
<else>
<!-- test credit card -->
<if-not-empty field="parameters.cardNum">
<set field="cardNum" from-field="parameters.cardNum"/>
<call-class-method class-name="org.apache.ofbiz.base.util.UtilValidate" method-name="isCreditCard" ret-field="isCreditCard">
<field field="cardNum" type="String"/>
</call-class-method>
<if-compare field="isCreditCard" operator="equals" value="false" type="String">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardInvalid"/></add-error>
<check-errors/>
</if-compare>
<!-- test expiration date -->
<if-not-empty field="parameters.expMonth">
<set field="cardExp" from-field="parameters.expMonth"/>
<string-append string="${parameters.expYear}" field="cardExp"/>
<call-object-method obj-field="cardExp" method-name="length" ret-field="length"/>
<if-compare field="length" operator="not-equals" value="6">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardInvalidExpiringDate"/></add-error>
<check-errors/>
</if-compare>
<set field="cardExpAfterToday" from-field="parameters.expMonth"/>
<string-append string="/" field="cardExpAfterToday"/>
<string-append string="${parameters.expYear}" field="cardExpAfterToday"/>
<call-class-method class-name="org.apache.ofbiz.base.util.UtilValidate" method-name="isDateAfterToday" ret-field="isDateAfterToday">
<field field="cardExpAfterToday" type="String"/>
</call-class-method>
<if-compare field="isDateAfterToday" operator="equals" value="false">
<add-error><fail-property resource="AccountingUiLabels" property="AccountingCreditCardExpireDateBeforeToday"/></add-error>
<check-errors/>
</if-compare>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardInvalidExpiringDate"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<!-- test security code - allow blank for illegible cards -->
<if-not-empty field="parameters.securityCode">
<set field="securityCode" from-field="parameters.securityCode"/>
<call-object-method obj-field="securityCode" method-name="length" ret-field="length"/>
<if-compare field="length" operator="greater" value="4">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardInvalidSecurityCode"/></add-error>
<check-errors/>
</if-compare>
</if-not-empty>
<log level="info" message="Processing Credit Card Amount : ${context.amountCreditCard}"/>
<set from-field="parameters.firstName" field="firstName"/>
<set from-field="parameters.lastName" field="lastName"/>
<call-object-method obj-field="webPosTransaction" method-name="makeCreditCardVo" ret-field="paymentId">
<field field="cardNum" type="String"/>
<field field="cardExp" type="String"/>
<field field="firstName" type="String"/>
<field field="lastName" type="String"/>
</call-object-method>
<check-errors/>
<if-not-empty field="paymentId">
<call-object-method obj-field="webPosTransaction" method-name="addPayment">
<field field="paymentId" type="String"/>
<field field="context.amountCreditCard" type="BigDecimal"/>
</call-object-method>
<check-errors/>
<if-not-empty field="parameters.track2">
<set field="refNum" value=""/>
<set field="securityCode" value="parameters.track2"/>
<call-object-method obj-field="webPosTransaction" method-name="setPaymentTrack2">
<field field="paymentId" type="String"/>
<field field="refNum" type="String"/>
<field field="securityCode" type="String"/>
</call-object-method>
<else>
<if-not-empty field="parameters.securityCode">
<set field="refNum" value=""/>
<set field="securityCode" value="parameters.securityCode"/>
<call-object-method obj-field="webPosTransaction" method-name="setPaymentSecurityCode">
<field field="paymentId" type="String"/>
<field field="refNum" type="String"/>
<field field="securityCode" type="String"/>
</call-object-method>
</if-not-empty>
<if-not-empty field="parameters.postalCode">
<set field="refNum" value=""/>
<set field="securityCode" value="parameters.postalCode"/>
<call-object-method obj-field="webPosTransaction" method-name="setPaymentPostalCode">
<field field="paymentId" type="String"/>
<field field="refNum" type="String"/>
<field field="securityCode" type="String"/>
</call-object-method>
</if-not-empty>
</else>
</if-not-empty>
</if-not-empty>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPaymentCreditCardInvalid"/></add-error>
<check-errors/>
</else>
</if-not-empty>
</else>
</if-compare-field>
</else>
</if-compare-field>
</else>
</if-compare>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosPayCreditCardNotValidAmount"/></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-method method-name="payFinish" short-description="Process Sale" 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="size" ret-field="cartSize"/>
<check-errors/>
<if-compare field="cartSize" operator="greater" value="0" type="Integer">
<call-object-method obj-field="cart" method-name="getAdditionalPartyRoleMap" ret-field="partyRoles"/>
<check-errors/>
<call-object-method obj-field="partyRoles" method-name="size" ret-field="partyRolesSize"/>
<check-errors/>
<if-compare field="partyRolesSize" operator="less-equals" value="0">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosSelectOneSalesRep"/></add-error>
<check-errors/>
</if-compare>
<call-object-method obj-field="webPosSession" method-name="getCurrentTransaction" ret-field="webPosTransaction"/>
<check-errors/>
<call-object-method obj-field="webPosTransaction" method-name="getTotalDue" ret-field="totalDue"/>
<check-errors/>
<if-compare field="totalDue" operator="not-equals" value="0.00" type="BigDecimal">
<add-error><fail-property resource="WebPosUiLabels" property="WebPosNotEnoughFunds"/></add-error>
<check-errors/>
</if-compare>
<call-class-method class-name="org.apache.ofbiz.webpos.WebPosEvents" method-name="completeSale">
<field field="request" type="javax.servlet.http.HttpServletRequest"/>
<field field="response" type="javax.servlet.http.HttpServletResponse"/>
</call-class-method>
</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="clearPayment" short-description="Clear Payment" 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/>
<set field="payment" value="0" type="Integer"/>
<call-object-method obj-field="webPosTransaction" method-name="getNumberOfPayments" ret-field="numPayments"/>
<check-errors/>
<while>
<condition>
<if-compare-field field="payment" to-field="numPayments" operator="less"/>
</condition>
<then>
<call-object-method obj-field="webPosTransaction" method-name="getPaymentMethodTypeId" ret-field="paymentMethodTypeId">
<field field="payment" type="int"/>
</call-object-method>
<check-errors/>
<if-not-empty field="paymentMethodTypeId">
<if-not-empty field="parameters.clearCash">
<if-compare field="parameters.clearCash" value="Y" operator="equals">
<if-compare field="paymentMethodTypeId" value="CASH" operator="equals">
<call-object-method obj-field="webPosTransaction" method-name="clearPayment">
<field field="payment" type="int"/>
</call-object-method>
<check-errors/>
<log level="info" message="Cleared CASH payment ${payment}"/>
<call-object-method obj-field="webPosTransaction" method-name="getNumberOfPayments" ret-field="numPayments"/>
<check-errors/>
<set field="payment" value="-1" type="Integer"/>
</if-compare>
</if-compare>
</if-not-empty>
<if-not-empty field="parameters.clearCheck">
<if-compare field="parameters.clearCheck" value="Y" operator="equals">
<if-compare field="paymentMethodTypeId" value="PERSONAL_CHECK" operator="equals">
<call-object-method obj-field="webPosTransaction" method-name="clearPayment">
<field field="payment" type="int"/>
</call-object-method>
<check-errors/>
<log level="info" message="Cleared CHECK payment ${payment}"/>
<call-object-method obj-field="webPosTransaction" method-name="getNumberOfPayments" ret-field="numPayments"/>
<check-errors/>
<set field="payment" value="-1" type="Integer"/>
</if-compare>
</if-compare>
</if-not-empty>
<if-not-empty field="parameters.clearGift">
<if-compare field="parameters.clearGift" value="Y" operator="equals">
<if-compare field="paymentMethodTypeId" value="GIFT_CARD" operator="equals">
<call-object-method obj-field="webPosTransaction" method-name="clearPayment">
<field field="payment" type="int"/>
</call-object-method>
<check-errors/>
<log level="info" message="Cleared GIFT CARD payment ${payment}"/>
<call-object-method obj-field="webPosTransaction" method-name="getNumberOfPayments" ret-field="numPayments"/>
<check-errors/>
<set field="payment" value="-1" type="Integer"/>
</if-compare>
</if-compare>
</if-not-empty>
<if-not-empty field="parameters.clearCredit">
<if-compare field="parameters.clearCredit" value="Y" operator="equals">
<if-compare field="paymentMethodTypeId" value="CREDIT_CARD" operator="equals">
<call-object-method obj-field="webPosTransaction" method-name="clearPayment">
<field field="payment" type="int"/>
</call-object-method>
<check-errors/>
<log level="info" message="Cleared CREDIT CARD payment ${payment}"/>
<call-object-method obj-field="webPosTransaction" method-name="getNumberOfPayments" ret-field="numPayments"/>
<check-errors/>
<set field="payment" value="-1" type="Integer"/>
</if-compare>
</if-compare>
</if-not-empty>
</if-not-empty>
<calculate field="payment" type="Integer">
<calcop operator="add" field="payment"/>
<number value="1"/>
</calculate>
</then>
</while>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
<check-errors/>
</else>
</if-not-empty>
<return response-code="success"/>
</simple-method>
<simple-method method-name="clearAllPayments" short-description="Clear All Payments" 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="webPosTransaction" method-name="clearPayments"/>
<check-errors/>
<log level="info" message="Cleared All Payments"/>
<else>
<add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error>
<check-errors/>
</else>
</if-not-empty>
</simple-method>
</simple-methods>