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