I have opened a bug report, see bug 15653. 2016-01-21 11:30 GMT+00:00 Jonathan Druart <jonathan.druart@bugs.koha-community.org>:
Hello,
Looking at the code, there is some broken with the guarantees code. It seems that the expected behavior would be to update address, fax, B_city, mobile, city and phone info of the guarantees when a guarantor is modified. But the code in C4::Members::ModMember is broken:
668 my $borrowercategory= GetBorrowercategory( $data{'category_type'} ); 669 if ( exists $borrowercategory->{'category_type'} && $borrowercategory->{'category_type'} eq ('A' || 'S') ) { 670 # is adult check guarantees; 671 UpdateGuarantees(%data); 672 }
First, GetBorrowerCategory expects a categorycode, not a category_type. Then UpdateGuarantees retrieves the param like:
989 sub UpdateGuarantees { 990 my %data = shift;
Which means that %data will always be something like ( a_key => undef ) And nothing more.
The updateguarantees subroutine (It has been renamed) has been introduced by
commit 56825e415fc232e38f0a874dc9a81fa2169ef06b Date: Mon Aug 30 13:48:58 2004 +0000 modularizing (with Members.pm) members management (beginning of...)
And the `%data = shift` already existed... So I think that this behavior has never worked and we could remove the related code.
Any protests?
Cheers, Jonathan