summaryrefslogtreecommitdiff
path: root/models/task.php
diff options
context:
space:
mode:
Diffstat (limited to 'models/task.php')
-rw-r--r--models/task.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/models/task.php b/models/task.php
index e542e8e0..5ee202c3 100644
--- a/models/task.php
+++ b/models/task.php
@@ -8,6 +8,7 @@ use \SimpleValidator\Validators;
class Task extends Base
{
const TABLE = 'tasks';
+ const COMMENTS = 'comments';
public function getColors()
{
@@ -57,6 +58,21 @@ class Task extends Base
}
}
+ public function getCommentsByTask($task_id)
+ {
+ return $this->db
+ ->table(self::COMMENTS)
+ ->columns(
+ self::COMMENTS.'.date',
+ self::COMMENTS.'.comment',
+ \Model\User::TABLE.'.username'
+ )
+ ->join(\Model\User::TABLE, 'id', 'user_id')
+ ->orderBy(self::COMMENTS.'.date', 'ASC')
+ ->eq(self::COMMENTS.'.task_id', $task_id)
+ ->findAll();
+ }
+
public function getAllByProjectId($project_id, array $status = array(1, 0))
{
return $this->db->table(self::TABLE)
@@ -172,6 +188,25 @@ class Task extends Base
->update(array('column_id' => $column_id, 'position' => $position));
}
+ public function addComment($values)
+ {
+ $values['date'] = time();
+
+ return (bool) $this->db->table(self::COMMENTS)->save($values);
+ }
+
+ public function validateComment(array $values)
+ {
+ $v = new Validator($values, array(
+ new Validators\Required('comment', t('Comment is required'))
+ ));
+
+ return array(
+ $v->execute(),
+ $v->getErrors()
+ );
+ }
+
public function validateCreation(array $values)
{
$v = new Validator($values, array(