Author: mrisaliti
Date: Sun Oct 12 10:24:07 2008 New Revision: 703851 URL: http://svn.apache.org/viewvc?rev=703851&view=rev Log: CLEAR PAYMENT button is not working correctly because it clears now only the first payment of the cart (Issue OFBIZ-1995) Added: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl (with props) Modified: ofbiz/trunk/specialpurpose/webpos/config/WebPosUiLabels.xml ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/ManagerEvents.xml ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PaymentEvents.xml ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PromoEvents.xml ofbiz/trunk/specialpurpose/webpos/servicedef/services.xml ofbiz/trunk/specialpurpose/webpos/servicedef/services_payment.xml ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/WebPosEvents.java ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Main.groovy ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Payment.groovy ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/controller.xml ofbiz/trunk/specialpurpose/webpos/webapp/webpos/buttons/Payment.ftl ofbiz/trunk/specialpurpose/webpos/widget/PaymentScreens.xml ofbiz/trunk/specialpurpose/webpos/widget/WebPosScreens.xml Modified: ofbiz/trunk/specialpurpose/webpos/config/WebPosUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/config/WebPosUiLabels.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/config/WebPosUiLabels.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/config/WebPosUiLabels.xml Sun Oct 12 10:24:07 2008 @@ -303,6 +303,10 @@ <value xml:lang="en">Pay Check</value> <value xml:lang="it">Pagamento con Assegno</value> </property> + <property key="WebPosPageTitlePayClear"> + <value xml:lang="en">Clear Payment</value> + <value xml:lang="it">Rimuovi Pagamento</value> + </property> <property key="WebPosPageTitlePayGiftCard"> <value xml:lang="en">Pay Gift Card</value> <value xml:lang="it">Pagamento con Carta Regalo</value> 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=703851&r1=703850&r2=703851&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 Oct 12 10:24:07 2008 @@ -22,6 +22,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="isManagerLoggedIn" ret-field-name="mgrLoggedIn"/> @@ -79,6 +80,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="isManagerLoggedIn" ret-field-name="mgrLoggedIn"/> @@ -184,6 +186,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="isManagerLoggedIn" ret-field-name="mgrLoggedIn"/> @@ -251,6 +254,7 @@ <simple-method method-name="shutdown" short-description="Shutdown" login-required="true"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="isManagerLoggedIn" ret-field-name="mgrLoggedIn"/> @@ -273,6 +277,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="isManagerLoggedIn" ret-field-name="mgrLoggedIn"/> @@ -332,6 +337,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> Modified: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PaymentEvents.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PaymentEvents.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PaymentEvents.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PaymentEvents.xml Sun Oct 12 10:24:07 2008 @@ -22,6 +22,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -76,6 +77,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -151,6 +153,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -222,6 +225,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -379,6 +383,7 @@ <simple-method method-name="processSale" short-description="Process Sale" login-required="true"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -397,6 +402,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> @@ -423,27 +429,100 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> - <check-errors/> - <set field="idx" from-field="parameters.idx" type="Integer"/> - <call-object-method obj-field-name="webPosTransaction" method-name="clearPayment"> - <field field-name="idx" type="int"/> - </call-object-method> - <check-errors/> - <log level="info" message="Cleared payment ${idx}"/> + <check-errors/> + <set field="payment" value="0" type="Integer"/> + <call-object-method obj-field-name="webPosTransaction" method-name="getNumberOfPayments" ret-field-name="numPayments"/> + <check-errors/> + <while> + <condition> + <if-compare-field field="payment" to-field="numPayments" operator="less"/> + </condition> + <then> + <call-object-method obj-field-name="webPosTransaction" method-name="getPaymentMethodTypeId" ret-field-name="paymentMethodTypeId"> + <field field-name="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-name="webPosTransaction" method-name="clearPayment"> + <field field-name="payment" type="int"/> + </call-object-method> + <check-errors/> + <log level="info" message="Cleared CASH payment ${payment}"/> + <call-object-method obj-field-name="webPosTransaction" method-name="getNumberOfPayments" ret-field-name="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-name="webPosTransaction" method-name="clearPayment"> + <field field-name="payment" type="int"/> + </call-object-method> + <check-errors/> + <log level="info" message="Cleared CHECK payment ${payment}"/> + <call-object-method obj-field-name="webPosTransaction" method-name="getNumberOfPayments" ret-field-name="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-name="webPosTransaction" method-name="clearPayment"> + <field field-name="payment" type="int"/> + </call-object-method> + <check-errors/> + <log level="info" message="Cleared GIFT CARD payment ${payment}"/> + <call-object-method obj-field-name="webPosTransaction" method-name="getNumberOfPayments" ret-field-name="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-name="webPosTransaction" method-name="clearPayment"> + <field field-name="payment" type="int"/> + </call-object-method> + <check-errors/> + <log level="info" message="Cleared CREDIT CARD payment ${payment}"/> + <call-object-method obj-field-name="webPosTransaction" method-name="getNumberOfPayments" ret-field-name="numPayments"/> + <check-errors/> + <set field="payment" value="-1" type="Integer"/> + </if-compare> + </if-compare> + </if-not-empty> + </if-not-empty> + <calculate field-name="payment" type="Integer"> + <calcop field-name="payment" operator="add"/> + <number value="1"/> + </calculate> + </then> + </while> <else> <add-error><fail-property resource="WebPosUiLabels" property="WebPosNotLoggedIn"/></add-error> <check-errors/> </else> </if-not-empty> </if-not-empty> + <return response-code="success"/> </simple-method> <simple-method method-name="clearAllPayments" short-description="Clear All Payments" login-required="true"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> Modified: ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PromoEvents.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PromoEvents.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PromoEvents.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/script/org/ofbiz/webpos/event/PromoEvents.xml Sun Oct 12 10:24:07 2008 @@ -22,6 +22,7 @@ <if-not-empty field="parameters.confirm"> <call-class-method class-name="org.ofbiz.webpos.WebPosEvents" method-name="getWebPosSession" ret-field-name="webPosSession"> <field field-name="request" type="javax.servlet.http.HttpServletRequest"/> + <field field-name="posTerminalId" type="String"/> </call-class-method> <if-not-empty field="webPosSession"> <call-object-method obj-field-name="webPosSession" method-name="getCurrentTransaction" ret-field-name="webPosTransaction"/> Modified: ofbiz/trunk/specialpurpose/webpos/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/servicedef/services.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/servicedef/services.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/servicedef/services.xml Sun Oct 12 10:24:07 2008 @@ -44,4 +44,9 @@ <description>Login for Web Pos</description> <attribute type="String" mode="IN" name="posTerminalId" optional="false"/> </service> + + <service name="existsWebPosSession" engine="java" + location="org.ofbiz.webpos.WebPosEvents" invoke="existsWebPosSession"> + <description>Check if exists a Web Pos Session</description> + </service> </services> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/webpos/servicedef/services_payment.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/servicedef/services_payment.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/servicedef/services_payment.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/servicedef/services_payment.xml Sun Oct 12 10:24:07 2008 @@ -73,7 +73,10 @@ <service name="clearPayment" engine="simple" auth="false" location="org/ofbiz/webpos/event/PaymentEvents.xml" invoke="clearPayment"> <description>Clear Payment</description> - <attribute name="idx" type="String" mode="IN" optional="true"/> + <attribute name="clearCash" type="String" mode="IN" optional="true"/> + <attribute name="clearCheck" type="String" mode="IN" optional="true"/> + <attribute name="clearGift" type="String" mode="IN" optional="true"/> + <attribute name="clearCredit" type="String" mode="IN" optional="true"/> </service> <service name="clearAllPayments" engine="simple" auth="false" Modified: ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/WebPosEvents.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/WebPosEvents.java?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/WebPosEvents.java (original) +++ ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/WebPosEvents.java Sun Oct 12 10:24:07 2008 @@ -41,13 +41,27 @@ if ("success".equals(responseString)) { HttpSession session = request.getSession(true); + + // get the posTerminalId + String posTerminalId = (String) request.getParameter("posTerminalId"); + session.removeAttribute("shoppingCart"); session.removeAttribute("webPosSession"); - WebPosEvents.getWebPosSession(request); + WebPosEvents.getWebPosSession(request, posTerminalId); } return responseString; } - public static WebPosSession getWebPosSession(HttpServletRequest request) { + public static String existsWebPosSession(HttpServletRequest request, HttpServletResponse response) { + String responseString = "success"; + HttpSession session = request.getSession(true); + WebPosSession webPosSession = (WebPosSession) session.getAttribute("webPosSession"); + + if (UtilValidate.isEmpty(webPosSession)) { + responseString = "error"; + } + return responseString; + } + public static WebPosSession getWebPosSession(HttpServletRequest request, String posTerminalId) { HttpSession session = request.getSession(true); GenericValue userLogin = (GenericValue) session.getAttribute("userLogin"); WebPosSession webPosSession = (WebPosSession) session.getAttribute("webPosSession"); @@ -71,11 +85,9 @@ if (UtilValidate.isEmpty(cart)) { cart = new ShoppingCart(delegator, productStoreId, request.getLocale(), currencyUomId); session.setAttribute("shoppingCart", cart); + } - // get the posTerminalId - String posTerminalId = (String) request.getParameter("posTerminalId"); - if (UtilValidate.isNotEmpty(posTerminalId)) { webPosSession = new WebPosSession(posTerminalId, null, userLogin, request.getLocale(), productStoreId, facilityId, currencyUomId, delegator, dispatcher, cart); session.setAttribute("webPosSession", webPosSession); @@ -84,19 +96,20 @@ return webPosSession; } - public static void removeWebPosSession(HttpServletRequest request) { + public static void removeWebPosSession(HttpServletRequest request, String posTerminalId) { HttpSession session = request.getSession(true); session.removeAttribute("shoppingCart"); session.removeAttribute("webPosSession"); - getWebPosSession(request); + getWebPosSession(request, posTerminalId); } public static String completeSale(HttpServletRequest request, HttpServletResponse response) throws GeneralException { HttpSession session = request.getSession(true); WebPosSession webPosSession = (WebPosSession) session.getAttribute("webPosSession"); if (UtilValidate.isNotEmpty(webPosSession)) { - webPosSession.getCurrentTransaction().processSale(); - removeWebPosSession(request); + webPosSession.getCurrentTransaction().processSale(); + String posTerminalId = webPosSession.getId(); + removeWebPosSession(request, posTerminalId); } return "success"; } Modified: ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java (original) +++ ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java Sun Oct 12 10:24:07 2008 @@ -37,6 +37,7 @@ import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.order.shoppingcart.CheckOutHelper; import org.ofbiz.order.shoppingcart.ShoppingCart; +import org.ofbiz.order.shoppingcart.ShoppingCart.CartPaymentInfo; import org.ofbiz.order.shoppingcart.ShoppingCartItem; import org.ofbiz.product.store.ProductStoreWorker; import org.ofbiz.service.GenericServiceException; @@ -303,6 +304,14 @@ getCart().clearPayment(id); } + public CartPaymentInfo getPaymentInfo(int index) { + return getCart().getPaymentInfo(index); + } + + public String getPaymentMethodTypeId(int index) { + return getCart().getPaymentInfo(index).paymentMethodTypeId; + } + public int checkPaymentMethodType(String paymentMethodTypeId) { Map<String, ? extends Object> fields = UtilMisc.toMap("paymentMethodTypeId", paymentMethodTypeId, "productStoreId", webPosSession.getProductStoreId()); List<GenericValue> values = null; Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Main.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Main.groovy?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Main.groovy (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Main.groovy Sun Oct 12 10:24:07 2008 @@ -21,7 +21,7 @@ import org.ofbiz.webpos.session.WebPosSession; import org.ofbiz.webpos.transaction.WebPosTransaction; -webPosSession = WebPosEvents.getWebPosSession(request); +webPosSession = WebPosEvents.getWebPosSession(request, null); if (webPosSession) { context.shoppingCartSize = webPosSession.getCart().size(); context.isManagerLoggedIn = webPosSession.isManagerLoggedIn(); Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Payment.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Payment.groovy?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Payment.groovy (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/buttons/Payment.groovy Sun Oct 12 10:24:07 2008 @@ -20,7 +20,7 @@ import org.ofbiz.webpos.WebPosEvents; import org.ofbiz.webpos.session.WebPosSession; -webPosSession = WebPosEvents.getWebPosSession(request); +webPosSession = WebPosEvents.getWebPosSession(request, null); if (webPosSession) { context.cart = webPosSession.getCart(); @@ -29,4 +29,5 @@ } context.totalDue = webPosSession.getCurrentTransaction().getTotalDue(); + context.totalPayments = webPosSession.getCurrentTransaction().getPaymentTotal(); } \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy Sun Oct 12 10:24:07 2008 @@ -23,7 +23,7 @@ import org.ofbiz.webpos.transaction.WebPosTransaction; import java.text.SimpleDateFormat; -webPosSession = WebPosEvents.getWebPosSession(request); +webPosSession = WebPosEvents.getWebPosSession(request, null); if (webPosSession) { shoppingCart = webPosSession.getCart(); context.transactionId = webPosSession.getCurrentTransaction().getTransactionId(); @@ -36,6 +36,11 @@ shoppingCart = null; } +context.cashAmount = 0; +context.checkAmount = 0; +context.giftAmount = 0; +context.creditAmount = 0; + // Get the Cart and Prepare Size if (shoppingCart) { context.shoppingCartSize = shoppingCart.size(); Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy Sun Oct 12 10:24:07 2008 @@ -20,9 +20,11 @@ import org.ofbiz.webpos.WebPosEvents; import org.ofbiz.webpos.session.WebPosSession; -webPosSession = WebPosEvents.getWebPosSession(request); +webPosSession = WebPosEvents.getWebPosSession(request, null); if (webPosSession) { shoppingCart = webPosSession.getCart(); +} else { + shoppingCart = null; } // Get the Cart and Prepare Size Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/controller.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/controller.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/WEB-INF/controller.xml Sun Oct 12 10:24:07 2008 @@ -109,7 +109,9 @@ <request-map uri="main"> <security https="true" auth="true"/> + <event type="java" path="org.ofbiz.webpos.WebPosEvents" invoke="existsWebPosSession"/> <response name="success" type="view" value="main"/> + <response name="error" type="view" value="login"/> </request-map> <request-map uri="Login"> @@ -340,11 +342,17 @@ <response name="error" type="view" value="AddPaySetRef"/> </request-map> - <request-map uri="PayClear"> + <request-map uri="AddClearPayment"> + <security https="true" auth="true"/> + <response name="success" type="view" value="ClearPayment"/> + <response name="error" type="view" value="ClearPayment"/> + </request-map> + + <request-map uri="ClearPayment"> <security https="true" auth="true"/> <event type="simple" path="org/ofbiz/webpos/event/PaymentEvents.xml" invoke="clearPayment"/> <response name="success" type="view" value="Payment"/> - <response name="error" type="view" value="Payment"/> + <response name="error" type="view" value="ClearPayment"/> </request-map> <request-map uri="PayClearAll"> @@ -392,7 +400,8 @@ <view-map name="AddPayGiftCard" type="screen" page="component://webpos/widget/PaymentScreens.xml#PayGiftCard"/> <view-map name="AddPayCreditCard" type="screen" page="component://webpos/widget/PaymentScreens.xml#PayCreditCard"/> <view-map name="AddPaySetRef" type="screen" page="component://webpos/widget/PaymentScreens.xml#PaySetRef"/> - + <view-map name="ClearPayment" type="screen" page="component://webpos/widget/PaymentScreens.xml#ClearPayment"/> + <!-- Promo view mappings --> <view-map name="AddPromoCode" type="screen" page="component://webpos/widget/PromoScreens.xml#PromoCode"/> <!-- End of View Mappings --> Modified: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/buttons/Payment.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/buttons/Payment.ftl?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/buttons/Payment.ftl (original) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/buttons/Payment.ftl Sun Oct 12 10:24:07 2008 @@ -46,10 +46,18 @@ </tr> <tr> <td> - <a href="<@ofbizUrl>PayClear?idx=0</@ofbizUrl>" class="posButton">${uiLabelMap.WebPosButtonPayClear}</a> + <#if (totalPayments > 0.00)> + <a href="<@ofbizUrl>AddClearPayment</@ofbizUrl>" class="posButton">${uiLabelMap.WebPosButtonPayClear}</a> + <#else> + <span class="disabled">${uiLabelMap.WebPosButtonPayClear}</span> + </#if> </td> <td> - <a href="<@ofbizUrl>PayClearAll</@ofbizUrl>" class="posButton">${uiLabelMap.WebPosButtonPayClearAll}</a> + <#if (totalPayments > 0.00)> + <a href="<@ofbizUrl>PayClearAll</@ofbizUrl>" class="posButton">${uiLabelMap.WebPosButtonPayClearAll}</a> + <#else> + <span class="disabled">${uiLabelMap.WebPosButtonPayClearAll}</span> + </#if> </td> <td> <a href="<@ofbizUrl>main</@ofbizUrl>" class="posButton">${uiLabelMap.WebPosButtonMain}</a> Added: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl?rev=703851&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl (added) +++ ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl Sun Oct 12 10:24:07 2008 @@ -0,0 +1,66 @@ +<#-- +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. +--> +<div id="panel"> + <form method="post" action="<@ofbizUrl>ClearPayment</@ofbizUrl>" name="ClearPaymentForm"> + <table border="0"> + <tr> + <td> </td> + <td> </td> + <td><b><u>${uiLabelMap.WebPosPageTitlePayClear}</u></b></td> + </tr> + <#if (cashAmount?default(0) > 0.00)> + <tr> + <td><b>${(paymentCash.get("description", locale))?if_exists}</b></td> + <td align="right"><@ofbizCurrency amount=cashAmount isoCode=shoppingCart.getCurrency()/></td> + <td align="center"><input type="checkbox" name="clearCash" value="Y" checked/></td> + </tr> + </#if> + <#if (checkAmount?default(0) > 0.00)> + <tr> + <td><b>${(paymentCheck.get("description", locale))?if_exists}</b></td> + <td align="right"><@ofbizCurrency amount=checkAmount isoCode=shoppingCart.getCurrency()/></td> + <td align="center"><input type="checkbox" name="clearCheck" value="Y" checked/></td> + </tr> + </#if> + <#if (giftAmount?default(0) > 0.00)> + <tr> + <td><b>${(paymentGift.get("description", locale))?if_exists}</b></td> + <td align="right"><@ofbizCurrency amount=giftAmount isoCode=shoppingCart.getCurrency()/></td> + <td align="center"><input type="checkbox" name="clearGift" value="Y" checked/></td> + </tr> + </#if> + <#if (creditAmount?default(0) > 0.00)> + <tr> + <td><b>${(paymentCredit.get("description", locale))?if_exists}</b></td> + <td align="right"><@ofbizCurrency amount=creditAmount isoCode=shoppingCart.getCurrency()/></td> + <td align="center"><input type="checkbox" name="clearCredit" value="Y" checked/></td> + </tr> + </#if> + <tr> + <td colspan="3"> </td> + </tr> + <tr> + <td colspan="3" align="center"> + <input type="submit" value="${uiLabelMap.CommonConfirm}" name="confirm"/> + <input type="submit" value="${uiLabelMap.CommonCancel}"/> + </td> + </tr> + </table> + </form> +</div> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/webpos/webapp/webpos/payment/ClearPayment.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/trunk/specialpurpose/webpos/widget/PaymentScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/widget/PaymentScreens.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/widget/PaymentScreens.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/widget/PaymentScreens.xml Sun Oct 12 10:24:07 2008 @@ -81,6 +81,22 @@ </section> </screen> + <screen name="ClearPayment"> + <section> + <actions> + <set field="rightbarScreenName" value="rightbar_payment"/> + <set field="titleProperty" value="WebPosPageTitlePayClear"/> + <script location="component://webpos/webapp/webpos/WEB-INF/actions/cart/MicroCart.groovy"/> + </actions> + <widgets> + <include-screen name="SearchProducts" location="component://webpos/widget/WebPosScreens.xml"/> + <container id="ClearPayment"> + <platform-specific><html><html-template location="component://webpos/webapp/webpos/payment/ClearPayment.ftl"/></html></platform-specific> + </container> + </widgets> + </section> + </screen> + <screen name="PaySetRef"> <section> <actions> Modified: ofbiz/trunk/specialpurpose/webpos/widget/WebPosScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/webpos/widget/WebPosScreens.xml?rev=703851&r1=703850&r2=703851&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/webpos/widget/WebPosScreens.xml (original) +++ ofbiz/trunk/specialpurpose/webpos/widget/WebPosScreens.xml Sun Oct 12 10:24:07 2008 @@ -136,9 +136,16 @@ <script location="component://webpos/webapp/webpos/WEB-INF/actions/cart/ShowCart.groovy"/> </actions> <widgets> - <container> - <platform-specific><html><html-template location="component://webpos/webapp/webpos/cart/ShowCart.ftl"/></html></platform-specific> - </container> + <section> + <condition> + <not><if-empty field-name="shoppingCart"/></not> + </condition> + <widgets> + <container> + <platform-specific><html><html-template location="component://webpos/webapp/webpos/cart/ShowCart.ftl"/></html></platform-specific> + </container> + </widgets> + </section> </widgets> </section> </screen> |
Free forum by Nabble | Edit this page |