mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-01-03 23:42:28 +03:00
Notifications: Aligned how user language is used
- This ensures content notifications are not translated to receiver language. - This adds actual plaintext support for content notifications (Was previously just HTML as text view). - Shares same base class across all mail notifications. - Also cleaned up existing notification classes. Future cleanup requested via #4501
This commit is contained in:
@@ -5,26 +5,29 @@ namespace BookStack\Activity\Notifications\Messages;
|
||||
use BookStack\Activity\Models\Comment;
|
||||
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')]))
|
||||
$language = $notifiable->getLanguage();
|
||||
|
||||
return $this->newMailMessage($language)
|
||||
->subject(trans('notifications.new_comment_subject', ['pageName' => $page->getShortName()], $language))
|
||||
->line(trans('notifications.new_comment_intro', ['appName' => setting('app-name')], $language))
|
||||
->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),
|
||||
trans('notifications.detail_page_name', [], $language) => $page->name,
|
||||
trans('notifications.detail_commenter', [], $language) => $this->user->name,
|
||||
trans('notifications.detail_comment', [], $language) => strip_tags($comment->html),
|
||||
]))
|
||||
->action(trans('notifications.action_view_comment'), $page->getUrl('#comment' . $comment->local_id))
|
||||
->line($this->buildReasonFooterLine());
|
||||
->action(trans('notifications.action_view_comment', [], $language), $page->getUrl('#comment' . $comment->local_id))
|
||||
->line($this->buildReasonFooterLine($language));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user