Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt
Wainui Witika-Park 1b4b52fd25 Bug 27846: modules and modules/acqui folders
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>
2021-04-01 18:51:37 +02:00

263 lines
14 KiB
Text

[% PROCESS 'i18n.inc' %]
[% USE raw %]
[% USE Asset %]
[% USE KohaDates %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; 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 %]&amp;booksellerid=[% booksellerid | uri %]">Show active baskets only</a>
[% ELSE %]
<a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier | uri %]&amp;booksellerid=[% booksellerid | uri %]&amp;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 %]&amp;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&amp;booksellerid=[% basket.booksellerid | uri %]&amp;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' %]