Kimai time management system (PHP 5.6 / MySQL) with custom extensions: - Budget tracking (ki_budget) - Change request form (ki_changerequest) - Invoice generation (ki_invoice) - Expense tracking (ki_expenses) - Flexi time (ki_flexitime) - Export, admin panel, timesheets, tasks, summary Database: ~900K time entries, 2,000+ users, 439 projects. Config: includes/autoconf.php — localhost/kimai/kimai
55 lines
2.0 KiB
Smarty
55 lines
2.0 KiB
Smarty
{* IMPORTANT NOTE:
|
|
Javascript or jQuery stuff that should run when your extension *has finished loading*
|
|
should sit in an special onload function like this:
|
|
*}
|
|
{literal}
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
tasklist_ext_onload();
|
|
});
|
|
</script>
|
|
<script type='text/javascript'>//<![CDATA[
|
|
$(window).load(function () {
|
|
$(function () {
|
|
//Created By: Brij Mohan
|
|
//Website: http://techbrij.com
|
|
function groupTable($rows, startIndex, total) {
|
|
if (total === 0) {
|
|
return;
|
|
}
|
|
var i, currentIndex = startIndex, count = 1, lst = [];
|
|
var tds = $rows.find('td:eq(' + currentIndex + ')');
|
|
var ctrl = $(tds[0]);
|
|
lst.push($rows[0]);
|
|
for (i = 1; i <= tds.length; i++) {
|
|
if (ctrl.text() == $(tds[i]).text()) {
|
|
count++;
|
|
$(tds[i]).addClass('deleted');
|
|
lst.push($rows[i]);
|
|
}
|
|
else {
|
|
if (count > 1) {
|
|
ctrl.attr('rowspan', count);
|
|
groupTable($(lst), startIndex + 1, total - 1)
|
|
}
|
|
count = 1;
|
|
lst = [];
|
|
ctrl = $(tds[i]);
|
|
lst.push($rows[i]);
|
|
}
|
|
}
|
|
}
|
|
groupTable($('#myTable tr:has(td)'), 0, 4);
|
|
$('#myTable .deleted').remove();
|
|
});
|
|
});//]]>
|
|
|
|
</script>
|
|
{/literal}
|
|
|
|
|
|
|
|
|
|
<div id="tasklist_ext_wrap" width="100%">
|
|
<div id ="tasklist_ext" width="100%">
|
|
|