Wainui Witika-Park
1b4b52fd25
Modified breadcrumbs to be accessible, in particular for a screen-reader. Made the block of breadcrumbs be a <nav aria label="Breadcrumb" class="breadcrumb"> with an ordered list inside. The last breadcrumbs also has aria-current="page" to specify that it is the current page. To test: 1) Apply patch 2) Build scss file 3) Ensure each of the files in the modules folder and the modules/acqui folder has breadcrumbs that are in a <nav aria label="Breadcrumb" class="breadcrumb"> block 4) Ensure that there is an ordered list in the block of breadcrumbs 5) Ensure that the last breadcrumb has aria-current="page" 6) Ensure that the breadcrumbs on each page of the staff client belonging to these files look the same as before, but the '>' symbol is replaced with '/' and the last breadcrumb has bold text 7) Ensure that when the last breadcrumb is clicked it takes you to the page you are currently on Sponsored-by: Catalyst IT Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
263 lines
14 KiB
Text
263 lines
14 KiB
Text
[% PROCESS 'i18n.inc' %]
|
|
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE KohaDates %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Search for vendor [% supplier | html %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<style>
|
|
#vendors td{
|
|
vertical-align: top;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body id="acq_booksellers" class="acq">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'acquisitions-search.inc' %]
|
|
|
|
<nav aria-label="Breadcrumb" class="breadcrumb">
|
|
<ol>
|
|
<li>
|
|
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
|
|
</li>
|
|
<li>
|
|
<a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
Search for vendor <em>[% supplier | html %]</em>
|
|
</a>
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% INCLUDE 'acquisitions-toolbar.inc' %]
|
|
[% UNLESS ( count == 1 ) %]
|
|
[% UNLESS count %]
|
|
<h1>Your search returned no results.</h1>
|
|
[% ELSIF ( supplier.length < 1 ) %]
|
|
<h1>Vendor search: [% count | html %] results found</h1>
|
|
[% ELSE %]
|
|
<h1>Vendor search: [% count | html %] results found for '[% supplier | html %]'</h1>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( loop_suppliers.size ) %]
|
|
[% UNLESS (count == 1) %]
|
|
<p>Choose a vendor in the list to jump directly to the right place.
|
|
<select id="supplierlist">
|
|
[% FOREACH supplier1 IN loop_suppliers %]
|
|
<option value="[% supplier1.booksellerid | html %]">[% supplier1.name | html %]</option>
|
|
[% END %]
|
|
</select>
|
|
</p>
|
|
[% END %]
|
|
[% IF ( allbaskets ) %]
|
|
<a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier | uri %]&booksellerid=[% booksellerid | uri %]">Show active baskets only</a>
|
|
[% ELSE %]
|
|
<a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier | uri %]&booksellerid=[% booksellerid | uri %]&allbaskets=1">Show all baskets</a>
|
|
[% END %]
|
|
[% UNLESS booksellerid %]
|
|
| <a href="#" id="show_active_vendors">Show active vendors only</a><a href="#" id="show_all_vendors">Show all vendors</a>
|
|
[% END %]
|
|
<div id="acqui_order_supplierlist">
|
|
[% FOREACH supplier IN loop_suppliers %]
|
|
[% IF ( supplier.active ) %]
|
|
<div class="supplier">
|
|
[% ELSE %]
|
|
<div class="supplier inactive">
|
|
[% END %]
|
|
<span class="suppliername">
|
|
[% IF (supplier.name) %]
|
|
<a name="[% supplier.booksellerid | html %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid | uri %]">[% supplier.name | html %]</a>
|
|
[% ELSE %]
|
|
<a name="[% supplier.booksellerid | html %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid | uri %]">NO NAME</a>
|
|
[% END %]
|
|
</span>
|
|
<span class="action">
|
|
[% IF ( CAN_user_acquisition_order_manage ) %]
|
|
[% IF ( supplier.active ) %]
|
|
<a class="btn btn-default btn-sm" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% supplier.booksellerid | uri %]&op=add_form"><i class="fa fa-plus"></i> New basket</a>
|
|
[% ELSE %]
|
|
(inactive)
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( supplier.loop_basket.size ) %]
|
|
<a class="btn btn-default btn-sm" href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% supplier.booksellerid | uri %]"><i class="fa fa-inbox"></i> Receive shipment</a>
|
|
[% END %]
|
|
</span>
|
|
<div class="baskets">
|
|
[% IF ( supplier.loop_basket.size ) %]
|
|
<table class="baskets">
|
|
<thead>
|
|
<tr>
|
|
<th>No.</th>
|
|
<th>Name</th>
|
|
<th class="title-numeric">Item count</th>
|
|
<th class="title-numeric">Bibliographic record count</th>
|
|
<th>Items expected</th>
|
|
<th>[% tp('basket created by', 'Created by') | html %]</th>
|
|
<th class="title-string">Date</th>
|
|
<th>Basket group</th>
|
|
<th class="title-string">Closed</th>
|
|
<th class="noExport">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH basket IN supplier.loop_basket %]
|
|
[% IF ( basket.uncertainprices ) %]
|
|
<tr class="problem">
|
|
[% ELSE %]
|
|
<tr>
|
|
[% END %]
|
|
<td>[% basket.basketno | html %]</td>
|
|
<td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basket.basketno | uri %]">[% basket.basketname | html %]</a></td>
|
|
<td>
|
|
<span title="[% basket.total_items | html %]">[% basket.total_items | html %]
|
|
[% IF basket.total_items_cancelled %]
|
|
([% basket.total_items_cancelled | html %] cancelled)
|
|
[% END %]
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<span title="[% basket.total_biblios | html %]">[% basket.total_biblios | html %]
|
|
[% IF basket.total_biblios_cancelled %]
|
|
([% basket.total_biblios_cancelled | html %] cancelled)
|
|
[% END %]
|
|
</span>
|
|
</td>
|
|
<td>[% basket.expected_items | html %]</td>
|
|
<td>
|
|
[% IF basket.authorisedby %]
|
|
[% basket.authorisedby.firstname | html %]
|
|
[% basket.authorisedby.surname | html %]
|
|
[% END %]
|
|
</td>
|
|
<td><span title="[% basket.creationdate | html %]">[% basket.creationdate | $KohaDates %]</span></td>
|
|
<td>
|
|
[% IF basket.basketgroup %]
|
|
[% basketgroup = basket.basketgroup %]
|
|
[% IF basketgroup.closed %]
|
|
[% basketgroup.name | html %] (closed)
|
|
[% ELSE %]
|
|
<a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=[% basket.booksellerid | uri %]&basketgroupid=[% basketgroup.id | uri %]">[% basketgroup.name | html %]</a>
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF ( basket.closedate ) %]
|
|
<span title="[% basket.closedate | html %]">[% basket.closedate | $KohaDates %]</span>
|
|
[% ELSE %]
|
|
<span title="9999-99-99"></span>
|
|
[% END %]
|
|
</td>
|
|
<td class="actions">
|
|
[% IF not basket.closedate and supplier.active %]
|
|
[% IF basket.uncertainprices OR ( basket.total_items && !basket.is_standing ) %]
|
|
<div class="dropup">
|
|
<div class="btn-group">
|
|
[%# There should be no space between these two buttons, it would render badly %]
|
|
<a class="btn btn-default btn-xs" id="addtoBasketLabel[% basket.basketno | html %]" href="#addtoBasket[% basket.basketno | html %]" role="button" data-toggle="modal"><i class="fa fa-plus"></i> Add to basket</a><a class="btn btn-default btn-xs dropdown-toggle" id="basketactions[% basket.basknetno | html %]" role="button" data-toggle="dropdown" href="#"><b class="caret"></b></a>
|
|
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="basketactions[% basketn.basketno | html %]">
|
|
[% IF basket.uncertainprices %]
|
|
<li><a href="/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% basket.booksellerid | uri %]&owner=1"><i class="fa fa-usd"></i> Uncertain prices</a></li>
|
|
[% ELSIF basket.total_items && !basket.is_standing %]
|
|
<li><a href="/cgi-bin/koha/acqui/basket.pl?op=close&basketno=[% basket.basketno | uri %]&booksellerid=[% basket.booksellerid | uri %]"><i class="fa fa-times-circle"></i> Close this basket</a></li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
[% ELSE %]
|
|
<a class="btn btn-default btn-xs" id="addtoBasketLabel[% basket.basketno | html %]" href="#addtoBasket[% basket.basketno | html %]" role="button" data-toggle="modal"><i class="fa fa-plus"></i> Add to basket</a>
|
|
[% END %]
|
|
<!-- Modal -->
|
|
<div id="addtoBasket[% basket.basketno | html %]" class="modal" tabindex="-1" role="dialog" aria-labelledby="addtoBasketLabel[% basket.basketno | html %]" aria-hidden="true" data-basketno="[% basket.basketname | html %]">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-body">
|
|
[% INCLUDE 'acquisitions-add-to-basket.inc' booksellerid=supplier.booksellerid basketno=basket.basketno %]
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %][%# FOREACH basket IN supplier.loop_basket %]
|
|
</tbody>
|
|
</table>
|
|
|
|
[% ELSE %]
|
|
<p>No pending baskets</p>
|
|
[% END %][%# IF ( supplier.loop_basket.size ) %]
|
|
</div>
|
|
</div>
|
|
[% END %][%# FOREACH supplier IN loop_suppliers %]
|
|
</div>
|
|
[% END %][%# IF ( loop_suppliers.size ) %]
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% IF ( booksellerid ) %]
|
|
[% INCLUDE 'vendor-menu.inc' %]
|
|
[% END %]
|
|
[% INCLUDE 'acquisitions-menu.inc' %]
|
|
</aside>
|
|
</div>
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% Asset.js("js/acquisitions-menu.js") | $raw %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% Asset.js("js/acq.js") | $raw %]
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("table.baskets").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
'sDom': 't',
|
|
'bPaginate': false,
|
|
'bFilter': false,
|
|
'bInfo': false,
|
|
"aaSorting": [[ 1, "asc" ]],
|
|
"aoColumnDefs": [
|
|
{ "sType": "title-string", "aTargets" : [ "title-string" ] },
|
|
{ "sType": "title-numeric", "aTargets" : [ "title-numeric" ] },
|
|
{ 'aTargets': [-1], 'bSortable': false }
|
|
]
|
|
}));
|
|
$("#supplierlist").change(function() {
|
|
var id = $(this).find("option:selected").val();
|
|
window.location.href = "#" + id;
|
|
});
|
|
$(".modal").on("show", function(){
|
|
var basket = $(this).data("basketno");
|
|
var legend = _("Add order to basket %s").format(basket);
|
|
$(this).find("legend").html(legend);
|
|
});
|
|
$("#show_all_vendors").hide();
|
|
$("#show_active_vendors").on('click', function(e){
|
|
e.preventDefault();
|
|
$(".inactive").hide();
|
|
$("#show_active_vendors").hide();
|
|
$("#show_all_vendors").show();
|
|
});
|
|
$("#show_all_vendors").on('click', function(e){
|
|
e.preventDefault();
|
|
$(".inactive").show();
|
|
$("#show_all_vendors").hide();
|
|
$("#show_active_vendors").show();
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|