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