Example #1
0
 /**
  * Prepares the data provider that should return the requested collection of the models.
  * @param \yii\base\Model
  * @return ActiveDataProvider
  */
 protected function prepareDataProvider($model)
 {
     $dataProvider = parent::prepareDataProvider($model);
     /** @var \yii\db\ActiveQuery $query */
     $query = $dataProvider->query;
     // lazy load related models to mark checkboxes
     $relation = Yii::$app->request->getQueryParam('relation');
     if (!empty($relation)) {
         $query->with($relation);
     }
     return $dataProvider;
 }
Example #2
0
 /**
  * @inheritdoc
  */
 public function actions()
 {
     $actions = ['index' => ['class' => \netis\crud\crud\IndexAction::className()], 'relation' => ['class' => \netis\crud\crud\RelationAction::className()], 'view' => ['class' => \netis\crud\crud\ViewAction::className()], 'update' => ['class' => \netis\crud\crud\UpdateAction::className(), 'createScenario' => $this->createScenario, 'updateScenario' => $this->updateScenario], 'delete' => ['class' => \netis\crud\crud\DeleteAction::className()], 'options' => ['class' => \yii\rest\OptionsAction::className()], 'help' => ['class' => HelpAction::className(), 'viewPrefix' => 'help', 'defaultView' => 'index.md']];
     $helpAction = Yii::createObject($actions['help'], ['help', $this]);
     try {
         $helpAction->run();
     } catch (NotFoundHttpException $e) {
         unset($actions['help']);
     }
     foreach ($this->actionsClassMap as $id => $action) {
         if (!isset($actions[$id])) {
             $actions[$id] = [];
         }
         if (is_string($action)) {
             $actions[$id]['class'] = $action;
         } else {
             unset($action['verbs']);
             $actions[$id] = array_merge($actions[$id], $action);
         }
     }
     return $actions;
 }