From: erickson Date: Mon, 23 Oct 2006 01:15:50 +0000 (+0000) Subject: made org id logic tolerant of fleshed/non-fleshed copy fields X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c0dcd6679462bd44381662aae491e959d3baa972;p=Evergreen.git made org id logic tolerant of fleshed/non-fleshed copy fields git-svn-id: svn://svn.open-ils.org/ILS/trunk@6493 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm b/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm index 3ffb607cfd..658a244728 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Cat.pm @@ -976,6 +976,17 @@ sub fleshed_volume_update { } +sub copy_perm_org { + my( $vol, $copy ) = @_; + my $org = $vol->owning_lib; + if( $vol->id == OILS_PRECAT_CALL_NUMBER ) { + $org = ref($copy->circ_lib) ? $copy->circ_lib->id : $copy->circ_lib; + } + $logger->debug("using copy perm org $org"); + return $org; +} + + # this does the actual work sub update_fleshed_copies { my( $editor, $override, $vol, $copies, $delete_stats ) = @_; @@ -998,7 +1009,7 @@ sub update_fleshed_copies { } return $editor->event unless - $editor->allowed('UPDATE_COPY', $vol->id == -1 ? $copy->circ_lib->id : $vol->owning_lib); + $editor->allowed('UPDATE_COPY', copy_perm_org($vol, $copy)); $copy->editor($editor->requestor->id); $copy->edit_date('now');