]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/record/summary.tt2
42835fd87687f37233d3d8533f441d1498fb5bca
[working/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     ctx.metalinks.push('<meta property="og:image" content="' _ ctx.media_prefix _ '/opac/extras/ac/jacket/large/r/' _ ctx.bre_id _ '" />');
5 %]
6 <!-- ****************** rdetail_summary.xml ***************************** -->
7 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, '%Y') %]:biblio-record_entry/[% ctx.bre_id %]'></abbr>
8
9 <hr />
10
11 [%-# This holds the record summary information %]
12 <div id="rdetail_summary_header">
13     <div id='rdetail_title_div'>
14         <h1 id='rdetail_title' property="name">[% attrs.title_extended | html %]</h1>
15         [%-
16             FOR link880 IN attrs.graphic_titles;
17                 FOR alt IN link880.graphic;
18                     '<h2 class="graphic880"';
19                     IF alt.dir;
20                         ' dir="' _ alt.dir _ '"';
21                     END;
22                     '>'; alt.value | html; '</h2>';
23                 END;
24             END;
25         -%]
26         [%- INCLUDE "opac/parts/record/authors.tt2" %]
27     </div>
28     <div id="rdetail_image_div">
29         [%- IF obalkyknih_cz.enabled == 'true' %]
30         [%- 
31             isbnissn = '';
32             IF attrs.isbns.0;
33                     isbnissn = attrs.isbns.0;
34                     IF (matches = isbnissn.match('^(.+?)(\s.+)$'));
35                         isbnissn = matches.0;
36                     END;
37                 END;
38             IF attrs.issns.0;
39                 isbnissn=attrs.issns.0;
40             END;
41         %]
42         <a href='http://obalkyknih.cz/view?isbn=[% isbnissn %]'>
43             <img
44               alt="[% l('Image of item') %]" id='rdetail_image'
45               src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
46         </a>
47         [%  ELSE %]
48             <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
49                     alt="[% l('Image of item') %]" id='rdetail_image'
50                     src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
51             </a>
52         [%- END %]
53         <br />
54     </div>
55     <div id="format_actions">
56
57
58         [%- IF attrs.format_label %]
59           [% FOR format IN attrs.all_formats %]
60               <img title="[% format.label | html %]" 
61                   alt="[% format.label | html %]" 
62                   src="[% format.icon %]" /> 
63               [% format.label | html %]
64           [% END %]
65         [%- END %]
66
67         <div id="rdetail_actions_div">
68             [%- search_ou = ctx.search_ou;
69                 IF ctx.place_unfillable ||
70                     ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
71                         && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
72                     )
73              %]
74             <div class="rdetail_aux_utils place_hold">
75                 <a href="[% mkurl(ctx.opac_root _ '/place_hold', 
76                     {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]" 
77                 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
78                     [% img_alt(l('Place Hold on [_1]', attrs.title)) %]/>
79                 <span class="place_hold">[% l('Place Hold') %]</span></a>
80             </div>
81             [%- END -%]
82             <div class="rdetail_aux_utils toggle_list">
83         [% IF !ctx.is_staff %]
84             [%  IF ctx.user;
85                 INCLUDE "opac/parts/bookbag_actions.tt2";
86             %]
87             [%  ELSE;
88                 operation = ctx.mylist.grep(ctx.bre_id).size ? "delete" : "add";
89                 label = (operation == "add") ? l("Add to my list") : l("Remove from my list");
90             %]
91                 <a href="[% mkurl(ctx.opac_root _ '/mylist/' _ operation, {record => ctx.bre_id}, stop_parms) %]" class="no-dec" rel="nofollow" vocab="">
92                     <img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="" />
93                     [% label %]
94                 </a>
95             [% END %]
96         [% END %]
97             </div>
98             <div class="rdetail_aux_utils toggle_list">
99                      [% IF ctx.mylist.size %]
100                         [%- IF ctx.user; %]
101                         <a href="[% mkurl(ctx.opac_root _ '/myopac/lists') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('View My Lists') %]" />[% l(' View My Lists') %]</a>
102                         [%- ELSE %]
103                         <a href="[% mkurl(ctx.opac_root _ '/mylist') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('View My Temporary List') %]" />[% l(' View My Temporary List') %]</a>
104                         [%- END %]
105                     [% END %]
106                 </div>
107                 <div class="rdetail_aux_utils">
108                     <img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('Print / Email Actions Image') %]" />
109                     <a href="[% mkurl(ctx.opac_root _ '/record/print/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Print') %]</a> /
110                     <a href="[% mkurl(ctx.opac_root _ '/record/email/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Email') %]</a>
111                 </div>
112                 [%- IF ctx.refworks.enabled == 'true' %]
113                     [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
114                 [%- END %]
115             [% IF !ctx.is_staff %]
116                 <div class="rdetail_aux_utils share_record">
117                     <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]" class="no-dec">
118                          <img src="[% ctx.media_prefix %]/images/link.png[% ctx.cache_key %]" alt="[% l('Permalink') %]" />
119                          [% l('Permalink') %]
120                     </a>
121                 </div>
122             [% END %]
123             [%- IF ctx.is_staff %]
124             <div class="rdetail_aux_utils clear_addedcontent_cache">
125                 <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]" class="no-dec" target="_blank">
126                      [% l('Clear AddedContent Cache') %]
127                 </a>
128             </div>
129             [%- END %]
130         </div>
131     </div>
132 </div>
133
134 [%- IF openurl.enabled == 'true';
135     openurls = [];
136     FOREACH issn IN args.issns;
137         NEXT IF issn == '';
138         openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
139     END;
140     IF openurls.size && openurls.0 != '';
141 %]
142     <div id='rdetail_openurl'>
143         <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
144         <table><tbody>
145 [%-
146         FOREACH res IN openurls;
147 %]
148         <tr>
149             <td class='rdetail_openurl_entry'><a href="[% res.target_url %]">[% res.public_name | html %]</a></td>
150             <td>[% res.target_coverage | html %]
151             [%- IF res.target_embargo != '';
152                     ' - ';
153                     res.target_embargo | html;
154                 END;
155             -%]
156             </td>
157         </tr>
158     [%- END %]
159     </tbody></table>
160     </div>    
161 [%- END %]
162 [%- END %]
163 [%- merged_uris = args.uris.merge(args.online_res);
164 num_uris = merged_uris.size;
165 IF num_uris > 0;
166 -%]
167 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
168 <div class="rdetail_uris">
169     [%- IF num_uris > 1 %]<ul>[% END %]
170     [%- FOR uri IN merged_uris %]
171         [%- IF num_uris == 1 -%]
172             <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
173         [%- ELSE -%]
174             <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
175         [%- END -%]
176         <a href="[% uri.href %]" class="uri_link" property="url">
177         [%- IF uri.href != uri.link;
178                 '<span property="description">' _ uri.link _ '</span>';
179             ELSE;
180                 uri.link;
181             END;
182         -%]
183         </a>
184         [%- ' - <span property="description">' _ uri.note _ '</span>' IF uri.note %]
185         <link property="availability" href="http://schema.org/OnlineOnly" />
186         [%- IF attrs.gtin13; '<meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
187         [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
188     [%- END %]
189     [%- IF num_uris > 1 %]</ul>[% END %]
190 </div>
191 [%
192 IF ebook_api.enabled == 'true';
193     INCLUDE "opac/parts/ebook_api/avail.tt2";
194 END;
195 %]
196 [%- END %]
197 <div id="copy_hold_counts">
198 [%-
199 # Hold/copy summary
200 IF ctx.copy_summary.0.count;
201 INCLUDE "opac/parts/record/copy_counts.tt2";
202 %]
203     <span id="rdetail_hold_counts">
204         <h2>[% l('Current holds') %]</h2>
205         <p>
206             [% 
207                 # If org hiding is enabled/relevant, only show 
208                 # counts for copies within the hiding scope.
209                 count_entry = 0;
210                 FOR count_chunk IN ctx.copy_summary;
211                     IF ctx.org_within_hiding_scope(count_chunk.org_unit);
212                         # always true when hiding is disabled
213                         LAST;
214                     END;
215                     count_entry = count_entry + 1;
216                 END;
217                 l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].", 
218                     ctx.record_hold_count, ctx.copy_summary.$count_entry.count) 
219             %]
220         </p>
221     </span>
222 [%- END %]
223 <div id="metarecord_population">
224 [%-
225 # l( 'mmr id = ' _ ctx.mmr_id );
226 # l( 'mmr data = ' _ ctx.mmr_data );
227 mmr_attrs = {marc_xml => ctx.mmr_data.marc_xml};
228 PROCESS get_marc_attrs args=mmr_attrs;
229
230 IF args.mmr_unique_bib.size > 1;
231 %]
232 <h3>[% l("View other formats and editions") %]</h3>
233 <span class="metarecord_population_format">
234 [%- IF mmr_attrs.format_label;
235     FOR format IN mmr_attrs.all_formats;
236
237         link = mkurl(ctx.opac_root _ '/record/' _ format.source_bibs.0);
238         IF format.source_bibs.size > 1;
239             link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:icon_format' => format.search_format, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
240         END; -%]
241         <span class="metarecord_population_span_link">
242             <a href="[%- l( link ) %]">
243         [% format.label | html %]
244         ([%- l( format.source_bibs.size ) %])
245         </a></span><br />
246
247     [%- END %]
248     </span>
249     [%- IF mmr_attrs.all_lang.size > 0 %]
250     <span class="metarecord_population_item_lang">
251     [% FOR lang IN mmr_attrs.all_lang;
252         link = mkurl(ctx.opac_root _ '/record/' _ lang.source_bibs.0);
253         IF lang.source_bibs.size > 1;
254             USE url(ctx.opac_root _ '/results');
255             link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:item_lang' => lang.search_format, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
256         END; -%]
257         <span class="metarecord_population_span_link">
258             <a href="[%- l( link ) %]">
259         [% lang.label | html %]
260         ([%- l( lang.source_bibs.size ) %])
261         </a></span><br />
262     [%- END %]
263     </span> <!-- metarecord_population_item_lang -->
264 [%- END %]
265 <div class="metarecord_population_all">
266     [%
267     link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord'] ) );
268     %]
269     <span class="metarecord_population_span_link">
270         <a href="[%- l( link ) %]">[% l("View all formats and editions ") %] ([%- args.mmr_unique_bib.size %]) 
271         </a></span><br />
272 </div>
273 [%- END;
274 END # ending tag for IF args.mmr_unique_bib.size > 1; %]
275 </div> <!-- metarecord_population -->
276 [%-
277 IF ctx.copy_summary.0.count;
278 INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies;
279 END;
280  %]
281 </div>
282
283 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
284 <ul>
285     [%- IF attrs.isbns.0;
286           FOR isbn IN attrs.isbns;
287             isbn_extra = '';
288             IF (matches = isbn.match('^(.+?)(\s.+)$'));
289               isbn = matches.0;
290               isbn_extra = matches.1;
291             END;
292     %]
293     <li class='rdetail_isbns'>
294         <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
295         <span class='rdetail_value' property='isbn'>[% isbn | html  %]</span>[% isbn_extra | html %]
296     </li>
297         [%- END %]
298     [%- END %]
299     [%- IF attrs.issns.0; FOR issn IN attrs.issns %]
300     <li class='rdetail_issns'>
301         <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
302         <span class='rdetail_value'>[% issn | html  %]</span>
303     </li>
304         [%- END %]
305     [%- END %]
306     [%- IF attrs.phys_desc %]
307     <li id='rdetail_phys_desc'>
308         <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
309         <span class='rdetail_value'>[% attrs.phys_desc | html %]</span>
310     </li>
311     [%- END %]
312     [%- IF attrs.edition %]
313     <li id='rdetail_edition'>
314         <strong class='rdetail_label'>[% l("Edition:") %]</strong>
315         <span class='rdetail_value'>[% attrs.edition | html %]</span>
316         [%-
317         FOR entry IN attrs.graphic_editions;
318             FOR alt IN entry.graphic;
319                 diratt = "";
320                 IF alt.dir;
321                     diratt = ' dir="' _ alt.dir _ '"';
322                 END;
323         -%]
324         <div class="graphic880 rdetail_value"[% diratt %]>
325             [% alt.value | html %]
326         </div>
327         [%-
328             END;
329         END;
330         -%]
331     </li>
332     [%- END %]
333     [%- IF attrs.publisher %]
334     <li id='rdetail_publisher'>
335         <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
336         <span class='rdetail_value' property="publisher" typeof="Organization">
337         [%- IF attrs.pubplace; %]
338             <span property="location">[% attrs.pubplace | html; %]</span>
339         [%- END; %]
340             <span property="name">[% attrs.publisher | html; %]</span>
341         </span>
342         [%- IF attrs.pubdate; %]
343             <span property="datePublished">[% attrs.pubdate | html; %]</span>
344         [%- END; %]
345         [%-
346         IF attrs.graphic_pubinfos.size > 0;
347             FOR entry IN attrs.graphic_pubinfos;
348                 FOR alt IN entry.graphic;
349                     diratt = "";
350                     IF alt.dir;
351                         diratt = ' dir="' _ alt.dir _ '"';
352                     END;
353         -%]
354         <div class="graphic880"[% diratt %]>
355             [% alt.value | html %]
356         </div>
357         [%-
358                 END;
359             END;
360         END
361         -%]
362     </li>
363     [%- END %]
364     [%- IF attrs.producer %]
365         <li id='rdetail_producer'>
366             <strong class='rdetail_label'>[% l("Producer:") %]</strong>
367             <span class='rdetail_value'>
368             [%- IF attrs.prodplace; %]
369                 <span>[% attrs.prodplace | html; %]</span>
370             [%- END; %]
371                 <span>[% attrs.producer | html; %]</span>
372             [%- IF attrs.proddate; %]
373                 <span>[% attrs.proddate | html; %]</span>
374             [%- END; %]
375             </span>
376         </li>
377     [%- END %]
378     [%- IF attrs.distributor %]
379         <li id='rdetail_distributor'>
380             <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
381             <span class='rdetail_value'>
382             [%- IF attrs.distplace; %]
383                 <span>[% attrs.distplace | html; %]</span>
384             [%- END; %]
385                 <span>[% attrs.distributor | html; %]</span>
386             [%- IF attrs.distdate; %]
387                 <span>[% attrs.distdate | html; %]</span>
388             [%- END; %]
389             </span>
390         </li>
391     [%- END %]
392     [%- IF attrs.manufacturer %]
393         <li id='rdetail_manufacturer'>
394             <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
395             <span class='rdetail_value' property="manufacturer" typeof="Organization">
396             [%- IF attrs.manplace; %]
397                 <span property="location">[% attrs.manplace | html; %]</span>
398             [%- END; %]
399                 <span property="name">[% attrs.manufacturer | html; %]</span>
400             [%- IF attrs.mandate; %]
401                 <span>[% attrs.mandate | html; %]</span>
402             [%- END; %]
403             </span>
404         </li>
405     [%- END %]
406     [%- IF attrs.copyright %]
407     <li id='rdetail_copyright'>
408         <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
409         <span class='rdetail_value'>[% attrs.copyright | html_entity; %]
410         [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
411         [%- IF attrs.copyrightYear -%]
412             <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
413         [%- END -%]
414         </span>
415     </li>
416     [%- END %]
417     [%- IF (ctx.badge_scores.size > 0) %]
418     <li id='rdetail_badges'>
419         <strong class='rdetail_label'>[% l("Badges:") %]</strong>
420         <ul>
421           [% FOR bscore IN ctx.badge_scores; %]
422             <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
423         [%- END -%]
424         </ul>
425     </li>
426     [%- END %]
427 </ul>
428 [%- INCLUDE "opac/parts/record/contents.tt2" %]
429 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
430 [%- INCLUDE "opac/parts/record/series.tt2" %]
431 [%- INCLUDE "opac/parts/record/extras.tt2" %]