LP1109316 - Hold note count and text not displayed (rel_2_3) user/catalystit/lp1109316_rel_2_3
authorKyle Tomita <ktomita@catalystitservices.com>
Tue, 26 Mar 2013 20:33:14 +0000 (13:33 -0700)
committerKyle Tomita <ktomita@catalystitservices.com>
Tue, 26 Mar 2013 20:33:14 +0000 (13:33 -0700)
Ported over dwells' solution for fixing the holds blob.

Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index 8b20659..95ca1f1 100644 (file)
@@ -3234,16 +3234,16 @@ sub uber_hold_impl {
     ) or return $e->event;
 
     if($hold->usr->id ne $e->requestor->id) {
-        # A user is allowed to see his/her own holds
+        # Caller is asking for someone else's holds
         $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} ] );
         }
     }