]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/record/summary.tt2
TPAC: Add prefixes and suffixes to call number displays
[Evergreen.git] / Open-ILS / src / templates / opac / parts / record / summary.tt2
1 [%  PROCESS "opac/parts/misc_util.tt2";
2     USE ResolverResolver;
3     ctx.page_title = attrs.title | html
4 %]
5 <!-- ****************** rdetail_summary.xml ***************************** -->
6 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, '%Y') %]:biblio-record_entry/[% ctx.bre_id %]'></abbr>
7
8 [%- IF ctx.refworks.enabled == 'true' %]
9     [% INCLUDE 'opac/parts/record/refworks.tt2' %]
10 [%- END %]
11
12 <hr />
13
14 [%- # This holds the record summary information %]
15 <div id="rdetail_image_div">
16     [% ident = attrs.isbn_clean || attrs.upc; IF ident; %]
17     <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/[% ident | uri %]'><img
18         alt="[% l('Image of item') %]" id='rdetail_image'
19         src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/[% ident | uri %]' /></a>
20     [% END %]
21     <br />
22 </div>
23  
24 <div id="rdetail_actions_div">
25     <div class="rdetail_aux_utils place_hold">
26         <a href="[% mkurl(ctx.opac_root _ '/place_hold', 
27             {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}) %]" 
28         class="no-dec"><img src="[% ctx.media_prefix %]/images/green_check.png" alt="[% l('place hold') %]" /><span 
29         class="place_hold">[% l('Place Hold') %]</span></a>
30     </div>
31     <div class="rdetail_aux_utils toggle_list">
32     [%-  
33         operation = ctx.mylist.grep(ctx.bre_id).size ? "delete" : "add";
34         label = (operation == "add") ? l("Add to my list") : l("Remove from my list"); 
35     %]
36         <a href="[% ctx.opac_root %]/mylist/[% operation %]?record=[% ctx.bre_id %]" class="no-dec">
37             <img src="[% ctx.media_prefix %]/images/clipboard.png" alt="" />
38             [% label %]
39         </a>
40     </div>
41 </div>
42
43 <div id='rdetail_title_div'>
44     [%- IF attrs.format_icon %]
45     <div class="format_icon">
46         <img alt="[% attrs.format_label %]" title="[% attrs.format_label | html %]" src="[% attrs.format_icon %]" />
47     </div>
48     [%- END %]
49     <h1 id='rdetail_title'>[% attrs.title_extended | html %]</h1>
50     [%- INCLUDE "opac/parts/record/authors.tt2" %]
51 </div>
52
53 [%- IF openurl.enabled == 'true';
54     sfx = []
55     FOR issn IN args.issns;
56         sfx = sfx.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
57     END;
58     IF sfx.size && sfx.0 != '';
59 %]
60     <div id='rdetail_openurl'>
61         <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
62         <table><tbody>
63 [%-
64         FOR res IN sfx;
65 %]
66         <tr>
67             <td class='rdetail_openurl_entry'><a href="[% res.target_url %]">[% res.public_name %]</a></td>
68             <td>[% res.target_coverage %]</td>
69         </tr>
70     [%- END %]
71     </tbody></table>
72 [%- END %]
73 [%- IF sfx.size && sfx.0 != '' %]
74     </div>    
75 [%- END %]
76 [%- merged_uris = args.uris.merge(args.online_res);
77 num_uris = merged_uris.size;
78 IF num_uris > 0;
79 -%]
80 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
81 <div class="rdetail_uris">
82     [%- IF num_uris > 1 %]<ul>[% END %]
83     [%- FOR uri IN merged_uris %]
84         [%- IF num_uris == 1 %]<p class="rdetail_uri">[% ELSE %]<li class="rdetail_uri">[% END %]
85         <a href="[% uri.href %]">[% uri.link %]</a>[% ' - ' _ uri.note IF uri.note %]
86         [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
87     [%- END %]
88     [%- IF num_uris > 1 %]</ul>[% END %]
89 </div>
90 [%- END %]
91 [%- # hold/copy summary %]
92 [%- IF ctx.copy_summary.0.count %]
93 <div id='rdetail_copies'>
94 <h2>[% l('Copies') %]</h2>
95 <div class="rdetail_copy_counts">
96     <span>
97         [%- l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].", 
98             ctx.record_hold_count, ctx.copy_summary.0.count) %]
99     </span>
100     <span>[% l('[quant,_1,copy,copies] currently available.', ctx.copy_summary.0.available) %]</span>
101 </div>
102 <table cellpadding="0" cellspacing="0" border="0" width="100%" id="rdetails_status">
103     <thead>
104         <tr>
105             <th id='copy_header_library'>[% l("Location") %]</th>
106             <th id='copy_header_callnmber'>[% l("Call Number") %]</th>
107             <th id='copy_header_barcode'>[% l("Barcode") %]</th>
108             <th id='copy_header_shelfloc'>[% l("Shelving Location") %]</th>
109             [%- IF ctx.is_staff %]
110             <th id='copy_header_age_hold'>[% l("Age Hold Protection") %]</th>
111             <th id='copy_header_create_date'>[% l("Create Date") %]</th>
112             <th id='copy_header_holdable'>[% l("Holdable?") %]</th>
113             [%- END %]
114             <th id='copy_header_status'>[% l("Status") %]</th>
115             <th id='copy_header_due_date'>[% l("Due Date") %]</th>
116         </tr>
117     </thead>
118     <tbody class="copy_details_table">
119         [%- last_cn = 0;
120         FOR copy_info IN ctx.copies;
121             callnum = copy_info.call_number_label;
122             NEXT IF callnum == '##URI##';
123
124             callnum_prefix = copy_info.call_number_prefix_label;
125             IF callnum_prefix != "";
126                 callnum = callnum_prefix _ " " _ callnum;
127             END;
128
129             callnum_suffix = copy_info.call_number_suffix_label;
130             IF callnum_suffix != "";
131                 callnum = callnum  _ " " _ callnum_suffix;
132             END;
133         -%]
134         <tr>
135             <td header='copy_header_library'>
136             [%-
137                 org_name = ctx.get_aou(copy_info.circ_lib).name;
138                 org_name | html
139             -%]
140             </td>
141             <td header='copy_header_callnumber'>[% callnum | html %]</td>
142             <td header='copy_header_barcode'>[% copy_info.barcode | html %]</td>
143             <td header='copy_header_shelfloc'>[% copy_info.copy_location | html %]</td>
144             [%- IF ctx.is_staff %]
145             <td header='copy_header_age_hold'>
146                 [% copy_info.age_protect ?
147                     ctx.get_crahp(copy_info.age_protect).name : l('None') | html %]
148             </td>
149             <td header='copy_header_date_format'>[% date.format(
150                 ctx.parse_datetime(copy_info.create_date),
151                 DATE_FORMAT
152             ) %]</td>
153             <td header='copy_header_holdable'>[%  # Show copy/volume hold links to staff (without
154                     # checking whether they have permissions to do those).
155                     overall_holdable = (copy_info.holdable == 't' AND
156                         copy_info.location_holdable == 't' AND
157                         copy_info.status_holdable == 't');
158                     IF overall_holdable;
159                         l("Place on"); %]
160                 <a href="[% mkurl(ctx.opac_root _ '/place_hold', 
161                     {hold_target => copy_info.id, hold_type => 'C', hold_source_page => mkurl()}) %]">[% l("copy") %]</a>
162                 [%-      IF copy_info.call_number != last_cn;
163                             last_cn = copy_info.call_number;
164                             l(" / "); %]
165                 <a href="[% mkurl(ctx.opac_root _ '/place_hold', 
166                     {hold_target => copy_info.call_number, hold_type => 'V', hold_source_page => mkurl()}) %]">[% l("volume") %]</a>
167                 [%-      END;
168                     ELSE;
169                         l("No");
170                     END %]</td>
171             [%- END %]
172             <td header='copy_header_status'>[% copy_info.copy_status | html %]</td>
173             <td header='due_date'>[%
174                 IF copy_info.due_date;
175                     date.format(
176                         ctx.parse_datetime(copy_info.due_date),
177                         DATE_FORMAT
178                     );
179                 ELSE;
180                     '-';
181                 END %]</td>
182         </tr>
183         [%- END %]
184         <tr>
185         [%- IF ctx.copy_offset > 0;
186             new_offset = ctx.copy_offset - ctx.copy_limit;
187             IF new_offset < 0; new_offset = 0; END %]
188             <td>
189                 <a href="[% mkurl('', {copy_offset => new_offset, copy_limit => ctx.copy_limit}) %]">&laquo; [%
190                     l('Previous [_1]', ctx.copy_offset - new_offset) %]</a>
191             </td>
192         [%- END %]
193         [%- IF ctx.copies.size >= ctx.copy_limit %]
194             <td>
195                 <a href="[% mkurl('', {copy_offset => ctx.copy_offset + ctx.copy_limit, copy_limit => ctx.copy_limit}) %]">[%
196                     l('Next [_1]', ctx.copy_limit) %] &raquo;</a>
197             </td>
198         [%- END %]
199         </tr>
200         <tr>
201             <td>
202                 [%- more_copies_limit = 50 %] [%# TODO: config %]
203                 [%- IF  ctx.copy_limit != more_copies_limit AND ctx.copies.size >= ctx.copy_limit %]
204                     <div class="rdetail_show_copies">
205                         <img src="[% ctx.media_prefix %]/images/plus_sign.png" />
206                         <a href="[% mkurl('', {copy_limit => more_copies_limit, copy_offset => 0}) %]">[% l('Show more copies') %]</a>
207                     </div>
208                 [%- ELSIF ctx.copy_limit == more_copies_limit %]
209                     <div  class="rdetail_show_copies">
210                         <img src="[% ctx.media_prefix %]/images/minus_sign.png" />
211                         <a href="[% mkurl('', {copy_limit => 0, copy_offset => 0}) %]">[% l('Show fewer copies') %]</a>
212                     </div>
213                 [%- END %]
214             </td>
215         </tr>
216     </tbody>
217 </table>
218 </div>
219 [%- END %]
220
221 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
222 <ul>
223     [%- IF attrs.isbns.0; FOR isbn IN attrs.isbns %]
224     <li class='rdetail_isbns'>
225         <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
226         <span class='rdetail_value'>[% isbn | html  %]</span>
227     </li>
228         [%- END %]
229     [%- END %]
230     [%- IF attrs.issns.0; FOR issn IN attrs.issns %]
231     <li class='rdetail_issns'>
232         <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
233         <span class='rdetail_value'>[% issn | html  %]</span>
234     </li>
235         [%- END %]
236     [%- END %]
237     [%- IF attrs.phys_desc %]
238     <li id='rdetail_phys_desc'>
239         <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
240         <span class='rdetail_value'>[% attrs.phys_desc | html %]</span>
241     </li>
242     [%- END %]
243     [%- IF attrs.edition %]
244     <li id='rdetail_edition'>
245         <strong class='rdetail_label'>[% l("Edition:") %]</strong>
246         <span class='rdetail_value'>[% attrs.edition | html %]</span>
247     </li>
248     [%- END %]
249     [%- IF attrs.publisher %]
250     <li id='rdetail_publisher'>
251         <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
252         <span class='rdetail_value'>[% attrs.publisher | html %] [% IF attrs.pubdate; attrs.pubdate | html; END %]</span>
253     </li>
254     [%- END %]
255 </ul>
256
257 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
258 [%- INCLUDE "opac/parts/record/series.tt2" %]
259 [%- INCLUDE "opac/parts/record/extras.tt2" %]