$ctx->{page} = 'record';
my $org = $self->_get_search_lib();
+ my $pref_ou = $self->_get_pref_lib();
my $depth = $self->cgi->param('depth');
$depth = $ctx->{get_aou}->($org)->ou_type->depth
unless defined $depth; # can be 0
my $cstore = OpenSRF::AppSession->create('open-ils.cstore');
my $copy_rec = $cstore->request(
'open-ils.cstore.json_query.atomic',
- $self->mk_copy_query($rec_id, $org, $copy_depth, $copy_limit, $copy_offset)
+ $self->mk_copy_query($rec_id, $org, $copy_depth, $copy_limit, $copy_offset, $pref_ou)
);
my (undef, @rec_data) = $self->get_records_and_facets([$rec_id], undef, {flesh => '{holdings_xml,bmp,mra,acp,acnp,acns}'});
my $depth = shift;
my $copy_limit = shift;
my $copy_offset = shift;
+ my $pref_ou = shift;
my $query = {
select => {
},
order_by => [
+ { class => "aou", field => 'id',
+ transform => 'evergreen.rank_ou', params => [$pref_ou, $org]
+ },
{class => 'aou', field => 'name'},
{class => 'acn', field => 'label'}
],
offset => $copy_offset
};
- # XXX In the future, $sort_org should be understood to be an abstration
- # that refers to something configurable, not necessariyl physical_loc.
-
- if (my $sort_org = $self->ctx->{physical_loc}) {
- unshift @{$query->{order_by}}, {
- class => 'acp', field => 'circ_lib', transform => 'numeric_eq',
- params => [$sort_org], direction => 'desc'
- };
- }
-
if($org != $self->ctx->{aou_tree}->()->id) {
# no need to add the org join filter if we're not actually filtering
$query->{from}->{acp}->{aou} = {