change time widget in question and questionnaire forms

This commit is contained in:
iIronside
2021-11-02 17:29:15 +03:00
parent 7b8847e1e1
commit f8bacb7b58
23 changed files with 5795 additions and 117 deletions

View File

@ -17,8 +17,8 @@ class QuestionSearch extends Question
public function rules()
{
return [
[['id', 'question_type_id', 'questionnaire_id', 'question_priority', 'next_question', 'status', 'score', 'time_limit'], 'integer'],
[['question_body', 'created_at', 'updated_at'], 'safe'],
[['id', 'question_type_id', 'questionnaire_id', 'question_priority', 'next_question', 'status', 'score'], 'integer'],
[['question_body', 'created_at', 'updated_at', 'time_limit'], 'safe'],
];
}

View File

@ -24,7 +24,7 @@ $this->params['breadcrumbs'][] = $this->title;
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'filter' => \yii\helpers\ArrayHelper::map(\common\models\Question::find()->where(['!=', 'question_type_id', '1'])->all(), 'id', 'question_body'),
'filter' => \yii\helpers\ArrayHelper::map(\common\models\Question::find()->where(['!=', 'question_type_id', '1'])->all(), 'id', 'question_body'),
'attribute' => 'question_id',
'value' => function($model){
return $model->getQuestionBody();
@ -36,7 +36,7 @@ $this->params['breadcrumbs'][] = $this->title;
'format' => 'raw',
'filter' => \common\helpers\AnswerHelper::answerFlagsList(),
'value' => function ($model) {
return \common\helpers\AnswerHelper::statusLabel($model->answer_flag);
return \common\helpers\AnswerHelper::answerStatusLabel($model->answer_flag);
},
],
[

View File

@ -48,7 +48,7 @@ function cut_title($str)
'format' => 'raw',
'filter' => \common\helpers\AnswerHelper::answerFlagsList(),
'value' => function ($model) {
return \common\helpers\AnswerHelper::statusLabel($model->status);
return \common\helpers\AnswerHelper::answerStatusLabel($model->status);
},
],
[

View File

@ -1,6 +1,7 @@
<?php
use kartik\select2\Select2;
use kartik\time\TimePicker;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
@ -46,18 +47,16 @@ use yii\widgets\ActiveForm;
]
) ?>
<?= $form->field($model, 'time_limit')->dropDownList(
<?= $form->field($model, 'time_limit')->widget(TimePicker::class,
[
'' => 'Не ограничено',
'30' => '30 секунд',
'60' => '1 минута',
'90' => '1:30 секунд',
'120' => '2 минуты',
'180' => '3 минуты',
'300' => '5 минут',
'600' => '10 минут',
]
) ?>
'name' => 'time_limit_picker',
'pluginOptions' => [
'showSeconds' => false,
'showMeridian' => false,
'minuteStep' => 1,
'defaultTime' => ''
]
]) ?>
<?= $form->field($model, 'score')->textInput(['maxlength' => true]) ?>

View File

