Пример #1
0
 /**
  * @return ActiveDataProvider
  */
 public function run()
 {
     if ($this->checkAccess) {
         // additional authorization conditions are added in getQuery() method
         // using the "authorized" query
         call_user_func($this->checkAccess, 'read');
     }
     $model = new $this->modelClass();
     $searchModel = $this->getSearchModel();
     if ($this->prepareDataProvider !== null) {
         $dataProvider = call_user_func($this->prepareDataProvider, $this);
     } else {
         $dataProvider = $this->prepareDataProvider($searchModel);
     }
     $searchFields = FormBuilder::getFormFields($searchModel, array_merge($this->getFields($searchModel, 'searchForm'), $this->getExtraFields($searchModel, 'searchForm')), true);
     $columns = $this->getIndexGridColumns($model, $this->getFields($model, 'grid'));
     return ['dataProvider' => $dataProvider, 'columns' => $columns, 'buttons' => $this->getDefaultGridButtons($dataProvider), 'searchModel' => $searchModel, 'searchFields' => $searchFields];
 }
Пример #2
0
 /**
  * Prepares response params, like fields and relations.
  * @param ActiveRecord $model
  * @return array
  */
 protected function getResponse($model)
 {
     $hiddenAttributes = array_filter(explode(',', Yii::$app->getRequest()->getQueryParam('hide', '')));
     $fields = FormBuilder::getFormFields($model, $this->getFields($model, 'form'), false, $hiddenAttributes);
     return ['model' => $model, 'fields' => empty($fields) ? [] : [$fields], 'relations' => $this->getModelRelations($model, $this->getExtraFields($model))];
 }