controller->pageTitle = 'CMS администратори'; use app\models\UserAdminCms; use app\widgets\FormWidget; use app\widgets\TableWidget; TableWidget::widget([ 'top' => [ 'title' => 'CMS администратори', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin-global' => 'Потребители' ] ], 'actions' => [ //'new' => 'Нов CMS админ', 'edit' => 'Редакция на CMS админ', 'delete' => 'Изтриване на CMS админ' ], 'th' => [ '№' => 'c1 text-right', 'Ел. поща' => '', 'Име' => '', 'Активен' => 'c0 ct' ], 'data' => UserAdminCms::find()->orderBy(['id' => SORT_DESC])->loop([ 'id', 'email_login', 'fullName', function (UserAdminCms $model) { return $model->statusSwitch('is_active'); } ], $_GET['p'] ?? 1, 30) ]); FormWidget::widget([ 'top' => [ 'title' => 'Нов CMS администратор', 'title_edit' => 'Редакция на CMS администратор', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin-cms' => 'CMS администратори' ] ], 'writeView' => 'user/write/admin-cms_w', 'model' => UserAdminCms::class, 'validation' => function ($p) { if (isset($p->profile_update)) { if (empty($p->{'email_login'})) return ['email_login' => 'Моля, въведете ел. поща']; if (!filter_var($p->{'email_login'}, FILTER_VALIDATE_EMAIL)) return ['email_login' => 'Моля, въведете валиден имейл адрес']; if (UserAdminCms::recordExists('email_login', $p->{'email_login'})) return ['email_login' => 'Този имейл адрес вече се ползва от друг cms администратор']; //if (empty($p->{'role_id'})) // return ['role_id' => 'Моля, изберете роля / група']; } if (isset($p->password_change) || empty($_GET['id'])) { if (empty($p->{'password'})) return ['password' => 'Моля, въведете парола']; if (strlen($p->{'password'}) < 6) return ['password' => 'Моля, въведете парола от поне 6 символа']; if ($p->{'cPassword'} != $p->{'password'}) return ['cPassword' => 'Повторното въвеждане на паролата не съвпада с първата']; } }, 'postService' => function ($p, UserAdminCms $model) { $model->setPostDataToModel(); $model->save(); if (!isset($p->{'rights'})) $p->{'rights'} = []; $model->updateRights($p->{'rights'}); Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно'); $model->smartRedirect(); } ]);