diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 8fd1f1b0030..f968f9800e9 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -40,6 +40,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; @@ -251,6 +252,19 @@ if ($action == 'add') } } $object->fk_project = isset($_POST["projectid"])?$_POST["projectid"]:0; + + $taskid = GETPOST('taskid','int'); + if(!empty($taskid)){ + + $taskProject = new Task($db); + if($taskProject->fetch($taskid)>0){ + $object->fk_project = $taskProject->fk_project; + } + + $object->fk_element = $taskid; + $object->elementtype = 'task'; + } + $object->datep = $datep; $object->datef = $datef; $object->percentage = $percentage; @@ -876,11 +890,38 @@ if ($action == 'create') { // Projet associe $langs->load("projects"); + + $projectid = GETPOST('projectid', 'int'); - print ''.$langs->trans("Project").''; + print ''.$langs->trans("Project").''; - $numproject=$formproject->select_projects((! empty($societe->id)?$societe->id:-1), GETPOST("projectid")?GETPOST("projectid"):'', 'projectid', 0, 0, 1, 1); + $numproject=$formproject->select_projects((! empty($societe->id)?$societe->id:-1), $projectid, 'projectid', 0, 0, 1, 1); + print '   '.$langs->trans("AddProject").''; + $urloption='?action=create'; + $url = dol_buildpath('comm/action/card.php',2).$urloption; + + // update task list + print "\n".''."\n"; + + print ''; + + print ''.$langs->trans("Task").''; + + $projectsListId=false; + if(!empty($projectid)){ $projectsListId=$projectid; } + $tid=GETPOST("projecttaskid")?GETPOST("projecttaskid"):''; + $formproject->selectTasks((! empty($societe->id)?$societe->id:-1), $tid, 'taskid', 24, 0, '1', 1, 0, 0, 'maxwidth500',$projectsListId); print ''; } if (!empty($origin) && !empty($originid)) @@ -1270,10 +1311,41 @@ if ($id > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; print ''; print ''.$langs->trans("LinkedObject").''; - print ''.dolGetElementUrl($object->fk_element,$object->elementtype,1); - print ''; - print ''; - print ''; + + if ($object->elementtype == 'task' && ! empty($conf->projet->enabled)) + { + print ''; + + $urloption='?action=create'; // we use create not edit for more flexibility + $url = DOL_URL_ROOT.'/comm/action/card.php'.$urloption; + + // update task list + print "\n".''."\n"; + + $formproject->selectTasks((! empty($societe->id)?$societe->id:-1), $object->fk_element, 'fk_element', 24, 0, 0, 1, 0, 0, 'maxwidth500',$object->fk_project); + print ''; + + print ''; + } + else + { + print ''; + print dolGetElementUrl($object->fk_element,$object->elementtype,1); + print ''; + print ''; + print ''; + } + print ''; }