From da5f06287c0afd3277fa5191a54192d39b5dbd00 Mon Sep 17 00:00:00 2001 From: Deepak Pansheriya Date: Sun, 21 Oct 2012 11:58:52 +0530 Subject: [PATCH 1/8] IDEMPIERE-389 - Fix to set non loopback and non link IP on ServerName --- .../src/org/compiere/util/Ini.java | 7 +-- .../src/org/compiere/util/WebUtil.java | 57 +++++++++++++++---- 2 files changed, 48 insertions(+), 16 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/util/Ini.java b/org.adempiere.base/src/org/compiere/util/Ini.java index bf35e8ae39..7e9ae05d39 100644 --- a/org.adempiere.base/src/org/compiere/util/Ini.java +++ b/org.adempiere.base/src/org/compiere/util/Ini.java @@ -141,9 +141,6 @@ public final class Ini implements Serializable /** Role */ public static final String P_ROLE = "Role"; private static final String DEFAULT_ROLE = ""; - /**Server Name */ - public static final String P_SERVERNAME = "ServerName"; - private static final String DEFAULT_SERVERNAME = ""; /** Client Name */ public static final String P_CLIENT = "Client"; private static final String DEFAULT_CLIENT = ""; @@ -199,7 +196,7 @@ public final class Ini implements Serializable P_ADEMPIERESYS, P_LOGMIGRATIONSCRIPT, P_SHOW_ACCT, P_SHOW_TRL, P_SHOW_ADVANCED, P_CACHE_WINDOW, P_CONTEXT, P_TEMP_DIR, - P_ROLE, P_SERVERNAME, P_CLIENT, P_ORG, P_PRINTER, P_WAREHOUSE, P_TODAY, + P_ROLE, P_CLIENT, P_ORG, P_PRINTER, P_WAREHOUSE, P_TODAY, P_PRINTPREVIEW, P_VALIDATE_CONNECTION_ON_STARTUP, P_SINGLE_INSTANCE_PER_WINDOW, @@ -217,7 +214,7 @@ public final class Ini implements Serializable DEFAULT_ADEMPIERESYS?"Y":"N", DEFAULT_LOGMIGRATIONSCRIPT?"Y":"N", DEFAULT_SHOW_ACCT?"Y":"N", DEFAULT_SHOW_TRL?"Y":"N", DEFAULT_SHOW_ADVANCED?"Y":"N", DEFAULT_CACHE_WINDOW?"Y":"N", DEFAULT_CONTEXT, DEFAULT_TEMP_DIR, - DEFAULT_ROLE, DEFAULT_SERVERNAME, DEFAULT_CLIENT, DEFAULT_ORG, DEFAULT_PRINTER, DEFAULT_WAREHOUSE, DEFAULT_TODAY.toString(), + DEFAULT_ROLE, DEFAULT_CLIENT, DEFAULT_ORG, DEFAULT_PRINTER, DEFAULT_WAREHOUSE, DEFAULT_TODAY.toString(), DEFAULT_PRINTPREVIEW?"Y":"N", DEFAULT_VALIDATE_CONNECTION_ON_STARTUP?"Y":"N", DEFAULT_SINGLE_INSTANCE_PER_WINDOW?"Y":"N", diff --git a/org.adempiere.base/src/org/compiere/util/WebUtil.java b/org.adempiere.base/src/org/compiere/util/WebUtil.java index 5000605bbd..f5dbbfd74b 100644 --- a/org.adempiere.base/src/org/compiere/util/WebUtil.java +++ b/org.adempiere.base/src/org/compiere/util/WebUtil.java @@ -25,6 +25,8 @@ import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; import java.net.URLDecoder; import java.net.URLEncoder; import java.net.UnknownHostException; @@ -32,6 +34,7 @@ import java.sql.Timestamp; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.util.Enumeration; import java.util.Properties; import java.util.logging.Level; @@ -1259,24 +1262,56 @@ public final class WebUtil */ public static String getServerName(){ StringBuilder strBuilder = new StringBuilder(); - String serverName = Ini.getProperties().getProperty("ServerName"); - try { strBuilder.append(InetAddress.getLocalHost().getHostName()); } catch (UnknownHostException e) { log.log(Level.WARNING, "Local host or IP not found", e); } - strBuilder.append(":"); - try { - strBuilder.append(InetAddress.getLocalHost().getHostAddress()); - } catch (UnknownHostException e) { - log.log(Level.WARNING, "Local host or IP not found", e); - } - strBuilder.append(":"); - if(serverName!=null) - strBuilder.append(serverName); + strBuilder.append(":").append(getHostIP()); + return strBuilder.toString(); } + + public static String getHostIP() { + String retVal = null; + try { + InetAddress localAddress= InetAddress.getLocalHost(); + if (!localAddress.isLinkLocalAddress() && !localAddress.isLoopbackAddress() && localAddress.isSiteLocalAddress()) + return localAddress.getHostAddress(); + } catch (UnknownHostException e) { + log.log(Level.WARNING, + "UnknownHostException while retrieving host ip"); + } + + try { + for (Enumeration en = NetworkInterface + .getNetworkInterfaces(); en.hasMoreElements();) { + NetworkInterface intf = en.nextElement(); + for (Enumeration enumIpAddr = intf + .getInetAddresses(); enumIpAddr.hasMoreElements();) { + InetAddress inetAddress = enumIpAddr.nextElement(); + if (!inetAddress.isLoopbackAddress() + && !inetAddress.isLinkLocalAddress() + && inetAddress.isSiteLocalAddress()) { + retVal = inetAddress.getHostAddress().toString(); + break; + } + } + } + } catch (SocketException e) { + log.log(Level.WARNING, "Socket Exeception while retrieving host ip"); + } + + if (retVal == null) { + try { + retVal = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + log.log(Level.WARNING, + "UnknownHostException while retrieving host ip"); + } + } + return retVal; + } } // WUtil From 71562ff5bf724a352b21de81d33d7ea63b16f37a Mon Sep 17 00:00:00 2001 From: Deepak Pansheriya Date: Sun, 21 Oct 2012 13:40:38 +0530 Subject: [PATCH 2/8] Idempiere-366 Fix for width data corruption --- .../WEB-INF/src/org/adempiere/webui/adwindow/GridView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index e77074d15f..d3daa5d368 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -282,7 +282,7 @@ public class GridView extends Vbox implements EventListener gridField = fieldList.toArray(new GridField[0]); if (customComponent.length == 2) { String[] widths = customComponent[1].split("[,]"); - for(int i = 0; i< gridField.length; i++) { + for(int i = 0; i< gridField.length && i Date: Mon, 22 Oct 2012 08:07:28 +0800 Subject: [PATCH 3/8] IDEMPIERE-438 Attachment in zk its not working. --- .../WEB-INF/src/org/adempiere/webui/panel/WAttachment.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java index 09b6488c99..5cd48c0dca 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java @@ -25,7 +25,6 @@ import java.util.List; import java.util.logging.Level; import org.adempiere.util.Callback; -import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Label; @@ -45,7 +44,6 @@ import org.zkoss.util.media.AMedia; import org.zkoss.util.media.Media; import org.zkoss.zk.au.out.AuScript; import org.zkoss.zk.au.out.AuEcho; -import org.zkoss.zk.ui.Page; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; @@ -57,7 +55,6 @@ import org.zkoss.zul.North; import org.zkoss.zul.South; import org.zkoss.zul.Div; import org.zkoss.zul.Filedownload; -import org.zkoss.zul.Fileupload; import org.zkoss.zul.Hbox; import org.zkoss.zul.Iframe; @@ -295,9 +292,7 @@ public class WAttachment extends Window implements EventListener confirmPanel.appendChild(bCancel); - text.setTooltiptext(Msg.getElement(Env.getCtx(), "TextMsg")); - - this.addEventListener(Events.ON_UPLOAD, this); + text.setTooltiptext(Msg.getElement(Env.getCtx(), "TextMsg")); } /** From ed20b4c6b5d6c3f1d087cc4e8508bf19295faf63 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Mon, 22 Oct 2012 13:23:55 +0800 Subject: [PATCH 4/8] IDEMPIERE-464 Dashboard third column moved to the botton --- .../src/org/adempiere/webui/desktop/DashboardController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java index 2492867dbb..5bdc7a0179 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java @@ -137,7 +137,8 @@ public class DashboardController implements EventListener { dps = MDashboardPreference.getForSession(isShowInDashboard, AD_User_ID, AD_Role_ID); // based on user and role noOfCols = MDashboardPreference.getForSessionColumnCount(isShowInDashboard, AD_User_ID, AD_Role_ID); - width = noOfCols <= 0 ? 100 : 100 / noOfCols; + int dashboardWidth = isShowInDashboard ? 98 : 100; + width = noOfCols <= 0 ? dashboardWidth : dashboardWidth / noOfCols; int useWidth = 0; for (final MDashboardPreference dp : dps) { From 221934a56be38950acd95b32ed60fe891a96e612 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 23 Oct 2012 05:41:41 +0800 Subject: [PATCH 5/8] IDEMPIERE-461 error to send reports (Mail) in ZK Web Client (loader constraint violation). - Merge javax.mail and javax.activation bundle into one to resolve class loader issue. --- org.adempiere.base-feature/feature.xml | 73 +- org.adempiere.base/META-INF/MANIFEST.MF | 15 +- org.adempiere.install/META-INF/MANIFEST.MF | 4 +- org.adempiere.sdk-feature/adempiere.cquery | 4 + org.adempiere.sdk-feature/adempiere.rmap | 9 +- org.adempiere.server-feature/feature.xml | 643 +++++++++--------- .../setup/configuration/config.ini | 2 +- org.adempiere.server/META-INF/MANIFEST.MF | 2 +- 8 files changed, 383 insertions(+), 369 deletions(-) diff --git a/org.adempiere.base-feature/feature.xml b/org.adempiere.base-feature/feature.xml index 2c8a196973..fa95d6f0bd 100644 --- a/org.adempiere.base-feature/feature.xml +++ b/org.adempiere.base-feature/feature.xml @@ -40,28 +40,28 @@ id="org.adempiere.base" download-size="0" install-size="0" - version="0.0.0" + version="1.0.0.qualifier" unpack="false"/> @@ -69,208 +69,201 @@ id="org.adempiere.ui" download-size="0" install-size="0" - version="0.0.0" + version="1.0.0.qualifier" unpack="false"/> + version="1.7.1.v20100518-1145"/> - - + version="1.0.0.qualifier"/> diff --git a/org.adempiere.base/META-INF/MANIFEST.MF b/org.adempiere.base/META-INF/MANIFEST.MF index fabf71bca5..b17ff0a835 100644 --- a/org.adempiere.base/META-INF/MANIFEST.MF +++ b/org.adempiere.base/META-INF/MANIFEST.MF @@ -247,10 +247,19 @@ Export-Package: bsh, org.supercsv.prefs, org.supercsv.util Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: com.sun.mail.smtp;version="1.4.0", +Import-Package: com.sun.mail.auth;version="1.4.5", + com.sun.mail.handlers;version="1.4.5", + com.sun.mail.iap;version="1.4.5", + com.sun.mail.imap;version="1.4.5", + com.sun.mail.imap.protocol;version="1.4.5", + com.sun.mail.pop3;version="1.4.5", + com.sun.mail.smtp;version="1.4.5", + com.sun.mail.util;version="1.4.5", + com.sun.mail.util.logging;version="1.4.5", + javax.activation;version="1.1.1", javax.jms;version="1.1.0", - javax.mail;version="1.4.0", - javax.mail.internet;version="1.4.0", + javax.mail;version="1.4.5", + javax.mail.internet;version="1.4.5", javax.servlet;version="2.5.0", javax.servlet.http;version="2.5.0", junit.framework;version="3.8.2", diff --git a/org.adempiere.install/META-INF/MANIFEST.MF b/org.adempiere.install/META-INF/MANIFEST.MF index bfea4e3452..0725c4f438 100644 --- a/org.adempiere.install/META-INF/MANIFEST.MF +++ b/org.adempiere.install/META-INF/MANIFEST.MF @@ -9,8 +9,8 @@ Export-Package: org.adempiere.install, org.compiere.install Require-Bundle: org.adempiere.base;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: javax.mail;version="1.4.0", - javax.mail.internet;version="1.4.0", +Import-Package: javax.mail;version="1.4.5", + javax.mail.internet;version="1.4.5", org.apache.tools.ant, org.eclipse.ant.core, org.eclipse.core.runtime;version="3.4.0", diff --git a/org.adempiere.sdk-feature/adempiere.cquery b/org.adempiere.sdk-feature/adempiere.cquery index 8f407cd34e..7412405317 100644 --- a/org.adempiere.sdk-feature/adempiere.cquery +++ b/org.adempiere.sdk-feature/adempiere.cquery @@ -9,4 +9,8 @@ + + + + diff --git a/org.adempiere.sdk-feature/adempiere.rmap b/org.adempiere.sdk-feature/adempiere.rmap index c56eacc6da..7ccb9bf8b6 100644 --- a/org.adempiere.sdk-feature/adempiere.rmap +++ b/org.adempiere.sdk-feature/adempiere.rmap @@ -1,6 +1,7 @@ + @@ -37,10 +38,10 @@ - - - - + + + + diff --git a/org.adempiere.server-feature/feature.xml b/org.adempiere.server-feature/feature.xml index 78597df8cc..164f51f448 100644 --- a/org.adempiere.server-feature/feature.xml +++ b/org.adempiere.server-feature/feature.xml @@ -1,318 +1,325 @@ - - - - - [Enter Feature Description here.] - - - - [Enter Copyright Description here.] - - - - [Enter License Description here.] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.adempiere.server-feature/setup/configuration/config.ini b/org.adempiere.server-feature/setup/configuration/config.ini index 15d1654c40..4b4ae801d6 100644 --- a/org.adempiere.server-feature/setup/configuration/config.ini +++ b/org.adempiere.server-feature/setup/configuration/config.ini @@ -1,5 +1,5 @@ osgi.framework=file\:../plugins/org.eclipse.osgi_3.7.2.v20120110-1415.jar equinox.use.ds=true -osgi.bundles=org.eclipse.core.variables,org.eclipse.ant.core,org.eclipse.core.runtime@start,org.adempiere.base@start,org.compiere.db.oracle.provider,org.compiere.db.postgresql.provider,org.hamcrest.core,org.junit,org.adempiere.install,org.restlet,com.springsource.net.sf.cglib,com.springsource.javax.mail,com.springsource.org.apache.activemq,com.springsource.org.apache.kahadb,org.apache.commons.collections,org.apache.ant,javax.servlet,com.springsource.javax.jms,org.apache.ecs,org.apache.commons.net,org.eclipse.equinox.app,org.eclipse.equinox.registry,org.eclipse.equinox.common@2:start,org.eclipse.core.contenttype,org.apache.poi,org.eclipse.core.jobs,org.eclipse.equinox.preferences,org.apache.commons.logging,com.springsource.org.apache.commons.logging,com.springsource.javax.management.j2ee,org.eclipse.osgi.services,com.springsource.javax.ejb,com.springsource.javax.xml.rpc,com.springsource.javax.xml.soap,com.springsource.javax.activation,javax.xml +osgi.bundles=org.eclipse.core.variables,org.eclipse.ant.core,org.eclipse.core.runtime@start,org.adempiere.base@start,org.compiere.db.oracle.provider,org.compiere.db.postgresql.provider,org.hamcrest.core,org.junit,org.adempiere.install,org.restlet,com.springsource.net.sf.cglib,com.springsource.javax.mail,com.springsource.org.apache.activemq,com.springsource.org.apache.kahadb,org.apache.commons.collections,org.apache.ant,javax.servlet,com.springsource.javax.jms,org.apache.ecs,org.apache.commons.net,org.eclipse.equinox.app,org.eclipse.equinox.registry,org.eclipse.equinox.common@2:start,org.eclipse.core.contenttype,org.apache.poi,org.eclipse.core.jobs,org.eclipse.equinox.preferences,org.apache.commons.logging,com.springsource.org.apache.commons.logging,com.springsource.javax.management.j2ee,org.eclipse.osgi.services,com.springsource.javax.ejb,com.springsource.javax.xml.rpc,com.springsource.javax.xml.soap,javax.xml osgi.framework.extensions= osgi.bundles.defaultStartLevel=4 diff --git a/org.adempiere.server/META-INF/MANIFEST.MF b/org.adempiere.server/META-INF/MANIFEST.MF index 3a7af57e93..2a64795b6c 100644 --- a/org.adempiere.server/META-INF/MANIFEST.MF +++ b/org.adempiere.server/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Bundle-ClassPath: WEB-INF/lib/jardiff.jar, WEB-INF/lib/jnlp-servlet.jar, . Import-Package: javax.jms;version="1.1.0", - javax.mail;version="1.4.0", + javax.mail;version="1.4.5", javax.servlet;version="2.5.0", javax.servlet.http;version="2.5.0", org.apache.activemq;version="5.3.0", From b0b209ce899d895a1bca403bcd7118d5fb50c71c Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 23 Oct 2012 06:40:21 +0800 Subject: [PATCH 6/8] IDEMPIERE-461 error to send reports (Mail) in ZK Web Client (loader constraint violation). - Merge javax.mail and javax.activation bundle into one to resolve class loader issue. --- org.adempiere.base.process/META-INF/MANIFEST.MF | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.adempiere.base.process/META-INF/MANIFEST.MF b/org.adempiere.base.process/META-INF/MANIFEST.MF index 4a0d257fe7..7629fdc922 100644 --- a/org.adempiere.base.process/META-INF/MANIFEST.MF +++ b/org.adempiere.base.process/META-INF/MANIFEST.MF @@ -7,8 +7,8 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Require-Bundle: org.adempiere.base;bundle-version="1.0.0" Export-Package: org.adempiere.process, org.compiere.process -Import-Package: javax.mail;version="1.4.0", - javax.mail.internet;version="1.4.0", +Import-Package: javax.mail;version="1.4.5", + javax.mail.internet;version="1.4.5", javax.servlet;version="2.5.0", javax.servlet.http;version="2.5.0", org.apache.commons.collections.keyvalue;version="3.2.0" From afb50f10e00a94358ac283049ede72092bc5b4b0 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 23 Oct 2012 06:48:06 +0800 Subject: [PATCH 7/8] IDEMPIERE-377 Improve current search dialog box. Fixed can't search using invisible lookup field ( for e.g, CreatedBy and UpdatedBy ). --- .../src/org/compiere/model/GridField.java | 19 ++++++++-- .../src/org/compiere/model/GridFieldVO.java | 38 +++++++++++-------- .../adempiere/webui/window/FindWindow.java | 10 +++-- 3 files changed, 46 insertions(+), 21 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/GridField.java b/org.adempiere.base/src/org/compiere/model/GridField.java index a0ada2cd8f..f9a2f2ed30 100644 --- a/org.adempiere.base/src/org/compiere/model/GridField.java +++ b/org.adempiere.base/src/org/compiere/model/GridField.java @@ -178,9 +178,7 @@ public class GridField m_vo.lookupInfo.DisplayType = DisplayType.Search; } // - m_vo.lookupInfo.IsKey = isKey(); - MLookup ml = new MLookup (m_vo.lookupInfo, m_vo.TabNo); - m_lookup = ml; + loadLookupNoValidate(); } else if (m_vo.displayType == DisplayType.Location) // not cached { @@ -209,6 +207,21 @@ public class GridField } } // m_lookup + /*** + * bypass isdisplay validation, used by findwindow + */ + public void loadLookupNoValidate() { + if (m_vo.lookupInfo == null) { + m_vo.loadLookupInfo(); + } + if (m_vo.lookupInfo == null) { + return; + } + m_vo.lookupInfo.IsKey = isKey(); + MLookup ml = new MLookup (m_vo.lookupInfo, m_vo.TabNo); + m_lookup = ml; + } + /** * Wait until Load is complete */ diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index 3c62928b06..2363a51ac8 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -582,24 +582,32 @@ public class GridFieldVO implements Serializable // Create Lookup, if not ID if (DisplayType.isLookup(displayType) && IsDisplayed) { - try - { - lookupInfo = MLookupFactory.getLookupInfo (ctx, WindowNo, AD_Column_ID, displayType, - Env.getLanguage(ctx), ColumnName, AD_Reference_Value_ID, - IsParent, ValidationCode); - if (lookupInfo == null) - displayType = DisplayType.ID; - else - lookupInfo.InfoFactoryClass = this.InfoFactoryClass; - } - catch (Exception e) // Cannot create Lookup - { - CLogger.get().log(Level.SEVERE, "No LookupInfo for " + ColumnName, e); - displayType = DisplayType.ID; - } + loadLookupInfo(); } } // initFinish + /** + * load lookup info. + * used by findwindow to loadlookupinfo for invisible field + */ + public void loadLookupInfo() { + try + { + lookupInfo = MLookupFactory.getLookupInfo (ctx, WindowNo, AD_Column_ID, displayType, + Env.getLanguage(ctx), ColumnName, AD_Reference_Value_ID, + IsParent, ValidationCode); + if (lookupInfo == null) + displayType = DisplayType.ID; + else + lookupInfo.InfoFactoryClass = this.InfoFactoryClass; + } + catch (Exception e) // Cannot create Lookup + { + CLogger.get().log(Level.SEVERE, "No LookupInfo for " + ColumnName, e); + displayType = DisplayType.ID; + } + } + /** * Clone Field. * @param Ctx ctx diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java index 2f33c99abd..fb31455f3c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java @@ -1626,7 +1626,11 @@ public class FindWindow extends Window implements EventListener, ValueCha } else { - editor = WebEditorFactory.getEditor(field, true); + //lookupinfo is null for invisible field + if (DisplayType.isLookup(field.getDisplayType()) && field.getLookup() == null) { + field.loadLookupNoValidate(); + } + editor = WebEditorFactory.getEditor(field, true); } if (editor == null) editor = new WStringEditor(field); @@ -1634,8 +1638,8 @@ public class FindWindow extends Window implements EventListener, ValueCha field.addPropertyChangeListener(editor); editor.addValueChangeListener(this); editor.setValue(null); - editor.setReadWrite(enabled); - editor.setVisible(enabled); + editor.setReadWrite(true); + editor.setVisible(true); editor.dynamicDisplay(); // return editor.getComponent(); From 09fa7bc35bb7d87c47d21a6aab3233c6919634cc Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 23 Oct 2012 06:54:32 +0800 Subject: [PATCH 8/8] IDEMPIERE-377 Improve current search dialog box. Fixed a mistake in previous revision. --- .../WEB-INF/src/org/adempiere/webui/window/FindWindow.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java index fb31455f3c..6da05da647 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java @@ -1638,8 +1638,8 @@ public class FindWindow extends Window implements EventListener, ValueCha field.addPropertyChangeListener(editor); editor.addValueChangeListener(this); editor.setValue(null); - editor.setReadWrite(true); - editor.setVisible(true); + editor.setReadWrite(enabled); + editor.setVisible(enabled); editor.dynamicDisplay(); // return editor.getComponent();