From 21d0dec17dfef0329ac9122306a41e99a343530a Mon Sep 17 00:00:00 2001 From: Nicolas Micoud <58596990+nmicoud@users.noreply.github.com> Date: Fri, 28 Apr 2023 15:34:44 +0200 Subject: [PATCH 1/2] IDEMPIERE-5701: Improve logs when role cannot report or export https://idempiere.atlassian.net/browse/IDEMPIERE-5701 --- org.adempiere.base/src/org/compiere/model/MRole.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MRole.java b/org.adempiere.base/src/org/compiere/model/MRole.java index 041719acdb..d5edce589e 100644 --- a/org.adempiere.base/src/org/compiere/model/MRole.java +++ b/org.adempiere.base/src/org/compiere/model/MRole.java @@ -1233,7 +1233,7 @@ public boolean isCanReport (int AD_Table_ID) { if (!isCanReport()) // Role Level block { - log.warning ("Role denied"); + log.warning ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); return false; } if (!isTableAccess(AD_Table_ID, true)) // No R/O Access to Table @@ -1277,7 +1277,7 @@ public boolean isCanExport (int AD_Table_ID) { if (!isCanExport()) // Role Level block { - log.warning ("Role denied"); + log.warning ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); return false; } if (!isTableAccess(AD_Table_ID, true)) // No R/O Access to Table From 3fe593a00caf3d59bb879d0d0194811342497c3a Mon Sep 17 00:00:00 2001 From: Nicolas Micoud <58596990+nmicoud@users.noreply.github.com> Date: Tue, 2 May 2023 10:39:22 +0200 Subject: [PATCH 2/2] IDEMPIERE-5701: Reduce log level when role cannot report or export and hide Report button when role cannot report Co-Authored-By: Carlos Ruiz --- org.adempiere.base/src/org/compiere/model/MRole.java | 4 ++-- .../adempiere/webui/adwindow/ADWindowToolbar.java | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MRole.java b/org.adempiere.base/src/org/compiere/model/MRole.java index d5edce589e..7461e0f347 100644 --- a/org.adempiere.base/src/org/compiere/model/MRole.java +++ b/org.adempiere.base/src/org/compiere/model/MRole.java @@ -1233,7 +1233,7 @@ public boolean isCanReport (int AD_Table_ID) { if (!isCanReport()) // Role Level block { - log.warning ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); + if (log.isLoggable(Level.FINE)) log.fine ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); return false; } if (!isTableAccess(AD_Table_ID, true)) // No R/O Access to Table @@ -1277,7 +1277,7 @@ public boolean isCanExport (int AD_Table_ID) { if (!isCanExport()) // Role Level block { - log.warning ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); + if (log.isLoggable(Level.FINE)) log.fine ("Role denied (" + MRole.getDefaultRole().getAD_Role_ID() + ") tableID=" + AD_Table_ID); return false; } if (!isTableAccess(AD_Table_ID, true)) // No R/O Access to Table diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java index 56243ea73b..89fbb5f890 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java @@ -269,8 +269,10 @@ private void init() btnParentRecord.setTooltiptext(btnParentRecord.getTooltiptext()+ " Alt+Up"); btnDetailRecord = createButton("DetailRecord", "Detail", "DetailRecord"); btnDetailRecord.setTooltiptext(btnDetailRecord.getTooltiptext()+ " Alt+Down"); - btnReport = createButton("Report", "Report", "Report"); - btnReport.setTooltiptext(btnReport.getTooltiptext()+ " Alt+R"); + if (MRole.getDefault().isCanReport()) { + btnReport = createButton("Report", "Report", "Report"); + btnReport.setTooltiptext(btnReport.getTooltiptext()+ " Alt+R"); + } btnArchive = createButton("Archive", "Archive", "Archive"); btnPrint = createButton("Print", "Print", "Print"); btnPrint.setTooltiptext(btnPrint.getTooltiptext()+ " Alt+P"); @@ -516,7 +518,8 @@ private void configureKeyMap() altKeyMap.put(KeyEvent.DOWN, btnDetailRecord); altKeyMap.put(VK_F, btnFind); altKeyMap.put(VK_Z, btnIgnore); - altKeyMap.put(VK_R, btnReport); + if (btnReport != null) + altKeyMap.put(VK_R, btnReport); altKeyMap.put(VK_P, btnPrint); altKeyMap.put(VK_O, btnProcess); altKeyMap.put(VK_L, btnCustomize); @@ -787,7 +790,8 @@ public void enablePrint(boolean enabled) */ public void enableReport(boolean enabled) { - this.btnReport.setDisabled(!enabled); + if (btnReport != null) + this.btnReport.setDisabled(!enabled); } /**