Fix and restore a lot of broken features in the project module. Must try to restore a stable module to start a release.

This commit is contained in:
Laurent Destailleur 2010-02-07 02:39:01 +00:00
parent ad308ad087
commit 382f11a514
16 changed files with 137 additions and 206 deletions

View File

@ -2587,6 +2587,7 @@ class Form
* \param option Valeur de l'option en fonction du type choisi
* \param translate Traduire la valeur
* \param maxlen Length maximum for labels
* \return string HTML select string
*/
function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $optionType=0, $option='', $translate=0, $maxlen=0)
{

View File

@ -313,14 +313,15 @@ class FormFile
{
print '<td align="center">';
print $langs->trans('Model').' ';
$html->select_array('model',$modellist,$modelselected,0,0,1);
print $html->selectarray('model',$modellist,$modelselected,0,0,1);
print '</td>';
}
else
{
print '<td align="left">';
print $langs->trans("Files");
print '</td>';
}
print '</td>';
print '<td align="center">';
if($conf->global->MAIN_MULTILANGS && ! $forcenomultilang)
{
@ -334,7 +335,7 @@ class FormFile
}
print '</td>';
print '<td align="center" colspan="'.($delallowed?'2':'1').'">';
print '<input class="button" type="submit" value="'.$buttonlabel.'">';
print '<input class="button" '.((is_array($modellist) && sizeof($modellist))?'':' disabled="true"').' type="submit" value="'.$buttonlabel.'">';
print '</td></tr>';
}

View File

@ -207,12 +207,12 @@ class FormOther
* \param increment increment value
* \param start start value
* \param end end value
* \return return combo
* \return return combo
*/
function select_percent($selected=0,$htmlname='percent',$increment=5,$start=0,$end=100)
{
$return = '<select class="flat" name="'.$htmlname.'">';
for ($i = $start ; $i <= $end ; $i += $increment)
{
if ($selected == $i)
@ -226,9 +226,9 @@ class FormOther
$return.= $i.' % ';
$return.= '</option>';
}
$return.= '</select>';
return $return;
}
@ -241,7 +241,7 @@ class FormOther
* \param modetask 1 to restrict on tasks associated to user
* \param mode 0=Return list of tasks and their projects, 1=Return projects and tasks if exists
*/
function selectProjectTasks($selected='', $projectid=0, $htmlname='task_parent', $modeproject=0, $modetask=0)
function selectProjectTasks($selected='', $projectid=0, $htmlname='task_parent', $modeproject=0, $modetask=0, $mode=0)
{
global $user, $langs;
@ -249,7 +249,7 @@ class FormOther
//print $modeproject.'-'.$modetask;
$task=new Task($this->db);
$tasksarray=$task->getTasksArray($modetask?$user:0, $modeproject?$user:0, $projectid);
$tasksarray=$task->getTasksArray($modetask?$user:0, $modeproject?$user:0, $projectid, 0, $mode);
if ($tasksarray)
{
print '<select class="flat" name="'.$htmlname.'">';

View File

@ -189,6 +189,7 @@ function project_pdf_create($db, $comid, $modele,$outputlangs)
return 0;
}
}
// Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))

View File

@ -158,7 +158,7 @@ class pdf_baleine extends ModelePDFProjects
// Complete object by loading several other informations
$task = new Task($this->db);
$tasksarray = $task->getTasksArray(0,0,1);
$tasksarray = $task->getTasksArray(0,0,$object->id);
$pdf->Open();
$pagenb=0;

View File

@ -57,7 +57,7 @@ function project_prepare_head($object)
$head[$h][2] = 'element';
$h++;
}
$head[$h][0] = DOL_URL_ROOT.'/projet/note.php?id='.$object->id;
$head[$h][1] = $langs->trans('Notes');
$head[$h][2] = 'note';
@ -110,7 +110,7 @@ function task_prepare_head($object)
$head[$h][1] = $langs->trans("Affectations");
$head[$h][2] = 'contact';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/note.php?id='.$object->id;
$head[$h][1] = $langs->trans('Notes');
$head[$h][2] = 'note';
@ -287,7 +287,7 @@ function PLinesb(&$inc, $parent, $lines, &$level, &$tasksrole)
* @param $level Level of task
* @param $var Color
* @param $showproject Show project columns
* @param $taskrole Array of task filtered on a particular user
* @param $taskrole Array of tasks filtered on a particular user
*/
function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole)
{
@ -458,9 +458,9 @@ function clean_orphelins($db)
// There is orphelins. We clean that
$listofid=array();
$sql='SELECT rowid FROM '.MAIN_DB_PREFIX.'projet_task';
$resql = $db->query($sql);
if ($resql)
{
@ -482,24 +482,24 @@ function clean_orphelins($db)
{
// Removed orphelins records
print 'Some orphelins were found and restored to be parents so records are visible again.';
$sql = "UPDATE ".MAIN_DB_PREFIX."projet_task";
$sql.= " SET fk_task_parent = 0";
$sql.= " WHERE fk_task_parent NOT IN (".join(',',$listofid).")";
$resql = $db->query($sql);
$resql = $db->query($sql);
if ($resql)
{
$nb=$db->affected_rows($sql);
return $nb;
}
else
{
return -1;
}
}
}
}
?>

