%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/tasks/models/checklist/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/tasks/models/checklist/CheckForm.php |
<?php namespace humhub\modules\tasks\models\checklist; use humhub\modules\tasks\models\Task; use yii\base\Model; use yii\web\HttpException; class CheckForm extends Model { public $checked; public $taskId; public $itemId; /** * @var TaskItem */ public $item; /** * @var Task */ private $task; public $statusChanged; public function init() { $this->item = TaskItem::findOne(['id' => $this->itemId, 'task_id' => $this->taskId]); if($this->item) { $this->task = $this->item->task; } } public function rules() { return [ [['checked'], 'boolean'], [['item'], 'validateCanCheck'], ]; } public function validateCanCheck($attribute, $params) { if(!$this->item || !$this->item->task->canCheckItems()) { throw new HttpException(403); } } public function save() { if(!$this->validate()) { return false; } $this->item->updateAttributes(['completed' => $this->checked]); if($this->task->isPending()) { $this->task->state->proceed(Task::STATUS_IN_PROGRESS); $this->statusChanged = true; } return true; } }