/**
 * Output a task line
 *
 * @param	string	   	$inc					?
 * @param   string		$parent					?
 * @param   Object		$lines					?
 * @param   int			$level					?
 * @param   string		$projectsrole			?
 * @param   string		$tasksrole				?
 * @param	string		$mine					Show only task lines I am assigned to
 * @param   int			$restricteditformytask	0=No restriction, 1=Enable add time only if task is a task i am affected to
 * @return  $inc
 */
function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask = 0)
{
    global $user, $bc, $langs;
    global $form, $projectstatic, $taskstatic;
    $lastprojectid = 0;
    $var = true;
    $numlines = count($lines);
    for ($i = 0; $i < $numlines; $i++) {
        if ($parent == 0) {
            $level = 0;
        }
        if ($lines[$i]->fk_parent == $parent) {
            // Break on a new project
            if ($parent == 0 && $lines[$i]->fk_project != $lastprojectid) {
                $var = !$var;
                $lastprojectid = $lines[$i]->fk_project;
            }
            // If we want all or we have a role on task, we show it
            if (empty($mine) || !empty($tasksrole[$lines[$i]->id])) {
                print "<tr " . $bc[$var] . ">\n";
                // Project
                print "<td>";
                $projectstatic->id = $lines[$i]->fk_project;
                $projectstatic->ref = $lines[$i]->projectref;
                $projectstatic->public = $lines[$i]->public;
                $projectstatic->label = $langs->transnoentitiesnoconv("YourRole") . ': ' . $projectsrole[$lines[$i]->fk_project];
                print $projectstatic->getNomUrl(1);
                print "</td>";
                // Ref
                print '<td>';
                $taskstatic->id = $lines[$i]->id;
                $taskstatic->ref = $lines[$i]->id;
                print $taskstatic->getNomUrl(1);
                print '</td>';
                // Label task
                print "<td>";
                for ($k = 0; $k < $level; $k++) {
                    print "&nbsp;&nbsp;&nbsp;";
                }
                $taskstatic->id = $lines[$i]->id;
                $taskstatic->ref = $lines[$i]->label;
                print $taskstatic->getNomUrl(0);
                print "</td>\n";
                // Date start
                print '<td align="center">';
                print dol_print_date($lines[$i]->date_start, 'dayhour');
                print '</td>';
                // Date end
                print '<td align="center">';
                print dol_print_date($lines[$i]->date_end, 'dayhour');
                print '</td>';
                // Planned Workload
                print '<td align="right">';
                if ($lines[$i]->planned_workload) {
                    print convertSecondToTime($lines[$i]->planned_workload, 'allhourmin');
                } else {
                    print '--:--';
                }
                print '</td>';
                // Progress declared %
                print '<td align="right">';
                print $lines[$i]->progress . ' %';
                print '</td>';
                // Time spent
                print '<td align="right">';
                if ($lines[$i]->duration) {
                    print '<a href="' . DOL_URL_ROOT . '/projet/tasks/time.php?id=' . $lines[$i]->id . '">';
                    print convertSecondToTime($lines[$i]->duration, 'allhourmin');
                    print '</a>';
                } else {
                    print '--:--';
                }
                print "</td>\n";
                $disabledproject = 1;
                $disabledtask = 1;
                //print "x".$lines[$i]->fk_project;
                //var_dump($lines[$i]);
                //var_dump($projectsrole[$lines[$i]->fk_project]);
                // If at least one role for project
                if ($lines[$i]->public || !empty($projectsrole[$lines[$i]->fk_project]) || $user->rights->projet->all->creer) {
                    $disabledproject = 0;
                    $disabledtask = 0;
                }
                // If $restricteditformytask is on and I have no role on task, i disable edit
                if ($restricteditformytask && empty($tasksrole[$lines[$i]->id])) {
                    $disabledtask = 1;
                }
                print '<td class="nowrap">';
                $s = $form->select_date('', $lines[$i]->id, '', '', '', "addtime", 1, 0, 1, $disabledtask);
                $s .= '&nbsp;&nbsp;&nbsp;';
                $s .= $form->select_duration($lines[$i]->id, '', $disabledtask, 'text');
                $s .= '&nbsp;<input type="submit" class="button"' . ($disabledtask ? ' disabled="disabled"' : '') . ' value="' . $langs->trans("Add") . '">';
                print $s;
                print '</td>';
                print '<td align="right">';
                if (!$lines[$i]->public && $disabledproject) {
                    print $form->textwithpicto('', $langs->trans("YouAreNotContactOfProject"));
                } else {
                    if ($disabledtask) {
                        print $form->textwithpicto('', $langs->trans("TaskIsNotAffectedToYou"));
                    }
                }
                print '</td>';
                print "</tr>\n";
            }
            $inc++;
            $level++;
            if ($lines[$i]->id) {
                projectLinesb($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
            }
            $level--;
        } else {
            //$level--;
        }
    }
    return $inc;
}
Пример #2
0
	print '</td>';
	print '</tr></table>';
	dol_fiche_end();
*/
print '<form name="addtime" method="POST" action="' . $_SERVER["PHP_SELF"] . '?id=' . $project->id . '">';
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
print '<input type="hidden" name="action" value="addtime">';
print '<input type="hidden" name="mode" value="' . $mode . '">';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>' . $langs->trans("Project") . '</td>';
print '<td>' . $langs->trans("RefTask") . '</td>';
print '<td>' . $langs->trans("LabelTask") . '</td>';
print '<td align="center">' . $langs->trans("DateStart") . '</td>';
print '<td align="center">' . $langs->trans("DateEnd") . '</td>';
print '<td align="right">' . $langs->trans("PlannedWorkload") . '</td>';
print '<td align="right">' . $langs->trans("ProgressDeclared") . '</td>';
print '<td align="right">' . $langs->trans("TimeSpent") . '</td>';
print '<td colspan="2" align="right">' . $langs->trans("NewTimeSpent") . '</td>';
print "</tr>\n";
// By default, we can edit only tasks we are assigned to
$restricteditformytask = empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS) ? 1 : 0;
if (count($tasksarray) > 0) {
    projectLinesb($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
} else {
    print '<tr><td colspan="10">' . $langs->trans("NoTasks") . '</td></tr>';
}
print "</table>";
print '</form>';
llxFooter();
$db->close();
Пример #3
0
dol_htmloutput_mesg($mesg);


print '<form name="addtime" method="POST" action="'.$_SERVER["PHP_SELF"].'?id='.$project->id.'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="addtime">';
print '<input type="hidden" name="mode" value="'.$mode.'">';

print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Project").'</td>';
print '<td>'.$langs->trans("RefTask").'</td>';
print '<td>'.$langs->trans("LabelTask").'</td>';
print '<td align="center">'.$langs->trans("DateStart").'</td>';
print '<td align="center">'.$langs->trans("DateEnd").'</td>';
print '<td align="right">'.$langs->trans("Progress").'</td>';
print '<td align="right">'.$langs->trans("TimeSpent").'</td>';
print '<td colspan="2">'.$langs->trans("AddDuration").'</td>';
print "</tr>\n";
projectLinesb($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine);

print "</table>";
print '</form>';


llxFooter();

$db->close();
?>