2
0
forked from Wavyzz/dolibarr
This commit is contained in:
Laurent Destailleur
2012-03-09 09:38:31 +01:00
parent 83d775d0ed
commit 2819e72084
2 changed files with 78 additions and 51 deletions

View File

@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -24,9 +24,10 @@
?> ?>
<div id="principal_content" style="margin-left: 0px;"> <div id="principal_content" style="margin-left: 0px;">
<div style="margin-left: 0; position: relative;" class="gantt" id="GanttChartDIV"></div> <div style="margin-left: 0; position: relative;" class="gantt"
id="GanttChartDIV"></div>
<script type="text/javascript"> <script type="text/javascript">
function DisplayHideRessources(boxName) { function DisplayHideRessources(boxName) {
graphFormat = g.getFormat(); graphFormat = g.getFormat();
@@ -113,57 +114,83 @@ else
{ {
alert("<?php echo $langs->trans("FailedToDefinGraph"); ?>"); alert("<?php echo $langs->trans("FailedToDefinGraph"); ?>");
} }
</script></div> </script>
</div>
<?php <?php
/**
function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_id=null){ * Add a gant chart line
$start_date = $task["task_start_date"]; *
$end_date = $task["task_end_date"]; * @param string $tarr tarr
if (!$end_date) $end_date = $start_date; * @param Task $task Task object
$start_date = dol_print_date($start_date,"%m/%d/%Y"); * @param Project $project_dependencies Project object
$end_date = dol_print_date($end_date,"%m/%d/%Y"); * @param int $level Level
// Resources * @param int $project_id Id of project
$resources = $task["task_resources"]; * @return void
// Define depend (ex: "", "4,13", ...) */
$depend = "\""; function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_id=null)
$count = 0; {
foreach ($project_dependencies as $value) { // Not yet used project_dependencies = array(array(0=>idtask,1=>idtasktofinishfisrt)) $start_date = $task["task_start_date"];
if ($value[0] == $task['task_id']) { $end_date = $task["task_end_date"];
$depend.=($count>0?",":"").$value[1]; if (!$end_date) $end_date = $start_date;
$count ++; $start_date = dol_print_date($start_date,"%m/%d/%Y");
} $end_date = dol_print_date($end_date,"%m/%d/%Y");
} // Resources
$depend .= "\""; $resources = $task["task_resources"];
// Define parent // Define depend (ex: "", "4,13", ...)
if ($project_id && $level < 0) $depend = "\"";
$parent = 'p'.$project_id; $count = 0;
else foreach ($project_dependencies as $value) {
$parent = $task["task_parent"]; // Not yet used project_dependencies = array(array(0=>idtask,1=>idtasktofinishfisrt))
// Define percent if ($value[0] == $task['task_id']) {
$percent = $task['task_percent_complete']?$task['task_percent_complete']:0; $depend.=($count>0?",":"").$value[1];
// Link $count ++;
$link=DOL_URL_ROOT.'/projet/tasks/task.php?withproject=1&id='.$task["task_id"]; }
// Name }
$name=$task['task_name']; $depend .= "\"";
for($i=0; $i < $level; $i++) { $name=' &nbsp; &nbsp; '.$name; } // Define parent
// Add line to gantt if ($project_id && $level < 0)
$s = "// Add taks id=".$task["task_id"]." level = ".$level."\n"; $parent = 'p'.$project_id;
//$s.= "g.AddElementItem(new JSGantt.ElementItem('task',".$task['task_id'].",'".$name."','".$start_date."', '".$end_date."', '".$task['task_color']."', '', ".$task['task_milestone'].", '".$resources."', ".$percent.", ".($task["task_is_group"]>0?1:0).", ".$parent.", 1".($depend?", ".$depend:"")."));"; else
$s = "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".$name."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".$percent.", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."'));"; $parent = $task["task_parent"];
echo $s."\n"; // Define percent
$percent = $task['task_percent_complete']?$task['task_percent_complete']:0;
// Link
$link=DOL_URL_ROOT.'/projet/tasks/task.php?withproject=1&id='.$task["task_id"];
// Name
$name=$task['task_name'];
for($i=0; $i < $level; $i++) {
$name=' &nbsp; &nbsp; '.$name;
}
// Add line to gantt
$s = "// Add taks id=".$task["task_id"]." level = ".$level."\n";
//$s.= "g.AddElementItem(new JSGantt.ElementItem('task',".$task['task_id'].",'".$name."','".$start_date."', '".$end_date."', '".$task['task_color']."', '', ".$task['task_milestone'].", '".$resources."', ".$percent.", ".($task["task_is_group"]>0?1:0).", ".$parent.", 1".($depend?", ".$depend:"")."));";
$s = "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".$name."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".$percent.", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."'));";
echo $s."\n";
} }
function findChildGanttLine($tarr,$parent,$project_dependencies,$level) { /**
$n=count($tarr); * Find child Gantt line
for ($x=0; $x < $n; $x++) { *
if($tarr[$x]["task_parent"] == $parent && $tarr[$x]["task_parent"] != $tarr[$x]["task_id"]) * @param string $tarr tarr
{ * @param int $parent Parent
constructGanttLine($tarr,$tarr[$x],$project_dependencies,$level,null); * @param Project $project_dependencies Project object
findChildGanttLine($tarr,$tarr[$x]["task_id"],$project_dependencies,$level+1); * @param int $level Level
} * @return void
} */
function findChildGanttLine($tarr,$parent,$project_dependencies,$level)
{
$n=count($tarr);
for ($x=0; $x < $n; $x++)
{
if($tarr[$x]["task_parent"] == $parent && $tarr[$x]["task_parent"] != $tarr[$x]["task_id"])
{
constructGanttLine($tarr,$tarr[$x],$project_dependencies,$level,null);
findChildGanttLine($tarr,$tarr[$x]["task_id"],$project_dependencies,$level+1);
}
}
} }
?> ?>

View File

@@ -417,8 +417,8 @@ class UserGroup extends CommonObject
/** /**
* Charge dans l'objet group, la liste des permissions auquels le groupe a droit * Charge dans l'objet group, la liste des permissions auquels le groupe a droit
* *
* @param string $module Nom du module dont il faut recuperer les droits ('' par defaut signifie tous les droits) * @param string $moduletag Name of module we want permissions ('' means all)
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function getrights($moduletag='') function getrights($moduletag='')
{ {