new-support.webeffector.ru/backend/modules/user/views/default/index.php

155 lines
6.2 KiB
PHP
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use common\helpers\HtmlHelper;
use yii\helpers\Url;
use yii\helpers\Html;
use yii\grid\GridView;
use yii\widgets\ActiveForm;
use common\helpers\UserHelper;
use common\components\user\models\User;
use common\components\user\models\search\UserSearch;
/**
* @var $this yii\web\View
* @var $model User
* @var $dataProvider yii\data\ActiveDataProvider
* @var $searchModel UserSearch
*/
$this->title = Yii::t('user', 'Пользователи');
$this->params['breadcrumbs'][] = $this->title;
$script = <<< JS
//Активация/Деактивация пользователя
$("input[type=checkbox].status").on('change',function () {
let id = $(this).attr('data-id');
$.ajax({
type: "get",
url: "/user/default/activate",
data: {
id: id
}
}).done(function(response) {
if(response.status) {
$('#alert-error').hide();
$('#alert-success').html(response.message).fadeIn().delay(300).fadeOut();
if(response.activate) {
$('.reset-password-' + id).removeClass('d-none');
} else {
$('.reset-password-' + id).addClass('d-none');
}
} else {
$('#alert-success').hide();
$('#alert-error').html(response.message).fadeIn().delay(300).fadeOut();
}
});
});
JS;
$this->registerJs($script, yii\web\View::POS_END);
?>
<div class="row">
<div class="col-xs-12">
<h1><?= Html::encode($this->title) ?></h1>
<div class="table">
<?= Html::a(Yii::t('user', 'Добавить пользователя'), Url::to(['create']), ['class' => 'btn btn-outline-primary btn-sm']) ?>
</div>
<?php $form = ActiveForm::begin([
'id' => 'user-form',
'method' => 'get',
'action' => '/user',
]); ?>
<div class="row">
<div class="col-xs-12 col-md-4 col-lg-3">
<?= $form->field($searchModel, 'role')->dropDownList(UserHelper::roleNameList(), ['prompt' => Yii::t('user', 'Все')]) ?>
</div>
<div class="col-xs-12 col-md-4 col-lg-3">
<?= $form->field($searchModel, 'status')->dropDownList(UserHelper::statusNameList(), ['prompt' => Yii::t('user', 'Все')]) ?>
</div>
</div>
<br/>
<div class="row">
<div class="col-xs-12 col-md-6 col-lg-3">
<?= Html::submitButton(Yii::t('user', 'Фильтр'), ['class' => 'btn btn-sm btn-success']) ?>
<?= Html::a(Yii::t('user', 'Сбросить фильтр'), Url::to(['/user']), ['class' => 'btn btn-outline-dark btn-sm']) ?>
</div>
</div>
<?php ActiveForm::end(); ?>
<br/>
<div class="table-responsive">
<?= GridView::widget([
'tableOptions' => ['class' => 'table table-striped table-bordered'],
'dataProvider' => $dataProvider,
'pager' => [
'firstPageLabel' => Yii::t('user', 'В начало'),
'lastPageLabel' => Yii::t('user', 'В конец'),
],
'columns' => [
['class' => yii\grid\SerialColumn::class],
'email',
[
'attribute' => 'role',
'format' => 'raw',
'value' => function ($model) {
if ($model->role) {
return UserHelper::roleNameList($model->role);
} else {
return Yii::t('user', 'Роль не указана');
}
},
],
[
'attribute' => 'status',
'format' => 'raw',
'value' => function ($model) {
return UserHelper::statusNameList($model->status);
},
],
[
'class' => yii\grid\ActionColumn::class,
'template' => '{reset-password}',
'buttons' => [
'reset-password' => function ($url, $model, $key) {
$hidden = 'd-none';
if ($model->status == UserHelper::STATUS_ACTIVE) {
$hidden = '';
}
return Html::a(Yii::t('user', 'Сброс пароля'), $url, ['class' => "btn btn-sm btn-outline-secondary reset-password-{$model->id} $hidden", 'data-id' => $model->id]);
},
],
],
[
'class' => yii\grid\ActionColumn::class,
'template' => '{update}',
'buttons' => [
'update' => function ($url, $model, $key) {
return Html::a(Yii::t('user', '<span class="fa" aria-hidden="true">{icon}</span>', [
'icon' => HtmlHelper::ICON_UPDATE,
]), $url);
},
],
],
[
'class' => yii\grid\ActionColumn::class,
'template' => '{ban}',
'buttons' => [
'ban' => function ($url, $model, $key) {
if ($model->status != UserHelper::STATUS_BLOCKED_MANUAL && $model->status != UserHelper::STATUS_BLOCKED_AUTO) {
return Html::a(Yii::t('user', '<span class="fa" aria-hidden="true">{icon}</span>', [
'icon' => HtmlHelper::ICON_DELETE,
]), $url);
} else {
return '';
}
},
],
],
],
]); ?>
</div>
</div>
</div>