details:   https://code.openbravo.com/erp/devel/pi/rev/543ad0d87402
changeset: 25244:543ad0d87402
user:      Fernando Soto <fernando.soto <at> peoplewalking.com>
date:      Thu Nov 13 12:42:30 2014 -0500
summary:   Fixed bug 28077: Processing an invoice with no currency defined in BP

When processing an Invoice and the Bussines Partner has no currency defined, an 
error should be raised
Modified ProcessInvoice class to check the BP currency
Uses message InitBPCurrencyLnk from issue 28078

details:   https://code.openbravo.com/erp/devel/pi/rev/50d3a6f3a402
changeset: 25245:50d3a6f3a402
user:      Fernando Soto <fernando.soto <at> peoplewalking.com>
date:      Mon Nov 10 18:17:55 2014 -0500
summary:   Fixed bug 28078: Paying an invoice with no currency defined in BP

When paying an Invoice and the Bussines Partner has no currency defined, an 
error should be raised
Modified FIN_PaymentProcess class to check the bussiness partner currency
Created Message InitBPCurrencyLnk

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 |  16 ++++++++++
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     |  12 +++++++
 src-db/database/sourcedata/AD_MESSAGE.xml                                      
                           |  12 +++++++
 3 files changed, 40 insertions(+), 0 deletions(-)

diffs (71 lines):

diff -r 8d86f28e2da1 -r 50d3a6f3a402 
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
 Fri Oct 24 14:54:51 2014 -0500
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 Mon Nov 10 18:17:55 2014 -0500
@@ -153,7 +153,23 @@
             return;
           }
         }
+        // check BP currency
+        if ("CO".equals(strdocaction)) {
+            // check BP currency
+            if (invoice.getBusinessPartner().getCurrency() == null) {
+               String errorMSG =  
+                               Utility.messageBD(this, "InitBPCurrencyLnk", 
vars.getLanguage(), false);
+               msg = new OBError();
+               msg.setType("Error");
+               msg.setTitle(Utility.messageBD(this, "Error", 
vars.getLanguage()));
+               msg.setMessage(String.format(errorMSG, 
invoice.getBusinessPartner().getId(), invoice.getBusinessPartner().getName()));
 
+               vars.setMessage(strTabId, msg);
+               printPageClosePopUp(response, vars, Utility.getTabURL(strTabId, 
"R", true));
+               return;
+            }
+        }
+        
         OBContext.setAdminMode(true);
         Process process = null;
         try {
diff -r 8d86f28e2da1 -r 50d3a6f3a402 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Fri Oct 24 14:54:51 2014 -0500
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Mon Nov 10 18:17:55 2014 -0500
@@ -415,6 +415,18 @@
                         .getInvoicePaymentSchedule().getInvoice() : null;
                     paidAmount = BigDecimal.ZERO;
                     String fromCurrency = payment.getCurrency().getId();
+                    if (businessPartner.getCurrency() == null) {
+                       String errorMSG = 
+                                       Utility.messageBD(conProvider, 
"InitBPCurrencyLnk", language, false);
+                       
+                        msg.setType("Error");
+                         msg.setTitle(Utility.messageBD(conProvider, "Error", 
language));
+                         msg.setMessage(String.format(errorMSG, 
businessPartner.getId(), businessPartner.getName()));
+                         bundle.setResult(msg);
+                         OBDal.getInstance().rollbackAndClose();
+                         return;
+                       
+                    }
                     String toCurrency = businessPartner.getCurrency().getId();
                     if (!fromCurrency.equals(toCurrency)) {
                       BigDecimal exchangeRate = BigDecimal.ZERO;
diff -r 8d86f28e2da1 -r 50d3a6f3a402 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Fri Oct 24 14:54:51 2014 -0500
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Mon Nov 10 18:17:55 2014 -0500
@@ -17399,6 +17399,18 @@
 <!--24DC08DDDEF64FFE81EF69745410C78C-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--24DC08DDDEF64FFE81EF69745410C78C--></AD_MESSAGE>
 
+<!--270BF082B1234A3FB74792CC4E5A4B26--><AD_MESSAGE>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  
<AD_MESSAGE_ID><![CDATA[270BF082B1234A3FB74792CC4E5A4B26]]></AD_MESSAGE_ID>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  
<VALUE><![CDATA[InitBPCurrencyLnk]]></VALUE>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  <MSGTEXT><![CDATA[Please initialize 
<a class="LabelLink" onclick="OB.Utilities.openDirectTab('220', '%s')" 
href="#"> %s </a> business partner currency before processing the 
document.]]></MSGTEXT>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--270BF082B1234A3FB74792CC4E5A4B26-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--270BF082B1234A3FB74792CC4E5A4B26--></AD_MESSAGE>
+
 <!--272961BF12DB4930A0F8EDDADE8827CA--><AD_MESSAGE>
 <!--272961BF12DB4930A0F8EDDADE8827CA-->  
<AD_MESSAGE_ID><![CDATA[272961BF12DB4930A0F8EDDADE8827CA]]></AD_MESSAGE_ID>
 <!--272961BF12DB4930A0F8EDDADE8827CA-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to