Bugzilla – Attachment 122441 Details for
Bug 26351
Add plugin hooks to transform item barcodes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 26351: Use call_recursive() as a replacement for call()
Bug-26351-Use-callrecursive-as-a-replacement-for-c.patch (text/plain), 2.08 KB, created by
Kyle M Hall (khall)
on 2021-06-25 12:06:11 UTC
(
hide
)
Description:
Bug 26351: Use call_recursive() as a replacement for call()
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2021-06-25 12:06:11 UTC
Size:
2.08 KB
patch
obsolete
>From cc0f7ec92c969916a70f4c6eb9c901ebdf761b91 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 23 Mar 2021 16:08:12 +0000 >Subject: [PATCH] Bug 26351: Use call_recursive() as a replacement for call() > >The method `call()` is not sufficient for barcode transformations. It's >possible that more than one barcode transformation plugin will be >installed. The `call_recursive()` method takes the output of the first >plugin and uses it as the input for the next plugin and so on. This allowes >each plugin to see the current version of the barcode and modify it if >necessary. > >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > C4/Circulation.pm | 2 +- > t/db_dependent/Koha/Plugins/Plugins.t | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 914c323e7c..0ccea4964e 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -176,7 +176,7 @@ sub barcodedecode { > my ($barcode, $filter) = @_; > my $branch = C4::Context::mybranch(); > $filter = C4::Context->preference('itemBarcodeInputFilter') unless $filter; >- ($barcode) = Koha::Plugins->call('item_barcode_transform', $barcode ) || $barcode; >+ ($barcode) = Koha::Plugins->call_recursive('item_barcode_transform', $barcode ); > $filter or return $barcode; # ensure filter is defined, else return untouched barcode > if ($filter eq 'whitespace') { > $barcode =~ s/\s//g; >diff --git a/t/db_dependent/Koha/Plugins/Plugins.t b/t/db_dependent/Koha/Plugins/Plugins.t >index 20ae522231..52938ad7d1 100755 >--- a/t/db_dependent/Koha/Plugins/Plugins.t >+++ b/t/db_dependent/Koha/Plugins/Plugins.t >@@ -126,7 +126,7 @@ subtest 'GetPlugins() tests' => sub { > > @plugins = $plugins->GetPlugins({ metadata => { my_example_tag => 'find_me' }, all => 1 }); > @names = map { $_->get_metadata()->{'name'} } @plugins; >- is( scalar @names, 2, "Only two plugins found via a metadata tag" ); >+ is( scalar @names, 4, "Only four plugins found via a metadata tag" ); > > $schema->storage->txn_rollback; > }; >-- >2.30.1 (Apple Git-130)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 26351
:
109532
|
109548
|
109671
|
110844
|
110846
|
111575
|
111577
|
111578
|
111579
|
111862
|
111863
|
111894
|
111916
|
111917
|
111918
|
111919
|
111920
|
111921
|
111922
|
113571
|
113572
|
113573
|
113574
|
113575
|
113576
|
113577
|
113578
|
115172
|
115173
|
115174
|
115175
|
115176
|
115177
|
115178
|
115179
|
115180
|
118649
|
118650
|
118651
|
118652
|
118653
|
118654
|
118655
|
118656
|
118657
|
118658
|
118681
|
118682
|
118683
|
118684
|
118685
|
118686
|
118687
|
118688
|
118689
|
118690
|
122433
|
122434
|
122435
|
122436
|
122437
|
122438
|
122439
|
122440
|
122441
|
122442
|
124258
|
124259
|
124260
|
124261
|
124262
|
124263
|
124264
|
124265
|
124266
|
124313
|
125447
|
125763
|
125764
|
125765