changing foreign key in user_response from id to uuid, completed add greedy loading, some refactoring
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
<?php
|
||||
|
||||
use backend\modules\questionnaire\models\Question;
|
||||
use backend\modules\questionnaire\models\UserQuestionnaire;
|
||||
use common\helpers\AnswerHelper;
|
||||
use common\models\User;
|
||||
use kartik\select2\Select2;
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\ActiveForm;
|
||||
@ -15,47 +16,36 @@ use yii\widgets\ActiveForm;
|
||||
|
||||
<?php $form = ActiveForm::begin(); ?>
|
||||
|
||||
<?= $form->field($model, 'answer_flag')->dropDownList(
|
||||
<?= $form->field($model, 'user_id')->widget(Select2::className(),
|
||||
[
|
||||
'' => 'Не задано',
|
||||
'0.1' => '10%',
|
||||
'0.2' => '20%',
|
||||
'0.3' => '30%',
|
||||
'0.5' => '50%',
|
||||
'0.7' => '70%',
|
||||
'0.8' => '80%',
|
||||
'0.85' => '85%',
|
||||
'0.9' => '90%',
|
||||
'1' => '100%',
|
||||
'data' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
|
||||
'options' => ['placeholder' => 'Выберите пользователя','class' => 'form-control'],
|
||||
'pluginOptions' => [
|
||||
'placeholder' => 'Выберите',
|
||||
'allowClear' => true
|
||||
],
|
||||
]) ?>
|
||||
|
||||
<?= $form->field($model, 'question_id')->widget(Select2::className(),
|
||||
[
|
||||
'data' => Question::find()->select(['question_body', 'id'])->indexBy('id')->column(),
|
||||
'options' => ['placeholder' => 'Выберите пользователя','class' => 'form-control'],
|
||||
'pluginOptions' => [
|
||||
'placeholder' => 'Выберите',
|
||||
'allowClear' => true
|
||||
],
|
||||
]) ?>
|
||||
|
||||
<?= $form->field($model, 'response_body')->textInput(['maxlength' => true]) ?>
|
||||
|
||||
<?= $form->field($model, 'answer_flag')->dropDownList(
|
||||
AnswerHelper::answerFlagsList(),
|
||||
[
|
||||
'prompt' => 'Выберите'
|
||||
]
|
||||
) ?>
|
||||
|
||||
<?= $form->field($model, 'user_id')->widget(Select2::class, [
|
||||
'data' => \common\models\User::find()->select(['username','id'] )->indexBy('id')->column(),
|
||||
'options' => ['placeholder' => '...','class' => 'form-control'],
|
||||
'pluginOptions' => [
|
||||
'allowClear' => true
|
||||
],
|
||||
|
||||
]); ?>
|
||||
|
||||
<?= $form->field($model, 'question_id')->widget(Select2::class,[
|
||||
|
||||
'data' => Question::find()->select(['question_body', 'id'])->indexBy('id')->column(),
|
||||
'pluginOptions' => [
|
||||
'allowClear' => true // 'id != :id', ['id'=>1]
|
||||
],
|
||||
])?>
|
||||
|
||||
<?= $form->field($model, 'user_questionnaire_id')->widget(Select2::class,[
|
||||
'data' => UserQuestionnaire::find()->select(['id', 'id'])->indexBy('id')->column(),
|
||||
'options' => ['placeholder' => '...','class' => 'form-control'],
|
||||
'pluginOptions' => [
|
||||
'allowClear' => true
|
||||
],
|
||||
])?>
|
||||
|
||||
<?= $form->field($model, 'response_body')->textInput(['maxlength' => true]) ?>
|
||||
<?= $form->field($model, 'user_questionnaire_uuid')->textInput(['maxlength' => true]) ?>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
|
||||
|
@ -25,11 +25,11 @@ use yii\widgets\ActiveForm;
|
||||
|
||||
<?= $form->field($model, 'created_at') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'answer_flag') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'updated_at') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'user_questionnaire_id') ?>
|
||||
<?php // echo $form->field($model, 'answer_flag') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'user_questionnaire_uuid') ?>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>
|
||||
|
@ -5,7 +5,7 @@ use yii\helpers\Html;
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model backend\modules\questionnaire\models\UserResponse */
|
||||
|
||||
$this->title = 'Создать ответ пользователя';
|
||||
$this->title = 'Новый ответ пользователя';
|
||||
$this->params['breadcrumbs'][] = ['label' => 'User Responses', 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
|
@ -1,29 +1,23 @@
|
||||
<?php
|
||||
|
||||
use backend\modules\questionnaire\models\Questionnaire;
|
||||
use backend\modules\questionnaire\models\Question;
|
||||
use backend\modules\questionnaire\models\UserQuestionnaire;
|
||||
use common\helpers\AnswerHelper;
|
||||
use common\models\User;
|
||||
use kartik\depdrop\DepDrop;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\helpers\Html;
|
||||
use yii\grid\GridView;
|
||||
use yii\helpers\Url;
|
||||
use yii\widgets\ActiveForm;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $searchModel backend\modules\questionnaire\models\UserResponseSearch */
|
||||
/* @var $dataProvider yii\data\ActiveDataProvider */
|
||||
/* @var $model backend\modules\questionnaire\models\UserResponse */
|
||||
/* @var $questionnaire backend\modules\questionnaire\models\Questionnaire */
|
||||
|
||||
$this->title = 'Ответы пользователей';
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
<div class="user-responses-index">
|
||||
<div class="user-response-index">
|
||||
|
||||
<p>
|
||||
<?= Html::a('Создать новый ответ пользователя', ['create'], ['class' => 'btn btn-success']) ?>
|
||||
<?= Html::a('Новый ответ пользователя', ['create'], ['class' => 'btn btn-success']) ?>
|
||||
</p>
|
||||
|
||||
<?= GridView::widget([
|
||||
@ -31,39 +25,34 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
'filterModel' => $searchModel,
|
||||
'columns' => [
|
||||
['class' => 'yii\grid\SerialColumn'],
|
||||
[
|
||||
'attribute' => 'user_questionnaire_id',
|
||||
'filter' => Questionnaire::find()->select(['title', 'id'])->indexBy('id')->column(),
|
||||
'value' => function($model){
|
||||
return $model->getQuestionnaireTitle();
|
||||
}
|
||||
],
|
||||
[
|
||||
'attribute' => 'user_id',
|
||||
'filter' => User::find()->select(['username', 'id'])->indexBy('id')->column(),
|
||||
'value' => 'user.username',
|
||||
|
||||
],
|
||||
[
|
||||
'attribute' => 'question_id',
|
||||
'filter' => Question::find()->select(['question_body', 'id'])->indexBy('id')->column(),
|
||||
'value' => 'question.question_body',
|
||||
],
|
||||
|
||||
'response_body',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
[
|
||||
'attribute' => 'Тип вопроса',
|
||||
'value' => function($model){
|
||||
return $model->getQuestionType();
|
||||
}
|
||||
],
|
||||
[
|
||||
'attribute' => 'answer_flag',
|
||||
'filter' => AnswerHelper::answerFlagsList(),
|
||||
'attribute' =>'answer_flag',
|
||||
'format' => 'raw',
|
||||
'filter' => AnswerHelper::answerFlagsList(),
|
||||
'value' => function ($model) {
|
||||
return AnswerHelper::answerFlagLable($model->answer_flag);
|
||||
return AnswerHelper::answerStatusLabel($model->answer_flag);
|
||||
},
|
||||
],
|
||||
[
|
||||
'attribute' => 'user_questionnaire_uuid',
|
||||
'filter' => UserQuestionnaire::find()->select(['uuid', 'id'])->indexBy('id')->column(),
|
||||
'value' => 'questionnaire.title',
|
||||
],
|
||||
|
||||
|
||||
['class' => 'yii\grid\ActionColumn'],
|
||||
],
|
||||
]); ?>
|
||||
|
@ -5,7 +5,7 @@ use yii\helpers\Html;
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model backend\modules\questionnaire\models\UserResponse */
|
||||
|
||||
$this->title = 'Изменение ответа: ' . $model->response_body;
|
||||
$this->title = 'Изменение ответа пользователя';
|
||||
$this->params['breadcrumbs'][] = ['label' => 'User Responses', 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]];
|
||||
$this->params['breadcrumbs'][] = 'Update';
|
||||
|
@ -8,20 +8,11 @@ use yii\widgets\DetailView;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model backend\modules\questionnaire\models\UserResponse */
|
||||
/* @var $responseDataProvider yii\data\ActiveDataProvider */
|
||||
|
||||
$this->title =cut_title($model->response_body);
|
||||
$this->title = $model->response_body;
|
||||
$this->params['breadcrumbs'][] = ['label' => 'User Responses', 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
YiiAsset::register($this);
|
||||
|
||||
function cut_title($str)
|
||||
{
|
||||
if(strlen($str) > 40){
|
||||
return mb_substr($str, 0, 40, 'UTF-8') . '...';
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
?>
|
||||
<div class="user-response-view">
|
||||
|
||||
@ -42,22 +33,20 @@ function cut_title($str)
|
||||
'attributes' => [
|
||||
'id',
|
||||
[
|
||||
'attribute' => 'Пользователь',
|
||||
'value' => ArrayHelper::getValue($model,'user.username'),
|
||||
'attribute' => 'user_id',
|
||||
'value' => ArrayHelper::getValue($model, 'user.username'),
|
||||
],
|
||||
[
|
||||
'attribute' => 'Вопрос',
|
||||
'value' => ArrayHelper::getValue($model,'question.question_body'),
|
||||
'attribute' => 'question_id',
|
||||
'value' => ArrayHelper::getValue($model, 'question.question_body'),
|
||||
],
|
||||
'response_body',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
[
|
||||
'attribute' => 'answer_flag',
|
||||
'format' => 'raw',
|
||||
'value' => AnswerHelper::answerFlagLable($model->answer_flag),
|
||||
'value' => AnswerHelper::answerFlagLabel($model->answer_flag),
|
||||
],
|
||||
'user_questionnaires_uuid',
|
||||
'user_questionnaire_uuid',
|
||||
],
|
||||
]) ?>
|
||||
|
||||
|
Reference in New Issue
Block a user