diff --git a/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java b/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java index 8590c19f8e..fb6583436d 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java +++ b/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java @@ -143,8 +143,8 @@ public class ImportPayment extends SvrProcess .append(" OR b.SwiftCode=i.RoutingNo ") .append(") ") .append("WHERE i.C_BankAccount_ID IS NULL ") - .append("AND i.I_IsImported<>'Y' ") - .append("OR i.I_IsImported IS NULL").append(clientCheck); + .append("AND (i.I_IsImported<>'Y' ") + .append("OR i.I_IsImported IS NULL)").append(clientCheck); no = DB.executeUpdate(sql.toString(), get_TrxName()); if (no != 0) if (log.isLoggable(Level.INFO)) log.info("Bank Account (With Routing No)=" + no); @@ -160,8 +160,8 @@ public class ImportPayment extends SvrProcess .append(" AND a.AD_Client_ID=i.AD_Client_ID ") .append(") ") .append("WHERE i.C_BankAccount_ID IS NULL ") - .append("AND i.I_isImported<>'Y' ") - .append("OR i.I_isImported IS NULL").append(clientCheck); + .append("AND (i.I_isImported<>'Y' ") + .append("OR i.I_isImported IS NULL)").append(clientCheck); no = DB.executeUpdate(sql.toString(), get_TrxName()); if (no != 0) if (log.isLoggable(Level.INFO)) log.info("Bank Account (Without Routing No)=" + no); @@ -171,8 +171,8 @@ public class ImportPayment extends SvrProcess sql.append(" and a.AD_Client_ID=i.AD_Client_ID) ") .append("WHERE i.C_BankAccount_ID IS NULL ") .append("AND i.BankAccountNo IS NULL ") - .append("AND i.I_isImported<>'Y' ") - .append("OR i.I_isImported IS NULL").append(clientCheck); + .append("AND (i.I_isImported<>'Y' ") + .append("OR i.I_isImported IS NULL)").append(clientCheck); no = DB.executeUpdate(sql.toString(), get_TrxName()); if (no != 0) if (log.isLoggable(Level.INFO)) log.info("Bank Account=" + no); @@ -180,8 +180,8 @@ public class ImportPayment extends SvrProcess sql = new StringBuilder("UPDATE I_Payment ") .append("SET I_isImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=Invalid Bank Account, ' ") .append("WHERE C_BankAccount_ID IS NULL ") - .append("AND I_isImported<>'Y' ") - .append("OR I_isImported IS NULL").append(clientCheck); + .append("AND (I_isImported<>'Y' ") + .append("OR I_isImported IS NULL)").append(clientCheck); no = DB.executeUpdate(sql.toString(), get_TrxName()); if (no != 0) log.warning("Invalid Bank Account=" + no); @@ -408,7 +408,7 @@ public class ImportPayment extends SvrProcess //Import Bank Statement sql = new StringBuilder("SELECT * FROM I_Payment") - .append(" WHERE I_IsImported='N'") + .append(" WHERE I_IsImported='N'").append(clientCheck) .append(" ORDER BY C_BankAccount_ID, CheckNo, DateTrx, R_AuthCode"); MBankAccount account = null; diff --git a/org.adempiere.base/src/org/compiere/model/MMeasureCalc.java b/org.adempiere.base/src/org/compiere/model/MMeasureCalc.java index f61ca9bf9d..b4a69ecac9 100644 --- a/org.adempiere.base/src/org/compiere/model/MMeasureCalc.java +++ b/org.adempiere.base/src/org/compiere/model/MMeasureCalc.java @@ -126,6 +126,8 @@ public class MMeasureCalc extends X_PA_MeasureCalc .append(DB.TO_DATE(reportDate)).append(",'").append(trunc).append("')"); } // date String sql = addRestrictions(sb.toString(), restrictions, role); + if (sql.indexOf("@") >= 0) + sql = Env.parseContext(getCtx(), 0, sql.toString(), false, false); log.fine(sql); return sql; @@ -191,6 +193,8 @@ public class MMeasureCalc extends X_PA_MeasureCalc if (groupBy != null) sql += " GROUP BY " + groupBy + " ORDER BY " + groupBy; // teo_sarca, [ 1665129 ] Bar Graph is not ordered + if (sql.indexOf("@") >= 0) + sql = Env.parseContext(getCtx(), 0, sql, false, false); // log.fine(sql); return sql; diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLine.java b/org.adempiere.base/src/org/compiere/model/MOrderLine.java index 04841e5506..70e4b36ea7 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLine.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLine.java @@ -798,9 +798,9 @@ public class MOrderLine extends X_C_OrderLine setHeaderInfo(getParent()); - // R/O Check - Product/Warehouse Change + // R/O Check - Product/Warehouse Change/Attribute set instance if (!newRecord - && (is_ValueChanged("M_Product_ID") || is_ValueChanged("M_Warehouse_ID"))) + && (is_ValueChanged("M_Product_ID") || is_ValueChanged("M_Warehouse_ID") || is_ValueChanged("M_AttributeSetInstance_ID"))) { if (!canChangeWarehouse()) return false; diff --git a/org.adempiere.base/src/org/compiere/util/Env.java b/org.adempiere.base/src/org/compiere/util/Env.java index 6146e8618a..9670df6fa8 100644 --- a/org.adempiere.base/src/org/compiere/util/Env.java +++ b/org.adempiere.base/src/org/compiere/util/Env.java @@ -59,6 +59,7 @@ import org.compiere.model.MClient; import org.compiere.model.MColumn; import org.compiere.model.MLookupCache; import org.compiere.model.MQuery; +import org.compiere.model.MRefList; import org.compiere.model.MRole; import org.compiere.model.MSession; import org.compiere.model.MSysConfig; @@ -1686,6 +1687,12 @@ public final class Env } } } + } else if (v instanceof String && !Util.isEmpty((String) v) && !Util.isEmpty(foreignTable) && foreignTable.equals(MRefList.Table_Name) && !Util.isEmpty(format)) { + int refID = colToken.getAD_Reference_Value_ID(); + if (format.equals("Name")) + outStr.append(MRefList.getListName(getCtx(), refID, (String) v)); + else if (format.equals("Description")) + outStr.append(MRefList.getListDescription(getCtx(), DB.getSQLValueStringEx(null, "SELECT Name FROM AD_Reference WHERE AD_Reference_ID = ?", refID), (String) v)); } else if (v instanceof Date) { SimpleDateFormat df = new SimpleDateFormat(format); outStr.append(df.format((Date)v)); diff --git a/org.adempiere.install/src/org/compiere/install/ConfigurationData.java b/org.adempiere.install/src/org/compiere/install/ConfigurationData.java index 4c26a33fc7..bd93530d99 100644 --- a/org.adempiere.install/src/org/compiere/install/ConfigurationData.java +++ b/org.adempiere.install/src/org/compiere/install/ConfigurationData.java @@ -296,6 +296,7 @@ public class ConfigurationData } InetAddress localhost = null; + @SuppressWarnings("unused") String hostName = "unknown"; try { @@ -318,7 +319,7 @@ public class ConfigurationData setKeyStore(KEYSTORE_PASSWORD); // AppsServer initAppsServer(); - setAppsServer(hostName); + setAppsServer("0.0.0.0"); // Database Server initDatabase(Database.DB_POSTGRESQL); String connectionName = getDatabaseDiscovered(); @@ -326,18 +327,16 @@ public class ConfigurationData setDatabaseName(resolveDatabaseName(connectionName)); } setDatabaseSystemPassword(""); - setDatabaseServer(hostName); + setDatabaseServer("localhost"); setDatabaseUser("adempiere"); setDatabasePassword("adempiere"); // Mail Server - if (p_panel != null) - { - p_panel.fMailServer.setText(hostName); - p_panel.fMailUser.setText("info"); - p_panel.fMailPassword.setText(""); - p_panel.fAdminEMail.setText("info@" + hostName); - } - // + setMailServer("localhost"); + //setMailUser("info"); + setMailUser(""); + setMailPassword(""); + //setAdminEMail("info@" + hostName); + setAdminEMail(""); } // !envLoaded // Default FTP stuff @@ -535,24 +534,28 @@ public class ConfigurationData ? p_panel.fAdminEMail.getText() : (String)p_properties.get(ADEMPIERE_ADMIN_EMAIL); InternetAddress adminEMail = null; - try - { - adminEMail = new InternetAddress (adminEMailString); - } - catch (Exception e) - { - error = "Not valid: " + adminEMailString + " - " + e.getMessage(); + if (adminEMailString != null && adminEMailString.length() > 0) { + try + { + adminEMail = new InternetAddress (adminEMailString); + } + catch (Exception e) + { + error = "Not valid: " + adminEMailString + " - " + e.getMessage(); + pass = false; + } + // + if (pass) + { + error = "Not verified EMail = " + adminEMail; + pass = testMailServer(mailServer, adminEMail, mailUser, mailPassword); + } + if (p_panel != null) + p_panel.signalOK(p_panel.okMailUser, "ErrorMail", + pass, false, error); + } else { pass = false; } - // - if (pass) - { - error = "Not verified EMail = " + adminEMail; - pass = testMailServer(mailServer, adminEMail, mailUser, mailPassword); - } - if (p_panel != null) - p_panel.signalOK(p_panel.okMailUser, "ErrorMail", - pass, false, error); if (pass) { if (log.isLoggable(Level.INFO)) log.info("OK: EMail = " + adminEMail); @@ -563,7 +566,11 @@ public class ConfigurationData } else { - log.warning(error); + if (adminEMailString != null && adminEMailString.length() > 0) { + log.warning(error); + } else { + if (log.isLoggable(Level.INFO)) log.info("OK: EMail not configured"); + } p_properties.setProperty(ADEMPIERE_ADMIN_EMAIL, ""); p_properties.setProperty(ADEMPIERE_MAIL_USER, ""); p_properties.setProperty(ADEMPIERE_MAIL_PASSWORD, ""); diff --git a/org.adempiere.install/src/org/compiere/install/ConfigurationPanel.java b/org.adempiere.install/src/org/compiere/install/ConfigurationPanel.java index 41bb66d8bc..ed04030599 100644 --- a/org.adempiere.install/src/org/compiere/install/ConfigurationPanel.java +++ b/org.adempiere.install/src/org/compiere/install/ConfigurationPanel.java @@ -602,6 +602,8 @@ public class ConfigurationPanel extends JPanel implements ActionListener, IDBCon } if (!pass && critical) cb.setBackground(Color.RED); + else if (!pass && !critical) + cb.setBackground(Color.YELLOW); else cb.setBackground(Color.GREEN); } // setOK diff --git a/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java b/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java index 024bc3da14..bcb480413c 100644 --- a/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java +++ b/org.adempiere.install/src/org/compiere/install/KeyStoreMgt.java @@ -300,7 +300,7 @@ public class KeyStoreMgt : System.getProperty("user.name"); String o = mgt.organizationUnit != null ? mgt.organizationUnit - : "AdempiereUser"; + : "iDempiereUser"; String l = mgt.location != null ? mgt.location : "MyTown"; diff --git a/org.adempiere.install/src/org/compiere/install/Setup_Help.java b/org.adempiere.install/src/org/compiere/install/Setup_Help.java index 735dd1f779..5fa158c77e 100644 --- a/org.adempiere.install/src/org/compiere/install/Setup_Help.java +++ b/org.adempiere.install/src/org/compiere/install/Setup_Help.java @@ -99,6 +99,7 @@ public class Setup_Help extends JDialog implements ActionListener } catch (Exception ex) { + ex.printStackTrace(); } } // init @@ -139,7 +140,7 @@ public class Setup_Help extends JDialog implements ActionListener { try { - editorPane.setPage("http://www.adempiere.com/wiki/index.php/ServerSetupHelp"); + editorPane.setPage("http://wiki.idempiere.org/en/Server_Setup_Help"); } catch (IOException ex) { diff --git a/org.adempiere.install/src/org/compiere/install/console/ConfigurationConsole.java b/org.adempiere.install/src/org/compiere/install/console/ConfigurationConsole.java index 643b12273e..ed2928aa95 100644 --- a/org.adempiere.install/src/org/compiere/install/console/ConfigurationConsole.java +++ b/org.adempiere.install/src/org/compiere/install/console/ConfigurationConsole.java @@ -322,7 +322,7 @@ public class ConfigurationConsole { cn = System.getProperty("user.name"); String ou = data.getProperty(ConfigurationData.ADEMPIERE_CERT_ORG_UNIT); if (ou == null) - ou = "AdempiereUser"; + ou = "iDempiereUser"; String o = data.getProperty(ConfigurationData.ADEMPIERE_CERT_ORG); if (o == null) o = System.getProperty("user.name"); diff --git a/org.adempiere.install/src/org/compiere/install/images/Cancel16.gif b/org.adempiere.install/src/org/compiere/install/images/Cancel16.gif new file mode 100644 index 0000000000..9beb8fcec1 Binary files /dev/null and b/org.adempiere.install/src/org/compiere/install/images/Cancel16.gif differ diff --git a/org.adempiere.install/src/org/compiere/install/images/Cancel24.gif b/org.adempiere.install/src/org/compiere/install/images/Cancel24.gif new file mode 100644 index 0000000000..d91a52dc0c Binary files /dev/null and b/org.adempiere.install/src/org/compiere/install/images/Cancel24.gif differ diff --git a/org.adempiere.install/src/org/compiere/install/images/Ok16.gif b/org.adempiere.install/src/org/compiere/install/images/Ok16.gif new file mode 100644 index 0000000000..caa44b5049 Binary files /dev/null and b/org.adempiere.install/src/org/compiere/install/images/Ok16.gif differ diff --git a/org.adempiere.install/src/org/compiere/install/images/Ok24.gif b/org.adempiere.install/src/org/compiere/install/images/Ok24.gif new file mode 100644 index 0000000000..027d18f531 Binary files /dev/null and b/org.adempiere.install/src/org/compiere/install/images/Ok24.gif differ diff --git a/org.adempiere.install/src/org/compiere/install/util/AppsAction.java b/org.adempiere.install/src/org/compiere/install/util/AppsAction.java index d7c712dc55..294367cdbf 100644 --- a/org.adempiere.install/src/org/compiere/install/util/AppsAction.java +++ b/org.adempiere.install/src/org/compiere/install/util/AppsAction.java @@ -20,6 +20,7 @@ import java.awt.Dimension; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.net.URL; import javax.swing.AbstractAction; import javax.swing.AbstractButton; @@ -33,6 +34,7 @@ import javax.swing.JMenuItem; import javax.swing.JToggleButton; import javax.swing.KeyStroke; +import org.compiere.install.ConfigurationPanel; import org.compiere.util.Env; import org.compiere.util.Msg; @@ -178,8 +180,11 @@ public final class AppsAction extends AbstractAction */ private ImageIcon getIcon(String name, boolean small) { - String fullName = name + (small ? "16" : "24"); - return Env.getImageIcon2(fullName); + String fullName = name + (small ? "16" : "24") + ".gif"; + URL imageURL = ConfigurationPanel.class.getResource("images/"+fullName); + if (imageURL == null) + return null; + return new ImageIcon(imageURL); } // getIcon /** diff --git a/org.adempiere.install/src/org/compiere/install/util/OnlineHelp.java b/org.adempiere.install/src/org/compiere/install/util/OnlineHelp.java index 5761627216..a58465507a 100644 --- a/org.adempiere.install/src/org/compiere/install/util/OnlineHelp.java +++ b/org.adempiere.install/src/org/compiere/install/util/OnlineHelp.java @@ -94,7 +94,7 @@ public class OnlineHelp extends JEditorPane implements HyperlinkListener } // OnlineHelp /** Base of Online Help System */ - protected static final String BASE_URL = "http://www.adempiere.com/wiki/index.php/OnlineLoginHelp"; + protected static final String BASE_URL = "http://wiki.idempiere.org/en/Server_Setup_Help"; public static void openInDefaultBrowser() { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLMandatoryElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLMandatoryElementHandler.java index 02cde5be95..027dd10baf 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLMandatoryElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLMandatoryElementHandler.java @@ -40,8 +40,10 @@ import org.adempiere.pipo2.PackOut; import org.adempiere.pipo2.PackoutItem; import org.adempiere.pipo2.SQLElementParameters; import org.compiere.model.X_AD_Package_Imp_Detail; +import org.compiere.util.CacheMgt; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.Util; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; @@ -89,6 +91,15 @@ public class SQLMandatoryElementHandler extends AbstractElementHandler { } logImportDetail (ctx, impDetail, 1, "SQLMandatory",count,"Execute"); ctx.packIn.getNotifier().addSuccessLine("-> " + sql); + // Cache Reset when deleting records via SQL + if (sql.toLowerCase().startsWith("delete from ")) { + String[] words = sql.split("[ \r\n]"); + String table = words[2]; + String tableName = DB.getSQLValueString(null, "SELECT TableName FROM AD_Table WHERE LOWER(TableName)=?", table.toLowerCase()); + if (! Util.isEmpty(tableName)) { + CacheMgt.get().reset(tableName); + } + } } catch (Exception e) { ctx.packIn.getNotifier().addFailureLine("SQL Mandatory failed, error (" + e.getLocalizedMessage() + "):"); logImportDetail (ctx, impDetail, 0, "SQLMandatory",-1,"Execute"); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java index 68e9ede7ed..02c7a4a91a 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java @@ -31,9 +31,11 @@ import org.adempiere.pipo2.PackOut; import org.adempiere.pipo2.PackoutItem; import org.adempiere.pipo2.SQLElementParameters; import org.compiere.model.X_AD_Package_Imp_Detail; +import org.compiere.util.CacheMgt; import org.compiere.util.DB; import org.compiere.util.Env; import org.compiere.util.Trx; +import org.compiere.util.Util; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; @@ -90,6 +92,15 @@ public class SQLStatementElementHandler extends AbstractElementHandler { } logImportDetail (ctx, impDetail, 1, "SQLStatement",count,"Execute"); ctx.packIn.getNotifier().addSuccessLine("-> " + sql); + // Cache Reset when deleting records via SQL + if (sql.toLowerCase().startsWith("delete from ")) { + String[] words = sql.split("[ \r\n]"); + String table = words[2]; + String tableName = DB.getSQLValueString(null, "SELECT TableName FROM AD_Table WHERE LOWER(TableName)=?", table.toLowerCase()); + if (! Util.isEmpty(tableName)) { + CacheMgt.get().reset(tableName); + } + } } catch (Exception e) { // rollback immediately on exception to avoid a wrong SQL stop the whole process if (savepoint != null) diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control index 5e3334bdde..0bd86537eb 100644 --- a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control @@ -3,7 +3,7 @@ Version: 6.2 Section: web Priority: extra Architecture: all -Pre-Depends: openjdk-10-jdk|openjdk-11-jdk|openjdk-12-jdk, postgresql-11|postgresql-10|postgresql-9.6, postgresql-contrib, adduser +Pre-Depends: openjdk-11-jdk|openjdk-12-jdk, postgresql-11|postgresql-10|postgresql-9.6, postgresql-contrib, adduser Suggests: firefox Installed-Size: 968668 Maintainer: Carlos Ruiz diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere index d93c02c288..207ad38b78 100755 --- a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere @@ -40,8 +40,7 @@ esac IDEMPIERE_USER=idempiere IDEMPIERE_HOME=/opt/idempiere-server # in case you manual install java by use zip or your linux distros, or your java provider have difference pattern of path, please update here -JAVA_HOME=`ls -r /usr/lib/jvm/java-1[0-9]-openjdk*/bin/javac /usr/lib/jvm/java-1[0-9]-oracle*/bin/javac | head -1` -JAVA_HOME=`dirname $JAVA_HOME` +JAVA_HOME=`ls -r /usr/lib/jvm/java-1[12]-openjdk*/bin/javac | head -1` JAVA_HOME=`dirname $JAVA_HOME` SU=su export IDEMPIERE_HOME @@ -256,9 +255,9 @@ configure_perform() if [ "x${ADEMPIERE_DB_SYSTEM}" = "x^TryLocalConnection^" ] then # recreate idempiere user from here as the RUN_ImportIdempiere requires it - $SU postgres -c "dropdb -U postgres idempiere" # > /dev/null 2>&1 - $SU postgres -c "dropuser -U postgres idempiere" # > /dev/null 2>&1 - $SU postgres -c "psql -U postgres -c \"CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD '${ADEMPIERE_DB_PASSWORD}'\"" # > /dev/null 2>&1 + $SU postgres -c "cd; dropdb -U postgres idempiere" # > /dev/null 2>&1 + $SU postgres -c "cd; dropuser -U postgres idempiere" # > /dev/null 2>&1 + $SU postgres -c "cd; psql -U postgres -c \"CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD '${ADEMPIERE_DB_PASSWORD}'\"" # > /dev/null 2>&1 fi if [ -f ${IDEMPIERE_HOME}/utils/RUN_ImportIdempiere.sh ] @@ -267,13 +266,13 @@ configure_perform() $SU ${IDEMPIERE_USER} -c "cd ${IDEMPIERE_HOME}/utils; ( echo "" | ./RUN_ImportIdempiere.sh )" # > /dev/null 2>&1 echo "Done" fi - $SU ${IDEMPIERE_USER} -c "export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c ''" > /dev/null 2>&1 + $SU ${IDEMPIERE_USER} -c "cd; export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c ''" > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Cannot connect to idempiere database, please verify and try again" exit 1 fi - $SU ${IDEMPIERE_USER} -c "export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c 'select count(*) from ad_system' 2>&1 | grep '1$'" > /dev/null 2>&1 + $SU ${IDEMPIERE_USER} -c "cd; export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c 'select count(*) from ad_system' 2>&1 | grep '1$'" > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Database not imported correctly, please verify and try again" @@ -465,7 +464,7 @@ EOF if [ -z "$LINE" ] then # Empty postgres password verify connection with local postgres user - $SU postgres -c "psql -U postgres -c ''" + $SU postgres -c "cd; psql -U postgres -c ''" if [ $? -eq 0 ] then break diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java index 682fa7e213..3d9f9a966e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java @@ -53,6 +53,7 @@ import org.compiere.model.Lookup; import org.compiere.model.MLookup; import org.compiere.model.MLookupFactory; import org.compiere.model.MRole; +import org.compiere.model.MTable; import org.compiere.model.X_AD_CtxHelp; import org.compiere.util.CLogger; import org.compiere.util.DB; @@ -473,10 +474,8 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value if(!getComponent().isEnabled()) return; - int zoomWindowId = gridField != null ? lookup.getZoom(Env.isSOTrx(Env.getCtx(), gridField.getWindowNo())) : lookup.getZoom(Env.isSOTrx(Env.getCtx())); - final WQuickEntry vqe = new WQuickEntry (lookup.getWindowNo(), zoomWindowId); - if (vqe.getQuickFields()<=0) - return; + int zoomWindowId = -1; + int Record_ID = 0; // if update, get current value @@ -488,6 +487,20 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value Record_ID = Integer.parseInt(value.toString()); } + if (lookup.getColumnName() != null) { + String tableName = lookup.getColumnName().substring(0, lookup.getColumnName().indexOf(".")); + int zoomWinID = Env.getZoomWindowID(MTable.getTable_ID(tableName), Record_ID, lookup.getWindowNo()); + if (zoomWinID > 0) + zoomWindowId = zoomWinID; + } + + if (zoomWindowId < 0) { + zoomWindowId = gridField != null ? lookup.getZoom(Env.isSOTrx(Env.getCtx(), gridField.getWindowNo())) : lookup.getZoom(Env.isSOTrx(Env.getCtx())); + } + + final WQuickEntry vqe = new WQuickEntry (lookup.getWindowNo(), zoomWindowId); + if (vqe.getQuickFields()<=0) + return; vqe.loadRecord (Record_ID); final int finalRecord_ID = Record_ID; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java index 95fd83e4ea..73507e3367 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java @@ -506,6 +506,7 @@ public class ZkReportViewer extends Window implements EventListener, ITab if (ThemeManager.isUseFontIconForImage()) LayoutUtils.addSclass("medium-toolbarbutton", bRefresh); + bWizard.setName("Wizard"); if (ThemeManager.isUseFontIconForImage()) bWizard.setIconSclass("z-icon-Wizard"); else diff --git a/org.compiere.db.oracle.provider/src/org/adempiere/db/oracle/config/ConfigOracle.java b/org.compiere.db.oracle.provider/src/org/adempiere/db/oracle/config/ConfigOracle.java index 2e4ad68249..7aa242a26c 100644 --- a/org.compiere.db.oracle.provider/src/org/adempiere/db/oracle/config/ConfigOracle.java +++ b/org.compiere.db.oracle.provider/src/org/adempiere/db/oracle/config/ConfigOracle.java @@ -392,9 +392,13 @@ public class ConfigOracle implements IDatabaseConfig // Ignore result as it might not be imported pass = testJDBC(url, databaseUser, databasePassword); error = "Cannot connect to User: " + databaseUser + "/" + databasePassword + " - Database may not be imported yet (OK on initial run)."; - if (monitor != null) - monitor.update(new DBConfigStatus(DBConfigStatus.DATABASE_USER, "ErrorJDBC", - pass, true, error)); + if (monitor != null) { + boolean critical = true; + if (!isDBExists) { + critical = false; + } + monitor.update(new DBConfigStatus(DBConfigStatus.DATABASE_USER, "ErrorJDBC", pass, critical, error)); + } if (pass) { if (log.isLoggable(Level.INFO)) log.info("OK: Database User = " + databaseUser); diff --git a/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java b/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java index f7019eab34..6454a9d52c 100755 --- a/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java +++ b/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java @@ -158,9 +158,13 @@ public class ConfigPostgreSQL implements IDatabaseConfig // Ignore result as it might not be imported pass = testJDBC(url, databaseUser, databasePassword); error = "Database imported? Cannot connect to User: " + databaseUser + "/" + databasePassword; - if (monitor != null) - monitor.update(new DBConfigStatus(DBConfigStatus.DATABASE_USER, "ErrorJDBC", - pass, true, error)); + if (monitor != null) { + boolean critical = true; + if (!isDBExists) { + critical = false; + } + monitor.update(new DBConfigStatus(DBConfigStatus.DATABASE_USER, "ErrorJDBC", pass, critical, error)); + } if (pass) { if (log.isLoggable(Level.INFO)) log.info("OK: Database User = " + databaseUser);