details:   https://code.openbravo.com/erp/devel/pi/rev/8ae08a1890a3
changeset: 28018:8ae08a1890a3
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Wed Nov 18 11:15:28 2015 +0100
summary:   Fixes issue 31386: Error shown in Add Payment

Error shown in Add Payment when role has no access to Financial Account window.
Add OBContext.setAdminMode(true) in getFinancialAccountPaymentMethod method to 
avoid it.

diffstat:

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

diffs (41 lines):

diff -r 77f1cb4dd278 -r 8ae08a1890a3 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentMethodMulticurrencyActionHandler.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentMethodMulticurrencyActionHandler.java
  Fri Nov 20 10:33:03 2015 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentMethodMulticurrencyActionHandler.java
  Wed Nov 18 11:15:28 2015 +0100
@@ -26,6 +26,7 @@
 import org.hibernate.criterion.Restrictions;
 import org.openbravo.base.exception.OBException;
 import org.openbravo.client.kernel.BaseActionHandler;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.financial.FinancialUtils;
@@ -119,14 +120,19 @@
 
   private FinAccPaymentMethod getFinancialAccountPaymentMethod(String 
paymentMethodId,
       String financialAccountId) {
-    OBCriteria<FinAccPaymentMethod> obc = OBDal.getInstance().createCriteria(
-        FinAccPaymentMethod.class);
-    obc.setFilterOnReadableOrganization(false);
-    obc.setMaxResults(1);
-    obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_ACCOUNT,
-        OBDal.getInstance().get(FIN_FinancialAccount.class, 
financialAccountId)));
-    obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_PAYMENTMETHOD,
-        OBDal.getInstance().get(FIN_PaymentMethod.class, paymentMethodId)));
-    return (FinAccPaymentMethod) obc.uniqueResult();
+    OBContext.setAdminMode(true);
+    try {
+      OBCriteria<FinAccPaymentMethod> obc = OBDal.getInstance().createCriteria(
+          FinAccPaymentMethod.class);
+      obc.setFilterOnReadableOrganization(false);
+      obc.setMaxResults(1);
+      obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_ACCOUNT,
+          OBDal.getInstance().get(FIN_FinancialAccount.class, 
financialAccountId)));
+      obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_PAYMENTMETHOD,
+          OBDal.getInstance().get(FIN_PaymentMethod.class, paymentMethodId)));
+      return (FinAccPaymentMethod) obc.uniqueResult();
+    } finally {
+      OBContext.restorePreviousMode();
+    }
   }
 }
\ No newline at end of file

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to