Bug 16054: Fix variable scope error in paycollect.pl
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 11 Mar 2016 12:47:26 +0000 (12:47 +0000)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Tue, 15 Mar 2016 07:12:12 +0000 (07:12 +0000)
$borrower, $borrowernumber and $template and not visible in the
subroutine.
Using $b_ref and passing $template fixes the issue.

Test plan:
Under plack, use the pay selected button.
On the paycollect page, you should see the image of the patron

It certainly fixes some other bugs.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
members/paycollect.pl

index ad2467e..e9de655 100755 (executable)
@@ -141,7 +141,7 @@ if ( $total_paid and $total_paid ne '0.00' ) {
     $total_paid = '0.00';    #TODO not right with pay_individual
 }
 
-borrower_add_additional_fields($borrower);
+borrower_add_additional_fields($borrower, $template);
 
 $template->param(%$borrower);
 
@@ -157,7 +157,7 @@ $template->param(
 output_html_with_http_headers $input, $cookie, $template->output;
 
 sub borrower_add_additional_fields {
-    my $b_ref = shift;
+    my ( $b_ref, $template ) = @_;
 
 # some borrower info is not returned in the standard call despite being assumed
 # in a number of templates. It should not be the business of this script but in lieu of
@@ -176,11 +176,11 @@ sub borrower_add_additional_fields {
         $b_ref->{adultborrower} = 1;
     }
 
-    my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
+    my $patron_image = Koha::Patron::Images->find($b_ref->{borrowernumber});
     $template->param( picture => 1 ) if $patron_image;
 
     if (C4::Context->preference('ExtendedPatronAttributes')) {
-        $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
+        $b_ref->{extendedattributes} = GetBorrowerAttributes($b_ref->{borrowernumber});
     }
 
     $b_ref->{branchname} = GetBranchName( $b_ref->{branchcode} );