/** * Logs in a user using the provided username and password. * * @return boolean whether the user is logged in successfully */ public function login() { /** @var User $user */ $user = $this->getUser(); if ($this->validate() && isset(User::getRole($user->id)['admin'])) { return Yii::$app->user->login($user, $this->rememberMe ? 3600 * 24 * 30 : 0); } else { return false; } }
use yii\grid\GridView; /* @var $this yii\web\View */ /* @var $searchModel common\models\UserSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = 'Users'; $this->params['breadcrumbs'][] = $this->title; ?> <div class="user-index"> <h1><?php echo Html::encode($this->title); ?> </h1> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <p> <?php echo Html::a('Create User', ['create'], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'id', 'username', 'avatar', ['attribute' => 'role', 'value' => function ($model) { return User::getRole($model->role)['name']; }], 'created_at:datetime', 'updated_at:datetime', ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div>
use yii\grid\GridView; use yii\helpers\Url; /* @var $this yii\web\View */ /* @var $searchModel common\models\UserSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = Yii::t('user', 'List users'); ?> <div class="user-index"> <br> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['attribute' => 'email', 'format' => 'raw', 'value' => function ($data) { return Html::a($data->email, Url::to(['update', 'id' => $data->id])); }], ['class' => \dosamigos\grid\EditableColumn::className(), 'filter' => User::statuses(), 'attribute' => 'status', 'url' => ['ajaxUpdate'], 'type' => 'select', 'display' => "colors", 'editableOptions' => function ($model) { return ['source' => User::statuses(), 'value' => $model->status]; }], ['class' => \dosamigos\grid\EditableColumn::className(), 'filter' => User::roles(), 'attribute' => 'role', 'url' => ['ajaxUpdate'], 'value' => function ($data) { return User::getRole($data->role); }, 'type' => 'select', 'display' => "function(value,sourceData,response){console.log(sourceData);}", 'editableOptions' => ['source' => Yii::$app->user->identity->getEditableRoles(), 'sourceCache' => false]], ['attribute' => 'created_at', 'filter' => false, 'format' => 'datetime'], ['attribute' => 'updated_at', 'filter' => false, 'format' => 'datetime'], ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div> <script> function colors(value, sourceData) { var selected = $.grep(sourceData, function (o) { return value == o.value; }), colors = <?php echo json_encode(User::$status_colors); ?> ; $(this).html(selected[0].text).css("color", colors[value]); }
</div> <div class="media-body"> <h2 class="mt5"><?php echo Html::tag('strong', Html::encode($user->username)); ?> </h2> <p>第 <?php echo $user->id; ?> 位会员</p> <div class="pull-left"> <span class="label label-<?php echo User::getRole($user->role)['color']; ?> role"><?php echo User::getRole($user->role)['name']; ?> </span> </div> </div> </div> <div class="follow-info row"> <div class="col-sm-4 followers" data-login="******"> <a class="counter" href="<?php echo Url::to(['/user/default/point', 'username' => $username]); ?> "> <?php echo $user->merit ? $user->merit->merit : 0; ?>
/** * Заполнение данных пользователя. * * @param User $user */ public function fillUserData(User $user) { $this->setUserId($user->getId()); $this->setCompanyId($user->getCompanyId()); $this->setEmail($user->getEmail()); $this->setFullName($user->getFullName()); $this->setRole($user->getRole()); $this->setStatus($user->getStatus()); $this->setPhoto($user->getPhoto()); }