From 9ca0583386e226d1b95568a7dc28e763bfc6a24f Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 24 Jul 2025 10:36:29 -0700 Subject: [PATCH 1/3] Fix link reports --- .../src/org/labkey/query/reports/ReportsController.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/query/src/org/labkey/query/reports/ReportsController.java b/query/src/org/labkey/query/reports/ReportsController.java index 86e2330abbe..90800900b59 100644 --- a/query/src/org/labkey/query/reports/ReportsController.java +++ b/query/src/org/labkey/query/reports/ReportsController.java @@ -149,6 +149,7 @@ import org.labkey.api.view.NavTree; import org.labkey.api.view.NotFoundException; import org.labkey.api.view.Portal; +import org.labkey.api.view.RedirectException; import org.labkey.api.view.UnauthorizedException; import org.labkey.api.view.VBox; import org.labkey.api.view.ViewBackgroundInfo; @@ -1017,9 +1018,15 @@ public ModelAndView getView(ReportDesignBean form, BindException errors) thro { reportView = _report.getRunReportView(getViewContext()); } + catch (RedirectException re) + { + // Link reports throw RedirectException... pass it on + throw re; + } catch (RuntimeException e) { - return new HtmlView(SPAN(cl("labkey-error"), e.getMessage(), ". Unable to create report.")); + String message = e.getMessage(); + return new HtmlView(SPAN(cl("labkey-error"), Objects.requireNonNullElse(message, e.getClass().getSimpleName()), ". Unable to create report.")); } if (!isPrint() && DiscussionService.get() != null) From ee5e3b3196d32790800493f8e05c9636777ecf90 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 24 Jul 2025 11:56:19 -0700 Subject: [PATCH 2/3] Use standard error rendering --- query/src/org/labkey/query/reports/ReportsController.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/query/src/org/labkey/query/reports/ReportsController.java b/query/src/org/labkey/query/reports/ReportsController.java index 90800900b59..4055aacfb60 100644 --- a/query/src/org/labkey/query/reports/ReportsController.java +++ b/query/src/org/labkey/query/reports/ReportsController.java @@ -200,7 +200,6 @@ import static org.apache.commons.lang3.StringUtils.isBlank; import static org.labkey.api.reports.model.ViewCategoryManager.UNCATEGORIZED_ROWID; import static org.labkey.api.util.DOM.DIV; -import static org.labkey.api.util.DOM.SPAN; import static org.labkey.api.util.DOM.cl; public class ReportsController extends SpringActionController @@ -1025,8 +1024,8 @@ public ModelAndView getView(ReportDesignBean form, BindException errors) thro } catch (RuntimeException e) { - String message = e.getMessage(); - return new HtmlView(SPAN(cl("labkey-error"), Objects.requireNonNullElse(message, e.getClass().getSimpleName()), ". Unable to create report.")); + String message = Objects.requireNonNullElse(e.getMessage(), e.getClass().getSimpleName()) + ". Unable to create report."; + return HtmlView.err(message); } if (!isPrint() && DiscussionService.get() != null) From 98786e8aba9f3cca043b77cacd83ce542ad9f5ad Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 24 Jul 2025 12:00:16 -0700 Subject: [PATCH 3/3] Deprecate redirect(String) --- api/src/org/labkey/api/view/HttpView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/api/src/org/labkey/api/view/HttpView.java b/api/src/org/labkey/api/view/HttpView.java index 0c7aee94c04..9f42c046753 100644 --- a/api/src/org/labkey/api/view/HttpView.java +++ b/api/src/org/labkey/api/view/HttpView.java @@ -603,6 +603,7 @@ public static HttpView redirect(ActionURL url) return redirect(url.getLocalURIString()); } + @Deprecated(forRemoval = true) // Use ActionURL or URLHelper variant instead. TODO: Remove public static HttpView redirect(String url) { throw new RedirectException(url);