Ejemplo n.º 1
0
 /**
  * @param string $modelClassName
  * @param array $actionData
  * @param string $workflowType
  * @return array
  */
 public static function sanitizeActionData($modelClassName, $actionData, $workflowType)
 {
     assert('is_string($modelClassName)');
     assert('is_array($actionData)');
     assert('is_string($workflowType)');
     if (!isset($actionData[ActionForWorkflowForm::ACTION_ATTRIBUTES])) {
         return $actionData;
     }
     $actionForSanitizing = new ActionForWorkflowForm($modelClassName, $workflowType);
     $actionForSanitizing->setAttributes($actionData);
     foreach ($actionData[ActionForWorkflowForm::ACTION_ATTRIBUTES] as $attribute => $attributeData) {
         if (isset($attributeData['value'])) {
             $type = $actionForSanitizing->getActionAttributesAttributeFormType($attribute);
             if ($type == 'Date' && $attributeData['type'] == DateWorkflowActionAttributeForm::TYPE_STATIC) {
                 $actionData[ActionForWorkflowForm::ACTION_ATTRIBUTES][$attribute]['value'] = DateTimeUtil::resolveValueForDateDBFormatted($attributeData['value']);
             } elseif ($type == 'DateTime' && $attributeData['type'] == DateTimeWorkflowActionAttributeForm::TYPE_STATIC) {
                 $actionData[ActionForWorkflowForm::ACTION_ATTRIBUTES][$attribute]['value'] = DateTimeUtil::convertDateTimeLocaleFormattedDisplayToDbFormattedDateTimeWithSecondsAsZero($attributeData['value']);
             }
         }
     }
     return $actionData;
 }