X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/615741af9d36c725299cc8fc9c0ee012bd3d5759..refs/pull/5681/head:/app/Activity/Notifications/Messages/CommentCreationNotification.php diff --git a/app/Activity/Notifications/Messages/CommentCreationNotification.php b/app/Activity/Notifications/Messages/CommentCreationNotification.php index ce358724b..30d0ffa2b 100644 --- a/app/Activity/Notifications/Messages/CommentCreationNotification.php +++ b/app/Activity/Notifications/Messages/CommentCreationNotification.php @@ -3,28 +3,35 @@ namespace BookStack\Activity\Notifications\Messages; use BookStack\Activity\Models\Comment; +use BookStack\Activity\Notifications\MessageParts\EntityLinkMessageLine; use BookStack\Activity\Notifications\MessageParts\ListMessageLine; use BookStack\Entities\Models\Page; +use BookStack\Users\Models\User; use Illuminate\Notifications\Messages\MailMessage; class CommentCreationNotification extends BaseActivityNotification { - public function toMail(mixed $notifiable): MailMessage + public function toMail(User $notifiable): MailMessage { /** @var Comment $comment */ $comment = $this->detail; /** @var Page $page */ $page = $comment->entity; - return (new MailMessage()) - ->subject(trans('notifications.new_comment_subject', ['pageName' => $page->getShortName()])) - ->line(trans('notifications.new_comment_intro', ['appName' => setting('app-name')])) - ->line(new ListMessageLine([ - trans('notifications.detail_page_name') => $page->name, - trans('notifications.detail_commenter') => $this->user->name, - trans('notifications.detail_comment') => strip_tags($comment->html), - ])) - ->action(trans('notifications.action_view_comment'), $page->getUrl('#comment' . $comment->local_id)) - ->line($this->buildReasonFooterLine()); + $locale = $notifiable->getLocale(); + + $listLines = array_filter([ + $locale->trans('notifications.detail_page_name') => new EntityLinkMessageLine($page), + $locale->trans('notifications.detail_page_path') => $this->buildPagePathLine($page, $notifiable), + $locale->trans('notifications.detail_commenter') => $this->user->name, + $locale->trans('notifications.detail_comment') => strip_tags($comment->html), + ]); + + return $this->newMailMessage($locale) + ->subject($locale->trans('notifications.new_comment_subject', ['pageName' => $page->getShortName()])) + ->line($locale->trans('notifications.new_comment_intro', ['appName' => setting('app-name')])) + ->line(new ListMessageLine($listLines)) + ->action($locale->trans('notifications.action_view_comment'), $page->getUrl('#comment' . $comment->local_id)) + ->line($this->buildReasonFooterLine($locale)); } }