details:   https://code.openbravo.com/erp/devel/pi/rev/6179129b80a3
changeset: 15178:6179129b80a3
user:      David Alsasua <david.alsasua <at> openbravo.com>
date:      Mon Jan 23 16:50:22 2012 +0100
summary:   Fixes issue 19439.
Now, in case a business partner OR ANY DATE is entered in the filter, the grid 
is painted

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
 |  28 +++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diffs (59 lines):

diff -r 579d4957d42c -r 6179129b80a3 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
      Mon Jan 23 16:43:22 2012 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
      Mon Jan 23 16:50:22 2012 +0100
@@ -22,6 +22,7 @@
 import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -44,6 +45,7 @@
 import org.openbravo.base.filter.ValueListFilter;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.base.session.OBPropertiesProvider;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
@@ -545,7 +547,9 @@
 
     // If business partner and document number are empty search for all 
filtered scheduled payments
     // list
-    if (!"".equals(strBusinessPartnerId) || !"".equals(strDocumentNo)) {
+    if (!"".equals(strBusinessPartnerId) || !"".equals(strDocumentNo)
+        || isValidJSDate(strDueDateFrom) || isValidJSDate(strDueDateTo)
+        || isValidJSDate(strTransDateFrom) || isValidJSDate(strTransDateTo)) {
       Currency paymentCurrency;
       if (strCurrencyId == null || strCurrencyId.isEmpty()) {
         paymentCurrency = financialAccount.getCurrency();
@@ -572,6 +576,28 @@
     out.close();
   }
 
+  /**
+   * Returns true in case the provided string is well formed JS-formated date
+   */
+  private boolean isValidJSDate(String strDate) {
+    if ("".equals(strDate)) {
+      return false;
+    }
+    try {
+      OBContext.setAdminMode(true);
+      String dateFormat = 
OBPropertiesProvider.getInstance().getOpenbravoProperties()
+          .getProperty("dateFormat.java");
+
+      Date date = new SimpleDateFormat(dateFormat).parse(strDate);
+      Date year1000 = new SimpleDateFormat("yyyy-MM-dd").parse("999-12-31");
+      return date.after(year1000);
+    } catch (Exception e) {
+      return false;
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+  }
+
   private void refreshPaymentMethod(HttpServletResponse response, String 
strBusinessPartnerId,
       String strFinancialAccountId, boolean isReceipt) throws IOException, 
ServletException {
     log4j.debug("Callout: Business Partner has changed to" + 
strBusinessPartnerId);

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to