/** * Execute the action * * @access public * @param array $data Event data dictionary * @return bool True if the action was executed or false when not executed */ public function doAction(array $data) { if ($data['column_id'] == $this->getParam('column_id')) { $this->task->close($data['task_id']); return true; } return false; }
}); $server->register('updateTask', function ($id, $title = null, $project_id = null, $color_id = null, $column_id = null, $owner_id = null, $creator_id = null, $date_due = null, $description = null, $category_id = null, $score = null) use($task) { $values = array('id' => $id, 'title' => $title, 'project_id' => $project_id, 'color_id' => $color_id, 'column_id' => $column_id, 'owner_id' => $owner_id, 'creator_id' => $creator_id, 'date_due' => $date_due, 'description' => $description, 'category_id' => $category_id, 'score' => $score); foreach ($values as $key => $value) { if (is_null($value)) { unset($values[$key]); } } list($valid) = $task->validateModification($values); return $valid && $task->update($values); }); $server->register('openTask', function ($task_id) use($task) { return $task->open($task_id); }); $server->register('closeTask', function ($task_id) use($task) { return $task->close($task_id); }); $server->register('removeTask', function ($task_id) use($task) { return $task->remove($task_id); }); $server->register('moveTaskPosition', function ($project_id, $task_id, $column_id, $position) use($task) { return $task->movePosition($project_id, $task_id, $column_id, $position); }); /** * User procedures */ $server->register('createUser', function (array $values) use($user) { list($valid, ) = $user->validateCreation($values); return $valid && $user->create($values); }); $server->register('getUser', function ($user_id) use($user) {
public function testEvents() { $t = new Task($this->registry); $p = new Project($this->registry); // We create a project $this->assertEquals(1, $p->create(array('name' => 'test'))); // We create task $this->assertEquals(1, $t->create(array('title' => 'test', 'project_id' => 1, 'column_id' => 1))); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE)); // We update a task $this->assertTrue($t->update(array('title' => 'test2', 'id' => 1))); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_UPDATE)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE_UPDATE)); // We close our task $this->assertTrue($t->close(1)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CLOSE)); // We open our task $this->assertTrue($t->open(1)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_OPEN)); // We change the column of our task $this->assertTrue($t->movePosition(1, 1, 2, 1)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN)); // We change the position of our task $this->assertEquals(2, $t->create(array('title' => 'test 2', 'project_id' => 1, 'column_id' => 2))); $this->assertTrue($t->movePosition(1, 1, 2, 2)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_POSITION)); // We change the column and the position of our task $this->assertTrue($t->movePosition(1, 1, 1, 1)); $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN)); }