View File

@ -111,7 +111,7 @@ print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorde
if ($mesg) print $mesg;
$tasksarray=$task->getTasksArray(0,0,$project->id,0);
$tasksrole=$task->getTasksForProjectOwnedByAUser($user,0,$project->id,0);
$tasksrole=$task->getUserRolesForProjetsOrTasks($user,0,$project->id,0);
//var_dump($tasksarray);
print '<form name="addtime" method="POST" action="'.$_SERVER["PHP_SELF"].'?id='.$project->id.'">';

View File

@ -273,30 +273,33 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="source" value="external">';
print '<input type="hidden" name="id" value="'.$id.'">';
// Ligne ajout pour contact externe
$var=!$var;
print "<tr $bc[$var]>";
// Line to add external contact. Only if project is linked to a third party.
if ($project->societe->id)
{
$var=!$var;
print "<tr $bc[$var]>";
print '<td nowrap="nowrap">';
print img_object('','contact').' '.$langs->trans("ThirdPartyContacts");
print '</td>';
print '<td nowrap="nowrap">';
print img_object('','contact').' '.$langs->trans("ThirdPartyContacts");
print '</td>';
print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$project->societe->id;
$selectedCompany = $formcompany->selectCompaniesForNewContact($project, 'id', $selectedCompany, 'newcompany');
print '</td>';
print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$project->societe->id;
$selectedCompany = $formcompany->selectCompaniesForNewContact($project, 'id', $selectedCompany, 'newcompany');
print '</td>';
print '<td colspan="1">';
$nbofcontacts=$html->select_contacts($selectedCompany,'','contactid',0);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>';
print '<td>';
$formcompany->selectTypeContact($project, '', 'type','external','rowid');
print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"';
print '></td>';
print '</tr>';
print '<td colspan="1">';
$nbofcontacts=$html->select_contacts($selectedCompany,'','contactid',0);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>';
print '<td>';
$formcompany->selectTypeContact($project, '', 'type','external','rowid');
print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"';
print '></td>';
print '</tr>';
}
print "</form>";

View File

