From: erickson Date: Fri, 30 Oct 2009 13:46:41 +0000 (+0000) Subject: wrap permission and status check around hold request time changing X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c60eb8113e82607b8483d8f8e014f6079b6afae2;p=contrib%2FConifer.git wrap permission and status check around hold request time changing git-svn-id: svn://svn.open-ils.org/ILS/trunk@14700 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm index 54973dea60..22212dcfbd 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm @@ -694,6 +694,14 @@ sub update_hold_impl { # -------------------------------------------------------------- + # Changing the request time is like playing God + # -------------------------------------------------------------- + if($hold->request_time ne $orig_hold->request_time) { + return OpenILS::Event->new('BAD_PARAMS') if $hold->fulfillment_time; + return $e->die_event unless $e->allowed('UPDATE_HOLD_REQUEST_TIME', $hold->pickup_lib); + } + + # -------------------------------------------------------------- # if the hold is on the holds shelf or in transit and the pickup # lib changes we need to create a new transit. # --------------------------------------------------------------