/**
  * Validates that at least one timeTrigger has been selected, since this is required for a by-time workflow
  * @return bool
  */
 public function validateTimeTrigger()
 {
     if ($this->timeTriggerAttribute == null) {
         $this->addError('timeTriggerAttribute', Zurmo::t('WorkflowsModule', 'At least one time trigger must be selected'));
         return false;
     } else {
         return parent::validateTimeTrigger();
     }
 }
 /**
  * @return array
  */
 public function getTriggerOnDataAndLabels()
 {
     return WorkflowWizardForm::getTriggerOnDataAndLabels();
 }
 /**
  * @param WorkflowWizardForm $formModel
  */
 protected function setCommonAttributes(WorkflowWizardForm $formModel)
 {
     $formModel->id = $this->workflow->getId();
     $formModel->isActive = $this->workflow->getIsActive();
     $formModel->description = $this->workflow->getDescription();
     $formModel->moduleClassName = $this->workflow->getModuleClassName();
     $formModel->name = $this->workflow->getName();
     $formModel->triggerOn = $this->workflow->getTriggerOn();
     $formModel->type = $this->workflow->getType();
     $formModel->triggersStructure = $this->workflow->getTriggersStructure();
     $formModel->timeTriggerAttribute = $this->workflow->getTimeTriggerAttribute();
     if ($this->workflow->isNew()) {
         $formModel->setIsNew();
     }
     $formModel->timeTrigger = $this->workflow->getTimeTrigger();
     $formModel->triggers = $this->workflow->getTriggers();
     $formModel->actions = $this->workflow->getActions();
     $formModel->emailMessages = $this->workflow->getEmailMessages();
 }
 protected function actionValidate($postData, WorkflowWizardForm $model)
 {
     if (isset($postData['validationScenario']) && $postData['validationScenario'] != null) {
         $model->setScenario($postData['validationScenario']);
     } else {
         throw new NotSupportedException();
     }
     $model->validate();
     $errorData = array();
     foreach ($model->getErrors() as $attribute => $errors) {
         $errorData[ZurmoHtml::activeId($model, $attribute)] = $errors;
     }
     echo CJSON::encode($errorData);
     Yii::app()->end(0, false);
 }