/** * @param ActionForWorkflowForm $action * @param RedBeanModel $model * @param User $triggeredByUser * @param RedBeanModel $triggeredModel */ protected static function processActionAttributesForActionAfterSave(ActionForWorkflowForm $action, RedBeanModel $model, User $triggeredByUser, RedBeanModel $triggeredModel) { foreach ($action->getActionAttributes() as $attribute => $actionAttribute) { if (!$actionAttribute->resolveValueBeforeSave() && $actionAttribute->shouldSetValue) { if (null === ($relation = ActionForWorkflowForm::resolveFirstRelationName($attribute))) { $resolvedModel = $model; $resolvedAttribute = ActionForWorkflowForm::resolveRealAttributeName($attribute); } else { $resolvedModel = $model->{$relation}; $resolvedAttribute = ActionForWorkflowForm::resolveRealAttributeName($attribute); } $adapter = new WorkflowActionProcessingModelAdapter($resolvedModel, $triggeredByUser, $triggeredModel); $actionAttribute->resolveValueAndSetToModel($adapter, $resolvedAttribute); } } }