In the olden days before best hold sort order and proximity adjustment, there was
no need to consider any context org other than "here", because the choices were,
essentially, FIFO or Traditional applied within the hard-boundary range. However,
now we need to decided whose rule to follow, and the most correct arbiter of that
is the owning library of the call number of the copy. We avoid copy circ lib
because that can change with floating copies.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
$cp_circ_lib = $cp->circ_lib;
}
+ my $cp_owning_lib;
+ if (ref $cp->call_number->owning_lib) {
+ $cp_owning_lib = $cp->call_number->owning_lib->id;
+ } else {
+ $cp_owning_lib = $cp->call_number->owning_lib;
+ }
+
my ($holdsort, $addl_cte, $addl_join) =
- build_hold_sort_clause(get_hold_sort_order($here), $cp, $here);
+ build_hold_sort_clause(get_hold_sort_order($cp_owning_lib), $cp, $here);
local $OpenILS::Application::Storage::WRITE = 1;