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