From: Dan Wells Date: Fri, 15 Mar 2013 18:47:53 +0000 (-0400) Subject: Allow access to public hold notes via hold "blob" X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=b15cac11c9a1b518cbd2b6a24278b9e8f2ecd4d9;p=working%2FEvergreen.git Allow access to public hold notes via hold "blob" If a hold note is marked as "public", it seems reasonable that it should be visible to anyone who can see that hold, regardless of who created the note. Signed-off-by: Dan Wells Signed-off-by: Kyle Tomita --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm index c09896cdbc..cb45fd3bc2 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm @@ -3166,14 +3166,14 @@ sub uber_hold_impl { if($hold->usr->id ne $e->requestor->id) { # caller is asking for someone else's hold $e->allowed('VIEW_HOLD') or return $e->event; - $hold->notes( # filter out any non-staff ("private") notes - [ grep { $U->is_true($_->staff) } @{$hold->notes} ] ); + $hold->notes( # filter out any non-staff ("private") notes (unless marked as public) + [ grep { $U->is_true($_->staff) or $U->is_true($_->pub) } @{$hold->notes} ] ); } else { # caller is asking for own hold, but may not have permission to view staff notes unless($e->allowed('VIEW_HOLD')) { - $hold->notes( # filter out any staff notes - [ grep { !$U->is_true($_->staff) } @{$hold->notes} ] ); + $hold->notes( # filter out any staff notes (unless marked as public) + [ grep { !$U->is_true($_->staff) or $U->is_true($_->pub) } @{$hold->notes} ] ); } }