Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt
Jonathan Druart dcd1f5d48c Bug 13618: Add html filters to all the variables
Here we go, next step then.
As we did not fix the performance issue when autofiltering
the variables (see bug 20975), the only solution we have is to add the
filters explicitely.

This patch has been autogenerated (using add_html_filters.pl, see next
pathces) and add the html filter to all the variables displayed in the
template.
Exceptions are made (using the new 'raw' TT filter) to the variable we
already listed in the previous versions of this patch.

To test:
- Use t/db_dependent/Koha/Patrons.t to populate your DB with autogenerated
data which contain <script> tags

- Remove them from borrower_debarments.comments (there are allowed here)
update  borrower_debarments set comment="html tags possible here";

- From the interface hit page and try to catch alert box.
If you find one it means you find a possible XSS.
To know where it comes from:
* note the exact URL where you found it
* note the alert box content
* Dump your DB and search for the string in the dump to identify its
location (for instance table.field)

Next:
* Ideally we would like to use the raw filter when it is not necessary
to HTML escape the variables (in big loop for instance)
* Provide a QA script to catch missing filters (we want html, uri, url
or raw, certainly others that I am forgetting now)
* Replace the html filters with uri when needed (!)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-08-17 15:55:05 +00:00

636 lines
26 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE KohaDates %]
[% USE Price %]
[% SET footerjs = 1 %]
[%- BLOCK action_menu %]
<div class="dropdown">
<a class="btn btn-default btn-xs dropdown-toggle" id="budgetmenu_[% block_budget.budget_period_id | html %]" role="button" data-toggle="dropdown" href="#">
Actions <b class="caret"></b>
</a>
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="budgetmenu_[% block_budget.budget_period_id | html %]">
<li>
<a href="[% script_name | html %]?op=add_form&amp;budget_period_id=[% block_budget.budget_period_id | html %]"><i class="fa fa-pencil"></i> Edit</a>
</li>
[% IF block_budget.count %]
<li class="disabled">
<a data-toggle="tooltip" data-placement="left" title="[% block_budget.count | html %] fund(s) are attached to this budget. You must delete all attached funds before deleting this budget." href="#"><i class="fa fa-trash"></i> Delete</a>
</li>
[% ELSE %]
<li>
<a href="[% script_name | html %]?op=delete_confirm&amp;budget_period_id=[% block_budget.budget_period_id | html %]"><i class="fa fa-trash"></i> Delete</a>
</li>
[% END %]
<li>
<a href="[% script_name | html %]?op=duplicate_form&amp;budget_period_id=[% block_budget.budget_period_id | html %]"><i class="fa fa-copy"></i> Duplicate</a>
</li>
<li>
<a href="[% script_name | html %]?op=close_form&amp;budget_period_id=[% block_budget.budget_period_id | html %]"><i class="fa fa-times-circle"></i> Close</a>
</li>
<li>
<a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% block_budget.budget_period_id | html %]"><i class="fa fa-plus"></i> Add fund</a>
</li>
</ul>
</div>
[% END -%]
[% INCLUDE 'doc-head-open.inc' %]
[% INCLUDE 'doc-head-close.inc' %]
[% Asset.css("css/datatables.css") | $raw %]
[% IF close_form %]
[% Asset.css("lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css") | $raw %]
[% END %]
<title>
Koha &rsaquo; Administration &rsaquo; Budgets
[% IF ( add_form ) %]&rsaquo;
[% IF ( budget_period_id ) %]
Modify budget [% budget_period_description | html %]
[% ELSE %]
Add budget
[% END %]
[% END %]
[% IF ( duplicate_form ) %]&rsaquo; Duplicate budget[% END %]
[% IF ( delete_confirm ) %]&rsaquo;
Delete budget '[% budget_period_description | html %]'?
[% END %]
[% IF ( delete_confirmed ) %]&rsaquo;
Data deleted
[% END %]
[% IF close_form %]&rsaquo;
Close budget [% budget_period_description | html %]
[% END %]
[% IF closed %]&rsaquo;
Budget [% budget_period_description | html %] closed
[% END %]
</title>
</head>
<body id="admin_aqbudgetperiods" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'budgets-admin-search.inc' %]
<!-- ################################################################################# -->
<!-- BREADCRUMBS -->
<!-- ################################################################################# -->
<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;
[% IF ( add_form ) %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
[% IF ( budget_period_id ) %]
<span>Modify budget '[% budget_period_description | html %]'</span>
[% ELSE %]
<span>Add budget</span>
[% END %]
[% END %]
[% IF ( delete_confirm ) %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
[% IF ( total || funds_exist ) %]
<span>Cannot delete budget '[% budget_period_description | html %]'</span>
[% ELSE %]
<span>Delete budget '[% budget_period_description | html %]'?</span>
[% END %]
[% END %]
[% IF ( duplicate_form ) %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo; Duplicate budget
[% END %]
[% IF close_form %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
<span>Close budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">[% budget_period_description | html %]</a></span>
[% END %]
[% IF closed %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
<span>Budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">[% budget_period_description | html %]</a> closed</span>
[% END %]
[% IF ( else ) %]
<span>Budgets administration</span>
[% END %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% UNLESS close_form OR closed%]
[% INCLUDE 'budgets-admin-toolbar.inc' %]
[% END %]
[% IF ( duplicate_form ) %]
<h3>Duplicate budget</h3>
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post">
<fieldset class="rows">
<input type="hidden" name="op" value="duplicate_budget" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
<ol>
<li>
<label class="required" for="from">Start date: </label>
<input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<label class="required" for="to">End date: </label>
<input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<label class="required" for="budget_period_description">Description</label>
<input type="text" id="budget_period_description" name="budget_period_description" value="[% budgetperiod.budget_period_description | html %]" />
</li>
<li>
<label for="amount_change_percentage">Change amounts by</label>
<input type="text" id="amount_change_percentage" name="amount_change_percentage" /> %
<div class="hint">(can be positive or negative)</div>
</li>
<li>
<label for="amount_change_round_increment">If amounts changed, round to a multiple of</label>
<input type="text" id="amount_change_round_increment" name="amount_change_round_increment" />
<div class="hint">(amounts will be rounded down)</div>
</li>
<li>
<label for="mark_as_inactive">Mark the original budget as inactive</label>
<input type="checkbox" id="mark_as_inactive" name="mark_original_budget_as_inactive" />
</li>
<li>
<label for="reset_all_budgets">Set all funds to zero</label>
<input type="checkbox" id="reset_all_budgets" name="reset_all_budgets" />
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="button" value="Save Changes" onclick="CheckDuplicateForm(this.form)" /> <a class="cancel" href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF ( add_form ) %]
<!-- add or modify a budget period -->
[% IF ( budget_period_id ) %]
<h3>Modify budget <i>[% budget_period_description | html %]</i></h3>
[% ELSE %]
<h3>Add budget</h3>
[% END %]
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post">
<fieldset class="rows">
<!-- ################################################################################# -->
<!-- display information about the budget period that must be added or modified -->
<!-- ################################################################################# -->
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
<ol>
<li>
<label class="required" for="from">Start date: </label>
<input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<label class="required" for="to">End date: </label>
<input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<!-- DESCRIPTION -->
<!-- ############################## -->
<label class="required" for="budget_period_description">Description: </label>
<input type="text" id="budget_period_description" name="budget_period_description"
size="48" maxlength="80" value="[% budget_period_description | html %]" />
</li>
<li>
<!-- TOTAL -->
<!-- ############################## -->
<label for="budget_period_total">Total amount: </label>
<input type="text" id="budget_period_total" name="budget_period_total"
size="10" maxlength="80" value="[% budget_period_total | $Price on_editing => 1 | html %]" />
</li>
<li>
<!-- ACTIVE -->
<!-- ############################## -->
<label for="budget_period_active">Make budget active: </label>
[% IF ( budget_period_active ) %]<input type="checkbox" checked="checked" id="budget_period_active" name="budget_period_active" value="1" />[% ELSE %] <input type="checkbox" id="budget_period_active" name="budget_period_active" value="1"/> [% END %]
</li>
<li>
<!-- LOCK -->
<!-- ############################## -->
<label for="budget_period_locked">Lock budget: </label>
[% IF ( budget_period_locked ) %]<input type="checkbox" checked="checked" id="budget_period_locked" name="budget_period_locked" value="1" />[% ELSE %] <input type="checkbox" id="budget_period_locked" name="budget_period_locked" value="1"/> [% END %]
</li>
</ol>
</fieldset>
<fieldset class="action">
<!-- "save changes" button -->
<!-- ###################################### -->
<input type="button" value="Save" onclick="Check(this.form)" />
<!-- <input type="submit" value="Save Changes" /> -->
[% IF ( budget_period_id ) %]
<a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]" class="cancel">Cancel</a>
[% ELSE %]
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl" class="cancel">Cancel</a>
[% END %]
</fieldset>
</form>
[% END %]
<!-- ####################################################################### -->
<!-- delete a budget period -->
<!-- ####################################################################### -->
[% IF ( delete_confirm ) %]
[% IF ( total ) %]
<div class="dialog message">
<h3>Cannot delete budget</h3>
<p><strong>This record is used [% total | html %] times</strong>
. Deletion is not possible.</p>
[% ELSIF ( funds_exist ) %]
<div class="dialog message">
<h3>Cannot delete budget</h3>
<p>This budget has funds attached. You must delete all attached funds before you can delete this budget.</p>
[% ELSE %]
<div class="dialog alert">
<h3>Delete budget '[% budget_period_description | html %]'?</h3>
<!-- ############################################################# -->
<!-- "delete" and "cancel" buttons -->
<!-- ############################################################# -->
<form action="[% script_name | html %]" method="post">
<input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete</button>
</form>
<form action="[% script_name | html %]" method="post">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
[% END %]
</div>
[% END %]
[% IF close_form %]
[% IF budget_periods.size == 0 %]
You cannot move funds of this budget, there is no active budget.
Please create a new active budget and retry.
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
[% ELSIF number_of_unreceived_orders == 0 %]
There are no unreceived orders for this budget.
<a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
[% ELSE %]
<h3>The unreceived orders from the following funds will be moved</h3>
Fund list of budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">[% budget_period_description | html %]</a>:
<table id="budgeth">
<thead>
<tr>
<th>Fund id</th>
<th>Fund code</th>
<th>Fund name</th>
<th>Unreceived orders</th>
</tr>
</thead>
<tbody>
[% FOREACH budget IN budgets_to_move %]
<tr>
<td>[% budget.budget_id | html %]</td>
<td>[% budget.budget_code_indent | html %]</td>
<td>[% budget.budget_name | html %]</td>
<td>[% budget.unreceived_orders.size | html %]</td>
</tr>
[% END %]
</tbody>
</table>
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post" id="move_form">
<fieldset class="rows">
<ol>
<li>
<label class="required" for="to_budget_period_id">Select a budget</label>
<select name="to_budget_period_id" id="to_budget_period_id" required="required">
<option value=""></option>
[% FOR budget_period IN budget_periods %]
<option value="[% budget_period.budget_period_id | html %]">[% budget_period.budget_period_description | html %]</option>
[% END %]
</select>
</li>
<li>
<label for="move_remaining_unspent">Move remaining unspent funds</label>
<input type="checkbox" name="move_remaining_unspent" id="move_remaining_unspent" />
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="hidden" name="op" value="close_confirmed" />
<input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
<input type="submit" value="Move unreceived orders" />
<a class="cancel" href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% ELSIF closed %]
<h3>Report after moving unreceived orders from budget [% from_budget_period.budget_period_description | html %] ([% from_budget_period.budget_period_startdate | $KohaDates %] - [% from_budget_period.budget_period_enddate | $KohaDates %]) to [% to_budget_period.budget_period_description | html %] ([% to_budget_period.budget_period_startdate | $KohaDates %] - [% to_budget_period.budget_period_enddate | $KohaDates%])</h3>
<table id="closed_report">
<thead>
<tr>
<td>Budget id</td>
<td>Basket</td>
<td>Ordernumber</td>
<td>Details</td>
</tr>
</thead>
<tbody>
[% FOR r IN report %]
[% IF r.moved %]
[% IF r.orders_moved.size > 0 %]
[% FOR order IN r.orders_moved %]
<tr>
<td>[% r.budget.budget_name | html %] (id=[% r.budget.budget_id | html %]) Amount=[% r.budget.budget_amount | $Price | html %][% IF r.unspent_moved %] ([% r.unspent_moved | $Price | html %] remaining has been moved)[% END %]</td>
<td>[% order.basketname | html %]</td>
<td>[% order.ordernumber | html %]</td>
<td>Moved!</td>
</tr>
[% END %]
[% ELSE %]
<tr>
<td>[% r.budget.budget_name | html %] (id=[% r.budget.budget_id | html %])</td>
<td></td>
<td></td>
<td>There were no unreceived orders for this fund.</td>
</tr>
[% END %]
[% ELSE %]
[% IF r.error == 'budget_code_not_exists' %]
<tr>
<td>[% r.budget.budget_id | html %] [% r.budget.budget_amount | $Price | html %][% IF r.unspent_moved %] ([% r.unspent_moved | $Price | html %] remaining has been moved)[% END %]</td>
<td></td>
<td></td>
<td>This fund code does not exist in the destination budget.</td>
</tr>
[% END %]
[% END %]
</tr>
[% END %]
</tbody>
</table>
<a class="cancel" href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
[% END %]
<!-- DEFAULT display budget periods list -->
[% IF ( else ) %]
<h2>Budgets administration</h2>
[% IF ( failed_delete_funds_exist ) %]
<div class="dialog message">Failed to delete budget because funds exist.</div>
[% END %]
[% INCLUDE 'budgets-active-currency.inc' %]
<div id="budgetsTabs" class="toptabs">
<ul>
<li><a href="#active">Active budgets</a></li>
<li><a href="#inactive">Inactive budgets</a></li>
</ul>
<div id="active">
[% IF ( period_active_loop ) %]
<table id="activeperiodst">
<thead>
<tr>
<th>Budget name</th>
<th class="title-string">Start date</th>
<th class="title-string">End date</th>
<th>Locked</th>
<th>Total</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
[% FOREACH period_active IN period_active_loop %]
<tr>
<td><a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% period_active.budget_period_id | html %]" title="View funds for [% period_active.budget_period_description | html %]">[% period_active.budget_period_description | html %]</a></td>
<td><span title="[% period_active.budget_period_startdate | html %]">[% period_active.budget_period_startdate | $KohaDates %]</span></td>
<td><span title="[% period_active.budget_period_enddate | html %]">[% period_active.budget_period_enddate | $KohaDates %]</span></td>
<td>
[% IF ( period_active.budget_period_locked ) %]
<span style="color:green;">Locked</span>&nbsp;
[% END %]
</td>
<td class="data">[% period_active.budget_period_total | $Price | html %]</td>
<td>
[% PROCESS action_menu block_budget=period_active %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
No active budgets
[% END %]
</div>
<div id="inactive">
[% IF ( period_inactive_loop ) %]
<table id="inactiveperiodst">
<thead>
<tr>
<th>Budget name</th>
<th class="title-string">Start date</th>
<th class="title-string">End date</th>
<th>Locked</th>
<th>Total</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
[% FOREACH period_loo IN period_inactive_loop %]
<tr>
<td><a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% period_loo.budget_period_id | html %]" title="View funds for [% period_loo.budget_period_description | html %]">[% period_loo.budget_period_description | html %]</a></td>
<td><span title="[% period_loo.budget_period_startdate | html %]">[% period_loo.budget_period_startdate | $KohaDates %]</span></td>
<td><span title="[% period_loo.budget_period_enddate | html %]">[% period_loo.budget_period_enddate | $KohaDates %]</span></td>
<td> [% IF ( period_loo.budget_period_locked ) %]<span style="color:green;">Locked</span>&nbsp;[% ELSE %][% END %] </td>
<td class="data">[% period_loo.budget_period_total | $Price | html %]</td>
<td>
[% PROCESS action_menu block_budget=period_loo %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
No inactive budgets
[% END %]
</div>
</div>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'calendar.inc' %]
[% INCLUDE 'datatables.inc' %]
[% IF close_form %]
[% Asset.js("lib/jquery/plugins/treetable/jquery.treetable.js") | $raw %]
[% END %]
[% Asset.js("js/acq.js") | $raw %]
<script type="text/javascript">
// #################################################################################
// Javascript
// #################################################################################
function CheckDuplicateForm(f){
var ok=1;
var _alertString="";
var alertString="";
if(!(isNotNull(f.budget_period_startdate,1))){
_alertString += "\n- " + _("Start date missing");
}
if (!(isNotNull(f.budget_period_enddate,1))){
_alertString += "\n- " + _("End date missing");
}
if( f.budget_period_startdate > f.budget_period_enddate ) {
_alertString += "\n- " + _("Start date must be before end date");
}
if (!(isNotNull(f.budget_period_description,1))){
_alertString += "\n- " + _("Budget description missing");
}
if(_alertString.length==0){
f.submit();
} else {
alertString += _("Form not submitted because of the following problem(s)");
alertString += "\n-----------------------------------------\n";
alertString += _alertString;
alert(alertString);
}
}
function Check(f) {
var ok=1;
var _alertString="";
var alertString2;
if (!(isNotNull(f.budget_period_startdate,1))) {
_alertString += "\n- " + _("Start date missing");
}
if (!(isNotNull(f.budget_period_enddate,1))) {
_alertString += "\n- " + _("End date missing");
}
if ( f.budget_period_startdate > f.budget_period_enddate ) {
_alertString += "\n- " + _("Start date must be before end date");
}
if (!(isNotNull(f.budget_period_description,1))) {
_alertString += "\n- " + _("Description missing");
}
if (!(isNum(f.budget_period_total))) {
_alertString += "\n- " + _("Amount must be a valid number, or empty");
}
if (_alertString.length==0) {
f.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += _alertString;
alert(alertString2);
}
}
$(document).ready(function() {
var tabs = $('#budgetsTabs').tabs();
[% IF ( tab ) %]
tabs.tabs("option", "active", [% tab | html %]);
[% END %]
$("#activeperiodst,#inactiveperiodst").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
{ "sType": "title-string", "aTargets" : [ "title-string" ] }
],
"sPaginationType": "four_button",
'bAutoWidth': false
} ) );
[% IF close_form %]
$("#budgeth").dataTable($.extend(true, {}, dataTablesDefaults, {
sDom: "t"
}));
$("#move_form").submit(function(){
var budget_from = "[% budget_period_description | html %]";
var budget_to = $("#to_budget_period_id").find("option:selected").html();
var alert_message = _("You have chosen to move all unreceived orders from '%s' to '%s'.").format(budget_from, budget_to);
alert_message += "\n" + _("This action cannot be reversed. Do you wish to continue?");
return confirm ( alert_message );
});
[% END %]
[% IF closed %]
var oTable = $("#closed_report").dataTable($.extend(true, {}, dataTablesDefaults, {
// The following is a c/p from aqbudgets.tt and is a candidate for refactoring.
"fnDrawCallback": function ( oSettings ) {
if ( oSettings.aiDisplay.length == 0 )
{
return;
}
var nTrs = $('#closed_report tbody tr');
var iColspan = nTrs[1].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[0];
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;
}
}
},
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 0, 1 ] },
{ "bSortable": false, "aTargets": ["_all"] }
],
'bSort': true,
'aaSortingFixed': [[ 1, 'asc' ]],
"bAutoWidth": false,
"sPaginationType": "full_numbers"
}));
[% END %]
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]