Attached Files | PaymentMethodsNotRefundable_Test_9Nov.patch [^] (4,605 bytes) 2016-11-17 09:32 [Show Content] [Hide Content]# HG changeset patch
# User Silambarasan Sekar <silambarasan@qualiantech.com>
# Date 1477053888 -19800
# Fri Oct 21 18:14:48 2016 +0530
# Node ID 4337ebb4781ba82218cd9f9ba567046abe330037
# Parent 1c4a6b8c3b6b02156d92e7c9ac9fd09e0691cdf4
Added Test Case for is Refundable Payment
diff -r 1c4a6b8c3b6b -r 4337ebb4781b src-test/org/openbravo/test/mobile/retail/pack/selenium/TestIdPack.java
--- a/src-test/org/openbravo/test/mobile/retail/pack/selenium/TestIdPack.java Fri Oct 28 13:02:10 2016 -0600
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/TestIdPack.java Fri Oct 21 18:14:48 2016 +0530
@@ -139,6 +139,8 @@
"bodyContent_defaultBox"); //
public static TestIdConstructor COMBO_USER_PROFILE_ROLE_LIST = new TestIdConstructor(
"bodyContent_roleList", EnyoKind.BUTTON); //
+ public static TestIdConstructor LOYALITY_CARD_POPUP_CANCEL = new TestIdConstructor(
+ "bodyButtons_cancelDialogButton", EnyoKind.BUTTON); //
// ISLAYAWAY LABEL
public static TestIdConstructor LABEL_ISLAYAWAY = new TestIdConstructor(
diff -r 1c4a6b8c3b6b -r 4337ebb4781b src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/initialchecks/VerifyNoRefundPayment.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/initialchecks/VerifyNoRefundPayment.java Fri Oct 21 18:14:48 2016 +0530
@@ -0,0 +1,84 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo Public License
+ * Version 1.0 (the "License"), being the Mozilla Public License
+ * Version 1.1 with a permitted attribution clause; you may not use this
+ * file except in compliance with the License. You may obtain a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo S.L.U.
+ * All portions are Copyright (C) 2014 Openbravo S.L.U.
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ ************************************************************************
+ */
+
+package org.openbravo.test.mobile.retail.pack.selenium.tests.initialchecks;
+
+/**
+ * author: Simbu
+ */
+import org.junit.Test;
+import org.openbravo.test.mobile.retail.mobilecore.database.DatabaseHelperInsertUpdateOrDelete;
+import org.openbravo.test.mobile.retail.pack.selenium.TestIdPack;
+import org.openbravo.test.mobile.retail.pack.selenium.terminals.WebPOSTerminalHelper;
+
+public class VerifyNoRefundPayment extends WebPOSTerminalHelper {
+ final String VBSCreditPaymentMethodId = "4785B70E9C1048AB9E9E7B26CFEF6E31";
+
+ @Test
+ public void test() {
+ tap(TestIdPack.BUTTON_BROWSE);
+ tap(TestIdPack.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestIdPack.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ verify(TestIdPack.LABEL_TOTALTOPAY, "150.50");
+ tap(TestIdPack.BUTTON_PAY);
+ // tap(TestIdPack.LOYALITY_CARD_POPUP_CANCEL);
+ isDisabled(TestIdPack.BUTTON_PAYMENT_CARD, false);
+ tap(TestIdPack.BUTTON_PAY_EXACT);
+ tap(TestIdPack.BUTTON_PAY_DONE);
+ verify(TestIdPack.LABEL_TOTALTOPAY, "0.00");
+
+ updateDb("N");
+ reload();
+
+ // Return
+ tap(TestIdPack.BUTTON_BROWSE);
+ tap(TestIdPack.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestIdPack.BUTTON_PRODUCT_BESTSELLERS_INSECTREPELLENT);
+ tap(TestIdPack.BUTTON_MENU);
+ tap(TestIdPack.BUTTON_MENU_RETURNTHISRECEIPT);
+ tap(TestIdPack.BUTTON_PAY);
+ isDisabled(TestIdPack.BUTTON_PAYMENT_CARD, true);
+
+ /*
+ * tap(TestIdPack.BUTTON_PAY); tap(TestIdPack.LOYALITY_CARD_POPUP_CANCEL);
+ */
+ tap(TestIdPack.BUTTON_PAY_EXACT);
+ tap(TestIdPack.BUTTON_PAY_DONE);
+ verify(TestIdPack.LABEL_TOTALTOPAY, "0.00");
+
+ }
+
+ public void updateDb(final String flag) {
+ // OBPOS_creditcard disable
+ final String setNotRefundable = String.format(
+ "update obpos_app_payment_type set refundpayment='%s' "
+ + "where obpos_app_payment_type_id='%s'", flag, VBSCreditPaymentMethodId);
+ new DatabaseHelperInsertUpdateOrDelete().execute(setNotRefundable, 1);
+ }
+
+ @Override
+ public void afterWithReload() {
+ updateDb("Y");
+ }
+
+ @Override
+ public void beforeWithReload() {
+ updateDb("Y");
+ }
+}
PaymentMethodsNotRefundable_POSTERMINAL_1Dec.patch [^] (25,029 bytes) 2016-12-01 14:32 [Show Content] [Hide Content]# HG changeset patch
# User Silambarasan Sekar <silambarasan@qualiantech.com>
# Date 1478517646 -19800
# Mon Nov 07 16:50:46 2016 +0530
# Node ID 3ee753a82a04023000c7e44cad07e9b287595780
# Parent 2cb39d0f889052fdd99b3d1c39db32819604ed99
Added Payment Methods not refundable Logic
diff -r 2cb39d0f8890 -r 3ee753a82a04 src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml
--- a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml Wed Nov 23 18:54:45 2016 +0100
+++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml Mon Nov 07 16:50:46 2016 +0530
@@ -185,6 +185,10 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="REFUNDPAYMENT" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+ <default><![CDATA[Y]]></default>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="AD_CLIENT" name="OBPOS_APPPAYTYPE_AD_CLIENT">
<reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
</foreign-key>
diff -r 2cb39d0f8890 -r 3ee753a82a04 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Nov 23 18:54:45 2016 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml Mon Nov 07 16:50:46 2016 +0530
@@ -1822,7 +1822,7 @@
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--168C4F65A5E2454FBC49AD025E0AECB9--> <POSITION><![CDATA[39]]></POSITION>
+<!--168C4F65A5E2454FBC49AD025E0AECB9--> <POSITION><![CDATA[40]]></POSITION>
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--168C4F65A5E2454FBC49AD025E0AECB9--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -3037,7 +3037,7 @@
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <POSITION><![CDATA[38]]></POSITION>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <POSITION><![CDATA[39]]></POSITION>
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -5379,7 +5379,7 @@
<!--53B711DC0E4243AA8482EB131AC367DE--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--53B711DC0E4243AA8482EB131AC367DE--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--53B711DC0E4243AA8482EB131AC367DE--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--53B711DC0E4243AA8482EB131AC367DE--> <POSITION><![CDATA[40]]></POSITION>
+<!--53B711DC0E4243AA8482EB131AC367DE--> <POSITION><![CDATA[41]]></POSITION>
<!--53B711DC0E4243AA8482EB131AC367DE--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--53B711DC0E4243AA8482EB131AC367DE--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--53B711DC0E4243AA8482EB131AC367DE--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -6575,7 +6575,7 @@
<!--6E57665F77324B6097F953BD4ED9F392--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--6E57665F77324B6097F953BD4ED9F392--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--6E57665F77324B6097F953BD4ED9F392--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--6E57665F77324B6097F953BD4ED9F392--> <POSITION><![CDATA[41]]></POSITION>
+<!--6E57665F77324B6097F953BD4ED9F392--> <POSITION><![CDATA[42]]></POSITION>
<!--6E57665F77324B6097F953BD4ED9F392--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--6E57665F77324B6097F953BD4ED9F392--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--6E57665F77324B6097F953BD4ED9F392--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -6776,6 +6776,45 @@
<!--7049558C53FA467CA95B85002146375F--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
<!--7049558C53FA467CA95B85002146375F--></AD_COLUMN>
+<!--7057B1DDEE9B473B97330448635914D1--><AD_COLUMN>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_COLUMN_ID><![CDATA[7057B1DDEE9B473B97330448635914D1]]></AD_COLUMN_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--7057B1DDEE9B473B97330448635914D1--> <NAME><![CDATA[Refund Payment]]></NAME>
+<!--7057B1DDEE9B473B97330448635914D1--> <DESCRIPTION><![CDATA[Check this field to enable this payment method in Refund Payment]]></DESCRIPTION>
+<!--7057B1DDEE9B473B97330448635914D1--> <HELP><![CDATA[Check this field to enable this payment method in Refund Payment]]></HELP>
+<!--7057B1DDEE9B473B97330448635914D1--> <COLUMNNAME><![CDATA[RefundPayment]]></COLUMNNAME>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_TABLE_ID><![CDATA[B096FDF43917472D8FDE9693E9CCFFD4]]></AD_TABLE_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--7057B1DDEE9B473B97330448635914D1--> <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--7057B1DDEE9B473B97330448635914D1--> <SEQNO><![CDATA[475]]></SEQNO>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_ELEMENT_ID><![CDATA[1CC480F599094439954539F7B493A965]]></AD_ELEMENT_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--7057B1DDEE9B473B97330448635914D1--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--7057B1DDEE9B473B97330448635914D1--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--7057B1DDEE9B473B97330448635914D1--> <POSITION><![CDATA[47]]></POSITION>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--7057B1DDEE9B473B97330448635914D1--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--7057B1DDEE9B473B97330448635914D1--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--7057B1DDEE9B473B97330448635914D1--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--7057B1DDEE9B473B97330448635914D1--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--7057B1DDEE9B473B97330448635914D1--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--7057B1DDEE9B473B97330448635914D1--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--7057B1DDEE9B473B97330448635914D1--></AD_COLUMN>
+
<!--71CD455F6B794AA8BA469AC19370E261--><AD_COLUMN>
<!--71CD455F6B794AA8BA469AC19370E261--> <AD_COLUMN_ID><![CDATA[71CD455F6B794AA8BA469AC19370E261]]></AD_COLUMN_ID>
<!--71CD455F6B794AA8BA469AC19370E261--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -7802,7 +7841,7 @@
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <POSITION><![CDATA[42]]></POSITION>
+<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <POSITION><![CDATA[43]]></POSITION>
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--8B246638EEFA4ED0BAC6AD5A0BA0020F--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
diff -r 2cb39d0f8890 -r 3ee753a82a04 src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Nov 23 18:54:45 2016 +0100
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Mon Nov 07 16:50:46 2016 +0530
@@ -144,6 +144,20 @@
<!--19CD426DAA9B4E29A51DBEBCF8BC73DC--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--19CD426DAA9B4E29A51DBEBCF8BC73DC--></AD_ELEMENT>
+<!--1CC480F599094439954539F7B493A965--><AD_ELEMENT>
+<!--1CC480F599094439954539F7B493A965--> <AD_ELEMENT_ID><![CDATA[1CC480F599094439954539F7B493A965]]></AD_ELEMENT_ID>
+<!--1CC480F599094439954539F7B493A965--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1CC480F599094439954539F7B493A965--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1CC480F599094439954539F7B493A965--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1CC480F599094439954539F7B493A965--> <COLUMNNAME><![CDATA[RefundPayment]]></COLUMNNAME>
+<!--1CC480F599094439954539F7B493A965--> <NAME><![CDATA[Refund Payment]]></NAME>
+<!--1CC480F599094439954539F7B493A965--> <PRINTNAME><![CDATA[Refund Payment]]></PRINTNAME>
+<!--1CC480F599094439954539F7B493A965--> <DESCRIPTION><![CDATA[Check this field to enable this payment method in Refund Payment]]></DESCRIPTION>
+<!--1CC480F599094439954539F7B493A965--> <HELP><![CDATA[Check this field to enable this payment method in Refund Payment]]></HELP>
+<!--1CC480F599094439954539F7B493A965--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--1CC480F599094439954539F7B493A965--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--1CC480F599094439954539F7B493A965--></AD_ELEMENT>
+
<!--1D728488F3784208A534A49433515F11--><AD_ELEMENT>
<!--1D728488F3784208A534A49433515F11--> <AD_ELEMENT_ID><![CDATA[1D728488F3784208A534A49433515F11]]></AD_ELEMENT_ID>
<!--1D728488F3784208A534A49433515F11--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 2cb39d0f8890 -r 3ee753a82a04 src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Nov 23 18:54:45 2016 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml Mon Nov 07 16:50:46 2016 +0530
@@ -984,6 +984,34 @@
<!--194FCEF0230E4E7CBAADCBB05BB6DB5E--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--194FCEF0230E4E7CBAADCBB05BB6DB5E--></AD_FIELD>
+<!--1A3150BC38874B6DA775734AE5876EAE--><AD_FIELD>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_FIELD_ID><![CDATA[1A3150BC38874B6DA775734AE5876EAE]]></AD_FIELD_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <NAME><![CDATA[Refund Payment]]></NAME>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <DESCRIPTION><![CDATA[Check this field to enable this payment method in Refund Payment]]></DESCRIPTION>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <HELP><![CDATA[Check this field to enable this payment method in Refund Payment]]></HELP>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_TAB_ID><![CDATA[4D9F5E9CC0014A96861CEFB64BBF013B]]></AD_TAB_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_COLUMN_ID><![CDATA[7057B1DDEE9B473B97330448635914D1]]></AD_COLUMN_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <SEQNO><![CDATA[89]]></SEQNO>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--1A3150BC38874B6DA775734AE5876EAE--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--1A3150BC38874B6DA775734AE5876EAE--></AD_FIELD>
+
<!--1B70CFA2B89A4DC2945AC3609D0266CC--><AD_FIELD>
<!--1B70CFA2B89A4DC2945AC3609D0266CC--> <AD_FIELD_ID><![CDATA[1B70CFA2B89A4DC2945AC3609D0266CC]]></AD_FIELD_ID>
<!--1B70CFA2B89A4DC2945AC3609D0266CC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2615,6 +2643,7 @@
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <AD_COLUMN_ID><![CDATA[B888603F7A584DE2BE941A5D9B7BA662]]></AD_COLUMN_ID>
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <DISPLAYLOGIC><![CDATA[@RefundPayment@='Y']]></DISPLAYLOGIC>
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <DISPLAYLENGTH><![CDATA[60]]></DISPLAYLENGTH>
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--43BBBAD3221E42E9B076FAAD47E0B64D--> <SEQNO><![CDATA[85]]></SEQNO>
diff -r 2cb39d0f8890 -r 3ee753a82a04 web/org.openbravo.retail.posterminal/css/obpos-main.css
--- a/web/org.openbravo.retail.posterminal/css/obpos-main.css Wed Nov 23 18:54:45 2016 +0100
+++ b/web/org.openbravo.retail.posterminal/css/obpos-main.css Mon Nov 07 16:50:46 2016 +0530
@@ -26,6 +26,11 @@
cursor: pointer;
}
+.paymentmethoditemsdisabled {
+ cursor: not-allowed;
+ opacity: .5;
+}
+
@media all and (max-width: 800px) {
.paymentmethoditems {
min-width: 33%;
diff -r 2cb39d0f8890 -r 3ee753a82a04 web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js Wed Nov 23 18:54:45 2016 +0100
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/keyboard-toolbars.js Mon Nov 07 16:50:46 2016 +0530
@@ -398,7 +398,8 @@
buttonStatusChanged: function (inSender, inEvent) {
var me = this,
status = inEvent.value.status,
- statusPayment = OB.MobileApp.model.paymentnames ? OB.MobileApp.model.paymentnames[status] : null;
+ statusPayment = OB.MobileApp.model.paymentnames ? OB.MobileApp.model.paymentnames[status] : null,
+ i;
function setPaymentMethodInfo(payment) {
me.keyboard.status = 'paymentMethodCategory.showitems.' + payment.paymentMethod.paymentMethodCategory;
@@ -410,15 +411,25 @@
if (this.showing) {
me.bubble('onPaymentChanged');
if (this.keyboard.lastStatus !== '' && status === '') {
- if (this.defaultPayment.paymentMethod.paymentMethodCategory) {
- var searchKey = 'paymentMethodCategory.showitems.' + this.defaultPayment.paymentMethod.paymentMethodCategory;
+ var defaultPayment = this.defaultPayment;
+ //check if defaultPayment is returnable
+ if (me.receipt && me.receipt.getTotal() < 0 && !defaultPayment.paymentMethod.refundPayment) {
+ for (i = 0; i < OB.MobileApp.model.get('payments').length; i++) {
+ if (OB.MobileApp.model.get('payments')[i].paymentMethod.refundPayment) {
+ defaultPayment = OB.MobileApp.model.get('payments')[i];
+ break;
+ }
+ }
+ }
+ if (defaultPayment.paymentMethod.paymentMethodCategory) {
+ var searchKey = 'paymentMethodCategory.showitems.' + defaultPayment.paymentMethod.paymentMethodCategory;
if (searchKey === this.keyboard.lastStatus) {
this.keyboard.setStatus(searchKey);
} else {
- setPaymentMethodInfo(this.defaultPayment);
+ setPaymentMethodInfo(defaultPayment);
}
} else {
- this.keyboard.setStatus(this.defaultPayment.payment.searchKey);
+ this.keyboard.setStatus(defaultPayment.payment.searchKey);
}
}
if (statusPayment && statusPayment.paymentMethod.paymentMethodCategory) {
@@ -428,18 +439,19 @@
},
shown: function () {
var me = this,
- i, max, p, keyboard = this.owner.owner;
- keyboard.showKeypad('Coins-' + OB.MobileApp.model.get('currency').id); // shows the Coins/Notes panel for the terminal currency
+ i, p, keyboard = this.owner.owner,
+ isDisabled;
+ keyboard.status = '';
keyboard.showSidepad('sidedisabled');
keyboard.disableCommandKey(this, {
commands: ['%'],
disabled: false
});
-
- for (i = 0, max = OB.MobileApp.model.get('payments').length; i < max; i++) {
+ for (i = 0; i < OB.MobileApp.model.get('payments').length; i++) {
p = OB.MobileApp.model.get('payments')[i];
- if (p.paymentMethod.id === OB.MobileApp.model.get('terminal').terminalType.paymentMethod) {
+ isDisabled = ((me.receipt && me.receipt.getTotal() < 0) ? !p.paymentMethod.refundPayment : false);
+ if ((p.paymentMethod.id === OB.MobileApp.model.get('terminal').terminalType.paymentMethod) && !isDisabled) {
keyboard.defaultcommand = OB.MobileApp.model.get('payments')[i].payment.searchKey;
keyboard.setStatus(OB.MobileApp.model.get('payments')[i].payment.searchKey);
break;
@@ -447,9 +459,39 @@
}
if (keyboard && OB.MobileApp.model.get('paymentcash') && keyboard.status === '') {
- keyboard.defaultcommand = OB.MobileApp.model.get('paymentcash');
- keyboard.setStatus(OB.MobileApp.model.get('paymentcash'));
+ if (me.receipt && me.receipt.getTotal() > 0) {
+ keyboard.defaultcommand = OB.MobileApp.model.get('paymentcash');
+ keyboard.setStatus(OB.MobileApp.model.get('paymentcash'));
+ } else {
+ var refundablePayment = '';
+ for (i = 0; i < OB.MobileApp.model.get('payments').length; i++) {
+ p = OB.MobileApp.model.get('payments')[i];
+ isDisabled = ((me.receipt && me.receipt.getTotal() < 0) ? !p.paymentMethod.refundPayment : false);
+ //check if payment cash is enabled or disabled for return
+ if (!isDisabled) {
+ if (refundablePayment === '') {
+ refundablePayment = OB.MobileApp.model.get('payments')[i].payment.searchKey;
+ }
+ if (p.payment.searchKey === OB.MobileApp.model.get('paymentcash')) {
+ refundablePayment = OB.MobileApp.model.get('payments')[i].payment.searchKey;
+ break;
+ }
+ }
+ }
+ if (refundablePayment !== '') {
+ keyboard.defaultcommand = refundablePayment;
+ keyboard.setStatus(refundablePayment);
+ }
+ }
}
+ //Handle No Refund Payment Methods
+ _.each(OB.MobileApp.model.paymentnames, function (payment) {
+ isDisabled = (me.receipt && me.receipt.getTotal() < 0 ? !payment.paymentMethod.refundPayment : false);
+ keyboard.disableCommandKey(me, {
+ disabled: isDisabled,
+ commands: [payment.payment.searchKey]
+ });
+ });
}
});
diff -r 2cb39d0f8890 -r 3ee753a82a04 web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js Wed Nov 23 18:54:45 2016 +0100
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/modals/modalpayments.js Mon Nov 07 16:50:46 2016 +0530
@@ -81,19 +81,26 @@
content: '<img class="paymentmethoditemsimage" src="' + (item.image ? item.image : 'img/PMImgNotAvailable.png') + '"/><div class="paymentmethoditemstext">' + item.name + '</div>',
payment: item.payment,
tap: function () {
- var dialog = this.owner.owner.owner;
- dialog.bubble('onStatusChanged', {
- payment: this.payment,
- status: this.payment.payment.searchKey,
- amount: dialog.args.amount,
- options: dialog.args.options
- });
- dialog.bubble('onPaymentChanged', {
- payment: this.payment,
- status: this.payment.payment.searchKey,
- amount: dialog.args.amount
- });
- dialog.doHideThisPopup();
+ if (!item.disabled) {
+ var dialog = this.owner.owner.owner;
+ dialog.bubble('onStatusChanged', {
+ payment: this.payment,
+ status: this.payment.payment.searchKey,
+ amount: dialog.args.amount,
+ options: dialog.args.options
+ });
+ dialog.bubble('onPaymentChanged', {
+ payment: this.payment,
+ status: this.payment.payment.searchKey,
+ amount: dialog.args.amount
+ });
+ dialog.doHideThisPopup();
+ }
+ },
+ initComponents: function () {
+ if (item.disabled) {
+ this.addClass('paymentmethoditemsdisabled');
+ }
}
});
}, this);
@@ -116,10 +123,12 @@
enyo.forEach(payments, function (payment) {
if (payment.paymentMethod.paymentMethodCategory && payment.paymentMethod.paymentMethodCategory === this.args.idCategory && OB.MobileApp.model.hasPermission(payment.payment.searchKey)) {
if (filterBy === '' || payment.paymentMethod._identifier.toUpperCase().indexOf(filterBy) >= 0) {
+ var isDisabled = (OB.MobileApp.model.receipt.getTotal() < 0 ? !payment.paymentMethod.refundPayment : false);
items.push({
name: payment.paymentMethod._identifier,
image: payment.image,
- payment: payment
+ payment: payment,
+ disabled: isDisabled
});
}
}
diff -r 2cb39d0f8890 -r 3ee753a82a04 web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js Wed Nov 23 18:54:45 2016 +0100
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/payment.js Mon Nov 07 16:50:46 2016 +0530
@@ -52,6 +52,7 @@
} else {
var payment, change, pending, isMultiOrders, paymentstatus;
payment = inEvent.value.payment || OB.MobileApp.model.paymentnames[OB.MobileApp.model.get('paymentcash')];
+ this.$.noenoughchangelbl.hide();
if (_.isUndefined(payment)) {
return true;
}
diff -r 2cb39d0f8890 -r 3ee753a82a04 web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js Wed Nov 23 18:54:45 2016 +0100
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js Mon Nov 07 16:50:46 2016 +0530
@@ -457,8 +457,21 @@
},
tap: function () {
var me = this,
- criteria = {};
+ criteria = {},
+ paymentModels = OB.MobileApp.model.get('payments');
if (this.disabled === false) {
+ // for Return Order if all payments are not refundable throw error
+ if (this.model.get('order').get('orderType') === 1) {
+ var hasNoRefundablePayment = _.filter(paymentModels, function (payment) {
+ return !payment.paymentMethod.refundPayment;
+ }).length === paymentModels.length;
+ if (hasNoRefundablePayment) {
+ OB.UTIL.showConfirmation.display('', OB.I18N.getLabel('OBPOS_LblNoRefundablePayments'), [{
+ label: OB.I18N.getLabel('OBMOBC_LblOk')
+ }]);
+ return;
+ }
+ }
if (this.model.get('order').get('orderType') === 3) {
this.showPaymentTab();
return;
|