Owen Leonard
a63748e241
The funds and acquisitions home page tables use captions for additional table controls. These are more appropriate as "toolbar" divs. This patch converts the <caption> to <div class="toolbar btn-toolbar"> and moves it just above <table> in the markup to keep it valid. To test: 1 - View the tables on acquisitions home and budgets views 2 - Note the 'Expand all...' control row 3 - Apply patch 4 - The row remains, but is below the table controls 5 - The row is not included when printing or copying the table Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
264 lines
10 KiB
Text
264 lines
10 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Price %]
|
|
[% USE Branches %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Acquisitions</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% Asset.css("lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css") | $raw %]
|
|
</head>
|
|
|
|
<body id="acq_acqui-home" class="acq">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'acquisitions-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › Acquisitions</div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% INCLUDE 'acquisitions-toolbar.inc' %]
|
|
|
|
<h1>Acquisitions</h1>
|
|
[% INCLUDE 'budgets-active-currency.inc' hide = 'yes' %]
|
|
[% UNLESS ( loop_budget ) %]
|
|
[% IF ( CAN_user_acquisition_period_manage ) %]
|
|
<div class="dialog alert"><a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">You must define a budget in Administration</a></div>
|
|
[% ELSE %]
|
|
<div class="dialog alert">Your administrator must define a budget in Administration</div>
|
|
[% END %]
|
|
[% END %]
|
|
<div class="row">
|
|
[% IF ( suggestion && suggestions_count ) %]
|
|
<div class="col-sm-6">
|
|
[% ELSE %]
|
|
<div class="col-sm-12">
|
|
[% END %]
|
|
<div id="acqui_acqui_home_order">
|
|
<fieldset>
|
|
<legend>Manage orders</legend>
|
|
<form name="findsupplier" action="/cgi-bin/koha/acqui/booksellers.pl" method="post">
|
|
<p><label for="supplierpage">Vendor: </label><input type="text" size="25" name="supplier" id="supplierpage" class="focus" />
|
|
<input type="submit" value="Search" />
|
|
</p>
|
|
</form>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
[% IF ( CAN_user_suggestions_suggestions_manage && suggestion && suggestions_count ) %]
|
|
<div class="col-sm-6">
|
|
<div id="acqui_acqui_home_suggestions">
|
|
<fieldset>
|
|
<legend>Pending suggestions</legend>
|
|
<p>
|
|
Manage suggestions:
|
|
<a href="/cgi-bin/koha/suggestion/suggestion.pl?branchcode=[% Branches.GetLoggedInBranchcode | url %]#ASKED">
|
|
<span id="pendingsuggestions" class="pending-number-link">[% Branches.GetLoggedInBranchname | html %]: [% suggestions_count | html %]</span>
|
|
</a>
|
|
[% IF (all_pendingsuggestions > 0) %]
|
|
/
|
|
<a href="/cgi-bin/koha/suggestion/suggestion.pl?branchcode=__ANY__#ASKED">
|
|
<span id="all_pendingsuggestions" class="pending-number-link">All libraries: [% all_pendingsuggestions | html %]</span>
|
|
</a>
|
|
[% END %]
|
|
</p>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
|
|
</div>
|
|
|
|
[% IF ( loop_budget ) %]
|
|
|
|
<h3>All available funds</h3>
|
|
|
|
<div id="BudgetsAndFunds">
|
|
<div class="toolbar btn-toolbar">
|
|
<span class="actions">
|
|
<a href="#" id="expand_all">Expand all</a> |
|
|
<a href="#" id="collapse_all">Collapse all</a> |
|
|
<a href="#" id="hide_inactive">Hide inactive budgets</a> |
|
|
<a href="#" id="show_inactive">Show inactive budgets</a> |
|
|
<select id="library-filter">
|
|
<option value="">Filter by library</option>
|
|
[% FOREACH b IN Branches.all %]
|
|
<option value="[% b.branchname | html %]">[% b.branchname | html %]</option>
|
|
[% END %]
|
|
</select>
|
|
</span>
|
|
</div>
|
|
|
|
<table id="accounts">
|
|
|
|
<thead>
|
|
<tr>
|
|
<th>Active</th>
|
|
<th>Budget period description</th>
|
|
<th>Fund code</th>
|
|
<th>Fund name</th>
|
|
<th>Owner</th>
|
|
<th>Library</th>
|
|
<th>Amount</th>
|
|
<th>Ordered</th>
|
|
<th>Spent</th>
|
|
<th>Total available</th>
|
|
</tr>
|
|
</thead>
|
|
<tfoot id="funds_total">
|
|
<tr>
|
|
<th></th>
|
|
<th></th>
|
|
<th colspan="4">Total</th>
|
|
<th class="data"></th>
|
|
<th class="data"></th>
|
|
<th class="data"></th>
|
|
<th class="data"></th>
|
|
</tr>
|
|
</tfoot>
|
|
<tbody>
|
|
[% FOREACH loop_budge IN loop_budget %]
|
|
[% IF loop_budge.budget_parent_id %]
|
|
<tr data-tt-id="[% loop_budge.budget_id | html %]" data-tt-parent-id="[% loop_budge.budget_parent_id | html %]">
|
|
[% ELSE %]
|
|
<tr data-tt-id="[% loop_budge.budget_id | html %]">
|
|
[% END %]
|
|
|
|
<td>[% loop_budge.budget_period_active | html %]</td>
|
|
<td>Budget [% loop_budge.budget_period_description | html %] [id=[% loop_budge.budget_period_id | html %]][% UNLESS loop_budge.budget_period_active %] (inactive)[% END %]</td>
|
|
<td>
|
|
[% IF ( CAN_user_acquisition_budget_manage ) %]
|
|
<a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% loop_budge.budget_period_id | uri %]">[% loop_budge.budget_code | html %]</a>
|
|
[% ELSE %]
|
|
[% loop_budge.budget_code | html %]
|
|
[% END %]
|
|
</td>
|
|
<td>[% loop_budge.budget_name | html %]</td>
|
|
<td>[% IF ( loop_budge.budget_owner ) %]
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loop_budge.budget_owner.borrowernumber | uri %]">[% loop_budge.budget_owner.surname | html %], [% loop_budge.budget_owner.firstname | html %]</a>
|
|
[% ELSE %]
|
|
|
|
[% END %]
|
|
</td>
|
|
<td>[% Branches.GetName( loop_budge.budget_branchcode ) | html %]</td>
|
|
<td class="data">
|
|
<span class="total_amount" data-parent_id="[% loop_budge.budget_parent_id | html %]" data-self_id="[% loop_budge.budget_id | html %]">[% loop_budge.budget_amount | $Price %]</span>
|
|
</td>
|
|
<td class="data">
|
|
<a href="ordered.pl?fund=[% loop_budge.budget_id | uri %]&fund_code=[% loop_budge.budget_code | uri %]">
|
|
<span class="total_amount">[% loop_budge.budget_ordered | $Price %]</span>
|
|
</a>
|
|
</td>
|
|
<td class="data">
|
|
<a href="spent.pl?fund=[% loop_budge.budget_id | uri %]&fund_code=[% loop_budge.budget_code | uri %]">
|
|
<span class="total_amount">[% loop_budge.budget_spent | $Price %]</span>
|
|
</a>
|
|
</td>
|
|
<td class="data">
|
|
<span class="total_amount" data-parent_id="[% loop_budge.budget_parent_id | html %]" data-self_id="[% loop_budge.budget_id | html %]">[% loop_budge.budget_avail | $Price %]</span>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'acquisitions-menu.inc' %]
|
|
</aside>
|
|
</div>
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% Asset.js("lib/jquery/plugins/treetable/jquery.treetable.js") | $raw %]
|
|
[% Asset.js("js/acquisitions-menu.js") | $raw %]
|
|
[% INCLUDE 'columns_settings.inc' %]
|
|
<script>
|
|
dt_overwrite_html_sorting_localeCompare();
|
|
|
|
$(document).ready(function() {
|
|
|
|
var oTable = KohaTable("accounts", {
|
|
"fnDrawCallback": function ( oSettings ) {
|
|
if ( oSettings.aiDisplay.length == 0 )
|
|
{
|
|
return;
|
|
}
|
|
|
|
var nTrs = $('#accounts tbody tr');
|
|
var iColspan = nTrs[0].getElementsByTagName('td').length;
|
|
var sLastGroup = "";
|
|
for ( var i=0 ; i<nTrs.length ; i++ )
|
|
{
|
|
var iDisplayIndex = oSettings._iDisplayStart + i;
|
|
var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[1];
|
|
if ( sGroup != sLastGroup )
|
|
{
|
|
var nGroup = document.createElement( 'tr' );
|
|
var nCell = document.createElement( 'td' );
|
|
nCell.colSpan = iColspan;
|
|
nCell.className = "group";
|
|
nCell.innerHTML = sGroup;
|
|
nGroup.appendChild( nCell );
|
|
nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
|
|
sLastGroup = sGroup;
|
|
}
|
|
}
|
|
},
|
|
"footerCallback": function ( row, data, start, end, display ) {
|
|
var api = this.api(), data;
|
|
footer_column_sum( api, [ 6, 7, 8, 9 ] );
|
|
},
|
|
"aoColumnDefs": [
|
|
{ "bVisible": false, "aTargets": [ 0, 1 ] },
|
|
{ "bSortable": false, "aTargets": ["_all"] }
|
|
],
|
|
'bSort': true,
|
|
'aaSortingFixed': [[ 1, 'asc' ]],
|
|
'bPaginate': false,
|
|
"bAutoWidth": false
|
|
});
|
|
|
|
$(oTable).treetable({
|
|
expandable: true
|
|
});
|
|
$(oTable).treetable('expandAll');
|
|
$("#expand_all").click(function(e){
|
|
e.preventDefault();
|
|
$(oTable).treetable('expandAll');
|
|
});
|
|
$("#collapse_all").click(function(e){
|
|
e.preventDefault();
|
|
$(oTable).treetable('collapseAll');
|
|
});
|
|
|
|
$("#hide_inactive").click(function(e){
|
|
e.preventDefault();
|
|
oTable.fnFilter( 1, 0 ); // Show only active=1
|
|
});
|
|
$("#show_inactive").click(function(e){
|
|
e.preventDefault();
|
|
oTable.fnFilter( '', 0 );
|
|
});
|
|
$("#hide_inactive").click();
|
|
|
|
$("#library-filter").change(function(){
|
|
$("#accounts").DataTable().search(this.value);
|
|
$("#accounts").DataTable().draw();
|
|
});
|
|
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|