From ce48eda1e5d4ad6957e6dcceea123c0f140d1984 Mon Sep 17 00:00:00 2001 From: hieplq Date: Sun, 22 Dec 2019 22:28:10 +0700 Subject: [PATCH 1/6] IDEMPIERE-4013:remove Conscrypt/alpn setting from .product iDempiere should not require Conscrypt --- org.adempiere.server-feature/server.product | 8 ++++---- org.idempiere.p2/server.product | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/org.adempiere.server-feature/server.product b/org.adempiere.server-feature/server.product index 8f9e5ae57f..1e0c7c0dfe 100644 --- a/org.adempiere.server-feature/server.product +++ b/org.adempiere.server-feature/server.product @@ -9,7 +9,7 @@ -console - --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.desktop/sun.awt=ALL-UNNAMED --add-exports java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl,org.w3c.dom.events -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-alpn.xml,etc/jetty-http2.xml,etc/jetty-https.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.zkoss.zk.config.path=file://${workspace_loc}/zk.xml + --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.desktop/sun.awt=ALL-UNNAMED --add-exports java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl,org.w3c.dom.events -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.zkoss.zk.config.path=file://${workspace_loc}/zk.xml -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts @@ -67,13 +67,13 @@ - - + + - + diff --git a/org.idempiere.p2/server.product b/org.idempiere.p2/server.product index 293f0f31e3..ace4f211ef 100644 --- a/org.idempiere.p2/server.product +++ b/org.idempiere.p2/server.product @@ -9,7 +9,7 @@ -console - --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.desktop/sun.awt=ALL-UNNAMED --add-exports java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl,org.w3c.dom.events -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-alpn.xml,etc/jetty-http2.xml,etc/jetty-https.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.zkoss.zk.config.path=file://${workspace_loc}/zk.xml + --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.desktop/sun.awt=ALL-UNNAMED --add-exports java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl,org.w3c.dom.events -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.zkoss.zk.config.path=file://${workspace_loc}/zk.xml -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts @@ -67,14 +67,14 @@ + + - - - + From 7b2c99fa8672e22598ed925b712d4b46d164cc22 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 23 Dec 2019 15:11:53 +0100 Subject: [PATCH 2/6] IDEMPIERE-813 DateAcct in GL_JournalLine is not validated to be within the same period of GL_Journal --- .../src/org/compiere/model/MJournal.java | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MJournal.java b/org.adempiere.base/src/org/compiere/model/MJournal.java index ff03adbb49..5290670a88 100644 --- a/org.adempiere.base/src/org/compiere/model/MJournal.java +++ b/org.adempiere.base/src/org/compiere/model/MJournal.java @@ -20,6 +20,7 @@ import java.io.File; import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.Timestamp; +import java.text.SimpleDateFormat; import java.util.List; import java.util.Properties; import java.util.logging.Level; @@ -457,34 +458,10 @@ public class MJournal extends X_GL_Journal implements DocAction m_processMsg = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_BEFORE_PREPARE); if (m_processMsg != null) return DocAction.STATUS_Invalid; - MDocType dt = MDocType.get(getCtx(), getC_DocType_ID()); - // Get Period - MPeriod period = (MPeriod) getC_Period(); - if (! period.isInPeriod(getDateAcct())) { - period = MPeriod.get (getCtx(), getDateAcct(), getAD_Org_ID(), get_TrxName()); - if (period == null) - { - log.warning("No Period for " + getDateAcct()); - m_processMsg = "@PeriodNotFound@"; - return DocAction.STATUS_Invalid; - } - // Standard Period - if (period.getC_Period_ID() != getC_Period_ID() - && period.isStandardPeriod()) - { - m_processMsg = "@PeriodNotValid@"; - return DocAction.STATUS_Invalid; - } - } - boolean open = period.isOpen(dt.getDocBaseType(), getDateAcct()); - if (!open) - { - log.warning(period.getName() - + ": Not open for " + dt.getDocBaseType() + " (" + getDateAcct() + ")"); - m_processMsg = "@PeriodClosed@"; + m_processMsg = validatePeriod(getDateAcct()); + if (m_processMsg != null) return DocAction.STATUS_Invalid; - } // Lines MJournalLine[] lines = getLines(true); @@ -502,6 +479,12 @@ public class MJournal extends X_GL_Journal implements DocAction MJournalLine line = lines[i]; if (!isActive()) continue; + + if (! line.getDateAcct().equals(getDateAcct())) { + m_processMsg = validatePeriod(line.getDateAcct()); + if (m_processMsg != null) + return DocAction.STATUS_Invalid; + } // bcahya, BF [2789319] No check of Actual, Budget, Statistical attribute if (!line.getAccountElementValue().isActive()) @@ -584,6 +567,35 @@ public class MJournal extends X_GL_Journal implements DocAction return DocAction.STATUS_InProgress; } // prepareIt + private String validatePeriod(Timestamp dateAcct) { + // Get Period + MDocType dt = MDocType.get(getCtx(), getC_DocType_ID()); + MPeriod period = (MPeriod) getC_Period(); + SimpleDateFormat dateFormat = DisplayType.getDateFormat(DisplayType.Date); + + if (! period.isInPeriod(dateAcct)) { + period = MPeriod.get (getCtx(), dateAcct, getAD_Org_ID(), get_TrxName()); + if (period == null) + { + log.warning("No Period for " + dateAcct); + return "@PeriodNotFound@ -> " + dateFormat.format(dateAcct); + } + // Standard Period + if (period.getC_Period_ID() != getC_Period_ID() && period.isStandardPeriod()) + { + log.warning("No Period for " + dateAcct); + return "@PeriodNotValid@ -> " + dateFormat.format(dateAcct); + } + } + boolean open = period.isOpen(dt.getDocBaseType(), dateAcct); + if (!open) + { + log.warning(period.getName() + ": Not open for " + dt.getDocBaseType() + " (" + dateAcct + ")"); + return "@PeriodClosed@ -> " + dateFormat.format(dateAcct); + } + return null; + } + /** * Approve Document * @return true if success From ef3ed449ca1031ae4d34bd0de8faa53106b73a89 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 24 Dec 2019 00:13:21 +0100 Subject: [PATCH 3/6] IDEMPIERE-1424 Report Wizard is not using translated columns --- .../org/compiere/print/MPrintFormatItem.java | 46 +++++++++++++++++-- .../webui/panel/WRC1DisplayFieldsPanel.java | 9 ++-- .../webui/panel/WRC2FieldOrderPanel.java | 3 +- .../webui/panel/WRC3SortCriteriaPanel.java | 5 +- .../panel/WRC4GroupingCriteriaPanel.java | 3 +- .../webui/panel/WRC5SummaryFieldsPanel.java | 3 +- 6 files changed, 57 insertions(+), 12 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java b/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java index 8453ca0742..afd5c7b583 100644 --- a/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java +++ b/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java @@ -45,8 +45,7 @@ public class MPrintFormatItem extends X_AD_PrintFormatItem /** * */ - private static final long serialVersionUID = -679302944951915141L; - + private static final long serialVersionUID = 7145503984951798641L; /** * Constructor @@ -116,6 +115,8 @@ public class MPrintFormatItem extends X_AD_PrintFormatItem private String m_columnName = null; /** Locally cached label translations */ private HashMap m_translationLabel; + String m_newTranslationLabel = null; + boolean m_translationLabelChanged = false; /** Locally cached suffix translations */ private HashMap m_translationSuffix; @@ -138,6 +139,26 @@ public class MPrintFormatItem extends X_AD_PrintFormatItem return retValue; } // getPrintName + /************************************************************************** + * Set print name on language + * @param language language - ignored if IsMultiLingualDocument not 'Y' + */ + public void setPrintName (Language language, String printName) + { + if (language == null || Env.isBaseLanguage(language, "AD_PrintFormatItem")) { + setPrintName(printName); + return; + } + loadTranslations(); + String retValue = (String)m_translationLabel.get(language.getAD_Language()); + if ((retValue != null && ! retValue.equals(printName)) + || (retValue == null && printName != null)) { + m_newTranslationLabel = printName; + m_translationLabelChanged = true; + m_translationLabel.put(language.getAD_Language(), printName); + } + } // getPrintName + /** * Get print name suffix with language * @param language language - ignored if IsMultiLingualDocument not 'Y' @@ -683,11 +704,30 @@ public class MPrintFormatItem extends X_AD_PrintFormatItem + " AND AD_PrintFormatItem_Trl.AD_PrintFormatItem_ID = " + get_ID() + ")" + " AND EXISTS (SELECT * FROM AD_Client " + "WHERE AD_Client_ID=AD_PrintFormatItem_Trl.AD_Client_ID AND IsMultiLingualDocument='Y')"; - int no = DB.executeUpdate(sql, get_TrxName()); + int no = DB.executeUpdateEx(sql, get_TrxName()); if (log.isLoggable(Level.FINE)) log.fine("translations updated #" + no); } + + if (m_translationLabelChanged) { + String sql = "UPDATE AD_PrintFormatItem_Trl " + + "SET PrintName = ? " + + "WHERE AD_PrintFormatItem_ID = ?" + + " AND AD_Language=?"; + int no = DB.executeUpdateEx(sql, new Object[] {m_newTranslationLabel, get_ID(), Language.getLoginLanguage().getAD_Language()}, get_TrxName()); + if (log.isLoggable(Level.FINE)) log.fine("translations updated #" + no); + + m_newTranslationLabel = null; + m_translationLabelChanged = false; + } return success; } // afterSave + @Override + public boolean is_Changed() { + if (m_translationLabelChanged) + return true; + return super.is_Changed(); + } + } // MPrintFormatItem diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC1DisplayFieldsPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC1DisplayFieldsPanel.java index 9fef2a3971..1d54936167 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC1DisplayFieldsPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC1DisplayFieldsPanel.java @@ -27,6 +27,7 @@ import org.adempiere.webui.util.ZKUpdateUtil; import org.compiere.print.MPrintFormat; import org.compiere.print.MPrintFormatItem; import org.compiere.util.KeyNamePair; +import org.compiere.util.Language; import org.compiere.util.Util; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; @@ -122,7 +123,7 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener row.appendChild(m_chkboxes[i]); m_textBoxes[i] = new Textbox(); - String strValue = printItem.getPrintName(); + String strValue = printItem.getPrintName(Language.getLoginLanguage()); if(strValue ==null || strValue.length()==0){ strValue = printItem.getName(); } @@ -141,7 +142,7 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener int i=0; for (MPrintFormatItem item : m_pfi){ item.setIsActive(m_chkboxes[i].isChecked()); - item.setPrintName(m_textBoxes[i].getText()); + item.setPrintName(Language.getLoginLanguage(), m_textBoxes[i].getText()); item.saveEx(); i++; } @@ -176,8 +177,8 @@ public class WRC1DisplayFieldsPanel extends WRCTabPanel implements EventListener } String printname = m_textBoxes[i].getValue(); if (!Util.isEmpty(printname)) - if (! printname.equals(m_pfi.get(i).getPrintName())) - m_pfi.get(i).setPrintName(m_textBoxes[i].getValue()); + if (! printname.equals(m_pfi.get(i).getPrintName(Language.getLoginLanguage()))) + m_pfi.get(i).setPrintName(Language.getLoginLanguage(), m_textBoxes[i].getValue()); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC2FieldOrderPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC2FieldOrderPanel.java index 6c72218b5c..eb4149dfac 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC2FieldOrderPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WRC2FieldOrderPanel.java @@ -30,6 +30,7 @@ import org.adempiere.webui.theme.ThemeManager; import org.adempiere.webui.util.ZKUpdateUtil; import org.compiere.print.MPrintFormatItem; import org.compiere.util.KeyNamePair; +import org.compiere.util.Language; import org.compiere.util.NamePair; import org.zkoss.zk.au.out.AuFocus; import org.zkoss.zk.ui.event.DropEvent; @@ -207,7 +208,7 @@ public class WRC2FieldOrderPanel extends WRCTabPanel implements EventListener Date: Thu, 26 Dec 2019 10:17:16 +0100 Subject: [PATCH 4/6] IDEMPIERE-1022 Login warning msg translation / deprecate message --- .../WEB-INF/src/org/adempiere/webui/WLogin.java | 6 ++---- .../WEB-INF/src/org/adempiere/webui/apps/AEnv.java | 1 + .../src/org/adempiere/webui/panel/StatusBarPanel.java | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/WLogin.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/WLogin.java index 3cc2d19d16..a6d6aa9fce 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/WLogin.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/WLogin.java @@ -19,18 +19,14 @@ import java.util.Properties; import javax.servlet.ServletRequest; -import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.part.AbstractUIPart; import org.adempiere.webui.theme.ThemeManager; -import org.adempiere.webui.util.ZKUpdateUtil; import org.adempiere.webui.window.LoginWindow; import org.zkoss.web.servlet.Servlets; -import org.zkoss.zhtml.Text; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.metainfo.PageDefinition; import org.zkoss.zul.Borderlayout; -import org.zkoss.zul.Div; import org.zkoss.zul.East; import org.zkoss.zul.North; import org.zkoss.zul.South; @@ -67,6 +63,7 @@ public class WLogin extends AbstractUIPart loginWindow = (LoginWindow) loginPage.getFellow("loginWindow"); loginWindow.init(app); + /* IDEMPIERE-1022 - deprecated message if (!AEnv.isBrowserSupported()) { //TODO: localization @@ -81,6 +78,7 @@ public class WLogin extends AbstractUIPart browserWarningWindow.setPage(page); browserWarningWindow.doOverlapped(); } + */ boolean mobile = false; if (Executions.getCurrent().getBrowser("mobile") !=null) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java index 5b07ef1916..1dbfd1d449 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java @@ -524,6 +524,7 @@ public final class AEnv /** * @return boolean + * @deprecated See IDEMPIERE-1022 */ public static boolean isBrowserSupported() { Execution execution = Executions.getCurrent(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/StatusBarPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/StatusBarPanel.java index b246acb0d3..833aa06f85 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/StatusBarPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/StatusBarPanel.java @@ -19,7 +19,6 @@ package org.adempiere.webui.panel; import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.LayoutUtils; -import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Panel; import org.adempiere.webui.session.SessionManager; @@ -208,7 +207,7 @@ public class StatusBarPanel extends Panel implements EventListener, IStat statusLine.setStyle("color: black"); statusLine.setTooltiptext(text); - if (showPopup && AEnv.isBrowserSupported()) + if (showPopup) { Text t = new Text(text); popupContent.getChildren().clear(); From b00ca72938c8562a47ae4f0eb3c71aea6c0f338a Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 27 Dec 2019 17:26:16 +0100 Subject: [PATCH 5/6] IDEMPIERE-3952 EntityType and Data Access Level review for tables / set default to 'U' in the 8 new columns to allow old 2packs backward compatibility --- .../oracle/201912271715_IDEMPIERE-3952.sql | 32 +++++++++++++++++++ .../201912271715_IDEMPIERE-3952.sql | 29 +++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 migration/i7.1/oracle/201912271715_IDEMPIERE-3952.sql create mode 100644 migration/i7.1/postgresql/201912271715_IDEMPIERE-3952.sql diff --git a/migration/i7.1/oracle/201912271715_IDEMPIERE-3952.sql b/migration/i7.1/oracle/201912271715_IDEMPIERE-3952.sql new file mode 100644 index 0000000000..643d264a70 --- /dev/null +++ b/migration/i7.1/oracle/201912271715_IDEMPIERE-3952.sql @@ -0,0 +1,32 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-3952 EntityType and Data Access Level review for tables +-- Dec 27, 2019, 5:14:30 PM CET +ALTER TABLE AD_InfoProcess MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_InfoRelated MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_SearchDefinition MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_Style MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_StyleLine MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_ToolBarButton MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE AD_ZoomCondition MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +ALTER TABLE PA_DocumentStatus MODIFY EntityType VARCHAR2(40) DEFAULT 'U' +; + +SELECT register_migration_script('201912271715_IDEMPIERE-3952.sql') FROM dual +; + diff --git a/migration/i7.1/postgresql/201912271715_IDEMPIERE-3952.sql b/migration/i7.1/postgresql/201912271715_IDEMPIERE-3952.sql new file mode 100644 index 0000000000..a6e48c92e9 --- /dev/null +++ b/migration/i7.1/postgresql/201912271715_IDEMPIERE-3952.sql @@ -0,0 +1,29 @@ +-- IDEMPIERE-3952 EntityType and Data Access Level review for tables +-- Dec 27, 2019, 5:14:30 PM CET +INSERT INTO t_alter_column values('AD_InfoProcess','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_InfoRelated','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_SearchDefinition','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_Style','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_StyleLine','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_ToolBarButton','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('AD_ZoomCondition','EntityType','VARCHAR(40)',null,'U') +; + +INSERT INTO t_alter_column values('PA_DocumentStatus','EntityType','VARCHAR(40)',null,'U') +; + +SELECT register_migration_script('201912271715_IDEMPIERE-3952.sql') FROM dual +; + From 411381288406749d87e3463d17ea3d511a13b2c0 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sun, 29 Dec 2019 00:00:36 +0100 Subject: [PATCH 6/6] IDEMPIERE-3413 Multi Select List and table reference - fix oracle seed - wrong application of script 201906171811_IDEMPIERE-3413.sql --- .gitignore | 1 + .../oracle/functions/toTableOfVarchar2.sql | 23 +++++++++++++++ .../oracle/201906171811_IDEMPIERE-3413.sql | 21 ++------------ .../oracle/201912282330_IDEMPIERE-3413.sql | 29 +++++++++++++++++++ .../201912282330_IDEMPIERE-3413.sql | 6 ++++ 5 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 db/ddlutils/oracle/functions/toTableOfVarchar2.sql create mode 100644 migration/i7.1/oracle/201912282330_IDEMPIERE-3413.sql create mode 100644 migration/i7.1/postgresql/201912282330_IDEMPIERE-3413.sql diff --git a/.gitignore b/.gitignore index 24e4f22971..3e0a9a7553 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ org.apache.ecs/bin/* keystore/* log/* PostgreSQL/* +Oracle/* *.log Adempiere.properties idempiere.properties diff --git a/db/ddlutils/oracle/functions/toTableOfVarchar2.sql b/db/ddlutils/oracle/functions/toTableOfVarchar2.sql new file mode 100644 index 0000000000..46eef22c20 --- /dev/null +++ b/db/ddlutils/oracle/functions/toTableOfVarchar2.sql @@ -0,0 +1,23 @@ +-- IDEMPIERE-3413 Multi Select List and table reference + +CREATE TYPE TABLE_OF_VARCHAR2 AS TABLE OF VARCHAR2(4000) +/ + +CREATE OR REPLACE FUNCTION toTableOfVarchar2(p_list IN VARCHAR2) + RETURN TABLE_OF_VARCHAR2 DETERMINISTIC + AS + l_tab TABLE_OF_VARCHAR2 := TABLE_OF_VARCHAR2(); + BEGIN + FOR i IN + ( select trim('"' from REGEXP_SUBSTR(p_list, '(".*?"|.*?)(,|$)', 1, level, NULL, 1)) split + from dual + connect by level<=length(regexp_replace(p_list,'".*?"|[^,]*'))+1) + LOOP + l_tab.EXTEND; + l_tab(l_tab.COUNT) := i.split; + END LOOP; + RETURN l_tab; + END toTableOfVarchar2 +; +/ + diff --git a/migration/i6.2z/oracle/201906171811_IDEMPIERE-3413.sql b/migration/i6.2z/oracle/201906171811_IDEMPIERE-3413.sql index 2369f4e539..2dd62f39d9 100644 --- a/migration/i6.2z/oracle/201906171811_IDEMPIERE-3413.sql +++ b/migration/i6.2z/oracle/201906171811_IDEMPIERE-3413.sql @@ -61,25 +61,10 @@ UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y & @AD_Reference_ID@!200161 UPDATE AD_Field SET AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, MandatoryLogic='@AD_Reference_ID@=200161 | @AD_Reference_ID@=200162 | @AD_Reference_ID@=200163', IsToolbarButton=NULL,Updated=TO_DATE('2019-06-22 17:15:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622 ; -CREATE TYPE TABLE_OF_VARCHAR2 AS TABLE OF VARCHAR2(4000) -; +-- moved to script 201912282330_IDEMPIERE-3413.sql +-- CREATE TYPE TABLE_OF_VARCHAR2 AS TABLE OF VARCHAR2(4000) -CREATE OR REPLACE FUNCTION toTableOfVarchar2(p_list IN VARCHAR2) - RETURN TABLE_OF_VARCHAR2 DETERMINISTIC - AS - l_tab TABLE_OF_VARCHAR2 := TABLE_OF_VARCHAR2(); - BEGIN - FOR i IN - ( select trim('"' from REGEXP_SUBSTR(p_list, '(".*?"|.*?)(,|$)', 1, level, NULL, 1)) split - from dual - connect by level<=length(regexp_replace(p_list,'".*?"|[^,]*'))+1) - LOOP - l_tab.EXTEND; - l_tab(l_tab.COUNT) := i.split; - END LOOP; - RETURN l_tab; - END toTableOfVarchar2 -; +-- CREATE OR REPLACE FUNCTION toTableOfVarchar2(p_list IN VARCHAR2) SELECT register_migration_script('201906171811_IDEMPIERE-3413.sql') FROM dual ; diff --git a/migration/i7.1/oracle/201912282330_IDEMPIERE-3413.sql b/migration/i7.1/oracle/201912282330_IDEMPIERE-3413.sql new file mode 100644 index 0000000000..58353d4de7 --- /dev/null +++ b/migration/i7.1/oracle/201912282330_IDEMPIERE-3413.sql @@ -0,0 +1,29 @@ +-- IDEMPIERE-3413 Multi Select List and table reference - fix oracle seed - wrong application of script 201906171811_IDEMPIERE-3413.sql +-- register the migration script applied wrongly +SELECT register_migration_script('201906171811_IDEMPIERE-3413.sql') FROM dual +; + +CREATE TYPE TABLE_OF_VARCHAR2 AS TABLE OF VARCHAR2(4000) +/ + +CREATE OR REPLACE FUNCTION toTableOfVarchar2(p_list IN VARCHAR2) + RETURN TABLE_OF_VARCHAR2 DETERMINISTIC + AS + l_tab TABLE_OF_VARCHAR2 := TABLE_OF_VARCHAR2(); + BEGIN + FOR i IN + ( select trim('"' from REGEXP_SUBSTR(p_list, '(".*?"|.*?)(,|$)', 1, level, NULL, 1)) split + from dual + connect by level<=length(regexp_replace(p_list,'".*?"|[^,]*'))+1) + LOOP + l_tab.EXTEND; + l_tab(l_tab.COUNT) := i.split; + END LOOP; + RETURN l_tab; + END toTableOfVarchar2 +; +/ + +SELECT register_migration_script('201912282330_IDEMPIERE-3413.sql') FROM dual +; + diff --git a/migration/i7.1/postgresql/201912282330_IDEMPIERE-3413.sql b/migration/i7.1/postgresql/201912282330_IDEMPIERE-3413.sql new file mode 100644 index 0000000000..ea17a3e6e8 --- /dev/null +++ b/migration/i7.1/postgresql/201912282330_IDEMPIERE-3413.sql @@ -0,0 +1,6 @@ +-- IDEMPIERE-3413 Multi Select List and table reference +-- Placeholder - script just for oracle + +SELECT register_migration_script('201912282330_IDEMPIERE-3413.sql') FROM dual +; +