In current version of code, it gets initialized too late, so it produces
unitialized warnings for hidden fields (which is non-fatal) and breaks
generated JavaScript for AJAX value_builders (which is fatal)

This bug was introduced in ticket 6106 which is modification of 5955
which didn't have this particular problem.

Since then, this code moved to C4::Items because of de-nesting patches.

Test scenario:
1. define 952$i plugin: stocknumberam123.pl (this is ajax value_builder)
2. go to one of following pages and verify that plugin works:
        acqui/addorderiso2709.pl
        acqui/neworderempty.pl
        acqui/orderreceive.pl
        serials/serials-edit.pl

For stocknumberam123.pl plugin to work, you have to have at least
one item with stocknumber in format which this plugin expects:
capital letters, space, some number
---
 C4/Items.pm |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/C4/Items.pm b/C4/Items.pm
index 2f32c98..826d3b8 100644
--- a/C4/Items.pm
+++ b/C4/Items.pm
@@ -2574,6 +2574,7 @@ sub PrepareItemrecordDisplay {
                 $subfield_data{subfield}      = $subfield;
                 $subfield_data{countsubfield} = $cntsubf++;
                 $subfield_data{kohafield}     = 
$tagslib->{$tag}->{$subfield}->{'kohafield'};
+                $subfield_data{id}            = 
"tag_".$tag."_subfield_".$subfield."_".int(rand(1000000));
 
                 #        
$subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
                 $subfield_data{marc_lib}   = 
$tagslib->{$tag}->{$subfield}->{lib};
@@ -2712,8 +2713,6 @@ sub PrepareItemrecordDisplay {
                             my $extended_param = plugin_parameters( $dbh, 
$temp, $tagslib, $subfield_data{id}, undef );
                             my ( $function_name, $javascript ) = 
plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
                             $subfield_data{random}     = int(rand(1000000));   
 # why do we need 2 different randoms?
-                            my $index_subfield = int(rand(1000000));
-                            $subfield_data{id} = 
"tag_".$tag."_subfield_".$subfield."_".$index_subfield;
                             $subfield_data{marc_value} = qq[<input 
tabindex="1" id="$subfield_data{id}" name="field_value" 
class="input_marceditor" size="67" maxlength="255"
                                 
onfocus="Focus$function_name($subfield_data{random}, '$subfield_data{id}');"
                                  onblur=" 
Blur$function_name($subfield_data{random}, '$subfield_data{id}');" />
-- 
1.7.2.5

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to