]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/metarecord_hold_filters.tt2
lp1481844 Change Available Copies Display
[working/Evergreen.git] / Open-ILS / src / templates / opac / parts / metarecord_hold_filters.tt2
1 [%#
2 Draws the format multi-select and the language multi-select for
3 limiting the set of desired records for a given metarecord.
4 %]
5
6 <style>
7   /* TODO: MOVE ME */
8   .metarecord_filters {
9       padding: 5px;
10       margin-top: 5px;
11       border-bottom: 1px solid #333;
12       border-top: 1px solid #333;
13   }
14   .metarecord_filter_container {
15     float : left;
16     margin-right: 10px;
17   }
18   .metarecord_filter_container select {
19     padding: 2px;
20     width: 13em; /* consistent w/ adv search selectors */
21   }
22   .metarecord_filter_header {
23     padding-bottom: 5px;
24   }
25 </style>
26
27 [% BLOCK metarecord_hold_filters_selector;
28     # in edit mode, pull the target from the existing hold
29     target_id = hold_data.hold.hold.target || hold_data.target.id;
30
31     selected_formats = {};
32     selected_langs = {};
33     FOR fmt IN hold_data.metarecord_selected_filters.formats;
34         code = fmt.code;
35         selected_formats.$code = fmt;
36     END;
37     FOR lang IN hold_data.metarecord_selected_filters.langs;
38         code = lang.code;
39         selected_langs.$code = lang;
40     END;
41 %]
42
43 <div class="metarecord_filters">
44   <div class="metarecord_filter_container">
45     <div class="metarecord_filter_header">
46       <div>[% l('Select your desired format(s).') %]</div>
47       <div>[% l('If none are selected, any available formats may be used.') %]</div>
48     </div>
49     <select multiple='multiple' 
50       name="metarecord_formats_[% target_id %]">
51       [% FOR ccvm IN
52           hold_data.metarecord_filters.formats.sort('search_label');
53           NEXT IF ccvm.opac_visible == 'f' %]
54         <option value="[% ccvm.code %]"[%- code = ccvm.code; 
55             IF selected_formats.$code %] selected='selected'[% END -%]>
56           [% ccvm.search_label | html %]
57         </option>
58       [% END %]
59     </select>
60   </div>
61   [% IF hold_data.metarecord_filters.langs.size;
62         my_lang = ctx.get_i18n_l(ctx.eg_locale).marc_code;
63   %]
64   <div class="metarecord_filter_container">
65     <div class="metarecord_filter_header">
66       <div>[% l('Select your desired language(s).') %]</div>
67       <div>[% l('If none are selected, any available languages may be used.') %]</div>
68     </div>
69     <select multiple='multiple' 
70       name="metarecord_langs_[% target_id %]">
71       [% FOR lang_ccvm IN hold_data.metarecord_filters.langs.sort('value');
72             NEXT IF lang_ccvm.opac_visible == 'f';
73             selected = 0; 
74             code = lang_ccvm.code;
75             IF selected_langs.size;
76                 # user has already selected their preferred language(s)
77                 SET selected = 1 IF selected_langs.$code;
78
79             ELSIF !hold_data.hold.hold.target; # new hold
80                 # no prefered language selected; use current locale
81                 SET selected = 1 IF code == my_lang;
82             END;
83         %]
84         <option value="[% lang_ccvm.code %]"[%- 
85             IF selected %] selected='selected'[%- END %]>
86           [% lang_ccvm.value | html %]
87         </option>
88       [% END %]
89     </select>
90   </div>
91   [% END %]
92   <div class="clear-both">&nbsp;</div>
93 </div>
94 [% END # metarecord_hold_filters_selector %]