Ejemplo n.º 1
0
 /**
  * Adjust the input mask.
  *
  * @param \DataContainer $dataContainer Data container.
  *
  * @return void
  */
 public function adjustEditMask($dataContainer)
 {
     $workflow = WorkflowModel::findByPk(CURRENT_ID);
     $typeProvider = $this->getServiceProvider()->getTypeProvider();
     if (!$workflow || !$typeProvider->hasType($workflow->type)) {
         return;
     }
     $workflowType = $typeProvider->getType($workflow->type);
     if ($workflowType->hasFixedSteps()) {
         $GLOBALS['TL_DCA']['tl_workflow_step']['fields']['name']['inputType'] = 'select';
         $GLOBALS['TL_DCA']['tl_workflow_step']['fields']['name']['options'] = $workflowType->getStepNames();
         $GLOBALS['TL_DCA']['tl_workflow_step']['fields']['name']['eval']['includeBlankOption'] = true;
     } else {
         $GLOBALS['TL_DCA']['tl_workflow_step']['fields']['name']['save_callback'][] = array('Netzmacht\\Workflow\\Contao\\Backend\\Common', 'createName');
     }
 }
Ejemplo n.º 2
0
 /**
  * Get entity properties.
  *
  * @param \DataContainer $dataContainer Data container driver.
  *
  * @return array
  */
 public function getEntityProperties($dataContainer)
 {
     if ($dataContainer->activeRecord) {
         $workflow = WorkflowModel::findByPk($dataContainer->activeRecord->pid);
         if ($workflow) {
             return array_map(function ($info) {
                 return $info['name'];
             }, array_filter($this->database->listFields($workflow->providerName), function ($info) {
                 return $info['type'] !== 'index';
             }));
         }
     }
     return array();
 }