controller->pageTitle = 'Права'; use app\models\CmsRights; use app\widgets\FormWidget; use app\widgets\TableWidget; TableWidget::widget([ 'filter' => [ ['name' => ['Наименование', 'c3']] ], 'top' => [ 'title' => 'Права', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin' => 'Потребители' ] ], 'actions' => [ 'new' => 'Ново право', 'edit' => 'Редакция на право', //'delete' => 'Изтриване на право' ], 'th' => [ '№' => 'c1 text-right', 'Наименование на потребителското правото' => '', 'Активен' => '' ], 'data' => CmsRights::find()->where(Yii::$app->getFilterData())->orderBy(['id' => SORT_DESC])->loop([ 'id', 'name', function(CmsRights $model) { return $model->statusSwitch('is_active', null, ['Правото е активирано', 'Правото е деактивирано']); } ], $_GET['p'] ?? 1, 30) ]); FormWidget::widget([ 'top' => [ 'title' => 'Ново право', 'title_edit' => 'Редакция на право', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin' => 'Потребители', 'user/rights' => 'Права' ] ], 'writeView' => 'user/write/rights_w', 'model' => CmsRights::class, 'validation' => function ($p) { if (empty($p->{'name'})) return ['name' => 'Моля, въведете наименование на правото']; if (CmsRights::recordExists('name', $p->{'name'})) return ['name' => 'Това право вече е въведено, моля използвайте друго наименование']; }, 'postService' => function ($p, CmsRights $model) { $model->setPostDataToModel(); $model->save(); Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно'); $model->smartRedirect(); } ]);