From 980f34a564888f4030cdaf4ae7c88a0e2f8e5959 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 27 Feb 2015 07:48:27 -0500 Subject: [PATCH] IDEMPIERE-2483 Users can report on windows where they don't have access / fix error reported by hieplq --- .../src/org/compiere/print/ReportEngine.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/print/ReportEngine.java b/org.adempiere.base/src/org/compiere/print/ReportEngine.java index 1d79805410..34d0c8a082 100644 --- a/org.adempiere.base/src/org/compiere/print/ReportEngine.java +++ b/org.adempiere.base/src/org/compiere/print/ReportEngine.java @@ -677,9 +677,17 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) if (isZoom) { // check permission on the zoomed window MTable mTable = MTable.get(getCtx(), pde.getForeignColumnName().substring(0, pde.getForeignColumnName().length()-3)); - int Record_ID = Integer.parseInt(pde.getValueAsString()); - int AD_Window_ID = Env.getZoomWindowID(mTable.get_ID(), Record_ID); - Boolean canAccess = MRole.getDefault().getWindowAccess(AD_Window_ID); + int Record_ID = -1; + try { + Record_ID = Integer.parseInt(pde.getValueAsString()); + } catch (Exception e) { + Record_ID = -1; + } + Boolean canAccess = null; + if (Record_ID >= 0) { + int AD_Window_ID = Env.getZoomWindowID(mTable.get_ID(), Record_ID); + canAccess = MRole.getDefault().getWindowAccess(AD_Window_ID); + } if (canAccess == null) { isZoom = false; }