@ -253,16 +253,14 @@ if ($_GET["action"] == 'create' && $user->rights->projet->creer)
$project = new Project($db);
$defaultref='';
$obj = $conf->global->PROJECT_ADDON;
if ($obj)
$obj = empty($conf->global->PROJECT_ADDON)?'mod_project_simple':$conf->global->PROJECT_ADDON;
if (! empty($conf->global->PROJECT_ADDON) && is_readable(DOL_DOCUMENT_ROOT ."/includes/modules/project/".$conf->global->PROJECT_ADDON.".php"))
{
if (! empty($conf->global->PROJECT_ADDON) && is_readable(DOL_DOCUMENT_ROOT ."/includes/modules/project/".$conf->global->PROJECT_ADDON.".php"))
{
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/project/".$conf->global->PROJECT_ADDON.".php");
$modProject = new $obj;
$defaultref = $modProject->getNextValue($soc,$project);
}
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/project/".$conf->global->PROJECT_ADDON.".php");
$modProject = new $obj;
$defaultref = $modProject->getNextValue($soc,$project);
}
if (empty($defaultref)) $defaultref='';
// Ref
print '<tr><td><span class="fieldrequired">'.$langs->trans("Ref").'</span></td><td><input size="12" type="text" name="ref" value="'.($_POST["ref"]?$_POST["ref"]:$defaultref).'"></td></tr>';

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
@ -19,9 +19,9 @@
*/
/**
* \file htdocs/projet/tasks/who.php
* \file htdocs/projet/tasks/contact.php
* \ingroup project
* \brief Fiche taches d'un projet
* \brief Actors of a task
* \version $Id$
*/
@ -156,7 +156,7 @@ llxHeader('', $langs->trans("Task"));
$html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic = new Contact($db);
$projectstatic = new Project($db);
$project = new Project($db);
/* *************************************************************************** */
@ -174,8 +174,8 @@ if ($id > 0 || ! empty($ref))
if ( $task->fetch($id,$ref) > 0)
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$result=$project->fetch($task->fk_project);
if (! empty($project->socid)) $project->societe->fetch($project->socid);
$head = task_prepare_head($task);
dol_fiche_head($head, 'contact', $langs->trans("Task"), 0, 'projecttask');
@ -190,21 +190,21 @@ if ($id > 0 || ! empty($ref))
// Ref
print '<tr><td width="30%">'.$langs->trans('Ref').'</td><td colspan="3">';
print $html->showrefnav($task,'ref',$linkback,1,'ref','ref','');
print $html->showrefnav($task,'id','',1,'rowid','ref','','');
print '</td></tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td>'.$task->label.'</td></tr>';
// Project
print '<tr><td>'.$langs->trans("Project").'</td><td>';
print $projectstatic->getNomUrl(1);
print $project->getNomUrl(1);
print '</td></tr>';
// Customer
print "<tr><td>".$langs->trans("Company")."</td>";
print '<td colspan="3">';
if ($projectstatic->societe->id > 0) print $projectstatic->societe->getNomUrl(1);
if ($project->societe->id > 0) print $project->societe->getNomUrl(1);
else print '&nbsp;';
print '</td></tr>';
@ -268,30 +268,33 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="source" value="external">';
print '<input type="hidden" name="id" value="'.$id.'">';
// Ligne ajout pour contact externe
$var=!$var;
print "<tr $bc[$var]>";
// Line to add an external contact. Only if project linked to a third party.
if ($project->socid)
{
$var=!$var;
print "<tr $bc[$var]>";
print '<td nowrap="nowrap">';
print img_object('','contact').' '.$langs->trans("ThirdPartyContacts");
print '</td>';
print '<td nowrap="nowrap">';
print img_object('','contact').' '.$langs->trans("ThirdPartyContacts");
print '</td>';
print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$projectstatic->societe->id;
$selectedCompany = $formcompany->selectCompaniesForNewContact($task, 'id', $selectedCompany, 'newcompany');
print '</td>';
print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$project->societe->id;
$selectedCompany = $formcompany->selectCompaniesForNewContact($task, 'id', $selectedCompany, 'newcompany');
print '</td>';
print '<td colspan="1">';
$nbofcontacts=$html->select_contacts($selectedCompany,'','contactid',0);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>';
print '<td>';
$formcompany->selectTypeContact($task, '', 'type','external','rowid');
print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"';
print '></td>';
print '</tr>';
print '<td colspan="1">';
$nbofcontacts=$html->select_contacts($selectedCompany,'','contactid',0);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>';
print '<td>';
$formcompany->selectTypeContact($task, '', 'type','external','rowid');
print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"';
print '></td>';
print '</tr>';
}
print "</form>";

View File

