details:   /erp/devel/pi/rev/5569fca75c05
changeset: 10969:5569fca75c05
user:      Mikel Irurita <mikel.irurita <at> openbravo.com>
date:      Wed Mar 02 12:45:06 2011 +0100
summary:   Fixes issue 15889: Not possible to complete an Invoice if the role 
only has access to invoice window

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ExecutePayments.java
 |  20 +++++++--
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
  |  10 ++++-
 2 files changed, 24 insertions(+), 6 deletions(-)

diffs (69 lines):

diff -r e9b0a01aa669 -r 5569fca75c05 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ExecutePayments.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ExecutePayments.java
        Wed Mar 02 11:40:14 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ExecutePayments.java
        Wed Mar 02 12:45:06 2011 +0100
@@ -67,7 +67,15 @@
           IsIDFilter.instance);
       String strTabId = vars.getGlobalVariable("inpTabId", 
"ExecutePayments|Tab_ID", "",
           IsIDFilter.instance);
-      PaymentExecutionProcess executionProcess = getExecutionProcess(vars, 
strWindowId);
+
+      PaymentExecutionProcess executionProcess = null;
+      try {
+        OBContext.setAdminMode(true);
+        executionProcess = getExecutionProcess(vars, strWindowId);
+      } finally {
+        OBContext.restorePreviousMode();
+      }
+
       if (executionProcess == null) {
         OBError message = Utility
             .translateError(this, vars, vars.getLanguage(), 
Utility.parseTranslation(this, vars,
@@ -86,8 +94,8 @@
           IsIDFilter.instance);
       final String executionProcess = 
vars.getRequiredStringParameter("inpExecutionProcess",
           IsIDFilter.instance);
-      processAndClose(response, vars, strWindowId, 
dao.getObject(PaymentExecutionProcess.class,
-          executionProcess), payments, dao.getObject(Organization.class, 
strOrganizationId));
+      processAndClose(response, vars, strWindowId, executionProcess, payments, 
dao.getObject(
+          Organization.class, strOrganizationId));
     }
   }
 
@@ -136,13 +144,15 @@
   }
 
   private void processAndClose(HttpServletResponse response, 
VariablesSecureApp vars,
-      String strWindowId, PaymentExecutionProcess executionProcess, String 
strPayments,
-      Organization organization) throws ServletException, IOException {
+      String strWindowId, String execProcess, String strPayments, Organization 
organization)
+      throws ServletException, IOException {
     log4j.debug("Output: Execute Payments process and close");
     dao = new AdvPaymentMngtDao();
     OBError result = new OBError();
     OBContext.setAdminMode();
     try {
+      PaymentExecutionProcess executionProcess = 
dao.getObject(PaymentExecutionProcess.class,
+          execProcess);
       List<PaymentExecutionProcessParameter> executionProcessInParameters = dao
           .getInPaymentExecutionParameters(executionProcess);
       HashMap<String, String> parameters = null;
diff -r e9b0a01aa669 -r 5569fca75c05 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 Wed Mar 02 11:40:14 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 Wed Mar 02 12:45:06 2011 +0100
@@ -143,7 +143,15 @@
         } else
           vars.setMessage(strTabId, myMessage);
       }
-      List<FIN_Payment> payments = 
dao.getPendingExecutionPayments(strC_Invoice_ID);
+
+      List<FIN_Payment> payments = null;
+      try {
+        OBContext.setAdminMode(true);
+        payments = dao.getPendingExecutionPayments(strC_Invoice_ID);
+      } finally {
+        OBContext.restorePreviousMode();
+      }
+
       if (payments != null && payments.size() > 0) {
         vars.setSessionValue("ExecutePayments|Window_ID", strWindowId);
         vars.setSessionValue("ExecutePayments|Tab_ID", strTabId);

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to