despite the same values being supplied each time. Then
the conditional assignments would repeat the same calls again!
That means execution was liable to query the DB at least once
and as many as four times per item. With a large number of items
this is an unnecessary burden. By moving the calls outside
the loop, we can guarantee that we never have to call the DB for
that info more than twice (once for lost, once for damaged).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
# Get Branches, Itemtypes and Locations
my $branches = GetBranches();
my $itemtypes = GetItemTypes();
# Get Branches, Itemtypes and Locations
my $branches = GetBranches();
my $itemtypes = GetItemTypes();
-
-# FIXME: move this to a pm, check waiting status for holds
my $dbh = C4::Context->dbh;
# change back when ive fixed request.pl
my $dbh = C4::Context->dbh;
# change back when ive fixed request.pl
my $collections = GetKohaAuthorisedValues('items.ccode' , $fw);
my (@itemloop, %itemfields);
my $norequests = 1;
my $collections = GetKohaAuthorisedValues('items.ccode' , $fw);
my (@itemloop, %itemfields);
my $norequests = 1;
+my $authvalcode_items_itemlost = GetAuthValCode('items.itemlost',$fw);
+my $authvalcode_items_damaged = GetAuthValCode('items.damaged', $fw);
foreach my $item (@items) {
# can place holds defaults to yes
foreach my $item (@items) {
# can place holds defaults to yes
$item->{$_} = format_date($item->{$_});
}
# item damaged, lost, withdrawn loops
$item->{$_} = format_date($item->{$_});
}
# item damaged, lost, withdrawn loops
- $item->{itemlostloop}= GetAuthorisedValues(GetAuthValCode('items.itemlost',$fw),$item->{itemlost}) if GetAuthValCode('items.itemlost',$fw);
+ $item->{itemlostloop} = GetAuthorisedValues($authvalcode_items_itemlost, $item->{itemlost}) if $authvalcode_items_itemlost;
- $item->{itemdamagedloop}= GetAuthorisedValues(GetAuthValCode('items.damaged',$fw),$item->{damaged}) if GetAuthValCode('items.damaged',$fw);
+ $item->{itemdamagedloop} = GetAuthorisedValues($authvalcode_items_damaged, $item->{damaged}) if $authvalcode_items_damaged;
}
#get shelf location and collection code description if they are authorised value.
my $shelfcode = $item->{'location'};
}
#get shelf location and collection code description if they are authorised value.
my $shelfcode = $item->{'location'};