Bug 23844: Check if field defined in framework and specify 'Default' for framework
authorNick <nick@bywatersolutions.com>
Fri, 18 Oct 2019 18:26:38 +0000 (18:26 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Wed, 5 Feb 2020 12:36:10 +0000 (12:36 +0000)
To test:
1 - Go to Cataloguing
2 - New from Z3950
3 - Find an import a record
4 - Check the plack logs:
Use of uninitialized value in string ne at /kohadevbox/koha/cataloguing/addbiblio.pl line 565.
Use of uninitialized value in string ne at /kohadevbox/koha/cataloguing/addbiblio.pl line 580.
Use of uninitialized value $frameworkcode in string eq at /kohadevbox/koha/cataloguing/addbiblio.pl line 711.
Use of uninitialized value $frameworkcode in string eq at /kohadevbox/koha/cataloguing/addbiblio.pl line 715.
Use of uninitialized value $frameworkcode in string eq at /kohadevbox/koha/cataloguing/addbiblio.pl line 734.
5 - Apply patch
6 - Repeat
7 - No new errors
8 - Confirm selecting 'Default' from 'New from Z3950' dropdown also generates no errors

Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

cataloguing/addbiblio.pl
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt

index a548bab..49ca332 100755 (executable)
@@ -559,7 +559,7 @@ sub build_tabs {
                             my $subfield = $subfields[$subfieldcount][0];
                             my $value    = $subfields[$subfieldcount][1];
                             next if ( length $subfield != 1 );
-                            next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
+                            next if ( !defined $tagslib->{$tag}->{$subfield} || $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
                             push(
                                 @subfields_data,
                                 &create_input(
index 90f80bf..100cabd 100644 (file)
@@ -37,7 +37,7 @@
                                     <span class="caret"></span>
                                 </button>
                                 <ul class="dropdown-menu">
-                                    <li class="z3950searchFw"><a href="#">Default framework</a></li>
+                                    <li id="Default" class="z3950searchFw"><a href="#">Default framework</a></li>
                                     [% FOREACH framework IN frameworks %]
                                         <li id="[% framework.frameworkcode | html %]" class="z3950searchFw"><a href="#">[% framework.frameworktext | html %]</a></li>
                                     [% END %]
             $("input[name=q]:eq(0)").focus();
 
             $("#z3950search").click(function(){
-                PopupZ3950("");
+                PopupZ3950("Default");
                 return false;
             });