From af7d03461048cde5ec8be9639193a2cd3e87a608 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 16 Jan 2012 17:39:16 -0500 Subject: [PATCH] Fix IDEMPIERE-111 Admin role can delete System records !!! http://jira.idempiere.com/browse/IDEMPIERE-111 Thanks a lot to Nicolas (nmicoud) for the testings reported at http://red1.org/adempiere/viewtopic.php?f=31&t=1478&p=7201#p7201 --- org.adempiere.base/src/org/compiere/model/GridTable.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/GridTable.java b/org.adempiere.base/src/org/compiere/model/GridTable.java index 4790826e45..b8aa726b67 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTable.java +++ b/org.adempiere.base/src/org/compiere/model/GridTable.java @@ -2553,8 +2553,8 @@ public class GridTable extends AbstractTableModel // Carlos Ruiz - globalqss - IDEMPIERE-111 // Check if the role has access to this client // Can we change? - int[] co = getClientOrg(m_rowChanged); - int AD_Client_ID = co[0]; + int[] co = getClientOrg(row); + int AD_Client_ID = co[0]; int AD_Org_ID = co[1]; if (!MRole.getDefault(m_ctx, false).canUpdate(AD_Client_ID, AD_Org_ID, m_AD_Table_ID, 0, true)) { @@ -2562,15 +2562,12 @@ public class GridTable extends AbstractTableModel return false; } - /** @todo check Access */ - // fireDataStatusEvent(Log.retrieveError()); - MSort sort = (MSort)m_sort.get(row); Object[] rowData = getDataAtRow(row); // MTable table = MTable.get (m_ctx, m_AD_Table_ID); PO po = null; - int Record_ID = getKeyID(m_rowChanged); + int Record_ID = getKeyID(row); if (Record_ID != -1) po = table.getPO(Record_ID, null); else // Multi - Key