From 5cff31dd785efd997e76865b8e5e53cde97a21ab Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Wed, 6 Sep 2023 10:50:30 +0000 Subject: [PATCH] Bug 34728: Make pre tag conditional This patch makes the pre-formatting of notice templates conditional on the content type. Test plan: 1) Navigate to tools > Notices and slips 2) Edit the notice with the code of HOLD 3) Under print, paste the following

Please collect within 10 days from the date of this letter and don't forget to bring your library card with you.

Be aware that opening hours vary at different library branches so if in doubt double check the times before you visit.

Should you no longer require this item please contact us so we can make it available for another customer.

Thank you

4) Check the box that says HTML message and save the notice 5) In Patrons, select a patron and in Patron messaging preferences, check the box in the Email column for Hold filled 6) Find a record in the catalogue 7) Copy the barcode for one of the items 8) Place a hold on the item for the patron you selected 9) Navigate to Circulation > Check-in 10) Paste the barcode in the Check-in box and click Check-in 11) In the pop-up box, click Confirm hold 12) In the command line, run perl misc/cronjobs/gather_print_notices.pl --letter_code=HOLD --html /tmp 13) cd /tmp 14) There should be a file in there called 'notices_HOLD-date.html 15) cat this file 16) The html you pasted in the template will be wrapped in a
 tag
17) Apply patch and restart_all
18) rm the notices file that was created
19) cd /kohadevbox/koha
20) Select a new record from the catalogue and repeat steps 7-15 for this record, using the same patron
21) This time, the html file should not contain the 
 tag
22) Sign off!

Signed-off-by: Lucas Gass 

Signed-off-by: Marcel de Rooy 
Signed-off-by: Tomas Cohen Arazi 
(cherry picked from commit d947ae3c1a62a8abaabcba67d655084ecff8aa58)
Signed-off-by: Fridolin Somers 
---
 .../intranet-tmpl/prog/en/modules/batch/print-notices.tt    | 6 +++++-
 misc/cronjobs/gather_print_notices.pl                       | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/batch/print-notices.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/batch/print-notices.tt
index ae0c0aabcc..7511eb5469 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/batch/print-notices.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/batch/print-notices.tt
@@ -20,7 +20,11 @@
 
     [% FOREACH message IN messages %]
     
-
[% message.content | $raw %]
+ [% IF ( message.is_html ) %] + [% message.content | $raw %] + [% ELSE %] +
[% message.content | $raw %]
+ [% END %]
[% END %] diff --git a/misc/cronjobs/gather_print_notices.pl b/misc/cronjobs/gather_print_notices.pl index c1c26ce627..d2bf8fc874 100755 --- a/misc/cronjobs/gather_print_notices.pl +++ b/misc/cronjobs/gather_print_notices.pl @@ -214,6 +214,12 @@ sub generate_html { C4::Templates::gettemplate( 'batch/print-notices.tt', 'intranet', CGI->new ); + foreach my $message (@{ $messages }) { + my $content_type = $message->{'content_type'} || 'text/plain; charset="UTF-8"'; + my $is_html = $content_type =~ m/html/io; + $message->{'is_html'} = $is_html; + } + $template->param( stylesheet => C4::Context->preference("NoticeCSS"), today => $today_syspref, -- 2.39.5