(undef, @data) = $self->get_records_and_facets(
[$hold->target], undef, {flesh => '{mra}', metarecord => 1});
+ my $filter_org = $U->org_unit_ancestor_at_depth(
+ $hold->selection_ou,
+ $hold->selection_depth);
+
my $filter_data = $U->simplereq(
'open-ils.circ',
'open-ils.circ.mmr.holds.filters.authoritative.atomic',
- $hold->target, $hold->selection_ou, [$hold->id]
+ $hold->target, $filter_org, [$hold->id]
);
$blob->{metarecord_filters} =
my $cgi = $self->cgi;
# exit early if not needed
- return "" unless
+ return undef unless
grep /metarecord_formats_|metarecord_langs_/,
$cgi->param;
[% BLOCK metarecord_hold_filters_selector;
# in edit mode, pull the target from the existing hold
- target_id = hold_data.target.id || hold_data.hold.hold.target;
+ target_id = hold_data.hold.hold.target || hold_data.target.id;
selected_formats = {};
selected_langs = {};
IF selected_langs.size;
# user has already selected their preferred language(s)
SET selected = 1 IF selected_langs.$code;
- ELSE;
- # no prefered language selected, default to current locale
+
+ ELSIF !hold_data.hold.hold.target; # new hold
+ # no prefered language selected; use current locale
SET selected = 1 IF code == my_lang;
END;
%]