[ ['email_login' => ['Ел. поща', 'c3']] ], 'top' => [ 'title' => 'Глобални администратори', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin-global' => 'Потребители' ] ], 'actions' => [ //'new' => 'Нов глобален администратор', 'edit' => 'Редакция на глобален администратор', //'delete' => 'Изтриване глобален администратор', 'export' => 'Експорт (csv)' ], 'th' => [ '№' => 'c1 text-right', 'Ел. поща' => '', 'Име' => '', 'Активен' => 'c0 ct' ], 'data' => UserAdminGlobal::find()->where($filter)->andWhere(Yii::$app->getFilterData())->orderBy(['first_name' => SORT_ASC])->loop([ 'id', 'email_login', function (UserAdminGlobal $model) { return $model->getFullName(); }, function (UserAdminGlobal $model) use ($u) { $disabled = $model->id == $u->id ? 'disabled' : null; return $model->statusSwitch('is_active', null, null, $disabled); }, ], $_GET['p'] ?? 1, 30), 'ignoreIds' => [$u->id], 'exportData' => function () { return [ 'header' => [ 'ID' => ['integer', 10], 'E-mail' => ['string', 50], 'Име' => ['string', 20], 'Фамилия' => ['string', 20] ], 'data' => UserAdminGlobal::find()->where(Yii::$app->getFilterData())->orderBy(['first_name' => SORT_ASC])->loop([ 'id', 'email_login', 'first_name', 'last_name' ]), 'file_name' => 'Глобални_администратори_' . date('Y_m_d_H_i') ]; } ]); FormWidget::widget([ 'top' => [ 'title' => 'Нов глобален администратор', 'title_edit' => 'Редакция на глобален администратор', 'data' => [ 'index/dashboard' => 'Начало', 'user/admin-global' => 'Глобални администратори' ] ], 'writeView' => 'user/write/admin-global_w', 'model' => UserAdminGlobal::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 (UserAdminGlobal::recordExists('email_login', $p->{'email_login'})) return ['email_login' => 'Този имейл адрес вече се ползва от друг глобален администратор']; } 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, UserAdminGlobal $model) { Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно'); $model->setPostDataToModel(); $model->save(); $model->smartRedirect(); } ]);