Files
yii2-usuario/src/User/resources/views/admin/index.php
tonis ormisson ec665e1cc2 missed one ...
2022-09-08 14:07:34 +03:00

199 lines
8.0 KiB
PHP

<?php
/*
* This file is part of the 2amigos/yii2-usuario project.
*
* (c) 2amigOS! <http://2amigos.us/>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
use yii\grid\GridView;
use yii\helpers\Html;
use yii\web\View;
use yii\widgets\Pjax;
/**
* @var yii\web\View $this
* @var yii\data\ActiveDataProvider $dataProvider
* @var Da\User\Search\UserSearch $searchModel
* @var Da\User\Module $module
*/
$this->title = Yii::t('usuario', 'Manage users');
$this->params['breadcrumbs'][] = $this->title;
?>
<?php $this->beginContent($module->viewPath . '/shared/admin_layout.php') ?>
<?php Pjax::begin() ?>
<div class="table-responsive">
<?= GridView::widget(
[
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'layout' => "{items}\n{pager}",
'columns' => [
'username',
'email:email',
[
'attribute' => 'registration_ip',
'value' => function ($model) {
return $model->registration_ip == null
? '<span class="not-set">' . Yii::t('usuario', '(not set)') . '</span>'
: $model->registration_ip;
},
'format' => 'html',
'visible' => !$module->disableIpLogging,
],
[
'attribute' => 'created_at',
'value' => function ($model) {
if (extension_loaded('intl')) {
return Yii::t('usuario', '{0, date, MMM dd, YYYY HH:mm}', [$model->created_at]);
}
return date('Y-m-d G:i:s', $model->created_at);
},
],
[
'attribute' => 'last_login_at',
'value' => function ($model) {
if (!$model->last_login_at || $model->last_login_at == 0) {
return Yii::t('usuario', 'Never');
} elseif (extension_loaded('intl')) {
return Yii::t('usuario', '{0, date, MMM dd, YYYY HH:mm}', [$model->last_login_at]);
} else {
return date('Y-m-d G:i:s', $model->last_login_at);
}
},
],
[
'attribute' => 'last_login_ip',
'value' => function ($model) {
return $model->last_login_ip == null
? '<span class="not-set">' . Yii::t('usuario', '(not set)') . '</span>'
: $model->last_login_ip;
},
'format' => 'html',
'visible' => !$module->disableIpLogging,
],
[
'header' => Yii::t('usuario', 'Confirmation'),
'value' => function ($model) {
if ($model->isConfirmed) {
return '<div class="text-center">
<span class="text-success">' . Yii::t('usuario', 'Confirmed') . '</span>
</div>';
}
return Html::a(
Yii::t('usuario', 'Confirm'),
['confirm', 'id' => $model->id],
[
'class' => 'btn btn-xs btn-success btn-block',
'data-method' => 'post',
'data-confirm' => Yii::t('usuario', 'Are you sure you want to confirm this user?'),
]
);
},
'format' => 'raw',
'visible' => Yii::$app->getModule('user')->enableEmailConfirmation,
],
'password_age',
[
'header' => Yii::t('usuario', 'Block status'),
'value' => function ($model) {
if ($model->isBlocked) {
return Html::a(
Yii::t('usuario', 'Unblock'),
['block', 'id' => $model->id],
[
'class' => 'btn btn-xs btn-success btn-block',
'data-method' => 'post',
'data-confirm' => Yii::t('usuario', 'Are you sure you want to unblock this user?'),
]
);
}
return Html::a(
Yii::t('usuario', 'Block'),
['block', 'id' => $model->id],
[
'class' => 'btn btn-xs btn-danger btn-block',
'data-method' => 'post',
'data-confirm' => Yii::t('usuario', 'Are you sure you want to block this user?'),
]
);
},
'format' => 'raw',
],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{switch} {reset} {force-password-change} {update} {delete}',
'buttons' => [
'switch' => function ($url, $model) use ($module) {
if ($model->id != Yii::$app->user->id && $module->enableSwitchIdentities) {
return Html::a(
'<span class="glyphicon glyphicon-user"></span>',
['/user/admin/switch-identity', 'id' => $model->id],
[
'title' => Yii::t('usuario', 'Impersonate this user'),
'data-confirm' => Yii::t(
'usuario',
'Are you sure you want to switch to this user for the rest of this Session?'
),
'data-method' => 'POST',
]
);
}
return null;
},
'reset' => function ($url, $model) use ($module) {
if($module->allowAdminPasswordRecovery) {
return Html::a(
'<span class="glyphicon glyphicon-flash"></span>',
['/user/admin/password-reset', 'id' => $model->id],
[
'title' => Yii::t('usuario', 'Send password recovery email'),
'data-confirm' => Yii::t(
'usuario',
'Are you sure you wish to send a password recovery email to this user?'
),
'data-method' => 'POST',
]
);
}
return null;
},
'force-password-change' => function ($url, $model) use ($module) {
if (is_null($module->maxPasswordAge)) {
return null;
}
return Html::a(
'<span class="glyphicon glyphicon-time"></span>',
['/user/admin/force-password-change', 'id' => $model->id],
[
'title' => Yii::t('usuario', 'Force password change at next login'),
'data-confirm' => Yii::t(
'usuario',
'Are you sure you wish the user to change their password at next login?'
),
'data-method' => 'POST',
]
);
},
]
],
],
]
); ?>
</div>
<?php Pjax::end() ?>
<?php $this->endContent() ?>