From 3046f3b60699aba5eed0693874cf907f55f7010c Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 27 Mar 2013 09:18:24 -0400 Subject: [PATCH] Bug 9902 - item subfields not populating in 3.10 Test Plan: 1) Create a new serial with a default location, call number, and library ( the library will need to be any but the one you are logged in as ) 2) Click the "Recieve" button for this serial 3) Click "Click to add item" 4) Note those values are not populated 5) Apply the patch 6) Reload the page 7) Click "Click to add item" 8) Note those values are now populated --- C4/Items.pm | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 6533a68..91c6d2f 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -2656,6 +2656,10 @@ sub PrepareItemrecordDisplay { && $defaultvalues && $defaultvalues->{'callnumber'} ) { if( $itemrecord and $defaultvalues and not $itemrecord->field($subfield) ){ + # if the item record exists, only use default value if the item has no callnumber + $defaultvalue = $defaultvalues->{callnumber}; + } else { + # if the item record *doesn't* exists, always use the default value $defaultvalue = $defaultvalues->{callnumber}; } } @@ -2671,6 +2675,10 @@ sub PrepareItemrecordDisplay { && $defaultvalues->{'location'} ) { if ( $itemrecord and $defaultvalues and not $itemrecord->field($subfield) ) { + # if the item record exists, only use default value if the item has no locationr + $defaultvalue = $defaultvalues->{location}; + } else { + # if the item record *doesn't* exists, always use the default value $defaultvalue = $defaultvalues->{location}; } } @@ -2701,7 +2709,7 @@ sub PrepareItemrecordDisplay { $authorised_lib{$branchcode} = $branchname; } } - $defaultvalue = C4::Context->userenv->{branch}; + $defaultvalue = $defaultvalues->{branchcode} || C4::Context->userenv->{branch}; #----- itemtypes } elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes" ) { @@ -2727,6 +2735,8 @@ sub PrepareItemrecordDisplay { $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'}; } + $defaultvalue = $default_source; + #---- "true" authorised value } else { $authorised_values_sth->execute( -- 1.7.2.5