diff --git a/lib/Activity/ActivityManager.php b/lib/Activity/ActivityManager.php index c5a5ead10..881c55cf2 100644 --- a/lib/Activity/ActivityManager.php +++ b/lib/Activity/ActivityManager.php @@ -322,11 +322,13 @@ class ActivityManager { // case self::SUBJECT_BOARD_UPDATE_COLOR break; case self::SUBJECT_CARD_COMMENT_CREATE: - /** @var IComment $entity */ - $subjectParams = [ - 'comment' => $entity->getMessage() - ]; - $message = '{comment}'; + $subjectParams = $this->findDetailsForCard($entity->getId()); + if (array_key_exists('comment', $additionalParams)) { + /** @var IComment $entity */ + $comment = $additionalParams['comment']; + $subjectParams['comment'] = $comment->getId(); + unset($additionalParams['comment']); + } break; case self::SUBJECT_STACK_CREATE: diff --git a/lib/Activity/CommentEventHandler.php b/lib/Activity/CommentEventHandler.php index 460bbab3a..44757b59f 100644 --- a/lib/Activity/CommentEventHandler.php +++ b/lib/Activity/CommentEventHandler.php @@ -23,8 +23,10 @@ namespace OCA\Deck\Activity; +use OCA\Deck\Db\CardMapper; use OCA\Deck\Notification\NotificationHelper; use OCP\Comments\CommentsEvent; +use OCP\Comments\IComment; use \OCP\Comments\ICommentsEventHandler; class CommentEventHandler implements ICommentsEventHandler { @@ -35,9 +37,13 @@ class CommentEventHandler implements ICommentsEventHandler { /** @var NotificationHelper */ private $notificationHelper; - public function __construct(ActivityManager $activityManager, NotificationHelper $notificationHelper) { + /** @var CardMapper */ + private $cardMapper; + + public function __construct(ActivityManager $activityManager, NotificationHelper $notificationHelper, CardMapper $cardMapper) { $this->notificationHelper = $notificationHelper; $this->activityManager = $activityManager; + $this->cardMapper = $cardMapper; } /** @@ -71,8 +77,10 @@ class CommentEventHandler implements ICommentsEventHandler { * @param CommentsEvent $event */ private function activityHandler(CommentsEvent $event) { + /** @var IComment $comment */ $comment = $event->getComment(); - $this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $comment, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment->getId()]); + $card = $this->cardMapper->find($comment->getObjectId()); + $this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment]); }