View | Details | Raw Unified | Return to bug 26352
Collapse All | Expand All

(-)a/C4/SIP/Sip/MsgType.pm (-8 / +8 lines)
Lines 521-527 sub handle_checkout { Link Here
521
    $fields = $self->{fields};
521
    $fields = $self->{fields};
522
522
523
    $patron_id = $fields->{ (FID_PATRON_ID) };
523
    $patron_id = $fields->{ (FID_PATRON_ID) };
524
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
524
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
525
    $item_id   = $fields->{ (FID_ITEM_ID) };
525
    $item_id   = $fields->{ (FID_ITEM_ID) };
526
    my $fee_ack = $fields->{ (FID_FEE_ACK) };
526
    my $fee_ack = $fields->{ (FID_FEE_ACK) };
527
527
Lines 743-749 sub handle_block_patron { Link Here
743
    $patron_id        = $fields->{ (FID_PATRON_ID) };
743
    $patron_id        = $fields->{ (FID_PATRON_ID) };
744
    $terminal_pwd     = $fields->{ (FID_TERMINAL_PWD) };
744
    $terminal_pwd     = $fields->{ (FID_TERMINAL_PWD) };
745
745
746
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
746
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
747
747
748
    # Terminal passwords are different from account login
748
    # Terminal passwords are different from account login
749
    # passwords, but I have no idea what to do with them.  So,
749
    # passwords, but I have no idea what to do with them.  So,
Lines 969-975 sub handle_patron_info { Link Here
969
    $start        = $fields->{ (FID_START_ITEM) };
969
    $start        = $fields->{ (FID_START_ITEM) };
970
    $end          = $fields->{ (FID_END_ITEM) };
970
    $end          = $fields->{ (FID_END_ITEM) };
971
971
972
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
972
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
973
973
974
    $patron = $ils->find_patron($patron_id);
974
    $patron = $ils->find_patron($patron_id);
975
975
Lines 1128-1134 sub handle_fee_paid { Link Here
1128
    $fee_id     = $fields->{ (FID_FEE_ID) };
1128
    $fee_id     = $fields->{ (FID_FEE_ID) };
1129
    $trans_id   = $fields->{ (FID_TRANSACTION_ID) };
1129
    $trans_id   = $fields->{ (FID_TRANSACTION_ID) };
1130
1130
1131
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
1131
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
1132
1132
1133
    $ils->check_inst_id( $inst_id, "handle_fee_paid" );
1133
    $ils->check_inst_id( $inst_id, "handle_fee_paid" );
1134
1134
Lines 1326-1332 sub handle_patron_enable { Link Here
1326
    $patron_id  = $fields->{ (FID_PATRON_ID) };
1326
    $patron_id  = $fields->{ (FID_PATRON_ID) };
1327
    $patron_pwd = $fields->{ (FID_PATRON_PWD) };
1327
    $patron_pwd = $fields->{ (FID_PATRON_PWD) };
1328
1328
1329
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
1329
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
1330
1330
1331
    siplog( "LOG_DEBUG", "handle_patron_enable: patron_id: '%s', patron_pwd: '%s'", $patron_id, $patron_pwd );
1331
    siplog( "LOG_DEBUG", "handle_patron_enable: patron_id: '%s', patron_pwd: '%s'", $patron_id, $patron_pwd );
1332
1332
Lines 1391-1397 sub handle_hold { Link Here
1391
    $title_id    = $fields->{ (FID_TITLE_ID) } || '';
1391
    $title_id    = $fields->{ (FID_TITLE_ID) } || '';
1392
    $fee_ack     = $fields->{ (FID_FEE_ACK) } || 'N';
1392
    $fee_ack     = $fields->{ (FID_FEE_ACK) } || 'N';
1393
1393
1394
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
1394
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
1395
1395
1396
    if ( $hold_mode eq '+' ) {
1396
    if ( $hold_mode eq '+' ) {
1397
        $status = $ils->add_hold( $patron_id, $patron_pwd, $item_id, $title_id, $expiry_date, $pickup_locn, $hold_type, $fee_ack );
1397
        $status = $ils->add_hold( $patron_id, $patron_pwd, $item_id, $title_id, $expiry_date, $pickup_locn, $hold_type, $fee_ack );
Lines 1458-1464 sub handle_renew { Link Here
1458
    $item_props = $fields->{ (FID_ITEM_PROPS) };
1458
    $item_props = $fields->{ (FID_ITEM_PROPS) };
1459
    $fee_ack    = $fields->{ (FID_FEE_ACK) };
1459
    $fee_ack    = $fields->{ (FID_FEE_ACK) };
1460
1460
1461
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
1461
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
1462
1462
1463
    $status = $ils->renew( $patron_id, $patron_pwd, $item_id, $title_id, $no_block, $nb_due_date, $third_party, $item_props, $fee_ack );
1463
    $status = $ils->renew( $patron_id, $patron_pwd, $item_id, $title_id, $no_block, $nb_due_date, $third_party, $item_props, $fee_ack );
1464
1464
Lines 1541-1547 sub handle_renew_all { Link Here
1541
    $terminal_pwd = $fields->{ (FID_TERMINAL_PWD) };
1541
    $terminal_pwd = $fields->{ (FID_TERMINAL_PWD) };
1542
    $fee_ack      = $fields->{ (FID_FEE_ACK) };
1542
    $fee_ack      = $fields->{ (FID_FEE_ACK) };
1543
1543
1544
    ($patron_id) = Koha::Plugins->call('patron_barcode_transform', $patron_id ) || $patron_id;
1544
    ($patron_id) = Koha::Plugins->call_recursive('patron_barcode_transform', $patron_id );
1545
1545
1546
    $status = $ils->renew_all( $patron_id, $patron_pwd, $fee_ack );
1546
    $status = $ils->renew_all( $patron_id, $patron_pwd, $fee_ack );
1547
1547
(-)a/Koha/Patron.pm (-2 / +2 lines)
Lines 112-118 Autogenerate next cardnumber from highest value found in database Link Here
112
sub fixup_cardnumber {
112
sub fixup_cardnumber {
113
    my ( $self ) = @_;
113
    my ( $self ) = @_;
114
114
115
    my ( $max ) = Koha::Plugins->call( 'patron_barcode_transform', $self->cardnumber ) || undef;
115
    my ( $max ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $self->cardnumber );
116
116
117
    $max ||= Koha::Patrons->search({
117
    $max ||= Koha::Patrons->search({
118
        cardnumber => {-regexp => '^-?[0-9]+$'}
118
        cardnumber => {-regexp => '^-?[0-9]+$'}
Lines 201-207 sub store { Link Here
201
201
202
            $self->trim_whitespaces;
202
            $self->trim_whitespaces;
203
203
204
            my ( $new_cardnumber ) = Koha::Plugins->call( 'patron_barcode_transform', $self->cardnumber ) || $self->cardnumber;
204
            my ( $new_cardnumber ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $self->cardnumber );
205
            $self->cardnumber( $new_cardnumber );
205
            $self->cardnumber( $new_cardnumber );
206
206
207
            # Set surname to uppercase if uppercasesurname is true
207
            # Set surname to uppercase if uppercasesurname is true
(-)a/circ/circulation.pl (-2 / +2 lines)
Lines 81-87 my $autoswitched; Link Here
81
my $borrowernumber = $query->param('borrowernumber');
81
my $borrowernumber = $query->param('borrowernumber');
82
82
83
if (C4::Context->preference("AutoSwitchPatron") && $barcode) {
83
if (C4::Context->preference("AutoSwitchPatron") && $barcode) {
84
    my ( $new_barcode ) = Koha::Plugins->call( 'patron_barcode_transform', $findborrower ) || $findborrower;
84
    my ( $new_barcode ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $findborrower );
85
    if (Koha::Patrons->search( { cardnumber => $new_barcode} )->count() > 0) {
85
    if (Koha::Patrons->search( { cardnumber => $new_barcode} )->count() > 0) {
86
        $findborrower = $barcode;
86
        $findborrower = $barcode;
87
        undef $barcode;
87
        undef $barcode;
Lines 227-233 if ( @$barcodes == 0 && $charges eq 'yes' ) { Link Here
227
#
227
#
228
my $message;
228
my $message;
229
if ($findborrower) {
229
if ($findborrower) {
230
    ( $findborrower ) = Koha::Plugins->call( 'patron_barcode_transform', $findborrower ) || $findborrower;
230
    ( $findborrower ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $findborrower );
231
    my $patron = Koha::Patrons->find( { cardnumber => $findborrower } );
231
    my $patron = Koha::Patrons->find( { cardnumber => $findborrower } );
232
    if ( $patron ) {
232
    if ( $patron ) {
233
        $borrowernumber = $patron->borrowernumber;
233
        $borrowernumber = $patron->borrowernumber;
(-)a/members/memberentry.pl (-1 / +1 lines)
Lines 325-331 if ($op eq 'save' || $op eq 'insert'){ Link Here
325
    # If the cardnumber is blank, treat it as null.
325
    # If the cardnumber is blank, treat it as null.
326
    $newdata{'cardnumber'} = undef if $newdata{'cardnumber'} =~ /^\s*$/;
326
    $newdata{'cardnumber'} = undef if $newdata{'cardnumber'} =~ /^\s*$/;
327
327
328
    my ( $new_barcode ) = Koha::Plugins->call( 'patron_barcode_transform', $newdata{'cardnumber'} ) || $newdata{'cardnumber'};
328
    my ( $new_barcode ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $newdata{'cardnumber'} );
329
    $newdata{'cardnumber'} = $new_barcode;
329
    $newdata{'cardnumber'} = $new_barcode;
330
330
331
    if (my $error_code = checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){
331
    if (my $error_code = checkcardnumber($newdata{cardnumber},$newdata{borrowernumber})){
(-)a/opac/sco/sco-main.pl (-1 / +1 lines)
Lines 123-129 if (C4::Context->preference('SelfCheckoutByLogin') && !$patronid) { Link Here
123
123
124
my ( $borrower, $patron );
124
my ( $borrower, $patron );
125
if ( $patronid ) {
125
if ( $patronid ) {
126
    ( $patronid ) = Koha::Plugins->call( 'patron_barcode_transform', $patronid ) || $patronid;
126
    ( $patronid ) = Koha::Plugins->call_recursive( 'patron_barcode_transform', $patronid );
127
    $patron = Koha::Patrons->find( { cardnumber => $patronid } );
127
    $patron = Koha::Patrons->find( { cardnumber => $patronid } );
128
    $borrower = $patron->unblessed if $patron;
128
    $borrower = $patron->unblessed if $patron;
129
}
129
}
(-)a/t/db_dependent/Koha/Plugins/Barcode_transform_hooks.t (-1 / +1 lines)
Lines 48-53 subtest '() hook tests' => sub { Link Here
48
48
49
    my $plugins = Koha::Plugins->new;
49
    my $plugins = Koha::Plugins->new;
50
    $plugins->InstallPlugins;
50
    $plugins->InstallPlugins;
51
    C4::Context->dbh->do("DELETE FROM plugin_methods WHERE plugin_class LIKE '%TestBarcodes%'");
51
52
52
    my $plugin = Koha::Plugin::Test->new->enable;
53
    my $plugin = Koha::Plugin::Test->new->enable;
53
54
54
- 

Return to bug 26352