1 [% PROCESS "opac/parts/misc_util.tt2";
3 ctx.page_title = attrs.title | html
5 <meta property="og:image" content="' _ ctx.media_prefix _ '/opac/extras/ac/jacket/large/r/' _ ctx.bre_id _ '" />');
7 <!-- ****************** rdetail_summary.xml ***************************** -->
8 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, ' %Y') %]:biblio-record_entry/[%
13 [%-# This holds the record summary information %]
15 <div class="col-lg-3">
16 <div id="rdetail_image_div" class="w-100 text-center">
17 [%- IF obalkyknih_cz.enabled == 'true' %]
21 isbnissn = attrs.isbns.0;
22 IF (matches = isbnissn.match('^(.+?)(\s.+)$'));
27 isbnissn=attrs.issns.0;
30 <a href='http://obalkyknih.cz/view?isbn=[% isbnissn %]'>
31 <img alt="[% attrs.title _ ' Cover Image' | html %]" class='img-thumbnail w-auto'
32 src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
35 <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
36 alt="[% attrs.title _ ' Cover Image' | html %]" class='img-thumbnail w-auto'
37 src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
41 [%- IF attrs.format_label %]
42 [% FOR format IN attrs.all_formats %]
43 <span style="font-size:14px;" class="mt-3 d-block">
44 <img alt="[% format.label | html %]" src="[% format.icon %]" />
45 [% format.label | html %]
56 <div class="col-lg-9">
57 <div class="row h-100">
58 <div class="col-lg-8">
59 <h1 class='h1' property="name">[% IF attrs.hl.title; attrs.hl.title; ELSE; attrs.title_extended | html; END %]</h1>
61 FOR link880 IN attrs.graphic_titles;
62 FOR alt IN link880.graphic;
63 '<h2 class="graphic880"';
65 ' dir="' _ alt.dir _ '"';
67 '>'; alt.value | html; '</h2>';
71 [%- INCLUDE "opac/parts/record/authors.tt2" %]
73 <button id="btnMore" data-toggle="collapse" data-target="#demo"
74 class="btn btn-action btn-sm my-3"><i class="fas fa-info-circle" aria-hidden="true"></i> More Details</button>
75 <div id="demo" class="collapse">
76 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
77 <ul class="list-unstyled">
78 [%- IF attrs.hl.isbn.size; FOR isbn IN attrs.hl.isbn %]
79 <li class='rdetail_isbns'>
80 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong> [% isbn %]
82 [%- END; ELSIF attrs.isbns.0;
83 FOR isbn IN attrs.isbns;
85 IF (matches = isbn.match('^(.+?)(\s.+)$'));
87 isbn_extra = matches.1;
90 <li class='rdetail_isbns'>
91 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
92 <span class='rdetail_value' property='isbn'>[% isbn | html %]</span>[% isbn_extra | html
97 [%- IF attrs.hl.issn.size; FOR issn IN attrs.hl.issn %]
98 <li class='rdetail_issns'>
99 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong> [% issn %]
101 [%- END; ELSIF attrs.issns.0; FOR issn IN attrs.issns %]
102 <li class='rdetail_issns'>
103 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
104 <span class='rdetail_value'>[% issn | html %]</span>
108 [%- IF attrs.hl.physical_description.size %]
110 filtered_hl_phys_desc = [];
111 FOR hl_phys_desc IN attrs.hl.physical_description;
112 hl_phys_desc = hl_phys_desc | html;
113 filtered_hl_phys_desc.push(hl_phys_desc);
116 <li id='rdetail_phys_desc'>
117 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
118 <span class='rdetail_value' highlighted='true'>[%
119 filtered_hl_phys_desc.join('<br/>') %]</span>
121 [%- ELSIF attrs.phys_desc %]
122 <li id='rdetail_phys_desc'>
123 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
124 <span class='rdetail_value'>[% attrs.phys_desc | html %]</span>
127 [%- IF attrs.hl.edition %]
128 <li id='rdetail_edition'>
129 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
130 <span class='rdetail_value' highlighted='true'>[% attrs.hl.edition %]</span>
131 [%- ELSIF attrs.edition %]
132 <li id='rdetail_edition'>
133 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
134 <span class='rdetail_value'>[% attrs.edition | html %]</span>
136 FOR entry IN attrs.graphic_editions;
137 FOR alt IN entry.graphic;
140 diratt = ' dir="' _ alt.dir _ '"';
143 <div class="graphic880 rdetail_value" [% diratt %]>
144 [% alt.value | html %]
152 [%- IF attrs.hl.publisher %]
153 <li id='rdetail_publisher'>
154 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
155 <span class='rdetail_value' highlighted='true'>[% attrs.hl.publisher %]</span>
157 [%- ELSIF attrs.publisher %]
158 <li id='rdetail_publisher'>
159 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
160 <span class='rdetail_value' property="publisher" typeof="Organization">
161 [%- IF attrs.pubplace; %]
162 <span property="location">[% attrs.pubplace | html; %]</span>
164 <span property="name">[% attrs.publisher | html; %]</span>
166 [%- IF attrs.pubdate; %]
167 <span property="datePublished">[% attrs.pubdate | html; %]</span>
170 IF attrs.graphic_pubinfos.size > 0;
171 FOR entry IN attrs.graphic_pubinfos;
172 FOR alt IN entry.graphic;
175 diratt = ' dir="' _ alt.dir _ '"';
178 <div class="graphic880" [% diratt %]>
179 [% alt.value | html %]
188 [%- IF attrs.producer %]
189 <li id='rdetail_producer'>
190 <strong class='rdetail_label'>[% l("Producer:") %]</strong>
191 <span class='rdetail_value'>
192 [%- IF attrs.prodplace; %]
193 <span>[% attrs.prodplace | html; %]</span>
195 <span>[% attrs.producer | html; %]</span>
196 [%- IF attrs.proddate; %]
197 <span>[% attrs.proddate | html; %]</span>
202 [%- IF attrs.distributor %]
203 <li id='rdetail_distributor'>
204 <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
205 <span class='rdetail_value'>
206 [%- IF attrs.distplace; %]
207 <span>[% attrs.distplace | html; %]</span>
209 <span>[% attrs.distributor | html; %]</span>
210 [%- IF attrs.distdate; %]
211 <span>[% attrs.distdate | html; %]</span>
216 [%- IF attrs.manufacturer %]
217 <li id='rdetail_manufacturer'>
218 <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
219 <span class='rdetail_value' property="manufacturer" typeof="Organization">
220 [%- IF attrs.manplace; %]
221 <span property="location">[% attrs.manplace | html; %]</span>
223 <span property="name">[% attrs.manufacturer | html; %]</span>
224 [%- IF attrs.mandate; %]
225 <span>[% attrs.mandate | html; %]</span>
230 [%- IF attrs.copyright %]
231 <li id='rdetail_copyright'>
232 <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
233 <span class='rdetail_value'>[% attrs.copyright | html_entity; %]
234 [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
235 [%- IF attrs.copyrightYear -%]
236 <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
241 [%- IF (ctx.badge_scores.size > 0 && ctx.hide_badge_scores != 'true') %]
242 <li id='rdetail_badges'>
243 <strong class='rdetail_label'>[% l("Badges:") %]</strong>
245 [% FOR bscore IN ctx.badge_scores; %]
246 <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
254 [%- INCLUDE "opac/parts/record/contents.tt2" %]
255 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
256 [%- INCLUDE "opac/parts/record/series.tt2" %]
259 # l( 'mmr id = ' _ ctx.mmr_id );
260 # l( 'mmr data = ' _ ctx.mmr_data );
261 mmr_attrs = {marc_xml => ctx.mmr_data.marc_xml};
262 PROCESS get_marc_attrs args=mmr_attrs;
264 IF args.mmr_unique_bib.size > 1;
266 <h3>[% l("More Options") %]</h3>
267 <span class="metarecord_population_format">
268 [%- IF mmr_attrs.format_label;
270 FOR format IN mmr_attrs.all_formats;
272 link = mkurl(ctx.opac_root _ '/record/' _ format.source_bibs.0);
273 IF format.source_bibs.size > 1;
274 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
275 ctx.mmr_id, 'fi:icon_format' => format.search_format, 'fi:from_metarecord' => ctx.mmr_id
276 }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms,
278 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
280 <span class="metarecord_population_span_link">
281 <a href="[%- l( link ) %]">
282 [% format.label | html %]
283 ([%- l( format.source_bibs.size ) %])
288 [%- IF mmr_attrs.all_lang.size > 0 %]
289 <span class="metarecord_population_item_lang">
290 [% FOR lang IN mmr_attrs.all_lang;
291 link = mkurl(ctx.opac_root _ '/record/' _ lang.source_bibs.0);
292 IF lang.source_bibs.size > 1;
293 USE url(ctx.opac_root _ '/results');
294 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
295 ctx.mmr_id, 'fi:item_lang' => lang.search_format, 'fi:from_metarecord' => ctx.mmr_id },
296 stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms,
298 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
300 <span class="metarecord_population_span_link">
301 <a href="[%- l( link ) %]">
302 [% lang.label | html %]
303 ([%- l( lang.source_bibs.size ) %])
306 </span> <!-- metarecord_population_item_lang -->
308 <div class="metarecord_population_all">
310 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
311 ctx.mmr_id, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms,
312 general_search_parms, browse_search_parms, facet_search_parms,
313 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord'] ) );
315 <span class="metarecord_population_span_link">
316 <a href="[%- l( link ) %]">[% l("View all formats and editions ") %] ([%-
317 args.mmr_unique_bib.size %])
321 END # ending tag for IF args.mmr_unique_bib.size > 1; %]
327 <script>jQuery('#demo').on('hidden.bs.collapse', function () {
328 jQuery('#btnMore').html("<i class='fas fa-info-circle' aria-hidden='true'></i> More Details");
330 jQuery('#demo').on('shown.bs.collapse', function () {
331 jQuery('#btnMore').html("<i class='fas fa-info-circle' aria-hidden='true'></i> Less Details");
335 <div id="copy_hold_counts">
339 IF ctx.copy_summary.0.count;
340 INCLUDE "opac/parts/record/copy_counts.tt2";
346 </div> <!-- metarecord_population -->
348 <!--rdetail_title_div-->
350 <div class="col-lg-4">
351 <div id="actions" class="mx-auto btn-group btn-group-vertical dropright mt-3">
352 [%- search_ou = ctx.search_ou;
353 IF ctx.place_unfillable ||
354 ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
355 && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
359 <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/place_hold',
360 {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]">
361 <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Place Hold') %]</span></a>
365 [%- IF ebook_api.enabled == 'true' && args.ebook %]
367 <div id="[%- ctx.bre_id -%]_ebook_checkout" class="rdetail_aux_utils ebook_action hidden">
368 <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/myopac/ebook_checkout',
369 {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'checkout'}, stop_parms) %]"
370 rel="nofollow" vocab="">
371 <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Check Out E-Item') %]</span></a>
375 <div id="[%- ctx.bre_id -%]_ebook_place_hold" class="rdetail_aux_utils ebook_action hidden">
376 <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/myopac/ebook_place_hold',
377 {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'place_hold'}, stop_parms) %]"
378 rel="nofollow" vocab="">
379 <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Place Hold on E-Item') %]</span></a>
386 [% operation = ctx.mylist.grep('^' _ ctx.bre_id _ '$').size ? "delete" : "add";
387 addhref = mkurl(ctx.opac_root _ '/mylist/add', {record => ctx.bre_id}, stop_parms);
388 delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => ctx.bre_id}, stop_parms);
389 label = (operation == "add") ? l("Add to Basket") : l("Remove from Basket");
391 <a href="[% addhref %]" id="mylist_add_[% ctx.bre_id %]"
392 data-recid="[% ctx.bre_id %]" data-action="add" role="button"
393 class="btn btn-action mylist_action [% IF ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
394 title="[% l(" Add [_1] to basket", attrs.title) | html %]" rel="nofollow" vocab="">
395 <i class="fas fa-shopping-basket" aria-hidden="true"></i>
396 [% l("Add to basket") %]
398 <a href="[% delhref %]" id="mylist_delete_[% ctx.bre_id %]"
399 data-recid="[% ctx.bre_id %]" data-action="delete" role="button"
400 class="btn btn-action mylist_action [% IF !ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
401 title="[% l(" Remove [_1] from basket", attrs.title) | html %]" rel="nofollow" vocab="">
402 <i class="fas fa-minus-circle" aria-hidden="true"></i>
403 [% l("Remove from basket") %]
406 [% IF ctx.mylist.size %]
409 <a href="[% mkurl(ctx.opac_root _ '/myopac/lists') %]" class="btn btn-action" role="button" rel="nofollow" vocab=""><i class="fas fa-glasses" aria-hidden="true"></i> [% l(' View Basket') %]</a>
411 <a href="[% mkurl(ctx.opac_root _ '/mylist') %]" class="btn btn-action" role="button" rel="nofollow" vocab=""><i class="fas fa-glasses" aria-hidden="true"></i> [% l(' View My Basket') %]</a>
416 [% IF !ctx.is_staff %]
418 [% INCLUDE "opac/parts/bookbag_actions.tt2"; %]
424 <a href="[% mkurl(ctx.opac_root _ '/record/print_preview/' _ ctx.bre_id) %]" class="btn btn-action" role="button" rel="nofollow"
425 vocab=""><i class="fas fa-print" aria-hidden="true"></i>[% l('Print') %]</a>
426 <a href="[% mkurl(ctx.opac_root _ '/record/email_preview/' _ ctx.bre_id) %]" class="btn btn-action" role="button" rel="nofollow"
427 vocab=""> <i class="fas fa-envelope-open-text" aria-hidden="true"></i>[% l('Email') %]</a>
429 [%- IF ctx.refworks.enabled == 'true' %]
430 [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
432 [% IF !ctx.is_staff %]
434 <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]"
435 class="btn btn-action" role="button">
436 <i class="fas fa-link" aria-hidden="true"></i>
441 [% IF !search.no_highlight %]
443 [% IF CGI.param('no_highlight') %]
444 <a class="btn btn-action no-dec" role="button" href="[% mkurl('', {}, ['no_highlight']) %]">
446 <a href="[% mkurl('', {no_highlight => '1'}) %]" class="btn btn-action" role="button">
448 <i class="fas fa-highlighter" aria-hidden="true"></i>
449 [% CGI.param('no_highlight') ? l('Enable Highlighting') : l('Disable Highlighting') %]
453 [%- IF ctx.is_staff %]
455 <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]"
456 class="btn btn-action" role="button" target="_blank">
457 <i class="fas fa-sync-alt" aria-hidden="true"></i>
458 [% l('Clear Added Content Cache') %]
472 <div class="float-right">
474 <h2 class="text-right">[% l('Holds') %]</h2>
475 <p class="text-right">
477 # If org hiding is enabled/relevant, only show
478 # counts for copies within the hiding scope.
480 FOR count_chunk IN ctx.copy_summary;
481 IF ctx.org_within_hiding_scope(count_chunk.org_unit);
482 # always true when hiding is disabled
485 count_entry = count_entry + 1;
487 l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].",
488 ctx.record_hold_count, ctx.copy_summary.$count_entry.count)
495 IF ctx.copy_summary.0.count;
496 INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies;
501 [%- IF openurl.enabled == 'true';
503 FOREACH issn IN args.issns;
505 openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
507 IF openurls.size && openurls.0 != '';
509 <div id='rdetail_openurl'>
510 <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
514 FOREACH res IN openurls;
517 <td class='rdetail_openurl_entry'><a href="[% res.target_url %]">[% res.public_name | html
519 <td>[% res.target_coverage | html %]
520 [%- IF res.target_embargo != '';
522 res.target_embargo | html;
533 [%- merged_uris = args.uris.merge(args.online_res);
534 num_uris = merged_uris.size;
538 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
539 <div class="rdetail_uris">
540 [%- IF num_uris > 1 %]<ul>[% END %]
541 [%- FOR uri IN merged_uris %]
543 filtered_href = uri.href | html;
544 filtered_link = uri.link ? uri.link : '' | html;
545 filtered_note = uri.note ? uri.note : '' | html;
547 [%- IF num_uris == 1 -%]
548 <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
550 <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
552 <a href="[% filtered_href %]" class="uri_link" property="url">
553 [%- IF filtered_href != filtered_link;
554 '<span property="description">' _ filtered_link _ '</span>';
561 [%-# ' - <span property="description">' _ filtered_note _ '</span>' IF filtered_note %]
562 <link property="availability" href="http://schema.org/OnlineOnly" />
563 [%- IF attrs.gtin13; '
564 <meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
565 [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
567 [%- IF num_uris > 1 %]</ul>[% END %]
570 IF ebook_api.enabled == 'true';
571 INCLUDE "opac/parts/ebook_api/avail.tt2";
577 [%- INCLUDE "opac/parts/record/extras.tt2" %]