Example #1
0
 /**
  * @param Model|ActiveRecordInterface $model
  * @return array list of variation models in format: behaviorName => Model[]
  */
 protected function findVariationModelBatches($model)
 {
     $variationModels = [];
     foreach ($model->getBehaviors() as $name => $behavior) {
         if (empty($this->variationNames) && $behavior instanceof VariationBehavior || in_array($name, $this->variationNames)) {
             $variationModels[$name] = $behavior->getVariationModels();
         }
     }
     return $variationModels;
 }
Example #2
0
 /**
  * @param Model|ActiveRecordInterface $model
  * @return array list of variation models in format: behaviorName => Model[]
  */
 private function findRoleModels($model)
 {
     $roleModels = [];
     foreach ($model->getBehaviors() as $name => $behavior) {
         if (empty($this->roleNames) && $behavior instanceof \yii2tech\ar\role\RoleBehavior || in_array($name, $this->roleNames)) {
             $roleModels[$name] = $behavior->getRoleRelationModel();
         }
     }
     return $roleModels;
 }
 /**
  * Tests that a ActiveWorkflowBehavior behavior is attached to the object passed as argument.
  *
  * This method returns FALSE if $model is not an instance of BaseActiveRecord (has ActiveWorkflowBehavior can only be attached
  * to instances of this class) or if none of its attached behaviors is a or inherit from ActiveWorkflowBehavior.
  *
  * @param Model|ActiveWorkflowBehavior $model the model to test.
  * @return bool TRUE if at least one ActiveWorkflowBehavior behavior is attached to $model, FALSE otherwise
  * @throws WorkflowException
  */
 public static function isAttachedTo($model)
 {
     if ($model instanceof Model) {
         foreach ($model->getBehaviors() as $behavior) {
             if ($behavior instanceof ActiveWorkflowBehavior) {
                 return true;
             }
         }
     } else {
         throw new WorkflowException('Invalid argument type : $model must be an instance of yii\\base\\Model');
     }
     return false;
 }