NEW Add the total in the perday view of the time spent form.
This commit is contained in:
parent
85d59b32b3
commit
da6b1e92b2
@ -5041,7 +5041,7 @@ class Form
|
|||||||
}
|
}
|
||||||
elseif ($typehour=='text' || $typehour=='textselect')
|
elseif ($typehour=='text' || $typehour=='textselect')
|
||||||
{
|
{
|
||||||
$retstring.='<input placeholder="'.$langs->trans('HourShort').'" type="number" min="0" size="1" name="'.$prefix.'hour"'.($disabled?' disabled':'').' class="flat maxwidth50" value="'.(($hourSelected != '')?((int) $hourSelected):'').'">';
|
$retstring.='<input placeholder="'.$langs->trans('HourShort').'" type="number" min="0" size="1" name="'.$prefix.'hour"'.($disabled?' disabled':'').' class="flat maxwidth50 inputhour" value="'.(($hourSelected != '')?((int) $hourSelected):'').'">';
|
||||||
}
|
}
|
||||||
else return 'BadValueForParameterTypeHour';
|
else return 'BadValueForParameterTypeHour';
|
||||||
|
|
||||||
@ -5065,7 +5065,7 @@ class Form
|
|||||||
}
|
}
|
||||||
elseif ($typehour=='text' )
|
elseif ($typehour=='text' )
|
||||||
{
|
{
|
||||||
$retstring.='<input placeholder="'.$langs->trans('MinuteShort').'" type="number" min="0" size="1" name="'.$prefix.'min"'.($disabled?' disabled':'').' class="flat maxwidth50" value="'.(($minSelected != '')?((int) $minSelected):'').'">';
|
$retstring.='<input placeholder="'.$langs->trans('MinuteShort').'" type="number" min="0" size="1" name="'.$prefix.'min"'.($disabled?' disabled':'').' class="flat maxwidth50 inputminute" value="'.(($minSelected != '')?((int) $minSelected):'').'">';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($typehour!='text') $retstring.=' '.$langs->trans('MinuteShort');
|
if ($typehour!='text') $retstring.=' '.$langs->trans('MinuteShort');
|
||||||
|
|||||||
@ -163,6 +163,56 @@ function updateTotal(days,mode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add data on the perday view
|
||||||
|
jQuery('.inputhour').each(function( index ) {
|
||||||
|
if (this.value)
|
||||||
|
{
|
||||||
|
var taskTime= new Date(0);
|
||||||
|
/*console.log(total.getHours())
|
||||||
|
console.log(this.value)
|
||||||
|
alert(element.value);*/
|
||||||
|
if (this.value)
|
||||||
|
{
|
||||||
|
console.log(this.value+':00')
|
||||||
|
result=parseTime(this.value+':00',taskTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result=parseTime(this.innerHTML+':00',taskTime);
|
||||||
|
}
|
||||||
|
if (result >= 0)
|
||||||
|
{
|
||||||
|
total.setHours(total.getHours()+taskTime.getHours());
|
||||||
|
}
|
||||||
|
console.log(total.getHours())
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Add data on the perday view
|
||||||
|
jQuery('.inputminute').each(function( index ) {
|
||||||
|
if (this.value)
|
||||||
|
{
|
||||||
|
var taskTime= new Date(0);
|
||||||
|
/* console.log(total.getHours())
|
||||||
|
console.log(this.value)
|
||||||
|
alert(element.value);*/
|
||||||
|
if (this.value)
|
||||||
|
{
|
||||||
|
console.log('00:'+this.value)
|
||||||
|
result=parseTime('00:'+"00".substring(0, 2 - this.value.length) + this.value,taskTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result=parseTime('00:'+"00".substring(0, 2 - this.innerHTML) + this.innerHTML,taskTime);
|
||||||
|
}
|
||||||
|
if (result >= 0)
|
||||||
|
{
|
||||||
|
total.setMinutes(total.getMinutes()+taskTime.getMinutes());
|
||||||
|
}
|
||||||
|
console.log(total.getMinutes())
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (document.getElementById('totalDay['+days+']')) // May be null if no task records to output (nbline is also 0 in this case)
|
if (document.getElementById('totalDay['+days+']')) // May be null if no task records to output (nbline is also 0 in this case)
|
||||||
{
|
{
|
||||||
document.getElementById('totalDay['+days+']').innerHTML = pad(total.getHours())+':'+pad(total.getMinutes());
|
document.getElementById('totalDay['+days+']').innerHTML = pad(total.getHours())+':'+pad(total.getMinutes());
|
||||||
|
|||||||
@ -739,6 +739,8 @@ function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsr
|
|||||||
$alreadyspent='';
|
$alreadyspent='';
|
||||||
if ($dayWorkLoad > 0) $alreadyspent=convertSecondToTime($dayWorkLoad,'allhourmin');
|
if ($dayWorkLoad > 0) $alreadyspent=convertSecondToTime($dayWorkLoad,'allhourmin');
|
||||||
|
|
||||||
|
$idw = 0;
|
||||||
|
|
||||||
$tableCell='';
|
$tableCell='';
|
||||||
$tableCell.='<span class="timesheetalreadyrecorded"><input type="text" class="center" size="2" disabled id="timespent['.$inc.']['.$idw.']" name="task['.$lines[$i]->id.']['.$idw.']" value="'.$alreadyspent.'"></span>';
|
$tableCell.='<span class="timesheetalreadyrecorded"><input type="text" class="center" size="2" disabled id="timespent['.$inc.']['.$idw.']" name="task['.$lines[$i]->id.']['.$idw.']" value="'.$alreadyspent.'"></span>';
|
||||||
$tableCell.=' + ';
|
$tableCell.=' + ';
|
||||||
@ -746,6 +748,15 @@ function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsr
|
|||||||
$tableCell.=$form->select_duration($lines[$i]->id.'duration','',$disabledtask,'text',0,1);
|
$tableCell.=$form->select_duration($lines[$i]->id.'duration','',$disabledtask,'text',0,1);
|
||||||
//$tableCell.=' <input type="submit" class="button"'.($disabledtask?' disabled':'').' value="'.$langs->trans("Add").'">';
|
//$tableCell.=' <input type="submit" class="button"'.($disabledtask?' disabled':'').' value="'.$langs->trans("Add").'">';
|
||||||
print $tableCell;
|
print $tableCell;
|
||||||
|
|
||||||
|
$modeinput='hours';
|
||||||
|
|
||||||
|
print '<script type="text/javascript">';
|
||||||
|
print "jQuery(document).ready(function () {\n";
|
||||||
|
print " jQuery('.inputhour, .inputminute').bind('keyup', function(e) { updateTotal(0, '".$modeinput."') });";
|
||||||
|
print "})\n";
|
||||||
|
print '</script>';
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
|
|||||||
@ -332,8 +332,7 @@ $tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0, $usertoprocess, ($proj
|
|||||||
//var_dump($projectsrole);
|
//var_dump($projectsrole);
|
||||||
//var_dump($taskrole);
|
//var_dump($taskrole);
|
||||||
|
|
||||||
|
llxHeader("",$title,"",'','','',array('/core/js/timesheet.js'));
|
||||||
llxHeader("",$title,"");
|
|
||||||
|
|
||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num, '', 'title_project');
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num, '', 'title_project');
|
||||||
|
|
||||||
@ -489,6 +488,16 @@ if (count($tasksarray) > 0)
|
|||||||
{
|
{
|
||||||
$j=0;
|
$j=0;
|
||||||
projectLinesPerDay($j, 0, $usertoprocess, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask, $daytoparse);
|
projectLinesPerDay($j, 0, $usertoprocess, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask, $daytoparse);
|
||||||
|
|
||||||
|
$colspan = 8;
|
||||||
|
if (! empty($conf->global->PROJECT_LINES_PERDAY_SHOW_THIRDPARTY)) $colspan++;
|
||||||
|
|
||||||
|
print '<tr class="liste_total">
|
||||||
|
<td class="liste_total" colspan="'.$colspan.'">'.$langs->trans("Total").'</td>
|
||||||
|
<td class="liste_total hide0" align="center"><div id="totalDay[0]"> </div></td>
|
||||||
|
<td class="liste_total"></td>
|
||||||
|
<td class="liste_total"></td>
|
||||||
|
</tr>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -497,16 +506,20 @@ else
|
|||||||
print "</table>";
|
print "</table>";
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
|
print '<input type="hidden" id="numberOfLines" name="numberOfLines" value="'.count($tasksarray).'"/>'."\n";
|
||||||
|
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
print '<input type="submit" class="button"'.($disabledtask?' disabled':'').' value="'.$langs->trans("Save").'">';
|
print '<input type="submit" class="button"'.($disabledtask?' disabled':'').' value="'.$langs->trans("Save").'">';
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
|
$modeinput='hours';
|
||||||
|
|
||||||
print '<script type="text/javascript">';
|
print '<script type="text/javascript">';
|
||||||
print "jQuery(document).ready(function () {\n";
|
print "jQuery(document).ready(function () {\n";
|
||||||
print ' jQuery(".timesheetalreadyrecorded").tipTip({ maxWidth: "600px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50, content: \''.dol_escape_js($langs->trans("TimeAlreadyRecorded", $user->getFullName($langs))).'\'});';
|
print ' jQuery(".timesheetalreadyrecorded").tipTip({ maxWidth: "600px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50, content: \''.dol_escape_js($langs->trans("TimeAlreadyRecorded", $user->getFullName($langs))).'\'});';
|
||||||
|
print ' updateTotal(0,\''.$modeinput.'\');';
|
||||||
print "});";
|
print "});";
|
||||||
print '</script>';
|
print '</script>';
|
||||||
|
|
||||||
|
|||||||
@ -515,7 +515,6 @@ else
|
|||||||
print "</table>";
|
print "</table>";
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '<input type="hidden" name="timestamp" value="1425423513"/>'."\n";
|
|
||||||
print '<input type="hidden" id="numberOfLines" name="numberOfLines" value="'.count($tasksarray).'"/>'."\n";
|
print '<input type="hidden" id="numberOfLines" name="numberOfLines" value="'.count($tasksarray).'"/>'."\n";
|
||||||
|
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user