Bug 31154: Pass biblionumber to Koha::UI::Form::Builder::Item->new from batchMod...
authorEmmi Takkinen <emmi.takkinen@koha-suomi.fi>
Tue, 26 Jul 2022 10:18:43 +0000 (13:18 +0300)
committerLucas Gass <lucas@bywatersolutions.com>
Mon, 31 Oct 2022 21:38:39 +0000 (21:38 +0000)
When one tries to batch mod items and has "Use default values"
checkbox checked on and they have value in syspref "itemcallnumber",
Koha dies on error 500. In logs it reads:

Can't call method "field" on an undefined value at
.../Koha/Koha/UI/Form/Builder/Item.pm line 164.

This happens because in batchMod.pl line 269 we don't pass
biblionumber as parameter to Koha::UI::Form::Builder::Item->new
and thus Koha fails to fetch biblios marc record.

To test:
1. Confirm you have/set value to syspref "itemcallnumber" e.g. 084a
2. Find some item(s) to modify
3. Provide barcodes of those item(s) and check checkbox "Use default values"
4. Hit "Continue"
=> error 500 is raised
5. Apply patch.
6. Repeat steps 3. and 4.
=> no error is raised

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 355ab980cc306a61e5e9e62608c5d9d1bf8e3b37)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
tools/batchMod.pl

index a1e2bd4..b80f1f3 100755 (executable)
@@ -266,7 +266,9 @@ if ($op eq "show"){
     # Getting list of subfields to keep when restricted batchmod edit is enabled
     my @subfields_to_allow = $restrictededition ? split ' ', C4::Context->preference('SubfieldsToAllowForRestrictedBatchmod') : ();
 
-    my $subfields = Koha::UI::Form::Builder::Item->new->edit_form(
+    $biblionumber = Koha::Items->find($itemnumbers[0])->unblessed->{biblionumber} if $itemnumbers[0];
+    my $subfields = Koha::UI::Form::Builder::Item->new(
+        { biblionumber => $biblionumber } )->edit_form(
         {
             restricted_editition => $restrictededition,
             (