/** * 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); }