@ -263,7 +263,7 @@ else
// can have a parent that is not affected to him).
$tasksarray=$task->getTasksArray(0, 0, $project->id, $socid, 0);
// We load also tasks limited to a particular user
$tasksrole=($_REQUEST["mode"]=='mine' ? $task->getTasksForProjectOwnedByAUser(0,$user,$project->id,0) : '');
$tasksrole=($_REQUEST["mode"]=='mine' ? $task->getUserRolesForProjetsOrTasks(0,$user,$project->id,0) : '');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@ -77,7 +77,7 @@ $task = new Task($db);
// can have a parent that is not affected to him).
$tasksarray=$task->getTasksArray(0, 0, $project->id, $socid);
// We load also tasks limited to a particular user
$tasksrole=($_REQUEST["mode"]=='mine' ? $task->getTasksForProjectOwnedByAUser(0,$user,$project->id,0) : '');
$tasksrole=($_REQUEST["mode"]=='mine' ? $task->getUserRolesForProjetsOrTasks(0,$user,$project->id,0) : '');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@ -81,10 +81,9 @@ if ($_POST['action'] == 'update_private' && $user->rights->projet->task->creer)
}
/******************************************************************************/
/* Affichage fiche */
/******************************************************************************/
/*
* View
*/
llxHeader();
@ -101,19 +100,19 @@ if ($id > 0 || ! empty($ref))
$task = new Task($db);
$projectstatic = new Project($db);
$userstatic = new User($db);
if ($task->fetch($id, $ref))
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
// To verify role of users
$userAccess = 0;
foreach(array('internal','external') as $source)
{
$userRole = $projectstatic->liste_contact(4,$source);
$num=sizeof($userRole);
$i = 0;
while ($i < $num)
{
@ -124,7 +123,7 @@ if ($id > 0 || ! empty($ref))
$i++;
}
}
$head = task_prepare_head($task);
dol_fiche_head($head, 'note', $langs->trans('Task'), 0, 'projecttask');
@ -134,12 +133,12 @@ if ($id > 0 || ! empty($ref))
// Ref
print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td>';
print $html->showrefnav($task,'ref','',1,'ref','ref');
print $html->showrefnav($task,'id','',1,'rowid','ref','','');
print '</td></tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td>'.$task->label.'</td></tr>';
// Project
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1);
@ -150,31 +149,6 @@ if ($id > 0 || ! empty($ref))
if ($projectstatic->societe->id > 0) print $projectstatic->societe->getNomUrl(1);
else print'&nbsp;';
print '</td></tr>';
// Task executive
print '<tr><td>'.$langs->trans("TaskExecutive").'</td><td>';
$contact = $task->liste_contact(4,'internal');
$num=sizeof($contact);
if ($num)
{
$i = 0;
while ($i < $num)
{
if ($contact[$i]['code'] == 'TASKEXECUTIVE')
{
$userstatic->id = $contact[$i]['id'];
$userstatic->fetch();
print $userstatic->getNomUrl(1);
print '<br>';
}
$i++;
}
}
else
{
print $langs->trans('SharedTask');
}
print '</td></tr>';
// Note publique
print '<tr><td valign="top">'.$langs->trans("NotePublic").' :</td>';

View File

