my @selected_langs = $cgi->param("metarecord_langs_$mr_id");
# map the selected attrs into the JSON holdable_formats structure
- @selected_formats = map {
- {_attr => $format_attr, _val => $_} } @selected_formats;
- @selected_langs = map {
- {_attr => 'item_lang', _val => $_} } @selected_langs;
-
- return OpenSRF::Utils::JSON->perl2JSON({
- 0 => \@selected_formats,
- 1 => \@selected_langs
- });
+ my $blob = {};
+ if (@selected_formats) {
+ $blob->{0} = [
+ map { {_attr => $format_attr, _val => $_} }
+ @selected_formats
+ ];
+ }
+ if (@selected_langs) {
+ $blob->{1} = [
+ map { {_attr => 'item_lang', _val => $_} }
+ @selected_langs
+ ];
+ }
+
+ return OpenSRF::Utils::JSON->perl2JSON($blob);
}
sub fetch_user_circs {
return $bbag_err;
}
- if (!$internal) {
- $ctx->{page} = $is_meta ? 'mresult' : 'rresult';
- }
+ $ctx->{page} = 'rresult' unless $internal;
$ctx->{ids} = [];
$ctx->{records} = [];
$ctx->{search_facets} = {};
parse_accept_lang($r->headers_in->get('Accept-Language'));
# set the editor default locale for each page load
- OpenSRF::AppSession->default_locale(parse_eg_locale($ctx->{locale}));
+ my $ses_locale = parse_eg_locale($ctx->{locale});
+ OpenSRF::AppSession->default_locale($ses_locale);
+ # give templates access to the en-US style locale
+ $ctx->{eg_locale} = $ses_locale;
my $mprefix = $ctx->{media_prefix};
if($mprefix and $mprefix !~ /^http/ and $mprefix !~ /^\//) {
div.adv_search_available {
margin-top: 1em;
}
+
#myopac_loading {
width:100%;
text-align:center;
%]
<!-- applies metarecord search -->
+ <br/><!-- <br> may seem redundant, but it allows the
+ <input> (below) to drop down inline w/ its label -->
<div class="adv_search_available">
<input type='checkbox' name="modifier" value="metabib"
[%- CGI.param('modifier').grep('metabib').size ?
[% END %]
</select>
</div>
+ [% IF hold_data.metarecord_filters.langs.size;
+ my_lang = ctx.get_i18n_l(ctx.eg_locale).marc_code;
+ %]
<div class="metarecord_filter_container">
<div class="metarecord_filter_header">
[% l('Select your desired language(s)') %]
<select multiple='multiple'
name="metarecord_langs_[% target_id %]">
[% FOR lang_ccvm IN hold_data.metarecord_filters.langs.sort('value') %]
- <option value="[% lang_ccvm.code %]"[%- code = lang_ccvm.code;
- IF selected_langs.$code %]selected='selected'[% END -%]>
+ [% selected = 0;
+ code = lang_ccvm.code;
+ 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
+ SET selected = 1 IF code == my_lang;
+ END;
+ %]
+ <option value="[% lang_ccvm.code %]"[%-
+ IF selected %] selected='selected'[%- END %]>
[% lang_ccvm.value | html %]
</option>
[% END %]
</select>
</div>
+ [% END %]
<div class="clear-both"> </div>
</div>
[% END # metarecord_hold_filters_selector %]