From 14f818edf6a0690a39793b2e6cad0204171be375 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 28 Jun 2018 10:31:30 -0300 Subject: [PATCH] Bug 21008: Use patron object to get category_type This patch makes borrower_add_additional_fields() in both pay.pl and paycollect.pl use the right object to pick the category_type. It also populates the extendedattributes template variable in pay.pl which was missed by a change. Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart Signed-off-by: Nick Clemens --- members/pay.pl | 9 +++++---- members/paycollect.pl | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/members/pay.pl b/members/pay.pl index c96e67944b..e01fbdabee 100755 --- a/members/pay.pl +++ b/members/pay.pl @@ -151,7 +151,7 @@ sub add_accounts_to_template { } push @accounts, $account_line; } - borrower_add_additional_fields($patron->unblessed); + borrower_add_additional_fields($patron); $template->param( patron => $patron, @@ -229,20 +229,21 @@ sub writeoff_all { } sub borrower_add_additional_fields { - my $b_ref = shift; + my $patron = shift; # 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 # a revised api here it is ... - if ( $b_ref->{category_type} eq 'C' ) { + if ( $patron->category->category_type eq 'C' ) { my $patron_categories = Koha::Patron::Categories->search_limited({ category_type => 'A' }, {order_by => ['categorycode']}); $template->param( 'CATCODE_MULTI' => 1) if $patron_categories->count > 1; $template->param( 'catcode' => $patron_categories->next->categorycode ) if $patron_categories->count == 1; } if (C4::Context->preference('ExtendedPatronAttributes')) { - $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber); + my $extendedattributes = GetBorrowerAttributes($patron->borrowernumber); $template->param( + extendedattributes => $extendedattributes, ExtendedPatronAttributes => 1, ); } diff --git a/members/paycollect.pl b/members/paycollect.pl index 4da6708c2d..3853289398 100755 --- a/members/paycollect.pl +++ b/members/paycollect.pl @@ -180,7 +180,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, $template); +borrower_add_additional_fields($borrower, $template, $category); $template->param(%$borrower); @@ -201,19 +201,20 @@ $template->param( output_html_with_http_headers $input, $cookie, $template->output; sub borrower_add_additional_fields { - my ( $b_ref, $template ) = @_; + my ( $b_ref, $template, $category ) = @_; # 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 # a revised api here it is ... - if ( $b_ref->{category_type} eq 'C' ) { + if ( $category->category_type eq 'C' ) { my $patron_categories = Koha::Patron::Categories->search_limited({ category_type => 'A' }, {order_by => ['categorycode']}); $template->param( 'CATCODE_MULTI' => 1) if $patron_categories->count > 1; $template->param( 'catcode' => $patron_categories->next->categorycode ) if $patron_categories->count == 1; } if (C4::Context->preference('ExtendedPatronAttributes')) { - $b_ref->{extendedattributes} = GetBorrowerAttributes($b_ref->{borrowernumber}); + my $extendedattributes = GetBorrowerAttributes($b_ref->{borrowernumber}); + $template->param( extendedattributes => $extendedattributes ); } return; -- 2.39.5