]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/metarecord_hold_filters.tt2
452feedd15cf2505ce0ee5bd80ba731e87f49bc8
[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.target.id || hold_data.hold.hold.target;
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>
48     <select multiple='multiple' 
49       name="metarecord_formats_[% target_id %]">
50       [% FOR ccvm IN 
51         hold_data.metarecord_filters.formats.sort('search_label') %]
52         <option value="[% ccvm.code %]"[%- code = ccvm.code; 
53             IF selected_formats.$code %] selected='selected'[% END -%]>
54           [% ccvm.search_label | html %]
55         </option>
56       [% END %]
57     </select>
58   </div>
59   [% IF hold_data.metarecord_filters.langs.size;
60         my_lang = ctx.get_i18n_l(ctx.eg_locale).marc_code;
61   %]
62   <div class="metarecord_filter_container">
63     <div class="metarecord_filter_header">
64       [% l('Select your desired language(s)') %]
65     </div>
66     <select multiple='multiple' 
67       name="metarecord_langs_[% target_id %]">
68       [% FOR lang_ccvm IN hold_data.metarecord_filters.langs.sort('value') %]
69         [%  selected = 0; 
70             code = lang_ccvm.code;
71             IF selected_langs.size;
72                 # user has already selected their preferred language(s)
73                 SET selected = 1 IF selected_langs.$code;
74             ELSE;
75                 # no prefered language selected, default to current locale
76                 SET selected = 1 IF code == my_lang;
77             END;
78         %]
79         <option value="[% lang_ccvm.code %]"[%- 
80             IF selected %] selected='selected'[%- END %]>
81           [% lang_ccvm.value | html %]
82         </option>
83       [% END %]
84     </select>
85   </div>
86   [% END %]
87   <div class="clear-both">&nbsp;</div>
88 </div>
89 [% END # metarecord_hold_filters_selector %]