Fixed a bug where files were not being uploaded to a project's task

Reported by Jose Antonio Garcia in dolibarr.es' forum
http://www.dolibarr.es/index.php/foro/7-bugs-versiones-estables/1250-error-subir-archivo-en-una-tarea-de-un-proyecto

Conflicts:
	htdocs/projet/tasks/document.php
This commit is contained in:
Marcos García 2012-08-18 07:35:39 +02:00 committed by Regis Houssin
parent 1f9e0d3e00
commit 173ff4f92a

View File

@ -79,6 +79,42 @@ $projectstatic = new Project($db);
* Actions * Actions
*/ */
// Retreive First Task ID of Project if withprojet is on to allow project prev next to work
if (! empty($project_ref) && ! empty($withproject))
{
if ($projectstatic->fetch(0,$project_ref) > 0)
{
$tasksarray=$object->getTasksArray(0, 0, $projectstatic->id, $socid, 0);
if (count($tasksarray) > 0)
{
$id=$tasksarray[0]->id;
$object->fetch($id);
}
else
{
Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
exit;
}
}
}
// Find upload dir after retreive is task if necessary
if ($id > 0 || ! empty($ref))
{
if ($object->fetch($id,$ref) > 0)
{
$projectstatic->fetch($object->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref);
}
else
{
dol_print_error($db);
}
}
// Envoi fichier // Envoi fichier
if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC))
{ {
@ -128,41 +164,6 @@ if ($action=='delete')
exit; exit;
} }
// Retreive First Task ID of Project if withprojet is on to allow project prev next to work
if (! empty($project_ref) && ! empty($withproject))
{
if ($projectstatic->fetch(0,$project_ref) > 0)
{
$tasksarray=$object->getTasksArray(0, 0, $projectstatic->id, $socid, 0);
if (count($tasksarray) > 0)
{
$id=$tasksarray[0]->id;
$object->fetch($id);
}
else
{
Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
exit;
}
}
}
// Find upload dir after retreive is task if necessary
if ($id > 0 || ! empty($ref))
{
if ($object->fetch($id,$ref) > 0)
{
$projectstatic->fetch($object->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref);
}
else
{
dol_print_error($db);
}
}
/* /*
* View * View