1 [% PROCESS "opac/parts/misc_util.tt2";
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 _ '" />');
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>
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>
16 FOR link880 IN attrs.graphic_titles;
17 FOR alt IN link880.graphic;
18 '<h2 class="graphic880"';
20 ' dir="' _ alt.dir _ '"';
22 '>'; alt.value | html; '</h2>';
26 [%- INCLUDE "opac/parts/record/authors.tt2" %]
28 <div id="rdetail_image_div">
29 <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
30 alt="[% l('Image of item') %]" id='rdetail_image'
31 src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' /></a>
34 <div id="format_actions">
37 [%- IF attrs.format_label %]
38 [% FOR format IN attrs.all_formats %]
39 <img title="[% format.label | html %]"
40 alt="[% format.label | html %]"
41 src="[% format.icon %]" />
42 [% format.label | html %]
46 <div id="rdetail_actions_div">
47 [%- search_ou = ctx.search_ou;
48 IF ctx.place_unfillable ||
49 ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
50 && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
53 <div class="rdetail_aux_utils place_hold">
54 <a href="[% mkurl(ctx.opac_root _ '/place_hold',
55 {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]"
56 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png"
57 [% img_alt(l('Place Hold on [_1]', attrs.title)) %]/>
58 <span class="place_hold">[% l('Place Hold') %]</span></a>
61 <div class="rdetail_aux_utils toggle_list">
63 INCLUDE "opac/parts/bookbag_actions.tt2";
66 operation = ctx.mylist.grep(ctx.bre_id).size ? "delete" : "add";
67 label = (operation == "add") ? l("Add to my list") : l("Remove from my list");
69 <a href="[% mkurl(ctx.opac_root _ '/mylist/' _ operation, {record => ctx.bre_id}, stop_parms) %]" class="no-dec" rel="nofollow" vocab="">
70 <img src="[% ctx.media_prefix %]/images/clipboard.png" alt="" />
75 <div class="rdetail_aux_utils toggle_list">
76 [% IF ctx.mylist.size %]
78 <a href="[% mkurl(ctx.opac_root _ '/myopac/lists') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/clipboard.png" alt="[% l('View My Lists') %]" />[% l(' View My Lists') %]</a>
80 <a href="[% mkurl(ctx.opac_root _ '/mylist') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/clipboard.png" alt="[% l('View My Temporary List') %]" />[% l(' View My Temporary List') %]</a>
84 <div class="rdetail_aux_utils">
85 <img src="[% ctx.media_prefix %]/images/clipboard.png" alt="[% l('Print / Email Actions Image') %]" />
86 <a href="[% mkurl(ctx.opac_root _ '/record/print/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Print') %]</a> /
87 <a href="[% mkurl(ctx.opac_root _ '/record/email/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Email') %]</a>
89 [%- IF ctx.refworks.enabled == 'true' %]
90 [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
92 [% IF !ctx.is_staff %]
93 <div class="rdetail_aux_utils share_record">
94 <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]" class="no-dec">
95 <img src="[% ctx.media_prefix %]/images/link.png" alt="[% l('Permalink') %]" />
100 [%- IF ctx.is_staff %]
101 <div class="rdetail_aux_utils clear_addedcontent_cache">
102 <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]" class="no-dec" target="_blank">
103 [% l('Clear AddedContent Cache') %]
111 [%- IF openurl.enabled == 'true';
113 FOREACH issn IN args.issns;
115 openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
117 IF openurls.size && openurls.0 != '';
119 <div id='rdetail_openurl'>
120 <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
123 FOREACH res IN openurls;
126 <td class='rdetail_openurl_entry'><a href="[% res.target_url %]">[% res.public_name | html %]</a></td>
127 <td>[% res.target_coverage | html %]
128 [%- IF res.target_embargo != '';
130 res.target_embargo | html;
140 [%- merged_uris = args.uris.merge(args.online_res);
141 num_uris = merged_uris.size;
144 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
145 <div class="rdetail_uris">
146 [%- IF num_uris > 1 %]<ul>[% END %]
147 [%- FOR uri IN merged_uris %]
148 [%- IF num_uris == 1 -%]
149 <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
151 <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
153 <a href="[% uri.href %]" class="uri_link" property="url">
154 [%- IF uri.href != uri.link;
155 '<span property="description">' _ uri.link _ '</span>';
161 [%- ' - <span property="description">' _ uri.note _ '</span>' IF uri.note %]
162 <link property="availability" href="http://schema.org/OnlineOnly" />
163 [%- IF attrs.gtin13; '<meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
164 [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
166 [%- IF num_uris > 1 %]</ul>[% END %]
169 [%- # Hold/copy summary
170 IF ctx.copy_summary.0.count
172 <div id="copy_hold_counts">
173 [%- INCLUDE "opac/parts/record/copy_counts.tt2" %]
174 <span id="rdetail_hold_counts">
175 <h2>[% l('Current holds') %]</h2>
178 # If org hiding is enabled/relevant, only show
179 # counts for copies within the hiding scope.
181 FOR count_chunk IN ctx.copy_summary;
182 IF ctx.org_within_hiding_scope(count_chunk.org_unit);
183 # always true when hiding is disabled
186 count_entry = count_entry + 1;
188 l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].",
189 ctx.record_hold_count, ctx.copy_summary.$count_entry.count)
193 [%- INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies %]
197 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
199 [%- IF attrs.isbns.0;
200 FOR isbn IN attrs.isbns;
202 IF (matches = isbn.match('^(.+?)(\s.+)$'));
204 isbn_extra = matches.1;
207 <li class='rdetail_isbns'>
208 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
209 <span class='rdetail_value' property='isbn'>[% isbn | html %]</span>[% isbn_extra | html %]
213 [%- IF attrs.issns.0; FOR issn IN attrs.issns %]
214 <li class='rdetail_issns'>
215 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
216 <span class='rdetail_value'>[% issn | html %]</span>
220 [%- IF attrs.phys_desc %]
221 <li id='rdetail_phys_desc'>
222 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
223 <span class='rdetail_value'>[% attrs.phys_desc | html %]</span>
226 [%- IF attrs.edition %]
227 <li id='rdetail_edition'>
228 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
229 <span class='rdetail_value'>[% attrs.edition | html %]</span>
231 FOR entry IN attrs.graphic_editions;
232 FOR alt IN entry.graphic;
235 diratt = ' dir="' _ alt.dir _ '"';
238 <div class="graphic880 rdetail_value"[% diratt %]>
239 [% alt.value | html %]
247 [%- IF attrs.publisher %]
248 <li id='rdetail_publisher'>
249 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
250 <span class='rdetail_value' property="publisher" typeof="Organization">
251 [%- IF attrs.pubplace; %]
252 <span property="location">[% attrs.pubplace | html; %]</span>
254 <span property="name">[% attrs.publisher | html; %]</span>
256 [%- IF attrs.pubdate; %]
257 <span property="datePublished">[% attrs.pubdate | html; %]</span>
260 IF attrs.graphic_pubinfos.size > 0;
261 FOR entry IN attrs.graphic_pubinfos;
262 FOR alt IN entry.graphic;
265 diratt = ' dir="' _ alt.dir _ '"';
268 <div class="graphic880"[% diratt %]>
269 [% alt.value | html %]
278 [%- IF attrs.producer %]
279 <li id='rdetail_producer'>
280 <strong class='rdetail_label'>[% l("Producer:") %]</strong>
281 <span class='rdetail_value'>
282 [%- IF attrs.prodplace; %]
283 <span>[% attrs.prodplace | html; %]</span>
285 <span>[% attrs.producer | html; %]</span>
286 [%- IF attrs.proddate; %]
287 <span>[% attrs.proddate | html; %]</span>
292 [%- IF attrs.distributor %]
293 <li id='rdetail_distributor'>
294 <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
295 <span class='rdetail_value'>
296 [%- IF attrs.distplace; %]
297 <span>[% attrs.distplace | html; %]</span>
299 <span>[% attrs.distributor | html; %]</span>
300 [%- IF attrs.distdate; %]
301 <span>[% attrs.distdate | html; %]</span>
306 [%- IF attrs.manufacturer %]
307 <li id='rdetail_manufacturer'>
308 <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
309 <span class='rdetail_value' property="manufacturer" typeof="Organization">
310 [%- IF attrs.manplace; %]
311 <span property="location">[% attrs.manplace | html; %]</span>
313 <span property="name">[% attrs.manufacturer | html; %]</span>
314 [%- IF attrs.mandate; %]
315 <span>[% attrs.mandate | html; %]</span>
320 [%- IF attrs.copyright %]
321 <li id='rdetail_copyright'>
322 <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
323 <span class='rdetail_value'>[% attrs.copyright | html_entity; %]
324 [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
325 [%- IF attrs.copyrightYear -%]
326 <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
331 [%- IF (ctx.badge_scores.size > 0) %]
332 <li id='rdetail_badges'>
333 <strong class='rdetail_label'>[% l("Badges:") %]</strong>
335 [% FOR bscore IN ctx.badge_scores; %]
336 <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
342 [%- INCLUDE "opac/parts/record/contents.tt2" %]
343 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
344 [%- INCLUDE "opac/parts/record/series.tt2" %]
345 [%- INCLUDE "opac/parts/record/extras.tt2" %]