61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use common\helpers\StatusHelper;
 | 
						|
use common\models\User;
 | 
						|
use yii\helpers\ArrayHelper;
 | 
						|
use yii\helpers\Html;
 | 
						|
use yii\grid\GridView;
 | 
						|
use backend\modules\questionnaire\models\Questionnaire;
 | 
						|
 | 
						|
/* @var $this yii\web\View */
 | 
						|
/* @var $searchModel backend\modules\questionnaire\models\UserQuestionnaireSearch */
 | 
						|
/* @var $dataProvider yii\data\ActiveDataProvider */
 | 
						|
 | 
						|
$this->title = 'Анкеты пользователей';
 | 
						|
$this->params['breadcrumbs'][] = $this->title;
 | 
						|
?>
 | 
						|
<div class="user-questionnaire-index">
 | 
						|
 | 
						|
    <p>
 | 
						|
        <?= Html::a('Назначить анкету пользователю', ['create'], ['class' => 'btn btn-success']) ?>
 | 
						|
    </p>
 | 
						|
 | 
						|
    <?= GridView::widget([
 | 
						|
        'dataProvider' => $dataProvider,
 | 
						|
        'filterModel' => $searchModel,
 | 
						|
        'columns' => [
 | 
						|
            ['class' => 'yii\grid\SerialColumn'],
 | 
						|
            [
 | 
						|
                'attribute' => 'questionnaire_id',
 | 
						|
                'filter' => Questionnaire::find()->select(['title', 'id'])->indexBy('id')->column(),
 | 
						|
                'value' => 'questionnaire.title'
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'attribute' => 'user_id',
 | 
						|
                'filter' => ArrayHelper::map(User::find()->all(), 'id', 'username'),
 | 
						|
                'value' => 'user.username'
 | 
						|
            ],
 | 
						|
            'score',
 | 
						|
            [
 | 
						|
                'attribute' => 'percent_correct_answers',
 | 
						|
                'value' => function($model) {
 | 
						|
                    $percent = $model->percent_correct_answers * 100;
 | 
						|
                    return $percent . '%';
 | 
						|
                }
 | 
						|
            ],
 | 
						|
            [
 | 
						|
                'attribute' => 'status',
 | 
						|
                'format' => 'raw',
 | 
						|
                'filter' => StatusHelper::statusList(),
 | 
						|
                'value' => function ($model) {
 | 
						|
                    return StatusHelper::statusLabel($model->status);
 | 
						|
                },
 | 
						|
            ],
 | 
						|
            'created_at',
 | 
						|
            'updated_at',
 | 
						|
 | 
						|
            ['class' => 'yii\grid\ActionColumn'],
 | 
						|
        ],
 | 
						|
    ]); ?>
 | 
						|
</div>
 |