@ -24,12 +24,14 @@ $this->params['breadcrumbs'][] = $this->title;
'question_body',
[
'attribute' => 'question_type_id',
'filter' => \yii\helpers\ArrayHelper::map(\backend\modules\questionnaire\models\QuestionType::find()->all(), 'id', 'question_type'),
'value' => function($model){
return $model->getQuestionTitle();
}
],
[
'attribute' => 'questionnaire_id',
'filter' => \yii\helpers\ArrayHelper::map(\backend\modules\questionnaire\models\Questionnaire::find()->all(), 'id', 'title'),
'value' => function($model){
return $model->getQuestionnaireTitle();
}
@ -46,6 +48,7 @@ $this->params['breadcrumbs'][] = $this->title;
],
[
'attribute' => 'time_limit',
'format' => 'raw',
'value' => function($model){
return \common\helpers\TimeHelper::limitTime($model->time_limit);
}

View File

@ -56,6 +56,7 @@ $this->params['breadcrumbs'][] = $this->title;
'updated_at',
[
'attribute' => 'time_limit',
'format' => 'raw',
'value' => function($model){
return \common\helpers\TimeHelper::limitTime($model->time_limit);
}

View File

@ -1,6 +1,7 @@
<?php
use kartik\select2\Select2;
use kartik\time\TimePicker;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
@ -32,21 +33,19 @@ use yii\widgets\ActiveForm;
]
) ?>
<?= $form->field($model, 'time_limit')->dropDownList(
<?= $form->field($model, 'time_limit')->widget(TimePicker::class,
[
'' => 'Не ограничено',
'600' => '10 минут',
'900' => '15 минут',
'1200' => '20 минут',
'1800' => '30 минут',
'2700' => '45 минут',
'3600' => '1 час',
]
)
?>
'name' => 'time_limit_picker',
'pluginOptions' => [
'showSeconds' => false,
'showMeridian' => false,
'minuteStep' => 1,
'defaultTime' => ''
]
]) ?>
<div class="form-group">
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
<?= Html::submitButton('Создать', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>

View File

@ -34,12 +34,14 @@ $this->params['breadcrumbs'][] = $this->title;
],
[
'attribute' => 'category_id',
'filter' => \yii\helpers\ArrayHelper::map(common\models\QuestionnaireCategory::find()->all(), 'id', 'title'),
'value' => function($model){
return $model->getCategoryTitle();
}
],
[
'attribute' => 'time_limit',
'format' => 'raw',
'value' => function($model){
return \common\helpers\TimeHelper::limitTime($model->time_limit);
}

View File

@ -50,10 +50,11 @@ $this->params['breadcrumbs'][] = $this->title;
'updated_at',
[
'attribute' => 'time_limit',
'format' => 'raw',
'value' => function($model){
return \common\helpers\TimeHelper::limitTime($model->time_limit);
}
]
],
],
]) ?>
@ -70,7 +71,13 @@ $this->params['breadcrumbs'][] = $this->title;
'filterModel' => $questionSearchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'question_type_id',
[
'attribute' => 'question_type_id',
'filter' => \yii\helpers\ArrayHelper::map(\backend\modules\questionnaire\models\QuestionType::find()->all(), 'id', 'question_type'),
'value' => function($model){
return $model->getQuestionTitle();
}
],
'question_body',
[
'attribute' => 'status',

View File

@ -23,12 +23,14 @@ $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();
}
],
[
'attribute' => 'user_id',
'filter' => \yii\helpers\ArrayHelper::map(\common\models\User::find()->all(), 'id', 'username'),
'value' => function($model){
return $model->getUserName();
}

View File

@ -70,13 +70,7 @@ YiiAsset::register($this);
'attribute' => 'status',
'format' => 'raw',
'value' => function($model) {
return Html::tag(
'span',
$model->status ? 'Active' : 'Not Active',
[
'class' => 'label label-' . ($model->status ? 'success' : 'danger'),
]
);
return common\helpers\StatusHelper::statusLabel($model->status);
},
],
'created_at',
@ -149,30 +143,9 @@ YiiAsset::register($this);
'attribute' => 'answer_flag',
'format' => 'raw',
'value' => function ($model) {
$answerFlag = $model->answer_flag;
$class = 'label label-warning';
$content = 'Not verified';
if ($answerFlag > 0)
{
$class = 'label label-success';
$answerFlag < 1 ? $content = $answerFlag *100 . '%' : $content = 'True';
}
else if ($answerFlag === 0.0)
{
$class = 'label label-danger';
$content = 'Wrong';
}
return Html::tag(
'span',
$content,
[
'class' => $class,
]
);
return \common\helpers\AnswerHelper::answerFlagLable($model->answer_flag);
},
],
[
'class' => 'yii\grid\ActionColumn',

View File

@ -88,29 +88,7 @@ $this->params['breadcrumbs'][] = $this->title;
'attribute' => 'answer_flag',
'format' => 'raw',
'value' => function ($model) {
$answerFlag = $model->answer_flag;
$class = 'label label-warning';
$content = 'Not verified';
if ($answerFlag > 0)
{
$class = 'label label-success';
$answerFlag < 1 ? $content = $answerFlag *100 . '%' : $content = 'True';
}
else if ($answerFlag === 0.0)
{
$class = 'label label-danger';
$content = 'Wrong';
}
return Html::tag(
'span',
$content,
[
'class' => $class,
]
);
return \common\helpers\AnswerHelper::answerFlagLable($model->answer_flag);
},
],

View File

@ -54,7 +54,13 @@ function cut_title($str)
'response_body',
'created_at',
'updated_at',
'answer_flag',
[
'attribute' => 'answer_flag',
'format' => 'raw',
'value' => function ($model) {
return \common\helpers\AnswerHelper::answerFlagLable($model->answer_flag);
},
],
'user_questionnaires_uuid',
],
]) ?>