X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9779c1a357d49654856ceb1b1f30d91cde8fa2fd..refs/pull/5725/head:/app/Activity/Notifications/Messages/PageCreationNotification.php diff --git a/app/Activity/Notifications/Messages/PageCreationNotification.php b/app/Activity/Notifications/Messages/PageCreationNotification.php index 2e9a6debc..0b98ad30c 100644 --- a/app/Activity/Notifications/Messages/PageCreationNotification.php +++ b/app/Activity/Notifications/Messages/PageCreationNotification.php @@ -2,27 +2,32 @@ namespace BookStack\Activity\Notifications\Messages; -use BookStack\Activity\Notifications\LinkedMailMessageLine; +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 PageCreationNotification extends BaseActivityNotification { - public function toMail(mixed $notifiable): MailMessage + public function toMail(User $notifiable): MailMessage { /** @var Page $page */ $page = $this->detail; - return (new MailMessage()) - ->subject("New Page: " . $page->getShortName()) - ->line("A new page has been created in " . setting('app-name') . ':') - ->line("Page Name: " . $page->name) - ->line("Created By: " . $this->user->name) - ->action('View Page', $page->getUrl()) - ->line(new LinkedMailMessageLine( - url('/http/source.bookstackapp.com/preferences/notifications'), - 'This notification was sent to you because :link cover this type of activity for this item.', - 'your notification preferences', - )); + $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_created_by') => $this->user->name, + ]); + + return $this->newMailMessage($locale) + ->subject($locale->trans('notifications.new_page_subject', ['pageName' => $page->getShortName()])) + ->line($locale->trans('notifications.new_page_intro', ['appName' => setting('app-name')])) + ->line(new ListMessageLine($listLines)) + ->action($locale->trans('notifications.action_view_page'), $page->getUrl()) + ->line($this->buildReasonFooterLine($locale)); } }