From 8e0d71a6ad930e710da8b23c05c67b3aa52fdbf2 Mon Sep 17 00:00:00 2001 From: Nicolas Micoud Date: Thu, 20 Mar 2014 10:28:19 -0500 Subject: [PATCH] IDEMPIERE-1762 Ability to set a validation rule on fields for Payments --- .../adempiere/base/DefaultLookupFactory.java | 2 +- .../org/compiere/model/MPaymentLookup.java | 24 +++++++------------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/org.adempiere.base/src/org/adempiere/base/DefaultLookupFactory.java b/org.adempiere.base/src/org/adempiere/base/DefaultLookupFactory.java index d9c5927177..2570b64379 100644 --- a/org.adempiere.base/src/org/adempiere/base/DefaultLookupFactory.java +++ b/org.adempiere.base/src/org/adempiere/base/DefaultLookupFactory.java @@ -54,7 +54,7 @@ public class DefaultLookupFactory implements ILookupFactory{ } else if (gridFieldVO.displayType == Payment) { - lookup = new MPaymentLookup (gridFieldVO.ctx, gridFieldVO.WindowNo, gridFieldVO.AD_Column_ID); + lookup = new MPaymentLookup (gridFieldVO.ctx, gridFieldVO.WindowNo, gridFieldVO.ValidationCode); } else if (DisplayType.isLookup(gridFieldVO.displayType) && gridFieldVO.lookupInfo != null) { diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java b/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java index afcbf43418..daf6389e2a 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java +++ b/org.adempiere.base/src/org/compiere/model/MPaymentLookup.java @@ -27,6 +27,7 @@ import org.compiere.util.DB; import org.compiere.util.DisplayType; import org.compiere.util.Env; import org.compiere.util.NamePair; +import org.compiere.util.Util; import org.compiere.util.ValueNamePair; /** @@ -35,24 +36,23 @@ import org.compiere.util.ValueNamePair; * */ public class MPaymentLookup extends Lookup implements Serializable { - /** * */ - private static final long serialVersionUID = -6863672221350217533L; - + private static final long serialVersionUID = 6505672741140583659L; + /** Context */ private Properties m_ctx; /** IsSOTrx */ private boolean m_isSOTrx = false; - /** AD_Column_ID */ - private int m_AD_Column_ID; + /** Validation Code */ + private String m_validationCode; - public MPaymentLookup(Properties ctx, int windowNo, int columnID) { + public MPaymentLookup(Properties ctx, int windowNo, String validationCode) { super(DisplayType.TableDir, windowNo); m_ctx = ctx; - m_AD_Column_ID = columnID; m_isSOTrx = "Y".equals(Env.getContext(Env.getCtx(), windowNo, "IsSOTrx")); + m_validationCode = validationCode; } @Override @@ -159,15 +159,9 @@ public class MPaymentLookup extends Lookup implements Serializable { public String getValidation() { - StringBuilder sb = new StringBuilder(); - sb.append("SELECT vr.Code "); - sb.append("FROM AD_Column c"); - sb.append(" LEFT OUTER JOIN AD_Val_Rule vr ON (c.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "); - sb.append("WHERE c.AD_Column_ID=?"); - String validation = DB.getSQLValueString(null, sb.toString(), m_AD_Column_ID); - if (validation == null) + if (Util.isEmpty(m_validationCode, true)) return ""; - return validation.trim(); + return m_validationCode.trim(); } private String getWhereClause()