The color is not mandatory for task creation through the API

This commit is contained in:
Frédéric Guillot 2014-09-09 07:13:48 +02:00
parent e383c069f1
commit 0d4b6525dd
4 changed files with 8 additions and 3 deletions

View File

@ -30,7 +30,7 @@ class Task extends Base
$values = array(
'title' => $this->request->getStringParam('title'),
'description' => $this->request->getStringParam('description'),
'color_id' => $this->request->getStringParam('color_id', 'blue'),
'color_id' => $this->request->getStringParam('color_id'),
'project_id' => $this->request->getIntegerParam('project_id', $defaultProject['id']),
'owner_id' => $this->request->getIntegerParam('owner_id'),
'column_id' => $this->request->getIntegerParam('column_id'),

View File

@ -400,6 +400,11 @@ class Task extends Base
$values['column_id'] = $this->board->getFirstColumn($values['project_id']);
}
if (empty($values['color_id'])) {
$colors = $this->getColors();
$values['color_id'] = key($colors);
}
$values['date_creation'] = time();
$values['date_modification'] = $values['date_creation'];
$values['position'] = $this->countByColumnId($values['project_id'], $values['column_id']) + 1;
@ -677,7 +682,6 @@ class Task extends Base
public function validateCreation(array $values)
{
$v = new Validator($values, array(
new Validators\Required('color_id', t('The color is required')),
new Validators\Required('project_id', t('The project is required')),
new Validators\Integer('project_id', t('This value must be an integer')),
new Validators\Integer('column_id', t('This value must be an integer')),

View File

@ -116,7 +116,7 @@ $server->register('allowUser', function($project_id, $user_id) use ($project) {
/**
* Task procedures
*/
$server->register('createTask', function($title, $project_id, $color_id, $column_id, $owner_id = 0, $creator_id = 0, $date_due = '', $description = '', $category_id = 0, $score = 0) use ($task) {
$server->register('createTask', function($title, $project_id, $color_id = '', $column_id = 0, $owner_id = 0, $creator_id = 0, $date_due = '', $description = '', $category_id = 0, $score = 0) use ($task) {
$values = array(
'title' => $title,

View File

@ -21,6 +21,7 @@ class TaskTest extends Base
$this->assertEquals(1, $task['id']);
$this->assertEquals(1, $task['column_id']);
$this->assertEquals(1, $task['position']);
$this->assertEquals('yellow', $task['color_id']);
$this->assertEquals(time(), $task['date_creation']);
$this->assertEquals(time(), $task['date_modification']);