@@ -, +, @@ --- C4/SIP/Sip/MsgType.pm | 16 ++++++++-------- Koha/Patron.pm | 4 ++-- circ/circulation.pl | 4 ++-- members/memberentry.pl | 2 +- opac/sco/sco-main.pl | 2 +- .../Koha/Plugins/Barcode_transform_hooks.t | 1 + 6 files changed, 15 insertions(+), 14 deletions(-) --- a/C4/SIP/Sip/MsgType.pm +++ a/C4/SIP/Sip/MsgType.pm @@ -520,7 +520,7 @@ sub handle_checkout { $fields = $self->{fields}; $patron_id = $fields->{ (FID_PATRON_ID) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); $item_id = $fields->{ (FID_ITEM_ID) }; my $fee_ack = $fields->{ (FID_FEE_ACK) }; @@ -742,7 +742,7 @@ sub handle_block_patron { $patron_id = $fields->{ (FID_PATRON_ID) }; $terminal_pwd = $fields->{ (FID_TERMINAL_PWD) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); # Terminal passwords are different from account login # passwords, but I have no idea what to do with them. So, @@ -968,7 +968,7 @@ sub handle_patron_info { $start = $fields->{ (FID_START_ITEM) }; $end = $fields->{ (FID_END_ITEM) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); $patron = $ils->find_patron($patron_id); @@ -1127,7 +1127,7 @@ sub handle_fee_paid { $fee_id = $fields->{ (FID_FEE_ID) }; $trans_id = $fields->{ (FID_TRANSACTION_ID) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); $ils->check_inst_id( $inst_id, "handle_fee_paid" ); @@ -1325,7 +1325,7 @@ sub handle_patron_enable { $patron_id = $fields->{ (FID_PATRON_ID) }; $patron_pwd = $fields->{ (FID_PATRON_PWD) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); siplog( "LOG_DEBUG", "handle_patron_enable: patron_id: '%s', patron_pwd: '%s'", $patron_id, $patron_pwd ); @@ -1390,7 +1390,7 @@ sub handle_hold { $title_id = $fields->{ (FID_TITLE_ID) } || ''; $fee_ack = $fields->{ (FID_FEE_ACK) } || 'N'; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); if ( $hold_mode eq '+' ) { $status = $ils->add_hold( $patron_id, $patron_pwd, $item_id, $title_id, $expiry_date, $pickup_locn, $hold_type, $fee_ack ); @@ -1457,7 +1457,7 @@ sub handle_renew { $item_props = $fields->{ (FID_ITEM_PROPS) }; $fee_ack = $fields->{ (FID_FEE_ACK) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); $status = $ils->renew( $patron_id, $patron_pwd, $item_id, $title_id, $no_block, $nb_due_date, $third_party, $item_props, $fee_ack ); @@ -1540,7 +1540,7 @@ sub handle_renew_all { $terminal_pwd = $fields->{ (FID_TERMINAL_PWD) }; $fee_ack = $fields->{ (FID_FEE_ACK) }; - ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id; + ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id ); $status = $ils->renew_all( $patron_id, $patron_pwd, $fee_ack ); --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -112,7 +112,7 @@ Autogenerate next cardnumber from highest value found in database sub fixup_cardnumber { my ( $self ) = @_; - my ( $max ) = Koha::Plugins->call( 'patron_barcode_transform', $self->cardnumber ) || undef; + my ( $max ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $self->cardnumber ); $max ||= Koha::Patrons->search({ cardnumber => {-regexp => '^-?[0-9]+$'} @@ -201,7 +201,7 @@ sub store { $self->trim_whitespaces; - my ( $new_cardnumber ) = Koha::Plugins->call( 'patron_barcode_transform', $self->cardnumber ) || $self->cardnumber; + my ( $new_cardnumber ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $self->cardnumber ); $self->cardnumber( $new_cardnumber ); # Set surname to uppercase if uppercasesurname is true --- a/circ/circulation.pl +++ a/circ/circulation.pl @@ -81,7 +81,7 @@ my $autoswitched; my $borrowernumber = $query->param('borrowernumber'); if (C4::Context->preference("AutoSwitchPatron") && $barcode) { - my ( $new_barcode ) = Koha::Plugins->call( 'patron_barcode_transform', $findborrower ) || $findborrower; + my ( $new_barcode ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $findborrower ); if (Koha::Patrons->search( { cardnumber => $new_barcode} )->count() > 0) { $findborrower = $barcode; undef $barcode; @@ -227,7 +227,7 @@ if ( @$barcodes == 0 && $charges eq 'yes' ) { # my $message; if ($findborrower) { - ( $findborrower ) = Koha::Plugins->call( 'patron_barcode_transform', $findborrower ) || $findborrower; + ( $findborrower ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $findborrower ); my $patron = Koha::Patrons->find( { cardnumber => $findborrower } ); if ( $patron ) { $borrowernumber = $patron->borrowernumber; --- a/members/memberentry.pl +++ a/members/memberentry.pl @@ -334,7 +334,7 @@ if ($op eq 'save' || $op eq 'insert'){ # If the cardnumber is blank, treat it as null. $newdata{'cardnumber'} = undef if $newdata{'cardnumber'} =~ /^\s*$/; - my ( $new_barcode ) = Koha::Plugins->call( 'patron_barcode_transform', $newdata{'cardnumber'} ) || $newdata{'cardnumber'}; + my ( $new_barcode ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $newdata{'cardnumber'} ); $newdata{'cardnumber'} = $new_barcode; if (my $error_code = checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){ --- a/opac/sco/sco-main.pl +++ a/opac/sco/sco-main.pl @@ -124,7 +124,7 @@ if (C4::Context->preference('SelfCheckoutByLogin') && !$patronid) { my ( $borrower, $patron ); if ( $patronid ) { - ( $patronid ) = Koha::Plugins->call( 'patron_barcode_transform', $patronid ) || $patronid; + ( $patronid ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $patronid ); $patron = Koha::Patrons->find( { cardnumber => $patronid } ); $borrower = $patron->unblessed if $patron; } --- a/t/db_dependent/Koha/Plugins/Barcode_transform_hooks.t +++ a/t/db_dependent/Koha/Plugins/Barcode_transform_hooks.t @@ -48,6 +48,7 @@ subtest '() hook tests' => sub { my $plugins = Koha::Plugins->new; $plugins->InstallPlugins; + C4::Context->dbh->do("DELETE FROM plugin_methods WHERE plugin_class LIKE '%TestBarcodes%'"); my $plugin = Koha::Plugin::Test->new->enable; --