/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
backend/forms/data/task/TaskVersionAssistantForm.php
132 строки
3 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace backend\forms\data\task; use common\helpers\ArrayHelper; use common\models\TaskAssistant; use Yii; /** * Форма редактирования сервиса * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2024 */ class TaskVersionAssistantForm extends TaskAssistantForm { /** * @var int */ public $task_id = null; /** * Модель * @var null */ public $description = null; /** * Версия * @var null */ public $version = null; /** * Текущий ? * @var null */ public $is_default = null; /** * @inheritdoc */ public function rules() { return ArrayHelper::merge([ ['title', 'default', 'value' => '-'], ['task_id', 'required'], ['task_id', 'number'], [['description'], 'required'], [['description'], 'string'], ], parent::rules()); } /** * @inheritdoc */ public function attributeLabels() { return ArrayHelper::merge(parent::attributeLabels(), [ 'description' => Yii::t('app', 'Description'), ]); } /** * @inheritdoc */ public function loadModel($condition) { parent::loadModel($condition); // TODO: Change the autogenerated stub $this->task_id = ArrayHelper::getValue($condition, 'task_id'); if ($this->oid) { $tm = TaskAssistant::findOne($this->oid); if ($tm) { $this->initState($tm); } } } /** * @inheritdoc */ public function initState($object) { if ($object instanceof TaskAssistant) { $this->project_id = $object->assistant->project_id; $this->assistant_id = $object->assistant_id; $this->version = $object->version; $this->promt_format_id = $object->promt_format_id; $this->is_default = $object->is_default; } parent::initState($object); // TODO: Change the autogenerated stub } /** * @inheritdoc */ public function getPublicFields() { return ArrayHelper::merge(parent::getPublicFields(), [ 'description', ]); } /** * @inheritdoc */ protected function doSave() { $tm = TaskAssistant::findOrNew([ 'id' => $this->oid, ]); $tm->setAttributes([ 'task_id' => $this->task_id, 'project_id' => $this->project_id, 'assistant_id' => $this->assistant_id, 'promt_format_id' => $this->promt_format_id, 'description' => $this->description ]); if (!$tm->save()) { $this->addErrors($tm->errors); return false; } return true; } }