Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 36 |
| SurveyAnswerForm | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
110.00 | |
0.00% |
0 / 36 |
| __construct | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 4 |
|||
| rules | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 6 |
|||
| attributeLabels | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 6 |
|||
| getSurveyQuestionId | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 3 |
|||
| save | |
0.00% |
0 / 1 |
42.00 | |
0.00% |
0 / 17 |
|||
| <?php | |
| namespace frontend\models; | |
| use Yii; | |
| use common\models\SurveyAnswer; | |
| use yii\base\Model; | |
| /** | |
| * This is the model class for form "survey_answer". | |
| * | |
| * @property string $content | |
| * @property string $value | |
| * @property string $survey_question_id | |
| */ | |
| class SurveyAnswerForm extends Model | |
| { | |
| public $content; | |
| public $value; | |
| private $survey_question_id; | |
| /** | |
| * @inheritdoc | |
| */ | |
| public function __construct($survey_question_id, $config = []) | |
| { | |
| $this->survey_question_id = $survey_question_id; | |
| parent::__construct($config); | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| public function rules() | |
| { | |
| return [ | |
| ['content', 'required', 'when' => function($model){ return empty($model->value); }], | |
| ['value', 'required', 'when' => function($model){ return empty($model->content); }], | |
| ['content', 'string'], | |
| ['value', 'integer'] | |
| ]; | |
| } | |
| /** | |
| * @inheritdoc | |
| */ | |
| public function attributeLabels() | |
| { | |
| return [ | |
| 'content' => Yii::t('app', 'Answer'), | |
| 'value' => Yii::t('app', 'Answer'), | |
| ]; | |
| } | |
| /** | |
| * @return integer survey question id number | |
| */ | |
| public function getSurveyQuestionId() | |
| { | |
| return $this->survey_question_id; | |
| } | |
| public function save($survey_opinion_id, $questionsOptions = []) | |
| { | |
| $surveyAnswer = new SurveyAnswer(); | |
| if(isset($questionsOptions[$this->survey_question_id]) && isset($questionsOptions[$this->survey_question_id][$this->value])){ | |
| $surveyAnswer->content = $questionsOptions[$this->survey_question_id][$this->value]; | |
| $surveyAnswer->value = $this->value; | |
| }else{ | |
| $surveyAnswer->content = $this->content ?: $this->value; | |
| $surveyAnswer->value = $this->value ?: 0; | |
| } | |
| $surveyAnswer->survey_question_id = $this->survey_question_id; | |
| $surveyAnswer->survey_opinion_id = $survey_opinion_id; | |
| if($surveyAnswer->save(false)){ | |
| return $surveyAnswer; | |
| }else{ | |
| return null; | |
| } | |
| } | |
| } |