Owen Leonard
a682c620ee
I think the "breadcrumbs" ID is worth saving for past and future CSS customization reasons. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
169 lines
6.6 KiB
Text
169 lines
6.6 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Branches %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Administration › Transport cost matrix</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<style>
|
|
.disabled-transfer {
|
|
background-color: #FF8888;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body id="admin_transport_cost_matrix" class="admin">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'prefs-admin-search.inc' %]
|
|
|
|
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
|
|
<ol>
|
|
<li>
|
|
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
|
|
</li>
|
|
<li>
|
|
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
Transport cost matrix
|
|
</a>
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
<h1 class="parameters">
|
|
Defining transport costs between libraries
|
|
</h1>
|
|
[% IF ( WARNING_transport_cost_matrix_off ) %]
|
|
<div class="dialog message">Because the "UseTransportCostMatrix" system preference is currently not enabled, the transport cost matrix is not being used. <br/>Go to the <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=UseTransportCostMatrix">UseTransportCostMatrix</a> system preference if you wish to enable this feature.</div>
|
|
[% END %]
|
|
|
|
[% IF ( errors ) %]<div class="dialog alert">
|
|
<h4>There were problems with your submission</h4>
|
|
<ul>
|
|
[% FOR e IN errors %]
|
|
<li>Invalid value for [% e | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>[% END %]
|
|
|
|
<form method="post" action="/cgi-bin/koha/admin/transport-cost-matrix.pl" id="cost_matrix_form">
|
|
<input type="hidden" name="op" value="set-cost-matrix" />
|
|
<fieldset id="transport-cost-matrix">
|
|
<div class="help">
|
|
<p>Costs are decimal values between some arbitrary maximum value (e.g. 1 or 100) and 0 which is the minimum (no) cost.</p>
|
|
<p>Red cells signify no transfer allowed.</p>
|
|
<p>Click on individual cells to edit.</p>
|
|
</div>
|
|
|
|
<table>
|
|
<tr>
|
|
<th>From \ To</th>
|
|
[% FOR b IN Branches.all() %]
|
|
<th>[% b.branchname | html %]</th>
|
|
[% END %]
|
|
</tr>
|
|
[% FOR bf IN branchfromloop %]
|
|
<tr>
|
|
<th>[% bf.name | html %]</th>
|
|
[% FOR bt IN bf.branchtoloop %]
|
|
<td>
|
|
[% IF bt.skip %]
|
|
|
|
[% ELSE %]
|
|
[% IF bt.disabled %]
|
|
<div id="celldiv_[% bt.id | html %]" class="disabled-transfer">
|
|
[% ELSE %]
|
|
<div id="celldiv_[% bt.id | html %]">
|
|
[% END %]
|
|
<div class="enable_cost_input" data-cost-id="[% bt.id | html %]">[% IF bt.disabled %] [% ELSE %][% bt.value | html %][% END %]</div>
|
|
<input type="hidden" name="cost_[% bt.id | html %]" value="[% bt.value | html %]" />
|
|
[% IF bt.disabled %]
|
|
<input type="hidden" name="disable_[% bt.id | html %]" value="1" />
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
</fieldset>
|
|
<fieldset class="action">
|
|
<input type="submit" value="Save" class="submit" /> <a href="/cgi-bin/koha/admin/transport-cost-matrix.pl" class="cancel">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'admin-menu.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% Asset.js("js/admin-menu.js") | $raw %]
|
|
<script>
|
|
function check_transport_cost(e) {
|
|
var val = e.value;
|
|
if (val && val != '' && !isNaN(parseFloat(val)) && val >= 0.0) {
|
|
return;
|
|
}
|
|
alert(_("Cost must be expressed as a decimal number >= 0"));
|
|
}
|
|
function disable_transport_cost_chg(e) {
|
|
var input_name = e.name;
|
|
var cost_id = input_name.replace(/disable_/,''); // Parse the code_id out of the input name
|
|
disable_transport_cost(cost_id, e.checked);
|
|
}
|
|
function disable_transport_cost(cost_id, disable) {
|
|
if (disable) {
|
|
$('#celldiv_'+cost_id).find('input[type=text]').prop('disabled', true).addClass('disabled-transfer');
|
|
} else {
|
|
$('#celldiv_'+cost_id).find('input:disabled').prop('disabled', false).removeClass('disabled-transfer');
|
|
}
|
|
}
|
|
function enable_cost_input(cost_id) {
|
|
var cell = $('#celldiv_'+cost_id);
|
|
var cost = $(cell).text();
|
|
var disabled = $(cell).hasClass('disabled-transfer');
|
|
$(cell).removeClass('disabled-transfer');
|
|
|
|
$('#celldiv_'+cost_id).html(
|
|
'<input type="text" name="cost_'+cost_id+'" class="cost_input" size="4" value="'+$.trim(cost)+'" />'+
|
|
'<br/>' + _("Disable ") + '<input name="disable_'+cost_id+'" value="1" class="disable_transport_cost" type="checkbox" '+(disabled ? 'checked' : '')+' />'
|
|
);
|
|
disable_transport_cost(cost_id, disabled);
|
|
}
|
|
|
|
function form_submit (f) {
|
|
$(f).find('input:disabled').prop('disabled', false);
|
|
return true;
|
|
}
|
|
$(document).ready(function(){
|
|
$(".enable_cost_input").on("click",function(){
|
|
var cost_id = $(this).data("cost-id");
|
|
enable_cost_input( cost_id );
|
|
});
|
|
$("body").on("blur",".cost_input",function(){
|
|
check_transport_cost(this);
|
|
});
|
|
$("body").on("change",".disable_transport_cost",function(){
|
|
disable_transport_cost_chg(this);
|
|
});
|
|
$("#cost_matrix_form").on("submit",function(){
|
|
return form_submit(this);
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|