Bug 35267: Apply preferences to preview and mailing
This patch applies the new style preferences to the preview display and email sending code. Sponsored-by: Open Fifth <https://openfifth.co.uk> Signed-off-by: Marion Durand <marion.durand@biblibre.com> Signed-off-by: Thomas Klausner <domm@plix.at> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
74d008d01e
commit
49651ddaf0
|
|
@ -338,7 +338,7 @@ sub SendAlerts {
|
|||
);
|
||||
|
||||
if ( $letter->{is_html} ) {
|
||||
$mail->html_body( _wrap_html( $letter->{content}, "" . $letter->{title} ) );
|
||||
$mail->html_body( _wrap_html( $letter->{content}, "" . $letter->{title}, 'email' ) );
|
||||
} else {
|
||||
$mail->text_body( $letter->{content} );
|
||||
}
|
||||
|
|
@ -510,7 +510,7 @@ sub SendAlerts {
|
|||
);
|
||||
|
||||
if ( $letter->{is_html} ) {
|
||||
$mail->html_body( _wrap_html( $letter->{content}, "" . $letter->{title} ) );
|
||||
$mail->html_body( _wrap_html( $letter->{content}, "" . $letter->{title}, 'email' ) );
|
||||
} else {
|
||||
$mail->text_body( "" . $letter->{content} );
|
||||
}
|
||||
|
|
@ -1335,7 +1335,7 @@ sub _add_attachments {
|
|||
my $message = Koha::Email->new;
|
||||
|
||||
if ( $letter->{is_html} ) {
|
||||
$message->html_body( _wrap_html( $letter->{content}, $letter->{title} ) );
|
||||
$message->html_body( _wrap_html( $letter->{content}, $letter->{title}, 'email' ) );
|
||||
} else {
|
||||
$message->text_body( $letter->{content} );
|
||||
}
|
||||
|
|
@ -1564,7 +1564,7 @@ sub _send_message_by_email {
|
|||
} else {
|
||||
$email = Koha::Email->create($params);
|
||||
if ($is_html) {
|
||||
$email->html_body( _wrap_html( $content, $subject ) );
|
||||
$email->html_body( _wrap_html( $content, $subject, 'email' ) );
|
||||
} else {
|
||||
$email->text_body($content);
|
||||
}
|
||||
|
|
@ -1646,10 +1646,26 @@ sub _send_message_by_email {
|
|||
}
|
||||
|
||||
sub _wrap_html {
|
||||
my ( $content, $title ) = @_;
|
||||
my ( $content, $title, $type ) = @_;
|
||||
my $stylesheets = '';
|
||||
|
||||
my $css = C4::Context->preference("NoticeCSS") || '';
|
||||
$css = qq{<link rel="stylesheet" type="text/css" href="$css">} if $css;
|
||||
my $all_stylesheets = C4::Context->preference("AllNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$all_stylesheets">} if $all_stylesheets;
|
||||
my $all_style_pref = C4::Context->preference("AllNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$all_style_pref</style>} if $all_style_pref;
|
||||
if ( $type eq 'email' ) {
|
||||
my $email_stylesheet = C4::Context->preference("EmailNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$email_stylesheet">} if $email_stylesheet;
|
||||
my $email_style_pref = C4::Context->preference("EmailNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$email_style_pref</style>} if $email_style_pref;
|
||||
}
|
||||
if ( $type eq 'print' ) {
|
||||
my $print_stylesheet = C4::Context->preference("PrintNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$print_stylesheet">} if $print_stylesheet;
|
||||
my $print_style_pref = C4::Context->preference("PrintNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$print_style_pref</style>} if $print_style_pref;
|
||||
}
|
||||
$stylesheets =~ s/\n+\z//;
|
||||
return <<EOS;
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
|
@ -1657,7 +1673,7 @@ sub _wrap_html {
|
|||
<head>
|
||||
<title>$title</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
$css
|
||||
$stylesheets
|
||||
</head>
|
||||
<body>
|
||||
$content
|
||||
|
|
|
|||
|
|
@ -58,15 +58,12 @@ with HTML headers and CSS includes for HTML formatted notices.
|
|||
sub html_content {
|
||||
my ($self) = @_;
|
||||
|
||||
my $title = $self->subject;
|
||||
my $content = $self->content;
|
||||
my $title = $self->subject;
|
||||
my $content = $self->content;
|
||||
my $stylesheets = $self->stylesheets;
|
||||
|
||||
my $wrapped;
|
||||
if ( $self->is_html ) {
|
||||
|
||||
my $css = C4::Context->preference("NoticeCSS") || '';
|
||||
$css = qq{<link rel="stylesheet" type="text/css" href="$css">} if $css;
|
||||
|
||||
$wrapped = <<EOS;
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
|
@ -74,7 +71,7 @@ sub html_content {
|
|||
<head>
|
||||
<title>$title</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
$css
|
||||
$stylesheets
|
||||
</head>
|
||||
<body>
|
||||
$content
|
||||
|
|
@ -124,6 +121,39 @@ sub restrict_patron_when_notice_fails {
|
|||
return $self;
|
||||
}
|
||||
|
||||
=head3 stylesheets
|
||||
|
||||
my $stylesheets = $message->stylesheets;
|
||||
|
||||
Returns a string of all the stylesheet links for the message
|
||||
|
||||
=cut
|
||||
|
||||
sub stylesheets {
|
||||
my ($self) = @_;
|
||||
my $stylesheets = '';
|
||||
|
||||
my $all_stylesheets = C4::Context->preference("AllNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$all_stylesheets">\n} if $all_stylesheets;
|
||||
my $all_style_pref = C4::Context->preference("AllNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$all_style_pref</style>} if $all_style_pref;
|
||||
if ( $self->message_transport_type eq 'email' ) {
|
||||
my $email_stylesheet = C4::Context->preference("EmailNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$email_stylesheet">\n} if $email_stylesheet;
|
||||
my $email_style_pref = C4::Context->preference("EmailNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$email_style_pref</style>} if $email_style_pref;
|
||||
}
|
||||
if ( $self->message_transport_type eq 'print' ) {
|
||||
my $print_stylesheet = C4::Context->preference("PrintNoticeStylesheet") || '';
|
||||
$stylesheets .= qq{<link rel="stylesheet" type="text/css" href="$print_stylesheet">\n} if $print_stylesheet;
|
||||
my $print_style_pref = C4::Context->preference("PrintNoticeCSS");
|
||||
$stylesheets .= qq{<style type="text/css">$print_style_pref</style>\n} if $print_style_pref;
|
||||
}
|
||||
$stylesheets =~ s/\n+\z//;
|
||||
|
||||
return $stylesheets;
|
||||
}
|
||||
|
||||
=head3 type
|
||||
|
||||
=cut
|
||||
|
|
|
|||
|
|
@ -53,12 +53,11 @@ if ( my $letter = TransferSlip( $session->param('branch') || $userenv->{branch},
|
|||
$slip = "Item not found";
|
||||
}
|
||||
$template->param(
|
||||
slip => $slip,
|
||||
plain => !$is_html,
|
||||
caller => 'cud-transfer',
|
||||
stylesheet => C4::Context->preference("SlipCSS"),
|
||||
style => $style,
|
||||
id => 'transfer_slip',
|
||||
slip => $slip,
|
||||
plain => !$is_html,
|
||||
caller => 'cud-transfer',
|
||||
style => $style,
|
||||
id => 'transfer_slip',
|
||||
);
|
||||
|
||||
output_html_with_http_headers $input, $cookie, $template->output;
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon | url %][% ELSE %][% interface | html %]/[% theme | html %]/img/favicon.ico[% END %]" type="image/x-icon" />
|
||||
[% Asset.css("css/print.css") | $raw %]
|
||||
[% IF ( Koha.Preference('SlipCSS') ) %]
|
||||
<link rel="stylesheet" type="text/css" href="[% Koha.Preference('SlipCSS') | $raw %]" />
|
||||
[% IF ( Koha.Preference('PrintSlipStylesheet') ) %]
|
||||
<link rel="stylesheet" type="text/css" href="[% Koha.Preference('PrintSlipStylesheet') | $raw %]" />
|
||||
[% END %]
|
||||
[% FOR slip IN slips %]
|
||||
[% IF slip.style %]
|
||||
|
|
|
|||
|
|
@ -15,11 +15,8 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon | url %][% ELSE %][% interface | html %]/[% theme | html %]/img/favicon.ico[% END %]" type="image/x-icon" />
|
||||
|
||||
[% Asset.css("css/print.css") | $raw %]
|
||||
[% IF ( Koha.Preference('SlipCSS') ) %]
|
||||
<link rel="stylesheet" type="text/css" href="[% Koha.Preference('SlipCSS') | $raw %]" />
|
||||
[% END %]
|
||||
<!-- prettier-ignore-start -->
|
||||
[% Asset.css("css/print.css") | $raw %] <!-- prettier-ignore-start -->
|
||||
[% IF style %]<style nonce="[% Koha.CSPNonce | $raw %]">[% style | $raw %]</style>[% END %]
|
||||
<!-- prettier-ignore-end -->
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -117,10 +117,11 @@ $template->param(
|
|||
plain => !$is_html,
|
||||
borrowernumber => $borrowernumber,
|
||||
caller => 'members',
|
||||
stylesheet => C4::Context->preference("SlipCSS"),
|
||||
error => $error,
|
||||
style => $letter->{style},
|
||||
id => $print,
|
||||
stylesheet => C4::Context->preference("PrintSlipStylesheet"),
|
||||
error => $error,
|
||||
);
|
||||
|
||||
$template->param( IntranetSlipPrinterJS => C4::Context->preference('IntranetSlipPrinterJS') );
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ if ( my $letter =
|
|||
$template->{VARS}->{slip} = $slip;
|
||||
$template->{VARS}->{plain} = !$is_html;
|
||||
$template->{VARS}->{borrowernumber} = $patron->borrowernumber;
|
||||
$template->{VARS}->{stylesheet} = C4::Context->preference("SlipCSS");
|
||||
$template->{VARS}->{stylesheet} = C4::Context->preference("PrintSlipStylesheet");
|
||||
$template->{VARS}->{error} = $error;
|
||||
|
||||
output_html_with_http_headers $input, $cookie, $template->output;
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ for my $train_item_id (@train_item_ids) {
|
|||
$template->param(
|
||||
slips => \@slips,
|
||||
caller => 'preservation',
|
||||
stylesheet => C4::Context->preference("SlipCSS"),
|
||||
stylesheet => C4::Context->preference("PrintSlipStylesheet"),
|
||||
);
|
||||
|
||||
$template->param( IntranetSlipPrinterJS => C4::Context->preference('IntranetSlipPrinterJS') );
|
||||
|
|
|
|||
Loading…
Reference in New Issue