Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt
Owen Leonard f69e13665d Bug 7598: make strings in acquisitions JavaScript translatable
English strings in acq.js cannot be processed by the translation script.
This patch moves the strings to the templates to be set as JS variables
for use by the script.

To test:

- On the uncertain prices page, enter an invalid price and click save.
  You should see a JavaScript alert pointing this out.

- When adding a fund to an existing budget, enter an amount which
  exceeds the amount in the parent budget. You should see a JavaScript
  alert pointing this out. There is a similar function which has been
  corrected, checkBudgetParent(), but I don't know how to trigger it for
  testing.

The closebasketgroup function has been updated but as far as I can tell
it's not actually in use.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-19 12:49:12 +00:00

567 lines
22 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Funds[% IF ( add_form ) %] &rsaquo; [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund [% END %][% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript">
//<![CDATA[
var MSG_BUDGET_PARENT_ALLOCATION = _("- Fund amount exceeds parent allocation\n");
var MSG_PARENT_BENEATH_BUDGET = _("- New budget-parent is beneath budget\n");
//]]>
</script>
<script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
[% IF ( add_form ) %]
<script type="text/javascript">
//<![CDATA[
function userPopup() {
window.open("/cgi-bin/koha/admin/aqbudget_user_search.pl?type=user",
'PatronPopup',
'width=740,height=450,location=yes,toolbar=no,'
+ 'scrollbars=yes,resize=yes'
);
}
function ownerPopup() {
window.open("/cgi-bin/koha/admin/aqbudget_user_search.pl?type=owner",
'PatronPopup',
'width=740,height=450,location=yes,toolbar=no,'
+ 'scrollbars=yes,resize=yes'
);
}
function edit_owner(borrowernumber, surname, firstname) {
$('#budget_owner_name').empty();
$('#budget_owner_id').val('');
if (borrowernumber) {
var ownerlink = '<a href="/cgi-bin/koha/members/moremember.pl'
+ '?borrowernumber=' + borrowernumber + '">'
+ firstname + ' ' + surname + '</a>';
$('#budget_owner_name').html(ownerlink);
$('#budget_owner_id').val(borrowernumber);
}
}
function ownerRemove() {
edit_owner(0);
}
function add_user(borrowernumber, surname, firstname) {
var ids = $("#budget_users_id").val().split(':');
if(borrowernumber && ids.indexOf(borrowernumber) == -1) {
var li = '<li id="user_' + borrowernumber + '">'
+ '<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber='
+ borrowernumber + '">' + firstname + ' ' + surname
+ '</a> [<a style="cursor:pointer"'
+ 'onclick="del_user(' + borrowernumber +')">Remove</a>]</li>';
$(li).insertBefore("li#add_user_button");
ids.push(borrowernumber);
$("#budget_users_id").val(ids.join(':'));
} else {
return -1;
}
return 0;
}
function del_user(borrowernumber) {
var ids = $("#budget_users_id").val().split(':');
if (borrowernumber) {
var idx = ids.indexOf(borrowernumber+'');
if (idx != -1) {
ids.splice(idx, 1);
$("#budget_users_id").val(ids.join(':'));
$("li#user_" + borrowernumber).remove();
}
}
}
function Check(f) {
var ok=1;
var _alertString="";
var alertString2;
if (!(isNotNull(f.budget_code,1))) {
_alertString += _("- Budget code cannot be blank") + "\n";
}
if (!(isNotNull(f.budget_name,1))) {
_alertString += _("- Budget name cannot be blank") + "\n";
}
if (!(isNotNull(f.budget_amount,1))) {
_alertString += _("- Budget amount cannot be blank") + "\n";
}
var budgetId;
if (typeof(f.budget_id ) != "undefined") {
budgetId = f.budget_id.value
}
var newBudgetParent;
// hack to test if selected parent_id in scrolling-list...
// if value == 'undef' its got a selected_parent :/
if(f.budget_parent_id){
var chkAdd = f.budget_parent_id.value ;
if ( typeof(chkAdd ) != "undefined") {
newBudgetParent = f.budget_parent_id.value
} else {
newBudgetParent = f.budget_parent_id.item(0).value
}
if (budgetId > 0) { ; //its a mod ...
// if parent == curent-budget, fail...
if ( newBudgetParent == budgetId ) {
_alertString += _("- Budget parent is current budget") + "\n";
}
else if (newBudgetParent) {
var result = checkBudgetParent( budgetId , newBudgetParent );
if (result) {
_alertString += result;
}
}
}
}
// else do lookup
var budgetTotal = Math.abs(f.budget_amount.value);
var result = budgetExceedsParent (budgetTotal, budgetId, newBudgetParent, f.budget_period_id.value)
if (result) {
_alertString += result;
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n\n";
alertString2 += _alertString;
alert(alertString2);
}
}
//]]>
</script>
[% ELSE %]
[% IF ( notree ) %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
[% ELSE %]
<link href="[% themelang %]/lib/jquery/plugins/treetable/stylesheets/jquery.treeTable.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/treetable/jquery.treeTable.min.js"></script>
[% END %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.qtip.js"></script>
<script type="text/javascript">
//<![CDATA[
//
$(document).ready(function() {
var tooltipcontent = $(".tooltipcontent");
tooltipcontent.hide();
$(".tooltiped td").each(function (){
contentelem = $(this).parent().children().filter(".tooltipcontent");
if(contentelem.html() != ""){
$(this).qtip({
content: contentelem.html(),
show: "mouseover",
hide: "mouseout",
style: {
name: "light",
tip: "bottomLeft",
border: {
radius: 5,
color: "#356CA1"
}
},
position: {
corner: {
target: "topRight",
tooltip: "bottomRight"
}
}
});
}
});
[% IF ( notree ) %]
$("#budgeth").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
],
"aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
"iDisplayLength": 20,
"sPaginationType": "four_button"
}));
[% ELSE %]
$("#budgeth").treeTable();
[% END %]
$("#filterbutton").click(function() {
$("#fundfilters").slideToggle(0);
});
});
//]]>
</script>
[% END %]
</head>
<body id="admin_aqbudgets" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'budgets-admin-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo; [% IF ( else ) %]Funds for '[% budget_period_description %]'[% END %][% IF ( add_form ) %]
<a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id %]">Funds</a> &rsaquo; [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund[% END %][% END %] [% IF ( delete_confirm ) %]
<a href="/cgi-bin/koha/admin/aqbudgets.pl">Funds</a> &rsaquo; Delete fund?[% END %]</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b" id="content">
[% UNLESS ( delete_confirm ) %][% INCLUDE 'budgets-admin-toolbar.inc' %][% END %]
[% IF (error_not_authorised_to_modify) %]
<div class="error">
<p>You are not authorized to modify this fund</p>
</div>
[% END %]
[% IF ( else ) %]
<h1>Funds for '[% budget_period_description %]'</h1>
[% INCLUDE 'budgets-active-currency.inc' %]
[% IF ( budget ) %]
<table id="budgeth">
<thead>
<tr>
<th>Fund code</th>
<th>Fund name</th>
<th>Total<br />allocated</th>
<th>Base-level<br />allocated</th>
<th>Base-level<br />spent</th>
<th>Total sublevels<br />spent</th>
<th>Base-level<br />remaining</th>
<th class="tooltipcontent">&nbsp;</th>
<th>Actions</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="2" style="text-align: left;" nowrap="nowrap">Period allocated [% IF ( budget_period_total ) %][% budget_period_total %][% END %] </th>
<th nowrap="nowrap" class="data"> [% period_alloc_total %]</th>
<th nowrap="nowrap" class="data"> [% base_alloc_total %]</th>
<th class="data">[% base_spent_total %]</th>
<th class="data">[% base_spent_total %]</th>
<th class="data">[% base_remaining_total %]</th>
<th class="tooltipcontent"></th>
<th></th>
</tr>
</tfoot>
<tbody>
[% FOREACH budge IN budget %]
[% IF ( budge.toggle ) %]
<tr id="node-[% budge.budget_id %]" class="highlight[% IF ( budge.budget_parent_id ) %] child-of-node-[% budge.budget_parent_id %][% END %] tooltiped">
[% ELSE %]
<tr id="node-[% budge.budget_id %]" class="tooltiped [% IF ( budge.budget_parent_id ) %] child-of-node-[% budge.budget_parent_id %][% END %]">
[% END %]
<td>[% budge.budget_code_indent %]</td>
<td>[% budge.budget_name %]</td>
<td class="data">[% budge.budget_amount_total %]</td>
<td class="data">[% budge.budget_amount %] </td>
<td class="data">[% budge.budget_spent %] </td>
<td class="data">[% budge.total_levels_spent %]</td>
[% IF ( budge.remaining_pos ) %]
<td class="data" style="color: green;">
[% ELSIF ( budge.remaining_neg ) %]
<td class="data" style="color: red;">
[% ELSE %]
<td class="data">
[% END %]
[% budge.budget_remaining %] </td>
<td class="tooltipcontent">[% IF ( budge.budget_owner_id ) %]<strong>Owner: </strong><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% budge.budget_owner_id %]">[% budge.budget_owner_name %]</a>[% END %]
[% IF ( budge.budget_branchcode ) %]<br /><strong>Library: </strong>[% budge.budget_branchcode %][% END %]
[% IF ( budge.budget_notes ) %]<br /><strong>Notes: </strong>[% budge.budget_notes %][% END %]
[% IF ( budge.budget_hierarchy ) %]
<ul class="budget_hierarchy">[% FOREACH budget_hierarch IN budge.budget_hierarchy %]
[% IF ( budget_hierarch.element_id ) %]
<li><a href="?op=add_form&amp;budget_id=[% budget_hierarch.element_id %]&amp;budget_period_id=[% budget_hierarch.budget_period_id %]">[% budget_hierarch.element_name %]</a></li>
[% ELSE %]
<li><strong>[% budget_hierarch.element_name %] : </strong></li>
[% END %]
[% END %]
</ul>
[% END %]</td>
[% IF ( budge.budget_lock ) %]
<td> <span style="color: gray;"> Edit Delete </span> </td>
[% ELSE %]
<td>
<a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_id=[% budge.budget_id %]&amp;budget_period_id=[% budge.budget_period_id %]" >Edit</a>
<a href="/cgi-bin/koha/admin/aqbudgets.pl?op=delete_confirm&amp;budget_id=[% budge.budget_id %]&amp;budget_period_id=[% budge.budget_period_id %]">Delete</a>
<a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_parent_id=[% budge.budget_id %]&amp;budget_period_id=[% budge.budget_period_id %]">Add child fund</a>
</td>
[% END %]
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
No fund found
[% END %]
[% IF ( pagination_bar ) %]<div class="pages">[% pagination_bar %]</div>[% END %]
[% END %] <!-- else -->
<!-- ********************************************************************************************** -->
<!-- create add/mod entry form -->
[% IF ( add_form && !error_not_authorised_to_modify ) %]
<form action="/cgi-bin/koha/admin/aqbudgets.pl" name="Aform" method="post">
<fieldset class="rows">
<legend>[% IF ( budget_id ) %]Modify[% ELSE %]Add[% END %] Fund
[% IF ( budget_period_description ) %]
[% budget_name %] for Budget '[% budget_period_description %]'
[% END %]
</legend>
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="checked" value="0" />
<ol>
[% IF ( budget_parent_id ) %]
<li>
<span class="label">Fund parent: </span>
[% budget_parent_name %]
[% budget_parent_id %] - [% budget_parent_name %]
<input type="hidden" name="budget_parent_id" value="[% budget_parent_id %]" />
</li>
[% END %]
<li>
<label class="required" for="budget_code">Fund code: </label>
<input type="text" name="budget_code" id="budget_code" value="[% budget_code %]" size="30" />
</li>
<li>
<label class="required" for="budget_name">Fund name: </label>
<input type="text" name="budget_name" id="budget_name" value="[% budget_name %]" size="60" />
</li>
<li>
<label style="white-space: nowrap;" for="budget_amount" class="required">Amount: </label>
<input type="text" name="budget_amount" id="budget_amount" value="[% budget_amount %]" size="8" />
</li>
<li style="display:none;">
<label for="budget_encumb">Encumbrance: </label>
<input type="text" name="budget_encumb" id="budget_encumb" value="[% budget_encumb %]" size="8" />
</li>
<li style="display:none;">
<label for="budget_expend">Expenditure: </label>
<input type="text" name="budget_expend" id="budget_expend" value="[% budget_expend %]" size="8" />
</li>
<li>
<span class="label">Owner: </span>
<span id="budget_owner_name">
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% budget_owner_id %]">
[% budget_owner_name %]
</a>
</span>
<input type="hidden" name="budget_owner_id" id="budget_owner_id"
value="[% budget_owner_id %]" />
<!-- FIXME: hardcoded button positions :/ -->
<input type="button" id="edit_owner" value="Edit owner"
onclick="ownerPopup(); return false;" />
<input type="button" id="remove_owner" value="Remove owner"
onclick="ownerRemove(); return false;" />
</li>
<li>
<span class="label">Users:</span>
<ul style="float:left;" id="budget_users">
[% FOREACH user IN budget_users %]
<li id="user_[% user.borrowernumber %]">
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% user.borrowernumber %]">
[% user.firstname %] [% user.surname %]
</a>
[<a style="cursor:pointer"
onclick="del_user([% user.borrowernumber %])">Remove</a>]
</li>
[% END %]
<li id="add_user_button">
<input type="button" onclick="userPopup()" value="Add users" />
</li>
</ul>
<input type="hidden" name="budget_users_ids" id="budget_users_id" value="[% budget_users_ids %]" />
<li>
<label for="budget_branchcode">Library: </label>
<select name="budget_branchcode" id="budget_branchcode">
<option value=""></option>
[% FOREACH branchloop_selec IN branchloop_select %]
[% UNLESS ( branchloop_selec.selected ) %] <option value="[% branchloop_selec.value %]" > [% ELSE %] <option value="[% branchloop_selec.value %]" selected="selected"> [% END %] [% branchloop_selec.value %]-[% branchloop_selec.branchname %]</option>
[% END %]
</select>
</li>
<li>
<label for="budget_permission">Restrict access to: </label>
<select name="budget_permission" id="budget_permission">
[% IF ( budget_perm_0 ) %]
<option value="0" selected="selected">
[% ELSE %]
<option value="0">
[% END %]
None
</option>
[% IF ( budget_perm_1 ) %]
<option value="1" selected="selected">
[% ELSE %]
<option value="1">
[% END %]
Owner
</option>
[% IF ( budget_perm_3) %]
<option value="3" selected="selected">
[% ELSE %]
<option value="3">
[% END %]
Owner and users
</option>
[% IF ( budget_perm_2 ) %]
<option value="2" selected="selected">
[% ELSE %]
<option value="2">
[% END %]
Owner, users and library
</option>
</select>
</li>
<li>
<label for="budget_notes">Notes: </label>
<textarea name="budget_notes" id="budget_notes" cols="80" rows="6">[% budget_notes %]</textarea>
</li>
<li>
<label style="white-space: nowrap;" for="authorised_value_category1">Statistic 1 done on: </label>
<select name="sort1_authcat" id="authorised_value_category1">
<option value=""></option>
[% FOREACH authorised_value_categories IN authorised_value_categories1 %]
[% IF ( authorised_value_categories.selected ) %]
<option value="[% authorised_value_categories.category %]" selected="selected">
[% authorised_value_categories.category %]
</option>
[% ELSE %]
<option value="[% authorised_value_categories.category %]">
[% authorised_value_categories.category %]
</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label style="white-space: nowrap;" for="authorised_value_category2">Statistic 2 done on: </label>
<select name="sort2_authcat" id="authorised_value_category2">
<option value=""></option>
[% FOREACH authorised_value_categories IN authorised_value_categories2 %]
[% IF ( authorised_value_categories.selected ) %]
<option value="[% authorised_value_categories.category %]" selected="selected">
[% authorised_value_categories.category %]
</option>
[% ELSE %]
<option value="[% authorised_value_categories.category %]">
[% authorised_value_categories.category %]
</option>
[% END %]
[% END %]
</select>
</li>
</ol>
[% IF ( budget_id ) %]
<input type="hidden" name="budget_id" value="[% budget_id %]" />
[% END %]
</fieldset>
<fieldset class="action">
<input type="submit" value="Submit" onclick="Check(this.form); return false;" /> <a class="cancel" href="/cgi-bin/koha/admin/aqbudgets.pl">Cancel</a>
<input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
</fieldset>
</form>
[% END %] <!-- add_form -->
[% IF ( delete_confirm ) %]
<div class="dialog alert"> <h3>Delete fund [% budget_name %]?</h3>
<table>
<tr>
<th scope="row">Fund amount:</th>
<td>[% budget_amount %]</td>
</tr>
</table>
<form action="[% action %]" method="post">
<input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="budget_id" value="[% budget_id %]" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
<input type="submit" value="Delete" class="approve" />
</form>
<form action="[% action %]" method="get">
<input type="submit" class="deny" value="Cancel" />
</form>
</div>
[% END %]
</div>
</div>
<div class="yui-b">
[% IF ( else ) %]<form action="/cgi-bin/koha/admin/aqbudgets.pl" method="get">
<a href="#" id="filterbutton">Filters</a>
<fieldset class="brief" id="fundfilters">
<h4>Fund filters</h4>
<ol>
<li>
<label for="filter_budgetbranch2">Library: </label>
<select name="filter_budgetbranch" id="filter_budgetbranch2" style="width:10em;">
<option value=""></option>
[% FOREACH branchloo IN branchloop %]
[% UNLESS ( branchloo.selected ) %]<option value="[% branchloo.value %]">
[% ELSE %]<option value="[% branchloo.value %]" selected="selected">[% END %]
[% branchloo.branchname %]</option>
[% END %]
</select>
</li>
<li class="radio">
<label for="show_mine">Show my funds only</label>
[% IF ( show_mine ) %]
<input type="checkbox" id="show_mine" name="show_mine" value="1" checked="checked" />
[% ELSE %]
<input type="checkbox" id="show_mine" name="show_mine" value="1" />
[% END %]
</li>
</ol>
<input type="hidden" name="show" value="1" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
<input type="submit" class="submit" name="filter" value="Go" />
</fieldset>
</form>[% END %]
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]