use Modern::Perl;
-use C4::Auth qw/:DEFAULT get_session/;
-use C4::Output;
+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 CGI qw ( -utf8 );
-use C4::Letters;
use Koha::Account::Lines;
-use Koha::DateUtils;
+use Koha::Notice::Templates;
my $input = CGI->new;
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
- template_name => "pos/printreceipt.tt",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
+ template_name => "pos/printreceipt.tt",
+ query => $input,
+ type => "intranet",
}
);
-my $action = $input->param('action') || '';
my $payment_id = $input->param('accountlines_id');
+my $payment = Koha::Account::Lines->find($payment_id);
+my $patron = $payment->patron;
my $logged_in_user = Koha::Patrons->find($loggedinuser) or die "Not logged in";
output_and_exit_if_error(
$input, $cookie,
$template,
{
- module => 'pos',
+ module => 'members',
logged_in_user => $logged_in_user,
+ current_patron => $patron
}
-);
-
-my $payment = Koha::Account::Lines->find($payment_id);
-my @offsets = Koha::Account::Offsets->search( { credit_id => $payment_id } );
+) if $patron; # Payment could have been anonymous
-my $letter =
- C4::Letters::getletter( 'pos', 'RECEIPT', C4::Context::mybranch, 'print' );
+my $lang = $patron ? $patron->lang : $template->lang;
+my $letter = C4::Letters::GetPreparedLetter(
+ module => 'pos',
+ letter_code => 'RECEIPT',
+ branchcode => C4::Context::mybranch,
+ message_transport_type => 'print',
+ lang => $lang,
+ tables => {
+ credits => $payment_id,
+ borrowers => $patron ? $patron->borrowernumber : undef
+ },
+ substitute => {
+ collected => scalar $input->param('collected'),
+ change => scalar $input->param('change')
+ }
+);
$template->param(
- letter => $letter,
- payment => $payment,
- offsets => \@offsets,
- collected => scalar $input->param('collected'),
- change => scalar $input->param('change')
+ slip => $letter->{content},
+ plain => !$letter->{is_html}
);
output_html_with_http_headers $input, $cookie, $template->output;