diff --git a/migration/i5.1/oracle/201806041252_IDEMPIERE-3651.sql b/migration/i5.1/oracle/201806041252_IDEMPIERE-3651.sql new file mode 100644 index 0000000000..b0d194dda7 --- /dev/null +++ b/migration/i5.1/oracle/201806041252_IDEMPIERE-3651.sql @@ -0,0 +1,11 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-3651 Report Column Set=>Report Column=>User Element List1 not displaying User1_ID values +-- Jun 4, 2018 12:51:33 PM CEST +UPDATE AD_Column SET AD_Val_Rule_ID=258,Updated=TO_DATE('2018-06-04 12:51:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6026 +; + +SELECT register_migration_script('201806041252_IDEMPIERE-3651.sql') FROM dual +; + diff --git a/migration/i5.1/oracle/201806061111_IDEMPIERE-585.sql b/migration/i5.1/oracle/201806061111_IDEMPIERE-585.sql new file mode 100644 index 0000000000..3772ff1712 --- /dev/null +++ b/migration/i5.1/oracle/201806061111_IDEMPIERE-585.sql @@ -0,0 +1,68 @@ +-- Mar 5, 2013 9:52:39 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:52:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=327 +; + +-- Mar 5, 2013 9:52:55 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:52:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=323 +; + +-- Mar 5, 2013 9:53:10 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:53:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=337 +; + +-- Mar 5, 2013 9:53:36 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:53:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=331 +; + +-- Mar 5, 2013 9:53:52 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=419 +; + +-- Mar 5, 2013 9:54:09 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:54:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53112 +; + +-- Mar 5, 2013 9:54:40 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:54:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=210 +; + +-- Mar 5, 2013 9:54:50 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:54:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=324 +; + +-- Mar 5, 2013 9:56:01 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:56:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=422 +; + +-- Mar 5, 2013 9:56:14 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:56:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=333 +; + +-- Mar 5, 2013 9:56:27 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53077 +; + +-- Mar 5, 2013 9:56:44 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:56:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=209 +; + +-- Mar 5, 2013 9:57:04 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_DATE('2013-03-05 09:57:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=334 +; + +SELECT register_migration_script('201806061111_IDEMPIERE-585.sql') FROM dual +; + diff --git a/migration/i5.1/postgresql/201806041252_IDEMPIERE-3651.sql b/migration/i5.1/postgresql/201806041252_IDEMPIERE-3651.sql new file mode 100644 index 0000000000..ec9616ab0e --- /dev/null +++ b/migration/i5.1/postgresql/201806041252_IDEMPIERE-3651.sql @@ -0,0 +1,8 @@ +-- IDEMPIERE-3651 Report Column Set=>Report Column=>User Element List1 not displaying User1_ID values +-- Jun 4, 2018 12:51:33 PM CEST +UPDATE AD_Column SET AD_Val_Rule_ID=258,Updated=TO_TIMESTAMP('2018-06-04 12:51:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6026 +; + +SELECT register_migration_script('201806041252_IDEMPIERE-3651.sql') FROM dual +; + diff --git a/migration/i5.1/postgresql/201806061111_IDEMPIERE-585.sql b/migration/i5.1/postgresql/201806061111_IDEMPIERE-585.sql new file mode 100644 index 0000000000..c0aee54331 --- /dev/null +++ b/migration/i5.1/postgresql/201806061111_IDEMPIERE-585.sql @@ -0,0 +1,68 @@ +-- Mar 5, 2013 9:52:39 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:52:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=327 +; + +-- Mar 5, 2013 9:52:55 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:52:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=323 +; + +-- Mar 5, 2013 9:53:10 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:53:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=337 +; + +-- Mar 5, 2013 9:53:36 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:53:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=331 +; + +-- Mar 5, 2013 9:53:52 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=419 +; + +-- Mar 5, 2013 9:54:09 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:54:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53112 +; + +-- Mar 5, 2013 9:54:40 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:54:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=210 +; + +-- Mar 5, 2013 9:54:50 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:54:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=324 +; + +-- Mar 5, 2013 9:56:01 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:56:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=422 +; + +-- Mar 5, 2013 9:56:14 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:56:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=333 +; + +-- Mar 5, 2013 9:56:27 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53077 +; + +-- Mar 5, 2013 9:56:44 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:56:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=209 +; + +-- Mar 5, 2013 9:57:04 AM CET +-- IDEMPIERE 585 +UPDATE AD_Tab SET IsInsertRecord='N',Updated=TO_TIMESTAMP('2013-03-05 09:57:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=334 +; + +SELECT register_migration_script('201806061111_IDEMPIERE-585.sql') FROM dual +; + diff --git a/org.adempiere.base/src/org/compiere/model/MStatusLine.java b/org.adempiere.base/src/org/compiere/model/MStatusLine.java index 09d5743e87..58c3fa163f 100644 --- a/org.adempiere.base/src/org/compiere/model/MStatusLine.java +++ b/org.adempiere.base/src/org/compiere/model/MStatusLine.java @@ -93,30 +93,36 @@ public class MStatusLine extends X_AD_StatusLine } String sql = "" - + "SELECT AD_StatusLine_ID " - + "FROM AD_StatusLineUsedIn " - + "WHERE IsActive = 'Y' " - + " AND IsStatusLine = 'Y' " - + " AND AD_Window_ID = ? " - + " AND AD_Tab_ID = ?"; + + "SELECT slu.AD_StatusLine_ID " + + "FROM AD_StatusLineUsedIn slu " + + "JOIN AD_StatusLine sl ON (sl.AD_StatusLine_ID = slu.AD_StatusLine_ID) " + + "WHERE slu.IsActive = 'Y' " + + " AND sl.IsActive = 'Y' " + + " AND slu.IsStatusLine = 'Y' " + + " AND slu.AD_Window_ID = ? " + + " AND slu.AD_Tab_ID = ?"; int slid = DB.getSQLValueEx(null, sql, window_ID, tab_ID); if (slid <= 0) { sql = "" - + "SELECT AD_StatusLine_ID " - + "FROM AD_StatusLineUsedIn " - + "WHERE IsActive = 'Y' " - + " AND IsStatusLine = 'Y' " - + " AND AD_Window_ID = ? " - + " AND AD_Tab_ID IS NULL"; + + "SELECT slu.AD_StatusLine_ID " + + "FROM AD_StatusLineUsedIn slu " + + "JOIN AD_StatusLine sl ON (sl.AD_StatusLine_ID = slu.AD_StatusLine_ID) " + + "WHERE slu.IsActive = 'Y' " + + " AND sl.IsActive = 'Y' " + + " AND slu.IsStatusLine = 'Y' " + + " AND slu.AD_Window_ID = ? " + + " AND slu.AD_Tab_ID IS NULL"; slid = DB.getSQLValueEx(null, sql, window_ID); } if (slid <= 0) { sql = "" - + "SELECT AD_StatusLine_ID " - + "FROM AD_StatusLineUsedIn " - + "WHERE IsActive = 'Y' " - + " AND IsStatusLine = 'Y' " - + " AND AD_Table_ID = ?"; + + "SELECT slu.AD_StatusLine_ID " + + "FROM AD_StatusLineUsedIn slu " + + "JOIN AD_StatusLine sl ON (sl.AD_StatusLine_ID = slu.AD_StatusLine_ID) " + + "WHERE slu.IsActive = 'Y' " + + " AND sl.IsActive = 'Y' " + + " AND slu.IsStatusLine = 'Y' " + + " AND slu.AD_Table_ID = ?"; slid = DB.getSQLValueEx(null, sql, table_ID); } if (slid > 0) { @@ -145,12 +151,14 @@ public class MStatusLine extends X_AD_StatusLine } final String sql = "" - + "SELECT DISTINCT AD_StatusLine_ID, SeqNo " - + "FROM AD_StatusLineUsedIn " - + "WHERE IsActive = 'Y' " - + " AND IsStatusLine = 'N' " - + " AND (AD_Table_ID = ? OR (AD_Window_ID=? AND AD_Tab_ID=?) OR (AD_Window_ID=? AND AD_Tab_ID IS NULL)) " - + "ORDER BY SeqNo"; + + "SELECT DISTINCT slu.AD_StatusLine_ID, slu.SeqNo " + + "FROM AD_StatusLineUsedIn slu " + + "JOIN AD_StatusLine sl ON (sl.AD_StatusLine_ID = slu.AD_StatusLine_ID) " + + "WHERE slu.IsActive = 'Y' " + + " AND sl.IsActive = 'Y' " + + " AND slu.IsStatusLine = 'N' " + + " AND (slu.AD_Table_ID = ? OR (slu.AD_Window_ID=? AND slu.AD_Tab_ID=?) OR (slu.AD_Window_ID=? AND slu.AD_Tab_ID IS NULL)) " + + "ORDER BY slu.SeqNo"; int[] wlids = DB.getIDsEx(null, sql, table_ID, window_ID, tab_ID, window_ID); if (wlids.length > 0) { ArrayList list = new ArrayList(); diff --git a/org.adempiere.base/src/org/compiere/wf/MWFNode.java b/org.adempiere.base/src/org/compiere/wf/MWFNode.java index 34c1824201..042b441174 100644 --- a/org.adempiere.base/src/org/compiere/wf/MWFNode.java +++ b/org.adempiere.base/src/org/compiere/wf/MWFNode.java @@ -186,7 +186,8 @@ public class MWFNode extends X_AD_WF_Node */ private void loadNext() { - m_next = new Query(getCtx(), MWFNodeNext.Table_Name, "AD_WF_Node_ID=?", get_TrxName()) + m_next = new Query(getCtx(), MWFNodeNext.Table_Name, "AD_WF_NodeNext.AD_WF_Node_ID=?", get_TrxName()) + .addJoinClause(" JOIN AD_WF_Node ON (AD_WF_Node.AD_WF_Node_ID=AD_WF_NodeNext.AD_WF_Next_ID AND AD_WF_Node.IsActive='Y')") .setParameters(new Object[]{get_ID()}) .setOnlyActiveRecords(true) .setOrderBy(MWFNodeNext.COLUMNNAME_SeqNo) diff --git a/org.adempiere.base/src/org/compiere/wf/MWorkflow.java b/org.adempiere.base/src/org/compiere/wf/MWorkflow.java index 0d1577b623..5583fc6935 100644 --- a/org.adempiere.base/src/org/compiere/wf/MWorkflow.java +++ b/org.adempiere.base/src/org/compiere/wf/MWorkflow.java @@ -435,7 +435,7 @@ public class MWorkflow extends X_AD_Workflow for (int i = 0; i < nexts.length; i++) { MWFNode child = getNode (nexts[i].getAD_WF_Next_ID()); - if (!child.isActive()) + if (child == null || !child.isActive()) continue; if (child.getAD_Client_ID() == 0 || child.getAD_Client_ID() == AD_Client_ID) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 66c5887ae0..7f91e1181a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -699,8 +699,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements .append(mTab.getTableName()); if (where.length() > 0) sql.append(" WHERE ").append(where); - // Does not consider security - int no = DB.getSQLValue(null, sql.toString()); + String finalSQL = MRole.getDefault().addAccessSQL(sql.toString(), + mTab.getTableName(), MRole.SQL_NOTQUALIFIED, MRole.SQL_RO); + int no = DB.getSQLValue(null, finalSQL.toString()); // require = MRole.getDefault().isQueryRequire(no); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Listbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Listbox.java index 047f64f80d..7dd5190997 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Listbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Listbox.java @@ -40,7 +40,8 @@ public class Listbox extends org.zkoss.zul.Listbox implements EventListener> doubleClickListeners = new ArrayList>(); private List> onDropListeners = new ArrayList>(); private boolean draggable; @@ -333,5 +334,17 @@ public class Listbox extends org.zkoss.zul.Listbox implements EventListener