Bug 33168: Prevent debhelper from renaming history.txt to changelog
[koha-ffzg.git] / pos / printreceipt.pl
index ae53136..bee3fa1 100755 (executable)
 
 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;