raoul2000\workflow\base\SimpleWorkflowBehavior::getWorkflowStatus PHP Метод

getWorkflowStatus() публичный Метод

Returns the current Status instance.
См. также: hasWorkflowStatus()
public getWorkflowStatus ( ) : null | Status
Результат null | Status The status instance or NULL if the model is not in a workflow
    public function getWorkflowStatus()
    {
        return $this->_status;
    }

Usage Example

Пример #1
0
 /**
  * Returns the items and options for a dropDownList
  * All status options are in the list, but invalid transitions are disabled
  *
  * Example:
  * <pre>
  * $statusDropDownData = WorkflowHelper::getStatusDropDownData($model);
  * // Html
  * echo Html::dropDownList('status', $model->status, $statusDropdown['items'], ['options' => $statusDropdown['options']]);
  * // ActiveForm
  * echo $form->field($model, 'status')->dropDownList($statusDropDownData['items'], ['options' => $statusDropDownData['options']]);
  * </pre>
  *
  * @param BaseActiveRecord|SimpleWorkflowBehavior $model
  * @return array
  */
 public static function getStatusDropDownData($model)
 {
     $transitions = array_keys($model->getWorkflowSource()->getTransitions($model->getWorkflowStatus()->getId()));
     $items = WorkflowHelper::getAllStatusListData($model->getWorkflow()->getId(), $model->getWorkflowSource());
     $options = [];
     foreach (array_keys($items) as $status) {
         if ($status != $model->getWorkflowStatus()->getId() && !in_array($status, $transitions)) {
             $options[$status]['disabled'] = true;
         }
     }
     return ['items' => $items, 'options' => $options];
 }