@ -503,7 +503,7 @@ class Task extends CommonObject
if ((! $obj->public) && ($userp || $usert)) // If not public and we ask a filter on user
{
if (! $this->getTasksForProjectOwnedByAUser($userp, $usert, $obj->projectid, $obj->rowid))
if (! $this->getUserRolesForProjetsOrTasks($userp, $usert, $obj->projectid, $obj->rowid))
{
$error++;
}
@ -541,7 +541,7 @@ class Task extends CommonObject
* @param taskid
* @return array Array of role of user for each projects or each tasks
*/
function getTasksForProjectOwnedByAUser($userp,$usert,$projectid=0,$taskid=0)
function getUserRolesForProjetsOrTasks($userp,$usert,$projectid=0,$taskid=0)
{
$tasksrole = array();

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
@ -51,7 +51,7 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->projet-
{
$task = new Task($db);
$task->fetch($_POST["id"]);
$tmparray=explode('_',$_POST['task_parent']);
$task_parent=$tmparray[1];
if (empty($task_parent)) $task_parent = 0; // If task_parent is ''
@ -115,72 +115,72 @@ if ($taskid)
$task = new Task($db);
$projectstatic = new Project($db);
$userstatic = new User($db);
if ($task->fetch($taskid) >= 0 )
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$head=task_prepare_head($task);
dol_fiche_head($head, 'task', $langs->trans("Task"),0,'projecttask');
if ($_GET["action"] == 'edit' && $user->rights->projet->task->creer)
{
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="id" value="'.$task->id.'">';
print '<table class="border" width="100%">';
if ($mesg) print $mesg.'<br>';
// Ref
print '<tr><td width="30%">'.$langs->trans("Ref").'</td>';
print '<td>'.$task->ref.'</td></tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td>';
print '<td><input size="30" name="label" value="'.$task->label.'"></td></tr>';
// Project
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1);
print '</td></tr>';
// Third party
print '<td>'.$langs->trans("Company").'</td><td colspan="3">';
if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1);
else print '&nbsp;';
print '</td></tr>';
// Task parent
print '<tr><td>'.$langs->trans("ChildOfTask").'</td><td>';
print $formother->selectProjectTasks($task->fk_task_parent,$projectstatic->id, 'task_parent', $user->admin?0:1, 0);
print '</td></tr>';
// Date start
print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
print $html->select_date($task->date_start,'dateo');
print '</td></tr>';
// Date end
print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
print $html->select_date($task->date_end?$task->date_end:-1,'datee');
print '</td></tr>';
// Progress
print '<tr><td>'.$langs->trans("Progress").'</td><td colspan="3">';
print $formother->select_percent($task->progress,'progress');
print '</td></tr>';
// Description
print '<tr><td valign="top">'.$langs->trans("Description").'</td>';
print '<td>';
print '<textarea name="description" wrap="soft" cols="80" rows="'.ROWS_3.'">'.$task->description.'</textarea>';
print '</td></tr>';
print '<tr><td align="center" colspan="2">';
print '<input type="submit" class="button" name="update" value="'.$langs->trans("Modify").'"> &nbsp; ';
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
@ -192,7 +192,7 @@ if ($taskid)
/*
* Fiche tache en mode visu
*/
if ($_GET["action"] == 'delete')
{
$ret=$html->form_confirm($_SERVER["PHP_SELF"]."?id=".$_GET["id"],$langs->trans("DeleteATask"),$langs->trans("ConfirmDeleteATask"),"confirm_delete");
@ -200,7 +200,7 @@ if ($taskid)
}
print '<table class="border" width="100%">';
// Ref
print '<tr><td width="30%">';
print $langs->trans("Ref");
@ -208,74 +208,49 @@ if ($taskid)
print $html->showrefnav($task,'id','',1,'rowid','ref','','');
print '</td>';
print '</tr>';
// Label
print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$task->label.'</td></tr>';
// Project
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1);
print '</td></tr>';
// Third party
print '<td>'.$langs->trans("Company").'</td><td colspan="3">';
if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1);
else print '&nbsp;';
print '</td></tr>';
// Task executive
print '<tr><td>'.$langs->trans("TaskExecutive").'</td><td>';
$contact = $task->liste_contact(4,'internal');
$num=sizeof($contact);
if ($num)
{
$i = 0;
while ($i < $num)
{
if ($contact[$i]['code'] == 'TASKEXECUTIVE')
{
$userstatic->id = $contact[$i]['id'];
$userstatic->fetch();
print $userstatic->getNomUrl(1);
print '<br>';
}
$i++;
}
}
else
{
print $langs->trans('SharedTask');
}
print '</td></tr>';
// Date start
print '<tr><td>'.$langs->trans("DateStart").'</td><td colspan="3">';
print dol_print_date($task->date_start,'day');
print '</td></tr>';
// Date end
print '<tr><td>'.$langs->trans("DateEnd").'</td><td colspan="3">';
print dol_print_date($task->date_end,'day');
print '</td></tr>';
// Progress
print '<tr><td>'.$langs->trans("Progress").'</td><td colspan="3">';
print $task->progress.' %';
print '</td></tr>';
// Description
print '<td valign="top">'.$langs->trans("Description").'</td><td colspan="3">';
print nl2br($task->description);
print '</td></tr>';
print '</table></form>';
print '</div>';
/*
* Actions
*/
print '<div class="tabsAction">';
// Modify
if ($user->rights->projet->task->creer)
{
@ -285,7 +260,7 @@ if ($taskid)
{
print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotAllowed").'">'.$langs->trans('Modify').'</a>';
}
// Delete
if ($user->rights->projet->task->supprimer)
{
@ -295,7 +270,7 @@ if ($taskid)
{
print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotAllowed").'">'.$langs->trans('Delete').'</a>';
}
print '</div>';
}
}

View File

@ -55,7 +55,7 @@ if ($_GET["id"] > 0)
$task = new Task($db);
$projectstatic = new Project($db);
$userstatic = new User($db);
if ($task->fetch($_GET["id"]) >= 0 )
{
$result=$projectstatic->fetch($task->fk_project);
@ -92,34 +92,9 @@ if ($_GET["id"] > 0)
if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1);
else print '&nbsp;';
print '</td></tr>';
// Task executive
print '<tr><td>'.$langs->trans("TaskExecutive").'</td><td>';
$contact = $task->liste_contact(4,'internal');
$num=sizeof($contact);
if ($num)
{
$i = 0;
while ($i < $num)
{
if ($contact[$i]['code'] == 'TASKEXECUTIVE')
{
$userstatic->id = $contact[$i]['id'];
$userstatic->fetch();
print $userstatic->getNomUrl(1);
print '<br>';
}
$i++;
}
}
else
{
print $langs->trans('SharedTask');
}
print '</td></tr>';
/*
* List of time spent
* List of time spent
*/
$sql = "SELECT t.task_date, t.task_duration, t.fk_user, u.login, u.rowid";
$sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t";