Bug 24699: Split items.uri in OPAC detail view
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-basket.tt
1 [% USE raw %]
2 [% USE Koha %]
3 [% USE KohaDates %]
4 [% USE Asset %]
5 [% SET is_popup = 1 %]
6 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && TagsEnabled && TagsInputOnList ) %]
7
8 [% INCLUDE 'doc-head-open.inc' %]
9 <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog &rsaquo; Your cart</title>
10 [% INCLUDE 'doc-head-close.inc' %]
11 [% BLOCK cssinclude %]<style>.item-status, .dt-buttons { display: inline; } @media print { body { height: 99%; } }</style>[% END %]
12 </head>
13 [% INCLUDE 'bodytag.inc' bodyid='basket' %]
14     <div class="main">
15         <div class="container-fluid">
16             <div class="row-fluid">
17                 <div class="span12">
18                     <div id="userbasket">
19                         <h2>Your cart</h2>
20                             <div id="toolbar" class="toolbar noprint">
21                                 [% IF ( verbose ) %]
22                                     <a href="opac-basket.pl" class="btn btn-link brief"><i class="fa fa-fw fa-search-minus"></i> Brief display</a>
23                                 [% ELSE %]
24                                     <a href="opac-basket.pl" class="btn btn-link detail"><i class="fa fa-fw fa-search-plus"></i> More details</a>
25                                 [% END %]
26                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
27                                     <a class="btn btn-link send" href="opac-basket.pl"><i class="fa fa-fw fa-envelope"></i> Send</a>
28                                 [% END %]
29                                 <a class="btn btn-link download" href="opac-basket.pl"><i class="fa fa-fw fa-download"></i> Download</a>
30                                 <a class="btn btn-link remove empty" href="opac-basket.pl"><i class="fa fa-fw fa-trash"></i> Empty and close</a>
31                                 <a class="btn btn-link close" href="opac-basket.pl"><i class="fa fa-fw fa-times-circle"></i> Hide window</a>
32                                 [% IF ( verbose ) %]
33                                     <a class="btn btn-link print-large" href="#"><i class="fa fa-fw fa-print"></i> Print</a>
34                                 [% END %]
35                             </div>
36
37                             <div id="selections-toolbar" class="toolbar noprint">
38                                 <a id="CheckAll" href="#">Select all</a>
39                                 <a id="CheckNone" href="#">Clear all</a>
40                                 <span class="sep">|</span>
41                                 <span class="links" id="tag_hides">
42                                     <span id="selections">Select titles to: </span>
43                                     <a href="#" class="btn btn-link remove deleteshelf disabled"><i class="fa fa-remove"></i> Remove</a>
44                                     [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
45                                         [% IF ( ( Koha.Preference( 'virtualshelves' ) == 1 ) && loggedinusername ) %]
46                                             <a href="#" class="btn btn-link newshelf disabled"><i class="fa fa-fw fa-list"></i> Add to a list</a>
47                                         [% END %]
48                                         [% IF ( Koha.Preference( 'RequestOnOpac' ) == 1 ) %]
49                                             <a href="#" class="btn btn-link hold disabled"><i class="fa fa-fw fa-bookmark"></i> Place hold</a>
50                                         [% END %]
51                                         [% IF ( TagsInputEnabled && loggedinusername ) %]
52                                             <a href="#" id="tagsel_tag" class="btn btn-link disabled"><i class="fa fa-fw fa-tag"></i> Tag</a>
53                                         [% END %]
54                                     [% END # / IF opacuserlogin %]
55                                 </span>
56                                 [% IF ( TagsInputEnabled && loggedinusername ) %]
57                                 <span id="tagsel_form" style="display:none">
58                                     <label for="tagsel_new">New tag:</label>
59                                     <input type="text" name="tagsel_new" id="tagsel_new" maxlength="100" />
60                                     <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="Add" type="submit" value="Add">
61                                     <a href="#" id="tagsel_cancel">Cancel</a>
62                                 </span>
63                                 [% END %]
64                             </div>
65
66                         [% IF ( verbose ) %]
67                             <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
68                                 [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
69                                     <h3>
70                                                 <input type="checkbox" class="cb" value="[% BIBLIO_RESULT.biblionumber | html %]" name="bib[% BIBLIO_RESULT.biblionumber | html %]" id="bib[% BIBLIO_RESULT.biblionumber | html %]">
71                                                 [% INCLUDE 'biblio-title.inc' biblio=BIBLIO_RESULT %]
72                                                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author | html %][% END %]
73                                     </h3>
74                                     <!-- COinS / Openurl -->
75                                     <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author | html %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear | html %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place | html %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition | html %]&amp;rft.series=[% BIBLIO_RESULT.series | html %]&amp;rft.genre="></span>
76
77                                     <table class="table">
78                                         [% IF ( BIBLIO_RESULT.isbn ) %]
79                                             <tr>
80                                                 <th scope="row">ISBN</th>
81                                                 <td>[% BIBLIO_RESULT.isbn | html %]</td>
82                                             </tr>
83                                         [% END %]
84
85                                         [% IF ( BIBLIO_RESULT.HASAUTHORS ) %]
86                                         <tr>
87                                             <th scope="row">Author(s)</th>
88                                             <td>
89                                                [% IF ( BIBLIO_RESULT.author ) %]
90                                                    <p>[% BIBLIO_RESULT.author | html %]</p>
91                                                [% END %]
92                                                [% IF ( BIBLIO_RESULT.MARCAUTHORS ) %]
93                                                    [% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %]
94                                                    <p> [% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
95                                                           [% MARCAUTHOR_SUBFIELDS_LOO.separator | html %]
96                                                               [% MARCAUTHOR_SUBFIELDS_LOO.value | html %]
97                                                        [% END %]
98                                                    </p>
99                                                    [% END %]
100                                                [% END %]
101                                             </td>
102                                         </tr>
103                                         [% END %]
104
105                                         [% IF ( BIBLIO_RESULT.publishercode ) %]
106                                             <tr>
107                                                 <th scope="row">Publisher</th>
108                                                 <td>[% BIBLIO_RESULT.place | html %] [% BIBLIO_RESULT.publishercode | html %] [% BIBLIO_RESULT.publicationyear | html %]
109                                                 </td>
110                                             </tr>
111                                         [% END %]
112
113                                         [% IF ( BIBLIO_RESULT.pages ) %]
114                                             <tr>
115                                                 <th scope="row">Details</th>
116                                                 <td>[% BIBLIO_RESULT.pages | html %] [% BIBLIO_RESULT.illus | html %] [% BIBLIO_RESULT.item('size') | html %]</td>
117                                             </tr>
118                                         [% END %]
119
120                                         [% IF ( BIBLIO_RESULT.seriestitle ) %]
121                                         <tr>
122                                             <th scope="row">Collection</th>
123                                             <td> [% BIBLIO_RESULT.seriestitle | html %]</td>
124                                         </tr>
125                                         [% END %]
126
127                                         [% IF ( BIBLIO_RESULT.MARCSUBJCTS ) %]
128                                         <tr>
129                                             <th scope="row">Subject(s)</th>
130                                             <td>[% FOREACH MARCSUBJCT IN BIBLIO_RESULT.MARCSUBJCTS %]
131                                                    <p> [% FOREACH MARCSUBJECT_SUBFIELDS_LOO IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
132                                                         [% MARCSUBJECT_SUBFIELDS_LOO.separator | html %][% MARCSUBJECT_SUBFIELDS_LOO.value | html %][% END %]
133                                                    </p>
134                                                 [% END %]</td>
135                                         </tr>
136                                         [% END %]
137
138                                         [% IF ( BIBLIO_RESULT.copyrightdate ) %]
139                                             <tr><th scope="row">Copyright</th>
140                                                 <td> [% BIBLIO_RESULT.copyrightdate | html %]</td>
141                                             </tr>
142                                         [% END %]
143
144                                         [% IF ( BIBLIO_RESULT.MARCNOTES ) %]
145                                             <tr>
146                                                 <th scope="row">Notes</th>
147                                                 <td>
148                                                 [% FOREACH MARCNOTE IN BIBLIO_RESULT.MARCNOTES %]
149                                                     <p>
150                                                     [% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
151                                                         - <a href="[% MARCNOTE.marcnote | url %]">[% MARCNOTE.marcnote | html %]</a>
152                                                     [% ELSE %]
153                                                         - [% MARCNOTE.marcnote | html %]
154                                                     [% END %]
155                                                     </p>
156                                                 [% END %]
157                                                 </td>
158                                             </tr>
159                                         [% END %]
160
161                                         [% IF ( BIBLIO_RESULT.unititle ) %]
162                                             <tr>
163                                                 <th scope="row">Unified title</th>
164                                                 <td> [% BIBLIO_RESULT.unititle | html %]</td>
165                                             </tr>
166                                         [% END %]
167
168                                         [% IF ( BIBLIO_RESULT.serial ) %]
169                                             <tr>
170                                                 <th scope="row">Serial</th>
171                                                 <td>[% BIBLIO_RESULT.serial | html %]</td>
172                                             </tr>
173                                         [% END %]
174
175                                         [% IF ( BIBLIO_RESULT.dewey ) %]
176                                             <tr>
177                                                 <th scope="row">Dewey</th>
178                                                 <td>[% BIBLIO_RESULT.dewey | html %]</td>
179                                             </tr>
180                                         [% END %]
181
182                                         [% IF ( BIBLIO_RESULT.classification ) %]
183                                             <tr>
184                                                 <th scope="row">Classification</th>
185                                                 <td> [% BIBLIO_RESULT.classification | html %]</td>
186                                             </tr>
187                                         [% END %]
188
189                                         [% IF ( BIBLIO_RESULT.lccn ) %]
190                                             <tr>
191                                                 <th scope="row">LCCN</th>
192                                                 <td> [% BIBLIO_RESULT.lccn | html %]</td>
193                                             </tr>
194                                         [% END %]
195
196                                         [% IF BIBLIO_RESULT.MARCURLS.size %]
197                                             <tr>
198                                                 <th scope="row">URL(s)</th>
199                                                 <td>
200                                                    [% FOREACH MARCurl IN BIBLIO_RESULT.MARCURLS %]
201                                                         [% IF MARCurl.part %]<p>[% MARCurl.part | html %]</p>[% END %]
202
203                                                         [% IF OPACURLOpenInNewWindow %]
204                                                             <a href="[% MARCurl.MARCURL | url %]" title="[% MARCurl.MARCURL | html %]" target="_blank" rel="noreferrer">[% MARCurl.linktext | html %]</a>
205                                                         [% ELSE %]
206                                                             <a href="[% MARCurl.MARCURL | url %]" title="[% MARCurl.MARCURL | html %]">[% MARCurl.linktext | html %]</a>
207                                                         [% END %]
208
209                                                         [% IF MARCurl.notes %][% FOREACH note IN MARCurl.notes %]<p>[% note.note | html %]</p>[% END %][% END %]
210                                                     [% END %]
211                                                 </td>
212                                             </tr>
213                                         [% END %]
214
215                                         <tr>
216                                             <th scope="row">Location(s) (Status)</th>
217                                             <td>
218                                                 [% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]
219                                                     <ul>
220                                                         [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
221                                                             <li>
222                                                                 <strong>[% ITEM_RESULT.branchname | html %]</strong>
223                                                                 [% IF ( ITEM_RESULT.location_opac ) %]<span class="shelvingloc">[% ITEM_RESULT.location_opac | html %]</span>[% END %]
224                                                                 [% IF ( ITEM_RESULT.itemcallnumber ) %]
225                                                                     ([% ITEM_RESULT.itemcallnumber | html %])
226                                                                 [% END %]
227                                                                 ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
228                                                             </li>
229                                                         [% END %]
230                                                     </ul>
231                                                 [% ELSE %]
232                                                     This record has no items.
233                                                 [% END %]
234                                             </td>
235                                         </tr>
236                                     </table>
237                                 [% END # / FOREACH BIBLIO_RESULT %]
238                             </form>
239
240                         [% ELSE %]
241
242                             <form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
243                                 <table id="itemst" class="table table-bordered table-striped">
244                                     <thead>
245                                         <tr>
246                                             <th class="noprint">&nbsp;</th>
247                                             <th>Title</th>
248                                             <th>Author</th>
249                                             <th>Year</th>
250                                             <th>Location (Status)</th>
251                                         </tr>
252                                     </thead>
253                                     <tbody>
254                                     [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
255                                         <tr>
256                                                 <td class="noprint">
257                                                 <input type="checkbox" class="cb" value="[% BIBLIO_RESULT.biblionumber | html %]" name="bib[% BIBLIO_RESULT.biblionumber | html %]" id="bib[% BIBLIO_RESULT.biblionumber | html %]">
258                                                 </td>
259                                             <td>
260                                                 <a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest | html %]',[% BIBLIO_RESULT.biblionumber | html %])">[% INCLUDE 'biblio-title.inc' biblio=BIBLIO_RESULT %]</a>
261                                                 <!-- COinS / Openurl -->
262                                                 <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author | html %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear | html %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place | html %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition | html %]&amp;rft.series=[% BIBLIO_RESULT.series | html %]&amp;rft.genre="></span>
263                                                 [% IF ( TagsInputEnabled && loggedinusername ) %]
264                                                 <span id="newtag[% BIBLIO_RESULT.biblionumber | html %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</span>
265                                                 [% END %]
266                                             </td>
267                                             <td>[% BIBLIO_RESULT.author | html %]</td>
268                                             <td>
269                                                 [% IF ( BIBLIO_RESULT.publicationyear ) %]
270                                                     [% BIBLIO_RESULT.publicationyear | html %]
271                                                 [% ELSE %]
272                                                     [% BIBLIO_RESULT.copyrightdate | html %]
273                                                 [% END %]
274                                             </td>
275                                             <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
276                                                 <li>
277                                                     [% ITEM_RESULT.branchname | html %]
278                                                     [% IF ( ITEM_RESULT.location_opac ) %]<span class="shelvingloc">[% ITEM_RESULT.location_opac | html %]</span>[% END %]
279                                                     [% IF ( ITEM_RESULT.itemcallnumber ) %]
280                                                         ([% ITEM_RESULT.itemcallnumber | html %])
281                                                     [% END %]
282                                                     ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
283                                                 </li>
284                                                 [% END %]</ul>[% ELSE %]This record has no items.[% END %]
285                                             </td>
286                                         </tr>
287                                     [% END # / FOREACH BIBLIO_RESULT %]
288                                     </tbody>
289                                 </table>
290                             </form>
291                         [% END # / verbose %]
292
293                             <form name="myform" action="opac-basket.pl" method="get">
294                                 <input type="hidden" name="records" id="records" />
295                             </form>
296
297                 </div> <!-- / #userbasket -->
298             </div> <!-- / .span10 -->
299         </div> <!-- / .row-fluid -->
300     </div> <!-- / .container-fluid -->
301 </div> <!-- / .main -->
302
303 [% INCLUDE 'opac-bottom.inc' %]
304
305 [% BLOCK jsinclude %]
306     [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
307         [% INCLUDE 'datatables.inc' %]
308         <script>
309             [% IF ( TagsInputEnabled && loggedinusername ) %]
310                 function tagSelected() {
311                     var bibs = document.getElementById('records').value;
312                     if (bibs) {
313                         $("#tagsel_tag").hide();
314                         $("#tag_hides").hide();
315                         $("#tagsel_form").show();
316                     } else {
317                         alert(MSG_NO_RECORD_SELECTED);
318                     }
319                 }
320
321                 function tagCanceled() {
322                     $("#tagsel_form").hide();
323                     $("#tagsel_tag").show();
324                     $("#tag_hides").show();
325                     $("#tagsel_new").val("");
326                     $(".tagstatus").empty().hide();
327                 }
328
329                 function tagAdded() {
330                     var checkedBoxes = $("input:checkbox:checked");
331                     if (!$(checkedBoxes).size()) {
332                         alert(MSG_NO_RECORD_SELECTED);
333                         return false;
334                     }
335
336                     var tag = $("#tagsel_new").val();
337                     if (!tag || (tag == "")) {
338                         alert(MSG_NO_TAG_SPECIFIED);
339                         return false;
340                     }
341
342                     var bibs = [];
343                     for (var i = 0; i < $(checkedBoxes).size(); i++) {
344                         var box = $(checkedBoxes).get(i);
345                         bibs[i] = $(box).val();
346                     }
347
348                     KOHA.Tags.add_multitags_button(bibs, tag);
349                     return false;
350                 }
351             [% END # / TagsInputEnabled && loggedinusername %]
352
353             $(document).ready(function(){
354                 $(".brief").click(function(e){
355                     e.preventDefault();
356                     showLess();
357                 });
358
359                 $(".detail").click(function(e){
360                     e.preventDefault();
361                     showMore();
362                 });
363
364                 $(".send").click(function(e){
365                     e.preventDefault();
366                     sendBasket();
367                 });
368
369                 $(".download").click(function(e){
370                     e.preventDefault();
371                     downloadBasket();
372                 });
373
374                 $(".empty").click(function(e){
375                     e.preventDefault();
376                     delBasket();
377                 });
378
379                 $(".deleteshelf").click(function(e){
380                     e.preventDefault();
381                     delSelRecords();
382                 });
383
384                 $(".newshelf").click(function(e){
385                     e.preventDefault();
386                     addSelToShelf();
387                 });
388
389                 $(".hold").click(function(e){
390                     e.preventDefault();
391                     holdSel();
392                 });
393
394                 $("#tagsel_tag").click(function(e){
395                     e.preventDefault();
396                     tagSelected();
397                 });
398
399                 $("#tagsel_button").click(function(e){
400                     e.preventDefault();
401                     tagAdded();
402                 });
403
404                 $("#tagsel_cancel").click(function(e){
405                     e.preventDefault();
406                     tagCanceled();
407                 });
408
409                 $("#CheckAll").click(function(){
410                     var checked = [];
411                     $(".checkboxed").checkCheckboxes("*", true).each(
412                         function() {
413                             selRecord(this.value,true);
414                         }
415                     );
416                     enableCheckboxActions();
417                     return false;
418                 });
419
420                 $("#CheckNone").click(function(){
421                     var checked = [];
422                     $(".checkboxed").unCheckCheckboxes("*",true).each(
423                         function() {
424                             selRecord(this.value,false);
425                         }
426                     );
427                     enableCheckboxActions();
428                     return false;
429                 });
430
431                 var itemst = $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
432                     "order": [[ 1, "asc" ]],
433                     "columnDefs": [
434                       { "targets": [ 0,-1 ], "sortable": false, "searchable": false }
435                     ],
436                     "columns": [
437                         null,
438                         { "type": "anti-the" },
439                         null,
440                         null,
441                         null
442                     ],
443
444                 }));
445
446                 var buttons = new $.fn.dataTable.Buttons(itemst, {
447                      buttons: [
448                         'print'
449                     ]
450                 }).container().appendTo($('#toolbar'));
451
452                 $(".cb").change(function(){
453                     selRecord( $(this).val(), $(this).prop("checked") );
454                     enableCheckboxActions();
455                     return false;
456                 });
457                 enableCheckboxActions();
458             });
459
460             function enableCheckboxActions(){
461                 // Enable/disable controls if checkboxes are checked
462                 var checkedBoxes = $(".checkboxed input:checkbox:checked");
463                 if ($(checkedBoxes).size()) {
464                   $("#selections").html(_("With selected titles: "));
465                   $("#selections-toolbar .links a").removeClass("disabled");
466                 } else {
467                   $("#selections").html(_("Select titles to: "));
468                   $("#selections-toolbar .links a").addClass("disabled");
469                 }
470             }
471         </script>
472 [% END # / BLOCK jsinclude %]