X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ecab2c8e42ae11485bb3c0fcce1a51df1bc6b118..refs/pull/5349/head:/app/Activity/Notifications/Messages/PageUpdateNotification.php diff --git a/app/Activity/Notifications/Messages/PageUpdateNotification.php b/app/Activity/Notifications/Messages/PageUpdateNotification.php index f29f50dde..80ee378cc 100644 --- a/app/Activity/Notifications/Messages/PageUpdateNotification.php +++ b/app/Activity/Notifications/Messages/PageUpdateNotification.php @@ -2,28 +2,33 @@ 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 PageUpdateNotification extends BaseActivityNotification { - public function toMail(mixed $notifiable): MailMessage + public function toMail(User $notifiable): MailMessage { /** @var Page $page */ $page = $this->detail; - return (new MailMessage()) - ->subject("Updated Page: " . $page->getShortName()) - ->line("A page has been updated in " . setting('app-name') . ':') - ->line("Page Name: " . $page->name) - ->line("Updated By: " . $this->user->name) - ->line("To prevent a mass of notifications, for a while you won't be sent notifications for further edits to this page by the same editor.") - ->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_updated_by') => $this->user->name, + ]); + + return $this->newMailMessage($locale) + ->subject($locale->trans('notifications.updated_page_subject', ['pageName' => $page->getShortName()])) + ->line($locale->trans('notifications.updated_page_intro', ['appName' => setting('app-name')])) + ->line(new ListMessageLine($listLines)) + ->line($locale->trans('notifications.updated_page_debounce')) + ->action($locale->trans('notifications.action_view_page'), $page->getUrl()) + ->line($this->buildReasonFooterLine($locale)); } }