Improve webhook to add a task

This commit is contained in:
Frédéric Guillot 2014-02-16 18:47:11 -05:00
parent e155edd1bd
commit c2f8e1c436
3 changed files with 21 additions and 2 deletions

View File

@ -13,15 +13,23 @@ class Task extends Base
$this->response->text('Not Authorized', 401);
}
$projectModel = new \Model\Project;
$defaultProject = $projectModel->getFirst();
$values = array(
'title' => $this->request->getStringParam('title'),
'description' => $this->request->getStringParam('description'),
'color_id' => $this->request->getStringParam('color_id'),
'project_id' => $this->request->getIntegerParam('project_id'),
'color_id' => $this->request->getStringParam('color_id', 'blue'),
'project_id' => $this->request->getIntegerParam('project_id', $defaultProject['id']),
'owner_id' => $this->request->getIntegerParam('owner_id'),
'column_id' => $this->request->getIntegerParam('column_id'),
);
if ($values['column_id'] == 0) {
$boardModel = new \Model\Board;
$values['column_id'] = $boardModel->getFirstColumn($values['project_id']);
}
list($valid,) = $this->task->validateCreation($values);
if ($valid && $this->task->create($values)) {

View File

@ -88,6 +88,12 @@ class Board extends Base
return $columns;
}
// Get first column id for a given project
public function getFirstColumn($project_id)
{
return $this->db->table(self::TABLE)->eq('project_id', $project_id)->asc('position')->findOneColumn('id');
}
// Get list of columns
public function getColumnsList($project_id)
{

View File

@ -16,6 +16,11 @@ class Project extends Base
return $this->db->table(self::TABLE)->eq('id', $project_id)->findOne();
}
public function getFirst()
{
return $this->db->table(self::TABLE)->findOne();
}
public function getAll($fetch_stats = false)
{
if (! $fetch_stats) {