mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
update to propagate default values into state before frontend steps
This commit is contained in:
@ -49,6 +49,7 @@ import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryInput;
|
|||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryOutput;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryOutput;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.update.UpdateInput;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.update.UpdateInput;
|
||||||
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
||||||
|
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.processes.QBackendStepMetaData;
|
import com.kingsrook.qqq.backend.core.model.metadata.processes.QBackendStepMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFrontendStepMetaData;
|
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFrontendStepMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.processes.QProcessMetaData;
|
import com.kingsrook.qqq.backend.core.model.metadata.processes.QProcessMetaData;
|
||||||
@ -142,7 +143,7 @@ public class RunProcessAction
|
|||||||
QStepMetaData step = stepList.get(0);
|
QStepMetaData step = stepList.get(0);
|
||||||
lastStepName = step.getName();
|
lastStepName = step.getName();
|
||||||
|
|
||||||
if(step instanceof QFrontendStepMetaData)
|
if(step instanceof QFrontendStepMetaData frontendStep)
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
// Handle what to do with frontend steps, per request setting //
|
// Handle what to do with frontend steps, per request setting //
|
||||||
@ -152,6 +153,7 @@ public class RunProcessAction
|
|||||||
case BREAK ->
|
case BREAK ->
|
||||||
{
|
{
|
||||||
LOG.trace("Breaking process [" + process.getName() + "] at frontend step (as requested by caller): " + step.getName());
|
LOG.trace("Breaking process [" + process.getName() + "] at frontend step (as requested by caller): " + step.getName());
|
||||||
|
processFrontendStepFieldDefaultValues(processState, frontendStep);
|
||||||
processState.setNextStepName(step.getName());
|
processState.setNextStepName(step.getName());
|
||||||
break STEP_LOOP;
|
break STEP_LOOP;
|
||||||
}
|
}
|
||||||
@ -229,6 +231,22 @@ public class RunProcessAction
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
private void processFrontendStepFieldDefaultValues(ProcessState processState, QFrontendStepMetaData step)
|
||||||
|
{
|
||||||
|
for(QFieldMetaData formField : CollectionUtils.mergeLists(step.getFormFields(), step.getInputFields(), step.getViewFields(), step.getOutputFields()))
|
||||||
|
{
|
||||||
|
if(formField.getDefaultValue() != null && processState.getValues().get(formField.getName()) == null)
|
||||||
|
{
|
||||||
|
processState.getValues().put(formField.getName(), formField.getDefaultValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** When we start running a process (or resuming it), get data in the RunProcessRequest
|
** When we start running a process (or resuming it), get data in the RunProcessRequest
|
||||||
** either from the state provider (if they're found, for a resume).
|
** either from the state provider (if they're found, for a resume).
|
||||||
|
Reference in New Issue
Block a user