Koha/pos/printreceipt.pl
Aleisha Amohia 4314b5012c
Bug 33478: Apply formatting to RECEIPT
To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-26 20:15:44 +02:00

76 lines
2.3 KiB
Perl
Executable file

#!/usr/bin/perl
# Copyright 2019 PTFS Europe
#
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
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 CGI qw ( -utf8 );
use Koha::Account::Lines;
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",
}
);
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 => 'members',
logged_in_user => $logged_in_user,
current_patron => $patron
}
) if $patron; # Payment could have been anonymous
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(
slip => $letter->{content},
plain => !$letter->{is_html},
style => $letter->{style},
);
output_html_with_http_headers $input, $cookie, $template->output;