From c133d6dd00b4bbf86e8b80e6208498add4905cd7 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Mon, 12 Feb 2007 23:38:22 +0000 Subject: [PATCH] * Remove 'save parent first' feature that doesn't work as expected * Detail tab don't retrieve all when parent is empty or new --- base/src/org/compiere/model/GridField.java | 4 +++- base/src/org/compiere/model/GridTab.java | 13 ++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/base/src/org/compiere/model/GridField.java b/base/src/org/compiere/model/GridField.java index eab7bdd879..b2f2d9572c 100644 --- a/base/src/org/compiere/model/GridField.java +++ b/base/src/org/compiere/model/GridField.java @@ -454,7 +454,9 @@ public class GridField if (m_vo.DefaultValue.startsWith("@SQL=")) { String sql = m_vo.DefaultValue.substring(5); // w/o tag - sql = Env.parseContext(m_vo.ctx, m_vo.WindowNo, sql, false, true); // replace variables + //sql = Env.parseContext(m_vo.ctx, m_vo.WindowNo, sql, false, true); // replace variables + //hengsin, capture unparseable error to avoid subsequent sql exception + sql = Env.parseContext(m_vo.ctx, m_vo.WindowNo, sql, false, false); // replace variables if (sql.equals("")) { log.log(Level.WARNING, "(" + m_vo.ColumnName + ") - Default SQL variable parse failed: " diff --git a/base/src/org/compiere/model/GridTab.java b/base/src/org/compiere/model/GridTab.java index a7337c5206..f6e6e9a0d9 100644 --- a/base/src/org/compiere/model/GridTab.java +++ b/base/src/org/compiere/model/GridTab.java @@ -128,7 +128,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable /** Logger */ protected CLogger log = CLogger.getCLogger(getClass()); - private boolean m_parentNeedSave = false; + //private boolean m_parentNeedSave = false; /************************************************************************** @@ -518,7 +518,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable // Detail Query if (isDetail()) { - m_parentNeedSave = false; + //m_parentNeedSave = false; String lc = getLinkColumnName(); if (lc.equals("")) log.severe ("No link column"); @@ -534,8 +534,10 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable { //log.severe ("No value for link column " + lc); //parent is new, can't retrieve detail - m_parentNeedSave = true; - return; + //m_parentNeedSave = true; + if (where.length() != 0) + where.append(" AND "); + where.append(lc).append(" is null "); } else { @@ -2426,13 +2428,14 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable return m_mTable.getValueAt(row, col); } // getValue + /* public boolean isNeedToSaveParent() { if (isDetail()) return m_parentNeedSave; else return false; - } + }*/ /** * toString