From d3bd06506e81dffe5416d91fbc88196facf96aea Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 8 Nov 2023 09:59:30 +0000 Subject: [PATCH] Bug 35285: Add non-html template support to html_content wrapping This patch adds support for messages generated using non-html formatted notice templates to the html_content method of Koha::Notice::Message. We continue to wrap content for html generated messages with the appropriate headers, css and title. For non-html generated content we wrap in the
block to maintain text formatting as defined in the original plaintext template. Test Follow the test plan for bug 30287, nothing should outwardly change. Signed-off-by: David Nind --- Koha/Notice/Message.pm | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/Koha/Notice/Message.pm b/Koha/Notice/Message.pm index b7e30e509f0..07ea85c0c99 100644 --- a/Koha/Notice/Message.pm +++ b/Koha/Notice/Message.pm @@ -31,6 +31,20 @@ Koha::Notice::Message - Koha notice message Object class, related to the message =cut +=head3 is_html + + my $bool = $message->is_html; + +Returns a boolean denoting whether the message was generated using a preformatted html template. + +=cut + +sub is_html { + my ($self) = @_; + my $content_type = $self->content_type // ''; + return $content_type =~ m/html/io; +} + =head3 html_content my $wrapped_content = $message->html_content; @@ -45,10 +59,14 @@ sub html_content { my $title = $self->subject; my $content = $self->content; - my $css = C4::Context->preference("NoticeCSS") || ''; - $css = qq{} if $css; - return <is_html ) { + + my $css = C4::Context->preference("NoticeCSS") || ''; + $css = qq{} if $css; + + $wrapped = < @@ -62,7 +80,12 @@ sub html_content { EOS - + } else { + $wrapped = "
\n"; + $wrapped .= $content . "\n"; + $wrapped .= "
\n"; + } + return $wrapped; } =head3 type -- 2.45.0