ivankff / yii2-external-crud
yii2 Create, Update, Delete, View external actions for backend
Installs: 90
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- beberlei/assert: ^2.7
- yiisoft/yii2: ~2.0
Requires (Dev)
- phpunit/phpunit: 4.*
README
Controller
public function actions() { return [ ... 'create' => [ 'class' => 'ivankff\yii2ExternalCrud\actions\CreateAction', 'view' => 'update', 'additionalQueryParams' => ['F.categoryId'], 'model' => function ($action) { $categoryId = Yii::$app->request->get('categoryId'); $config = []; if ($categoryId) $config = ['categories' => $categoryId]; $model = new ProductForm(new Product(), $config); $model->status = 1; if (Yii::$app->user->can('backend.product.webmaster')) $model->setScenario(ProductForm::SCENARIO_WEBMASTER); return $model; }, 'on ' . WriteAction::EVENT_BEFORE_VIEW => function ($event) { /** @var ActionWriteViewEvent $event */ $event->viewParams['categories'] = $this->getCategories(); } ], 'update' => [ 'class' => 'ivankff\yii2ExternalCrud\actions\UpdateAction', 'view' => 'update', 'additionalQueryParams' => ['F.categoryId'], 'model' => function ($id, $action) { $model = new ProductForm($this->findModel($id)); if (Yii::$app->user->can('backend.product.webmaster')) $model->setScenario(ProductForm::SCENARIO_WEBMASTER); return $model; }, 'on ' . WriteAction::EVENT_BEFORE_VIEW => function ($event) { /** @var ActionWriteViewEvent $event */ $event->viewParams['categories'] = $this->getCategories(); } ], 'delete' => [ 'class' => 'ivankff\yii2ExternalCrud\actions\DeleteAction', 'model' => function ($id, $action) { return $this->findModel($id); }, ], ... ]; }