Owen Leonard
a344b8cf8c
This patch makes a number of changes in order to improve the way the staff client's header menu adjusts at narrower browser widths: - Updated version of Bootstrap 3.3.7 which includes the "collapse" JavaScript plugin. - Modified default Bootstrap CSS using Bootstrap's customization tool. These changes facilitate the removal of some custom CSS (overriding Bootstrap) from staff-global.scss. - Added Bootstrap config file for loading customizations at https://getbootstrap.com/docs/3.3/customize/ - Revised button classes for buttons in Bootstrap-styled toolbars. The modified default CSS resets the base font size in Bootstrap to better match our global CSS. A side-effect of this is that toolbar buttons ended up looking smaller than they should. Changing the button class solves this. - Restructure the header menu in order to allow different rules to govern the appearance of the navigational part of the menu (Circulation, Search, etc) and the user menu (Set library, My account, Log out). - Modify the cart JS to so that the popup works well at narrow widths. To test, apply the patch, regenerate the staff client CSS, and clear your browser cache. - Log in to the staff client and observe the layout of the header menu as you adjust the browser to various widths. - Confirm that sections of the menu "collapse" as the window gets narrower. - Confirm that dropdown menus behave correctly and that links work. - Confirm that the Cart link works as expected when the cart empty and when it has items. - Install and enable multiple translations, including at least one set of sub-languages (e.g. fr-FR and fr-CA). - Test the appearance of the language menus in the footer at various browser widths. - View pages with button toolbars and confirm that they appear unchanged (e.g. biblio detail page, patron detail page). NOTE: While this patch is intended to make improvements to staff client responsiveness, it does so within a limited scope. There are still many pages which do not work well at narrower browser widths. Signed-off-by: Hayley Mapley <hayleymapley@catalyst.net.nz> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
332 lines
21 KiB
Text
332 lines
21 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% SET footerjs = 1 %]
|
|
[% BLOCK controls %]
|
|
<p class="cart-controls">
|
|
<a id="CheckAll" href="#"><i class="fa fa-check"></i> Select all</a> <a id="CheckNone" href="#"><i class="fa fa-remove"></i> Clear all</a>
|
|
| <b>Selected items :</b>
|
|
<a href="#" id="remove_from_cart">Remove</a>
|
|
|
|
[% IF ( loggedinusername ) %]
|
|
| <a href="#" id="add_to_list">Add to a list</a>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_reserveforothers ) %]
|
|
| <a href="#" id="place_hold">Place hold</a>
|
|
[% END %]
|
|
|
|
[% IF CAN_user_tools_records_batchmod %]
|
|
| <a href="#" id="batch_modify">Batch modify</a>
|
|
[% END %]
|
|
|
|
[% IF CAN_user_tools_records_batchdel %]
|
|
| <a href="#" id="batch_delete">Batch delete</a>
|
|
[% END %]
|
|
</p>
|
|
[% END %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Catalog › Your cart</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
</head>
|
|
|
|
<body id="cart_basket" class="cart">
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
|
|
<div class="container">
|
|
|
|
<h1>Your cart</h1>
|
|
|
|
<div id="toolbar" class="btn-toolbar">
|
|
[% IF ( verbose ) %]
|
|
<a href="basket.pl" class="btn btn-default showdetails showless"><i class="fa fa-folder"></i> Brief display</a>
|
|
[% ELSE %]
|
|
<a href="basket.pl" class="btn btn-default showdetails showmore"><i class="fa fa-folder-open"></i> More details</a>
|
|
[% END %]
|
|
|
|
<a class="btn btn-default" href="basket.pl" id="send_cart"><i class="fa fa-envelope"></i> Send</a>
|
|
<div class="btn-group">
|
|
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#" id="downloadcart"><i class="fa fa-download"></i> Download <span class="caret"></span> </a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=iso2709&bib_list=[% bib_list | uri %]">iso2709</a></li>
|
|
<li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=ris&bib_list=[% bib_list | uri %]">RIS</a></li>
|
|
<li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=bibtex&bib_list=[% bib_list | uri %]">BibTex</a></li>
|
|
[% FOREACH csv_profile IN csv_profiles %]
|
|
<li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=[% csv_profile.export_format_id | uri %]&bib_list=[% bib_list | uri %]">CSV - [% csv_profile.profile | html %]</a></li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
<a class="btn btn-default" href="basket.pl" id="print_cart"><i class="fa fa-print"></i> Print</a>
|
|
<a class="btn btn-default" href="basket.pl" id="empty_cart"><i class="fa fa-trash"></i> Empty and close</a>
|
|
<a class="btn btn-default close" href="basket.pl"><i class="fa fa-times-circle"></i> Hide window</a>
|
|
</div>
|
|
|
|
|
|
[% IF ( verbose ) %]
|
|
[% PROCESS controls %]
|
|
<form action="basket.pl" method="get" name="bookbag_form" id="bookbag_form">
|
|
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
|
|
<h3>
|
|
<input type="checkbox" class="select_record noprint" value="[% BIBLIO_RESULT.biblionumber | html %]" name="bib[% BIBLIO_RESULT.biblionumber | html %]" id="bib[% BIBLIO_RESULT.biblionumber | html %]" />
|
|
[% BIBLIO_RESULT.title |html %]
|
|
[% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield | html %][% END %]
|
|
[% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author | html %][% END %]
|
|
</h3>
|
|
<!-- COinS / Openurl -->
|
|
<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.au=[% BIBLIO_RESULT.author | html %]&rft.btitle=[% BIBLIO_RESULT.title |url %]&rft.date=[% BIBLIO_RESULT.publicationyear | html %]&rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&rft.isbn=[% BIBLIO_RESULT.isbn |url %]&rft.aucorp=&rft.place=[% BIBLIO_RESULT.place | html %]&rft.pub=[% BIBLIO_RESULT.publisher |url %]&rft.edition=[% BIBLIO_RESULT.edition | html %]&rft.series=[% BIBLIO_RESULT.series | html %]&rft.genre="></span>
|
|
|
|
<table>
|
|
[% IF ( BIBLIO_RESULT.isbn ) %]
|
|
<tr>
|
|
<th scope="row">ISBN</th>
|
|
<td>[% BIBLIO_RESULT.isbn | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.HASAUTHORS ) %]
|
|
<tr>
|
|
<th scope="row">Author(s)</th>
|
|
<td>
|
|
[% IF ( BIBLIO_RESULT.author ) %]
|
|
<p>[% BIBLIO_RESULT.author | html %]</p>
|
|
[% END %]
|
|
[% IF ( BIBLIO_RESULT.MARCAUTHORS ) %]
|
|
[% FOREACH MARCAUTHOR IN BIBLIO_RESULT.MARCAUTHORS %]
|
|
<p>
|
|
[% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
|
|
[% MARCAUTHOR_SUBFIELDS_LOO.separator | html %]
|
|
[% MARCAUTHOR_SUBFIELDS_LOO.value | html %]
|
|
[% END %]
|
|
</p>
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.publishercode ) %]
|
|
<tr>
|
|
<th scope="row">Publisher</th>
|
|
<td>[% BIBLIO_RESULT.place | html %] [% BIBLIO_RESULT.publishercode | html %] [% BIBLIO_RESULT.publicationyear | html %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.pages ) %]
|
|
<tr>
|
|
<th scope="row">Details</th>
|
|
<td>[% BIBLIO_RESULT.pages | html %] [% BIBLIO_RESULT.illus | html %] [% BIBLIO_RESULT.item('size') | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.seriestitle ) %]
|
|
<tr>
|
|
<th scope="row">Collection</th>
|
|
<td> [% BIBLIO_RESULT.seriestitle | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.MARCSUBJCTS ) %]
|
|
<tr>
|
|
<th scope="row">Subject(s)</th>
|
|
<td>
|
|
[% FOREACH MARCSUBJCT IN BIBLIO_RESULT.MARCSUBJCTS %]
|
|
<p>
|
|
[% FOREACH MARCSUBJECT_SUBFIELDS_LOO IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
|
|
[% MARCSUBJECT_SUBFIELDS_LOO.separator | html %][% MARCSUBJECT_SUBFIELDS_LOO.value | html %]
|
|
[% END %]
|
|
</p>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.copyrightdate ) %]
|
|
<tr><th scope="row">Copyright</th>
|
|
<td> [% BIBLIO_RESULT.copyrightdate | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.MARCNOTES ) %]
|
|
<tr>
|
|
<th scope="row">Notes</th>
|
|
<td>
|
|
[% FOREACH MARCNOTE IN BIBLIO_RESULT.MARCNOTES %]
|
|
<p>
|
|
[% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
|
|
- <a href="[% MARCNOTE.marcnote | url %]">[% MARCNOTE.marcnote | html %]</a>
|
|
[% ELSE %]
|
|
- [% MARCNOTE.marcnote | html %]
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.unititle ) %]
|
|
<tr>
|
|
<th scope="row">Unified title</th>
|
|
<td> [% BIBLIO_RESULT.unititle | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.serial ) %]
|
|
<tr>
|
|
<th scope="row">Serial</th>
|
|
<td>[% BIBLIO_RESULT.serial | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.dewey ) %]
|
|
<tr>
|
|
<th scope="row">Dewey</th>
|
|
<td>[% BIBLIO_RESULT.dewey | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.classification ) %]
|
|
<tr>
|
|
<th scope="row">Classification</th>
|
|
<td> [% BIBLIO_RESULT.classification | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
[% IF ( BIBLIO_RESULT.lccn ) %]
|
|
<tr>
|
|
<th scope="row">LCCN</th>
|
|
<td> [% BIBLIO_RESULT.lccn | html %]</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
|
|
[% IF BIBLIO_RESULT.MARCURLS.size %]
|
|
<tr>
|
|
<th scope="row">URL(s)</th>
|
|
<td>
|
|
[% FOREACH MARCurl IN BIBLIO_RESULT.MARCURLS %]
|
|
[% IF MARCurl.part %]<p>[% MARCurl.part | html %]</p>[% END %]
|
|
<a href="[% MARCurl.MARCURL | url %]" title="[% MARCurl.MARCURL | html %]">[% MARCurl.linktext | html %]</a>
|
|
[% IF MARCurl.notes %]
|
|
[% FOREACH note IN MARCurl.notes %]
|
|
<p>[% note.note | html %]</p>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
<tr>
|
|
<th scope="row">Location(s)</th>
|
|
<td>
|
|
[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]
|
|
[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
|
|
<p>
|
|
[% ITEM_RESULT.branchname | html %]
|
|
<span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
|
|
[% IF ( ITEM_RESULT.itemcallnumber ) %]
|
|
([% ITEM_RESULT.itemcallnumber | html %])
|
|
[% END %]
|
|
</p>
|
|
[% END %]
|
|
[% ELSE %]
|
|
This record has no items.
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
[% END # /FOREACH BIBLIO_RESULT %]
|
|
</form> [% # /bookbag_form %]
|
|
|
|
[% ELSE # IF verbose %]
|
|
|
|
<form action="/cgi-bin/koha/basket/basket.pl" method="get" name="bookbag_form" id="bookbag_form">
|
|
[% PROCESS controls %]
|
|
|
|
<table id="itemst">
|
|
<thead>
|
|
<tr>
|
|
<th class="NoSort noprint"> </th>
|
|
<th class="anti-the">Title</th>
|
|
<th>Item type</th>
|
|
<th>
|
|
<a id="items-popover" href="#" data-trigger="hover" data-toggle="popover" data-placement="top" title="Item sorting" data-content="Items are sorted by the highest or lowest callnumber in a group of items respectively.">Items</a>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
[% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
|
|
<tr>
|
|
<td class="noprint">
|
|
<input type="checkbox" class="select_record" value="[% BIBLIO_RESULT.biblionumber | html %]" name="bib[% BIBLIO_RESULT.biblionumber | html %]" id="bib[% BIBLIO_RESULT.biblionumber | html %]" />
|
|
</td>
|
|
<td>
|
|
<a href="[% BIBLIO_RESULT.dest | url %]?biblionumber=[% BIBLIO_RESULT.biblionumber | uri %]" class="open_title">
|
|
[% BIBLIO_RESULT.title |html %]
|
|
[% FOREACH subtitl IN BIBLIO_RESULT.subtitle %]
|
|
[% subtitl.subfield | html %]
|
|
[% END %]
|
|
</a>
|
|
[% BIBLIO_RESULT.author | html %]
|
|
<p>
|
|
[% IF ( BIBLIO_RESULT.publishercode ) %]
|
|
- [% BIBLIO_RESULT.publishercode | html %]
|
|
[% IF ( BIBLIO_RESULT.place ) %]
|
|
[% BIBLIO_RESULT.place | html %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( BIBLIO_RESULT.pages ) %]
|
|
- [% BIBLIO_RESULT.pages | html %]
|
|
[% IF ( BIBLIO_RESULT.item('size') ) %]
|
|
[% BIBLIO_RESULT.item('size') | html %]
|
|
[% END %]
|
|
[% END %]
|
|
</p>
|
|
[% IF ( BIBLIO_RESULT.notes ) %]
|
|
<p>[% BIBLIO_RESULT.notes | html %]</p>
|
|
[% END %]
|
|
<!-- COinS / Openurl -->
|
|
<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.au=[% BIBLIO_RESULT.author | html %]&rft.btitle=[% BIBLIO_RESULT.title |url %]&rft.date=[% BIBLIO_RESULT.publicationyear | html %]&rft.tpages=[% BIBLIO_RESULT.item('size') | html %]&rft.isbn=[% BIBLIO_RESULT.isbn |url %]&rft.aucorp=&rft.place=[% BIBLIO_RESULT.place | html %]&rft.pub=[% BIBLIO_RESULT.publisher |url %]&rft.edition=[% BIBLIO_RESULT.edition | html %]&rft.series=[% BIBLIO_RESULT.series | html %]&rft.genre="></span>
|
|
</td>
|
|
<td>[% BIBLIO_RESULT.description | html %]</td>
|
|
<td class="callnumbers">
|
|
[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]
|
|
[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
|
|
<div>
|
|
<span class="nowrap">
|
|
<strong>
|
|
<span class="callnumber">[% ITEM_RESULT.itemcallnumber | html %]</span>
|
|
</strong>
|
|
[% ITEM_RESULT.branchname | html %]
|
|
<span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
|
|
</span>
|
|
</div>
|
|
[% END %]
|
|
[% ELSE %]
|
|
This record has no items.
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END # /FOREACH BIBLIO_RESULT %]
|
|
</table>
|
|
</form>
|
|
[% END # /IF verbose %]
|
|
|
|
<form name="myform" action="basket/basket.pl" method="get">
|
|
<input type="hidden" name="records" id="records" />
|
|
</form>
|
|
|
|
</div> [% # /.container %]
|
|
</div> [% # /.col-md-12 %]
|
|
</div> [% # /.row %]
|
|
</div> [% # /.main.container-fluid %]
|
|
|
|
[% INCLUDE js_includes.inc %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% Asset.js("js/cart.js") | $raw %]
|
|
[% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
|
|
|
|
</body>
|
|
</html>
|