Added event for removed comments with some refactoring

This commit is contained in:
Frederic Guillot
2016-07-17 17:15:14 -04:00
parent 3aa0f85748
commit ec0ecc5b03
18 changed files with 272 additions and 18 deletions

View File

@@ -0,0 +1,50 @@
<?php
namespace Kanboard\Job;
use Kanboard\EventBuilder\CommentEventBuilder;
use Kanboard\Model\CommentModel;
/**
* Class CommentEventJob
*
* @package Kanboard\Job
* @author Frederic Guillot
*/
class CommentEventJob extends BaseJob
{
/**
* Set job params
*
* @param int $commentId
* @param string $eventName
* @return $this
*/
public function withParams($commentId, $eventName)
{
$this->jobParams = array($commentId, $eventName);
return $this;
}
/**
* Execute job
*
* @param int $commentId
* @param string $eventName
* @return $this
*/
public function execute($commentId, $eventName)
{
$event = CommentEventBuilder::getInstance($this->container)
->withCommentId($commentId)
->build();
if ($event !== null) {
$this->dispatcher->dispatch($eventName, $event);
if ($eventName === CommentModel::EVENT_CREATE) {
$this->userMentionModel->fireEvents($event['comment']['comment'], CommentModel::EVENT_USER_MENTION, $event);
}
}
}
}

View File

@@ -75,8 +75,7 @@ class NotificationJob extends BaseJob
$values['task'] = $this->taskFinderModel->getDetails($values['file']['task_id']);
break;
case 'Kanboard\Event\CommentEvent':
$values['comment'] = $this->commentModel->getById($event['id']);
$values['task'] = $this->taskFinderModel->getDetails($values['comment']['task_id']);
$values = $event;
break;
}