@@ -, +, @@
---
.../prog/en/modules/members/boraccount.tt | 10 ++
members/printfeercpt.pl | 106 ++++++++++++------
2 files changed, 79 insertions(+), 37 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
@@ -106,7 +106,17 @@
[% IF account.amountoutstanding <= 0 %]
[% ELSE %] | [% END %][% account.amountoutstanding | $Price %] |
[% IF ( account.is_credit ) %]
+ [% IF Koha.Preference('UseEmailReceipts') %]
+
+
+
+
+ [% ELSE %]
Print
+ [% END %]
[% ELSE %]
Print
[% END %]
--- a/members/printfeercpt.pl
+++ a/members/printfeercpt.pl
@@ -21,7 +21,8 @@
use Modern::Perl;
use C4::Auth qw( get_template_and_user );
-use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
+use C4::Output
+ qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
use CGI qw ( -utf8 );
use C4::Letters;
use Koha::Account::Lines;
@@ -40,6 +41,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
}
);
+my $action = $input->param('action');
my $credit_id = $input->param('accountlines_id');
my $credit = Koha::Account::Lines->find($credit_id);
my $patron = $credit->patron;
@@ -55,42 +57,72 @@ output_and_exit_if_error(
}
);
-my $letter = C4::Letters::GetPreparedLetter(
- module => 'circulation',
- letter_code => 'CREDIT_' . $credit->credit_type_code,
- branchcode => C4::Context::mybranch,
- message_transport_type => 'print',
- lang => $patron->lang,
- tables => {
- credits => $credit_id,
- borrowers => $patron->borrowernumber
- },
- substitute => {
- tendered => scalar $input->param('tendered'),
- change => scalar $input->param('change')
- }
-);
+if ( $action eq 'print' ) {
+ my $letter = C4::Letters::GetPreparedLetter(
+ module => 'circulation',
+ letter_code => 'CREDIT_' . $credit->credit_type_code,
+ branchcode => C4::Context::mybranch,
+ message_transport_type => 'print',
+ lang => $patron->lang,
+ tables => {
+ credits => $credit_id,
+ borrowers => $patron->borrowernumber
+ },
+ substitute => {
+ tendered => scalar $input->param('tendered'),
+ change => scalar $input->param('change')
+ }
+ );
-$letter //= C4::Letters::GetPreparedLetter(
- module => 'circulation',
- letter_code => 'ACCOUNT_CREDIT',
- branchcode => C4::Context::mybranch,
- message_transport_type => 'print',
- lang => $patron->lang,
- tables => {
- credits => $credit_id,
- borrowers => $patron->borrowernumber
- },
- substitute => {
- tendered => scalar $input->param('tendered'),
- change => scalar $input->param('change')
- }
-);
+ $letter //= C4::Letters::GetPreparedLetter(
+ module => 'circulation',
+ letter_code => 'ACCOUNT_CREDIT',
+ branchcode => C4::Context::mybranch,
+ message_transport_type => 'print',
+ lang => $patron->lang,
+ tables => {
+ credits => $credit_id,
+ borrowers => $patron->borrowernumber
+ },
+ substitute => {
+ tendered => scalar $input->param('tendered'),
+ change => scalar $input->param('change')
+ }
+ );
-$template->param(
- slip => $letter->{content},
- plain => !$letter->{is_html},
- patron => $patron,
-);
+ $template->param(
+ slip => $letter->{content},
+ plain => !$letter->{is_html},
+ patron => $patron,
+ );
+
+ output_html_with_http_headers $input, $cookie, $template->output;
+}
+elsif ( $action eq 'email' ) {
+ if (
+ my $letter = C4::Letters::GetPreparedLetter(
+ module => 'circulation',
+ letter_code => uc("ACCOUNT_$type"),
+ message_transport_type => 'email',
+ lang => $patron->lang,
+ tables => {
+ borrowers => $patron->borrowernumber,
+ branches => $library_id,
+ },
+ substitute => {
+ credit => $payment,
+ offsets => \@account_offsets,
+ },
+ )
+ )
+ {
+ C4::Letters::EnqueueLetter(
+ {
+ letter => $letter,
+ borrowernumber => $patron->borrowernumber,
+ message_transport_type => 'email',
+ }
+ ) or warn "can't enqueue letter $letter";
+ }
-output_html_with_http_headers $input, $cookie, $template->output;
+}
--
|