Avoid automatic actions that change the color to fire subsequent events

This commit is contained in:
Frederic Guillot
2016-01-17 14:56:31 -05:00
parent 1259e911e4
commit e94c4cab7f
10 changed files with 34 additions and 20 deletions

View File

@@ -17,16 +17,17 @@ class TaskModification extends Base
*
* @access public
* @param array $values
* @param boolean $fire_events
* @return boolean
*/
public function update(array $values)
public function update(array $values, $fire_events = true)
{
$original_task = $this->taskFinder->getById($values['id']);
$this->prepare($values);
$result = $this->db->table(Task::TABLE)->eq('id', $original_task['id'])->update($values);
if ($result) {
if ($fire_events && $result) {
$this->fireEvents($original_task, $values);
}
@@ -57,7 +58,8 @@ class TaskModification extends Base
}
foreach ($events as $event) {
$this->container['dispatcher']->dispatch($event, new TaskEvent($event_data));
$this->logger->debug('Event fired: '.$event);
$this->dispatcher->dispatch($event, new TaskEvent($event_data));
}
}