role_id != 1) { exit; } $filter = []; $u = Auth::userAdminGlobal(); TableWidget::widget([ 'filter' => [ ['email' => ['Ел. поща', 'c3']] ], 'top' => [ 'title' => 'Потребители публичен портал', 'data' => [ 'index/dashboard' => 'Начало', 'user/public' => 'Управление на потребители публичен портал' ] ], 'actions' => [ //'new' => 'Нов потребител', //'edit' => 'Редакция потребител', //'delete' => 'Изтриване потребител', 'export' => 'Експорт (csv)' ], 'th' => [ '№' => 'c0 text-right', 'Ел. поща' => 'c3', 'Име' => '', 'Клубна карта' => 'c1 ct', 'Активен' => 'c02 ct' ], 'data' => UserPublic::find()->where($filter)->andWhere(Yii::$app->getFilterData())->orderBy(['id' => SORT_DESC])->loop([ 'id', 'email', 'full_name', function (UserPublic $model) { return $model->club_card ? 'да' : 'не'; }, function (UserPublic $model) { return $model->statusSwitch('is_active', null, ['Потребителя е активиран', 'Потребителя е деактивиран'], true); } ], $_GET['p'] ?? 1, 30), //'ignoreIds' => [$u->id], 'exportData' => function () { return [ 'header' => [ 'ID' => ['integer', 10], 'E-mail' => ['string', 50], 'Име и фамилия' => ['string', 50], ], 'data' => UserPublic::find()->where(Yii::$app->getFilterData())->orderBy(['full_name' => SORT_ASC])->loop([ 'id', 'full_name', 'email', ]), 'file_name' => 'Потребители_публичен_портал' . date('Y_m_d_H_i') ]; } ]); FormWidget::widget([ 'top' => [ 'title' => 'Нов глобален администратор', 'title_edit' => 'Редакция на глобален администратор', 'data' => [ 'index/dashboard' => 'Начало', 'user/public' => 'Управление на потребители публичен портал' ] ], 'writeView' => 'user/write/public-user_w', 'model' => UserPublic::class, 'validation' => function ($p) { if (isset($p->profile_update)) { if (empty($p->{'email'})) return ['email' => 'Моля, въведете ел. поща']; if (!filter_var($p->{'email'}, FILTER_VALIDATE_EMAIL)) return ['email' => 'Моля, въведете валиден имейл адрес']; if (UserPublic::recordExists('email', $p->{'email'})) return ['email' => 'Този имейл адрес вече се ползва от потребител в публичен портал']; } 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, UserPublic $model) { Yii::$app->flash('success', isset($_GET['id']) ? 'Записът е актуализиран успешно' : 'Записът е създадено успешно'); $model->setPostDataToModel(); $model->save(); $model->smartRedirect(); } ]);