details:   https://code.openbravo.com/erp/devel/pi/rev/a477b160f8d7
changeset: 33636:a477b160f8d7
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Fri Mar 02 14:03:45 2018 +0530
summary:   Fixes Issue 37932: "Funds Transfer" process should have same behavior
than manual creation of transactions

When we create manual transaction default value of the organization
is the financial account's organization. Funds Transfer Handler
implements same logic to pick organization from financial account
without doing a check whether current role has write access to the
organization being used for the transaction.

A writable check is done before using financial account organization
in the transaction. If not current organization from the OBContext
is used.

details:   https://code.openbravo.com/erp/devel/pi/rev/ce890b7032d4
changeset: 33637:ce890b7032d4
user:      David Miguelez <david.miguelez <at> openbravo.com>
date:      Tue Mar 06 09:07:37 2018 +0100
summary:   Related to Issue 37932. Code Review changes.

Added comment to explain the situation

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/FundsTransferActionHandler.java
 |  10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diffs (27 lines):

diff -r c6c43abf22f1 -r ce890b7032d4 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/FundsTransferActionHandler.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/FundsTransferActionHandler.java
       Mon Mar 05 22:40:08 2018 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/FundsTransferActionHandler.java
       Tue Mar 06 09:07:37 2018 +0100
@@ -35,6 +35,7 @@
 import org.openbravo.base.weld.WeldUtils;
 import org.openbravo.client.application.process.BaseProcessActionHandler;
 import 
org.openbravo.client.application.process.ResponseActionsBuilder.MessageType;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.erpCommon.utility.OBMessageUtils;
 import org.openbravo.financial.FinancialUtils;
@@ -261,7 +262,14 @@
     } else {
       trx.setPaymentAmount(amount);
     }
-    trx.setOrganization(account.getOrganization());
+    // If the user has access to the Organization of the Financial Account, 
the Transaction is
+    // created for it. If not, the Organization of the context is used instead
+    if (OBContext.getOBContext().getWritableOrganizations()
+        .contains(account.getOrganization().getId())) {
+      trx.setOrganization(account.getOrganization());
+    } else {
+      trx.setOrganization(OBContext.getOBContext().getCurrentOrganization());
+    }
 
     Long line = lineNoUtil.getNextLineNumber(account);
     trx.setLineNo(line);

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to