details:   https://code.openbravo.com/erp/devel/pi/rev/aed4d4a47cd1
changeset: 35473:aed4d4a47cd1
user:      Álvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Wed Feb 27 10:31:10 2019 +0100
summary:   Fixes issue 40257: Cross Store payments & returns project

Disable client/org check in AdvPaymentMngtDao.getNewPaymentDetail() to enable 
Cross Store payments.

Do not check AD_Org_ID and M_Warehouse_ID relation in C_ORDER_POST1 and 
M_INOUT_POST as this should be managed by the warehouse selector.

Enable crossOrgReference in some columns:
C_Order.M_Warehouse_ID
C_OrderLine.M_Warehouse_ID
M_InOut.M_Warehouse_ID
C_Order.SalesRep_ID
M_InOut.SalesRep_ID
C_Invoice.SalesRep_ID

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
 |   9 +-
 src-db/database/model/functions/C_ORDER_POST1.xml                              
                  |  23 +-------
 src-db/database/model/functions/M_INOUT_POST.xml                               
                  |  28 +--------
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                  |  12 ++--
 4 files changed, 15 insertions(+), 57 deletions(-)

diffs (210 lines):

diff -r f3bf74e65781 -r aed4d4a47cd1 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
  Wed Feb 27 12:35:21 2019 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
  Wed Feb 27 10:31:10 2019 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2018 Openbravo SLU
