From 4e0ccaa147d3633fd27810b5580d4db4b22d0b63 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 1 May 2024 16:54:01 -0500 Subject: [PATCH] CE-1068 - Handle join fields; no message when running for process --- .../ReportValuesDynamicFormWidgetRenderer.java | 15 ++++++++++----- .../savedreports/RenderSavedReportPreStep.java | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/savedreports/ReportValuesDynamicFormWidgetRenderer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/savedreports/ReportValuesDynamicFormWidgetRenderer.java index e922fa83..fc90fb1f 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/savedreports/ReportValuesDynamicFormWidgetRenderer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/savedreports/ReportValuesDynamicFormWidgetRenderer.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import com.kingsrook.qqq.backend.core.actions.dashboard.widgets.AbstractWidgetRenderer; +import com.kingsrook.qqq.backend.core.actions.reporting.GenerateReportAction; import com.kingsrook.qqq.backend.core.actions.tables.GetAction; import com.kingsrook.qqq.backend.core.actions.values.QPossibleValueTranslator; import com.kingsrook.qqq.backend.core.context.QContext; @@ -126,10 +127,8 @@ public class ReportValuesDynamicFormWidgetRenderer extends AbstractWidgetRendere { if(criteriaValue instanceof FilterVariableExpression filterVariableExpression) { - ////////////////////////// - // todo - join fields!! // - ////////////////////////// - QFieldMetaData fieldMetaData = table.getField(criteria.getFieldName()).clone(); + GenerateReportAction.FieldAndJoinTable fieldAndJoinTable = GenerateReportAction.getFieldAndJoinTable(table, criteria.getFieldName()); + QFieldMetaData fieldMetaData = fieldAndJoinTable.field().clone(); ///////////////////////////////// // make name & label for field // @@ -185,7 +184,13 @@ public class ReportValuesDynamicFormWidgetRenderer extends AbstractWidgetRendere if(CollectionUtils.nullSafeIsEmpty(fieldList)) { - widgetData.setNoFieldsMessage("This Report does not use any Variable Values"); + /////////////////////////////////////////////// + // actually don't show this for process mode // + /////////////////////////////////////////////// + if(!input.getQueryParams().containsKey("processName")) + { + widgetData.setNoFieldsMessage("This Report does not use any Variable Values"); + } } return new RenderWidgetOutput(widgetData); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/savedreports/RenderSavedReportPreStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/savedreports/RenderSavedReportPreStep.java index 6520812c..3f999088 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/savedreports/RenderSavedReportPreStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/savedreports/RenderSavedReportPreStep.java @@ -74,9 +74,11 @@ public class RenderSavedReportPreStep implements BackendStep /////////////////////////////////////////////////////////////////////////////////////// // put the savedReportId in values - this'll get passed into the widget, so it knows // // what report we're working with, and thus what inputs to prompt for // + // also put a value in just to help it know we're running the process // /////////////////////////////////////////////////////////////////////////////////////// SavedReport savedReport = new SavedReport(records.get(0)); runBackendStepOutput.addValue("savedReportId", savedReport.getId()); + runBackendStepOutput.addValue("processName", runBackendStepInput.getProcessName()); } }