From f4002fb9b4c139dbf346fbe4629cd0f14e05b34f Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 14 Sep 2015 16:01:48 +0100 Subject: [PATCH] Bug 14811: Don't update permanent_location with CART or PROC The permanent_location should not be set to CART or PROC when the item is edited. Otherwise we lost an important info. Test plan: 0/ Set the ReturnToShelvingCart pref 1/ Create an item with location "on_my_shelf" 2/ Check the item in and out 3/ Look at the DB values, location should be "CART" and permanent_location unchanged (on_my_shelf) 4/ Edit the item, add a note for instance 5/ Without this patch, the permanent_location is erased with 'CART' and you have definitely lost the info. With this patch, the permanent_location is unchanged. Signed-off-by: Josef Moravec Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 2a319e7ae2a7e0d10450a6ca791eabbee01c0787) Signed-off-by: Chris Cormack Conflicts: t/db_dependent/Items.t --- C4/Items.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/C4/Items.pm b/C4/Items.pm index 41ca2b9ebb..6e878579bb 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -2029,7 +2029,11 @@ sub _do_column_fixes_for_mod { (not defined $item->{'withdrawn'} or $item->{'withdrawn'} eq '')) { $item->{'withdrawn'} = 0; } - if (exists $item->{'location'} && !$item->{'permanent_location'}) { + if (exists $item->{location} + and $item->{location} ne 'CART' + and $item->{location} ne 'PROC' + and not $item->{permanent_location} + ) { $item->{'permanent_location'} = $item->{'location'}; } if (exists $item->{'timestamp'}) { -- 2.39.5