Exemple #1
0
 /**
  * Generate the row.
  *
  * @param array $row Row.
  *
  * @return string
  */
 public function generateRow($row)
 {
     try {
         $entityId = EntityId::fromString($row['entityId']);
         $manager = $this->getServiceProvider()->getManager($entityId->getProviderName());
         $entity = $this->getServiceProvider()->getEntityManager()->getRepository($entityId->getProviderName())->find($entityId->getIdentifier());
         $workflow = $manager->getWorkflow($entityId, $entity);
         if ($workflow) {
             $row['workflowName'] = $workflow->getLabel();
             $row['transitionName'] = $workflow->getTransition($row['transitionName'])->getLabel();
             $row['stepName'] = $workflow->getStep($row['stepName'])->getLabel();
         }
     } catch (\Exception $e) {
         // Catch exception here so if the definition has changes no error is thrown.
     }
     $row['success'] = $this->translate($row['success'] ? 'yes' : 'no', array(), 'MSC');
     $template = new \BackendTemplate('be_workflow_state_row');
     $template->setData($row);
     if (is_numeric($row['reachedAt'])) {
         $template->reachedAt = \Date::parse(\Config::get('datimFormat'), $row['reachedAt']);
     }
     return $template->parse();
 }
 /**
  * Create the state object.
  *
  * @param StateModel $model The state model.
  *
  * @return State
  */
 private function createState(StateModel $model)
 {
     $reachedAt = new \DateTime();
     $reachedAt->setTimestamp($model->reachedAt);
     $state = new State(EntityId::fromString($model->entityId), $model->workflowName, $model->transitionName, $model->stepName, (bool) $model->success, (array) json_decode($model->data, true), $reachedAt, (array) json_decode($model->errors, true), $model->id);
     return $state;
 }