LP#1053397 filter MR icons/formats repair
authorBill Erickson <berick@esilibrary.com>
Mon, 17 Feb 2014 14:24:40 +0000 (09:24 -0500)
committerDan Wells <dbw2@calvin.edu>
Fri, 21 Feb 2014 20:38:54 +0000 (15:38 -0500)
Only limit the scope of the MR attributes in the presence of a hard hold
boundary when searching for which attributes to display in the hold
placement form.

In other words, don't limit the attributes based on search parameters,
since searching at Branch 1 does not necesssarily meany you only want to
place holds on formats available at branch 1.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index 3eaec7a..ac3ade2 100644 (file)
@@ -4246,10 +4246,15 @@ sub mr_hold_filter_attrs {
     my ($self, $client, $mr_id, $org_id, $hold_ids) = @_;
     my $e = new_editor();
 
-    # providing a context org means we filter out records that
-    # cannot possibly be held.
-    my $org_depth = $U->ou_ancestor_setting_value(
-        $org_id, OILS_SETTING_HOLD_HARD_BOUNDARY) if $org_id;
+    # by default, return MR / hold attributes for all constituent
+    # records with holdable copies.  If there is a hard boundary,
+    # though, limit to records with copies within the boundary,
+    # since anything outside the boundary can never be held.
+    my $org_depth = 0;
+    if ($org_id) {
+        $org_depth = $U->ou_ancestor_setting_value(
+            $org_id, OILS_SETTING_HOLD_HARD_BOUNDARY) || 0;
+    }
 
     # get all org-scoped records w/ holdable copies for this metarecord
     my ($bre_ids) = $self->method_lookup(