Browse Source

Bug 6034 - Shelving cart feature can wipe permanent shelving location in certain circumstances

Bugfix for problems when shelving cart used without In Processing settings

To test, with InProcessingToShelvingCart off, NewItemsDefaultLocation blank,
and ReturnToShelvingCart on, create a new item.  Check the contents of the
location and permanent_location fields in its item record -- the same value
should be in both.  Then run the item through checkin, and look at those fields
again.  The location field should now be set to CART while permanent_location
should still have the original value.  After the cart_to_shelf cron job runs
with the proper timing, check the item record again.  Both location and
permanent_location should again be identical.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
3.6.x-rmaint/testing
Jane Wagner 13 years ago
committed by Chris Cormack
parent
commit
2bb9904ab3
  1. 3
      C4/Items.pm
  2. 6
      cataloguing/additem.pl

3
C4/Items.pm

@ -415,6 +415,7 @@ my %default_values_for_mod_from_marc = (
itemnotes => undef,
itype => undef,
location => undef,
permanent_location => undef,
materials => undef,
notforloan => 0,
paidfor => undef,
@ -1984,6 +1985,7 @@ sub _koha_new_item {
holdingbranch = ?,
paidfor = ?,
location = ?,
permanent_location = ?,
onloan = ?,
issues = ?,
renewals = ?,
@ -2021,6 +2023,7 @@ sub _koha_new_item {
$item->{'holdingbranch'},
$item->{'paidfor'},
$item->{'location'},
$item->{'permanent_location'},
$item->{'onloan'},
$item->{'issues'},
$item->{'renewals'},

6
cataloguing/additem.pl

@ -65,12 +65,16 @@ sub get_item_from_barcode {
sub set_item_default_location {
my $itemnumber = shift;
my $item = GetItem( $itemnumber );
if ( C4::Context->preference('NewItemsDefaultLocation') ) {
my $item = GetItem( $itemnumber );
$item->{'permanent_location'} = $item->{'location'};
$item->{'location'} = C4::Context->preference('NewItemsDefaultLocation');
ModItem( $item, undef, $itemnumber);
}
else {
$item->{'permanent_location'} = $item->{'location'} if !defined($item->{'permanent_location'});
ModItem( $item, undef, $itemnumber);
}
}
# NOTE: This code is subject to change in the future with the implemenation of ajax based autobarcode code

Loading…
Cancel
Save