+ * All portions are Copyright (C) 2010-2019 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  Enterprise Intelligence Systems (http://www.eintel.com.au).
  *************************************************************************
@@ -560,7 +560,8 @@
       BigDecimal writeoffAmount, boolean isRefund, GLItem glitem, boolean 
doFlush,
       String paymentId) {
     try {
-      OBContext.setAdminMode(true);
+      // Don't check organization access to allow Cross Store payments
+      OBContext.setAdminMode(false);
       final FIN_PaymentDetail newPaymentDetail = OBProvider.getInstance()
           .get(FIN_PaymentDetail.class);
       if (paymentId != null) {
@@ -2017,7 +2018,7 @@
       boolean isReceipt, Currency currency) {
 
     try {
-      OBContext.setAdminMode(true);
+      OBContext.setAdminMode(false);
 
       final Organization legalEntity = FIN_Utility.getLegalEntityOrg(org);
       Set<String> orgIds = OBContext.getOBContext()
@@ -2137,7 +2138,7 @@
       final BusinessPartner businessPartner, final BigDecimal amount, final 
Currency currency,
       final boolean isReceipt, final Date toDate) {
     try {
-      OBContext.setAdminMode(true);
+      OBContext.setAdminMode(false);
       OBCriteria<FIN_Payment> obcFinPayment = 
OBDal.getInstance().createCriteria(FIN_Payment.class);
       obcFinPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_PROCESSED, true));
       obcFinPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_BUSINESSPARTNER, 
businessPartner));
diff -r f3bf74e65781 -r aed4d4a47cd1 
src-db/database/model/functions/C_ORDER_POST1.xml
--- a/src-db/database/model/functions/C_ORDER_POST1.xml Wed Feb 27 12:35:21 
2019 +0100
+++ b/src-db/database/model/functions/C_ORDER_POST1.xml Wed Feb 27 10:31:10 
2019 +0100
@@ -22,7 +22,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
-* All portions are Copyright (C) 2001-2018 Openbravo SLU
+* All portions are Copyright (C) 2001-2019 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -45,7 +45,6 @@
   -- Record Info
   v_Client_ID VARCHAR2(32);
   v_Org_ID VARCHAR2(32);
-  v_Warehouse_Org VARCHAR2(32);
   v_Org_Name VARCHAR2(60);
   v_UpdatedBy VARCHAR2(32);
   v_DocAction VARCHAR(60) ;
@@ -307,26 +306,6 @@
     END;
   END IF;
 
-    --Check whether warehouse belongs to the organization.
-    SELECT count(AD_ORG_ID)
-    INTO v_count
-    FROM AD_Org_Warehouse
-    WHERE M_Warehouse_ID=v_M_Warehouse_ID
-    AND AD_Org_ID = v_Org_ID;
-
-    IF v_count = 0 AND v_IsSOTrx = 'Y' THEN
-    RAISE_APPLICATION_ERROR(-20000,'@WrongWarehouse@') ;
-    END IF;
-
-    SELECT AD_Org_ID
-    INTO v_Warehouse_Org
-    FROM M_Warehouse
-    WHERE M_Warehouse_ID = v_M_Warehouse_ID;
-
-    IF(ad_org_isinnaturaltree(v_Warehouse_Org, v_Org_ID, v_Client_ID) = 'N' 
AND v_isSoTrx = 'N') THEN
-      RAISE_APPLICATION_ERROR(-20000,'@WrongWarehouse@');
-    END IF;
-
     SELECT CASE WHEN (m.ISSOTRX='Y') THEN customer_blocking  ELSE 
vendor_blocking END ,  
     CASE WHEN (m.ISSOTRX='Y') THEN so_order_blocking ELSE po_order_blocking  
END, name, DocAction
       INTO v_bpartner_blocked, v_orderBlocking, v_bpartner_name, v_DocAction
diff -r f3bf74e65781 -r aed4d4a47cd1 
src-db/database/model/functions/M_INOUT_POST.xml
--- a/src-db/database/model/functions/M_INOUT_POST.xml  Wed Feb 27 12:35:21 
2019 +0100
+++ b/src-db/database/model/functions/M_INOUT_POST.xml  Wed Feb 27 10:31:10 
2019 +0100
@@ -22,7 +22,7 @@
   * parts created by ComPiere are Copyright (C) ComPiere, Inc.;
   * All Rights Reserved.
   * Contributor(s): Openbravo SLU
-  * Contributions are Copyright (C) 2001-2018 Openbravo, S.L.U.
+  * Contributions are Copyright (C) 2001-2019 Openbravo, S.L.U.
   *
   * Specifically, this derivative work is based upon the following Compiere
   * file and version.
@@ -73,7 +73,6 @@
     --
     v_Result NUMBER:=1;
     v_AD_Org_ID VARCHAR2(32);
-    v_Warehouse_Org VARCHAR2(32);
     v_AD_Client_ID VARCHAR2(32);
     v_NextNo VARCHAR2(32);
     v_Qty NUMBER;
@@ -96,7 +95,6 @@
     v_ProductName M_Product.name%TYPE;
     v_reservation_id    VARCHAR2(32);
     v_reservationstock_id    VARCHAR2(32);
-    v_M_Warehouse_ID    VARCHAR2(32);
     v_voidmovementdate M_Inout.MovementDate%TYPE;
     v_voiddate_acct M_Inout.DateAcct%TYPE;
     v_bpartner_blocked VARCHAR2(1):='N';
@@ -167,8 +165,8 @@
   BEGIN --BODY
        IF(NOT FINISH_PROCESS) THEN
          v_PUser:=v_User;
-      SELECT io.AD_Client_ID, io.AD_Org_ID, io.CreatedBy, io.C_DocType_ID, 
io.DateAcct, dt.isreturn, io.m_warehouse_id, io.issotrx,docaction
-        INTO v_AD_Client_ID, v_AD_Org_ID, v_User, v_DocType_ID, v_DateAcct, 
v_isreturndoctype, v_M_Warehouse_ID, v_isSoTrx,v_DocAction
+      SELECT io.AD_Client_ID, io.AD_Org_ID, io.CreatedBy, io.C_DocType_ID, 
io.DateAcct, dt.isreturn, io.issotrx,docaction
+        INTO v_AD_Client_ID, v_AD_Org_ID, v_User, v_DocType_ID, v_DateAcct, 
v_isreturndoctype, v_isSoTrx,v_DocAction
         FROM M_InOut io JOIN c_doctype dt ON io.c_doctype_id = dt.c_doctype_id
         WHERE io.M_InOut_ID=v_Record_ID;
         IF(v_PUser IS NOT NULL) THEN
@@ -324,26 +322,6 @@
         RAISE_APPLICATION_ERROR(-20000, '@InActiveBusinessPartner@');
       END IF;
 
-      --Check whether warehouse belongs to the organization.
-      SELECT count(AD_ORG_ID)
-      INTO v_count
-      FROM AD_Org_Warehouse
-      WHERE M_Warehouse_ID=v_M_Warehouse_ID
-      AND AD_Org_ID = v_AD_Org_ID;
-
-      IF v_count = 0 AND v_isSoTrx = 'Y' THEN
-        RAISE_APPLICATION_ERROR(-20000,'@WrongWarehouse@');
-      END IF;
-
-      SELECT AD_Org_ID
-      INTO v_Warehouse_Org
-      FROM M_Warehouse
-      WHERE M_Warehouse_ID = v_M_Warehouse_ID;
-
-      IF(ad_org_isinnaturaltree(v_Warehouse_Org, v_AD_Org_ID, v_AD_Client_ID) 
= 'N' AND v_isSoTrx = 'N') THEN
-        RAISE_APPLICATION_ERROR(-20000,'@WrongWarehouse@');
-      END IF;
-
       SELECT CASE WHEN (m.ISSOTRX='Y') THEN customer_blocking ELSE 
vendor_blocking END, CASE WHEN (m.ISSOTRX='Y') 
       THEN so_goods_blocking ELSE po_goods_blocking END, name, DocAction
       INTO v_bpartner_blocked, v_goods_blocked, v_bpartner_name, v_DocAction
diff -r f3bf74e65781 -r aed4d4a47cd1 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Wed Feb 27 12:35:21 2019 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Wed Feb 27 10:31:10 2019 +0100
@@ -32616,7 +32616,7 @@
 <!--2186-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--2186-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--2186-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--2186-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--2186-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--2186--></AD_COLUMN>
 
 <!--2187--><AD_COLUMN>
@@ -33041,7 +33041,7 @@
 <!--2202-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--2202-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--2202-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--2202-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--2202-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--2202--></AD_COLUMN>
 
 <!--2204--><AD_COLUMN>
@@ -33772,7 +33772,7 @@
 <!--2223-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--2223-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--2223-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--2223-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--2223-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--2223--></AD_COLUMN>
 
 <!--2224--><AD_COLUMN>
@@ -60405,7 +60405,7 @@
 <!--3512-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--3512-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--3512-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--3512-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--3512-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--3512--></AD_COLUMN>
 
 <!--3513--><AD_COLUMN>
@@ -66816,7 +66816,7 @@
 <!--3798-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--3798-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--3798-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--3798-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--3798-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--3798--></AD_COLUMN>
 
 <!--3799--><AD_COLUMN>
@@ -121596,7 +121596,7 @@
 <!--8771-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--8771-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
 <!--8771-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
-<!--8771-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--8771-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[Y]]></ALLOWED_CROSS_ORG_LINK>
 <!--8771--></AD_COLUMN>
 
 <!--8772--><AD_COLUMN>


_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to