add filters, refactoring
This commit is contained in:
@ -1,5 +1,8 @@
|
||||
<?php
|
||||
|
||||
use backend\modules\questionnaire\models\QuestionnaireCategory;
|
||||
use common\helpers\StatusHelper;
|
||||
use common\models\User;
|
||||
use kartik\select2\Select2;
|
||||
use yii\helpers\Html;
|
||||
use yii\helpers\Url;
|
||||
@ -17,8 +20,11 @@ use kartik\depdrop\DepDrop;
|
||||
|
||||
<?php $form = ActiveForm::begin(); ?>
|
||||
|
||||
<?= $form->field($modelCategory, 'title')
|
||||
->dropDownList($modelCategory->getIdTitlesArr(),
|
||||
<?= $form->field($modelCategory, 'title')->dropDownList(QuestionnaireCategory::find()
|
||||
->select(['title', 'id'])
|
||||
->where(['status' => '1'])
|
||||
->indexBy('id')
|
||||
->column(),
|
||||
[
|
||||
'id' => 'cat-id',
|
||||
'prompt' => 'Выберите'
|
||||
@ -39,7 +45,7 @@ use kartik\depdrop\DepDrop;
|
||||
|
||||
<?= $form->field($model, 'user_id')->widget(Select2::class,
|
||||
[
|
||||
'data' => \yii\helpers\ArrayHelper::map(\common\models\User::find()->all(),'id', 'username'),
|
||||
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
|
||||
'options' => ['placeholder' => 'Выберите пользователя','class' => 'form-control'],
|
||||
'pluginOptions' => [
|
||||
'placeholder' => 'Выберите',
|
||||
@ -49,7 +55,7 @@ use kartik\depdrop\DepDrop;
|
||||
); ?>
|
||||
|
||||
<?= $form->field($model, 'status')->dropDownList(
|
||||
\common\helpers\StatusHelper::statusList(),
|
||||
StatusHelper::statusList(),
|
||||
[
|
||||
'prompt' => 'Выберите'
|
||||
]
|
||||
|
@ -1,7 +1,11 @@
|
||||
<?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 */
|
||||
@ -23,17 +27,13 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
['class' => 'yii\grid\SerialColumn'],
|
||||
[
|
||||
'attribute' => 'questionnaire_id',
|
||||
'filter' => \yii\helpers\ArrayHelper::map(backend\modules\questionnaire\models\Questionnaire::find()->all(), 'id', 'title'),
|
||||
'value' => function($model){
|
||||
return $model->getQuestionnaireTitle();
|
||||
}
|
||||
'filter' => Questionnaire::find()->select(['title', 'id'])->indexBy('id')->column(),
|
||||
'value' => 'questionnaire.title'
|
||||
],
|
||||
[
|
||||
'attribute' => 'user_id',
|
||||
'filter' => \yii\helpers\ArrayHelper::map(\common\models\User::find()->all(), 'id', 'username'),
|
||||
'value' => function($model){
|
||||
return $model->getUserName();
|
||||
}
|
||||
'filter' => ArrayHelper::map(User::find()->all(), 'id', 'username'),
|
||||
'value' => 'user.username'
|
||||
],
|
||||
'score',
|
||||
[
|
||||
@ -46,9 +46,9 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
[
|
||||
'attribute' => 'status',
|
||||
'format' => 'raw',
|
||||
'filter' => \common\helpers\StatusHelper::statusList(),
|
||||
'filter' => StatusHelper::statusList(),
|
||||
'value' => function ($model) {
|
||||
return \common\helpers\StatusHelper::statusLabel($model->status);
|
||||
return StatusHelper::statusLabel($model->status);
|
||||
},
|
||||
],
|
||||
'created_at',
|
||||
|
@ -1,7 +1,11 @@
|
||||
<?php
|
||||
|
||||
use common\helpers\ScoreCalculatorHelper;
|
||||
use common\helpers\AnswerHelper;
|
||||
use common\helpers\StatusHelper;
|
||||
use yii\bootstrap\Modal;
|
||||
use yii\grid\GridView;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\helpers\Html;
|
||||
use yii\web\YiiAsset;
|
||||
use yii\widgets\DetailView;
|
||||
@ -51,11 +55,11 @@ YiiAsset::register($this);
|
||||
'id',
|
||||
[
|
||||
'attribute' => 'questionnaires_id',
|
||||
'value' => $questionnaire,
|
||||
'value' => ArrayHelper::getValue($model, 'questionnaire.title'),
|
||||
],
|
||||
[
|
||||
'attribute' => 'user_id',
|
||||
'value' => $user,
|
||||
'value' => ArrayHelper::getValue($model, 'user.username'),
|
||||
],
|
||||
'uuid',
|
||||
'score',
|
||||
@ -69,9 +73,7 @@ YiiAsset::register($this);
|
||||
[
|
||||
'attribute' => 'status',
|
||||
'format' => 'raw',
|
||||
'value' => function($model) {
|
||||
return common\helpers\StatusHelper::statusLabel($model->status);
|
||||
},
|
||||
'value' => StatusHelper::statusLabel($model->status),
|
||||
],
|
||||
'created_at',
|
||||
'updated_at',
|
||||
@ -96,7 +98,7 @@ YiiAsset::register($this);
|
||||
'class' => 'btn btn-success',
|
||||
],
|
||||
]);
|
||||
if($model->checkAnswerFlagsForNull())
|
||||
if(ScoreCalculatorHelper::checkAnswerFlagsForNull($model))
|
||||
{
|
||||
echo 'Ответы проверены. Посчитать баллы?';
|
||||
echo Html::a('Посчитать баллы', ['calculate-score', 'id' => $model->id], [
|
||||
@ -129,13 +131,11 @@ YiiAsset::register($this);
|
||||
'response_body',
|
||||
[
|
||||
'attribute' => 'question_id',
|
||||
'value' => function($model){
|
||||
return $model->getQuestionBody();
|
||||
}
|
||||
'value' => 'question.question_body'
|
||||
],
|
||||
[
|
||||
'attribute' => 'Тип вопроса',
|
||||
'value' => function($model){
|
||||
'value' => function($model) {
|
||||
return $model->getQuestionType();
|
||||
}
|
||||
],
|
||||
@ -143,18 +143,20 @@ YiiAsset::register($this);
|
||||
'attribute' => 'answer_flag',
|
||||
'format' => 'raw',
|
||||
'value' => function ($model) {
|
||||
return \common\helpers\AnswerHelper::answerFlagLable($model->answer_flag);
|
||||
return AnswerHelper::answerFlagLable($model->answer_flag);
|
||||
},
|
||||
|
||||
],
|
||||
[
|
||||
'class' => 'yii\grid\ActionColumn',
|
||||
'template' => '{update}', // {delete}
|
||||
'template' => '{view} {update} {delete}',
|
||||
'controller' => 'user-response',
|
||||
'buttons' => [
|
||||
|
||||
'update' => function ($url,$model) {
|
||||
return Html::a(
|
||||
'<span class="glyphicon glyphicon-pencil"></span>',
|
||||
['user-response/update', 'id' => $model['id']]);
|
||||
['user-response/update', 'id' => $model['id'], 'user_questionnaire_id' => $model['user_questionnaire_id']]);
|
||||
},
|
||||
],
|
||||
],
|
||||
|
Reference in New Issue
Block a user