Fix: project info are not lost when submiting actions on tasks

This commit is contained in:
Laurent Destailleur 2012-04-18 12:15:14 +02:00
parent a15ab9c4c5
commit 4ac9947772
3 changed files with 50 additions and 42 deletions

View File

@ -66,7 +66,7 @@ if ($action == 'addcontact' && $user->rights->projet->creer)
if ($result >= 0) if ($result >= 0)
{ {
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':''));
exit; exit;
} }
else else
@ -104,7 +104,7 @@ if ($action == 'deleteline' && $user->rights->projet->creer)
if ($result >= 0) if ($result >= 0)
{ {
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':''));
exit; exit;
} }
else else
@ -125,7 +125,8 @@ if (! empty($project_ref) && ! empty($withproject))
} }
else else
{ {
Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode)); Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
exit;
} }
} }
} }
@ -282,6 +283,7 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="action" value="addcontact">'; print '<input type="hidden" name="action" value="addcontact">';
print '<input type="hidden" name="source" value="internal">'; print '<input type="hidden" name="source" value="internal">';
print '<input type="hidden" name="id" value="'.$id.'">'; print '<input type="hidden" name="id" value="'.$id.'">';
print '<input type="hidden" name="withproject" value="'.$withproject.'">';
// Ligne ajout pour contact interne // Ligne ajout pour contact interne
print "<tr $bc[$var]>"; print "<tr $bc[$var]>";
@ -418,7 +420,7 @@ if ($id > 0 || ! empty($ref))
// Statut // Statut
print '<td align="center">'; print '<td align="center">';
// Activation desativation du contact // Activation desativation du contact
if ($object->statut >= 0) print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=swapstatut&amp;ligne='.$tab[$i]['rowid'].'">'; if ($object->statut >= 0) print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=swapstatut&ligne='.$tab[$i]['rowid'].($withproject?'&withproject=1':'').'">';
print $contactstatic->LibStatut($tab[$i]['status'],3); print $contactstatic->LibStatut($tab[$i]['status'],3);
if ($object->statut >= 0) print '</a>'; if ($object->statut >= 0) print '</a>';
print '</td>'; print '</td>';
@ -428,7 +430,7 @@ if ($id > 0 || ! empty($ref))
if ($user->rights->projet->creer) if ($user->rights->projet->creer)
{ {
print '&nbsp;'; print '&nbsp;';
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$tab[$i]['rowid'].'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=deleteline&lineid='.$tab[$i]['rowid'].($withproject?'&withproject=1':'').'">';
print img_delete(); print img_delete();
print '</a>'; print '</a>';
} }
@ -449,5 +451,6 @@ if ($id > 0 || ! empty($ref))
llxFooter(); llxFooter();
$db->close(); $db->close();
?> ?>

View File

@ -67,9 +67,9 @@ if ($id > 0 || ! empty($ref))
if ($object->fetch($id,$ref) > 0) if ($object->fetch($id,$ref) > 0)
{ {
$projectstatic->fetch($object->fk_project); $projectstatic->fetch($object->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid); if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref); $upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref);
} }
else else
@ -135,7 +135,8 @@ if (! empty($project_ref) && ! empty($withproject))
} }
else else
{ {
Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode)); Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
exit;
} }
} }
} }
@ -152,20 +153,20 @@ llxHeader('',$langs->trans('Project'));
if ($object->id > 0) if ($object->id > 0)
{ {
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid); if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
$userWrite = $projectstatic->restrictedProjectArea($user,'write'); $userWrite = $projectstatic->restrictedProjectArea($user,'write');
if (! empty($withproject)) if (! empty($withproject))
{ {
// Tabs for project // Tabs for project
$tab='tasks'; $tab='tasks';
$head=project_prepare_head($projectstatic); $head=project_prepare_head($projectstatic);
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project')); dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
$param=($mode=='mine'?'&mode=mine':''); $param=($mode=='mine'?'&mode=mine':'');
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Ref // Ref
print '<tr><td width="30%">'; print '<tr><td width="30%">';
print $langs->trans("Ref"); print $langs->trans("Ref");
@ -178,37 +179,37 @@ if ($object->id > 0)
} }
print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1'); print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1');
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans("Label").'</td><td>'.$projectstatic->title.'</td></tr>'; print '<tr><td>'.$langs->trans("Label").'</td><td>'.$projectstatic->title.'</td></tr>';
print '<tr><td>'.$langs->trans("Company").'</td><td>'; print '<tr><td>'.$langs->trans("Company").'</td><td>';
if (! empty($projectstatic->societe->id)) print $projectstatic->societe->getNomUrl(1); if (! empty($projectstatic->societe->id)) print $projectstatic->societe->getNomUrl(1);
else print '&nbsp;'; else print '&nbsp;';
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
// Visibility // Visibility
print '<tr><td>'.$langs->trans("Visibility").'</td><td>'; print '<tr><td>'.$langs->trans("Visibility").'</td><td>';
if ($projectstatic->public) print $langs->trans('SharedProject'); if ($projectstatic->public) print $langs->trans('SharedProject');
else print $langs->trans('PrivateProject'); else print $langs->trans('PrivateProject');
print '</td></tr>'; print '</td></tr>';
// Statut // Statut
print '<tr><td>'.$langs->trans("Status").'</td><td>'.$projectstatic->getLibStatut(4).'</td></tr>'; print '<tr><td>'.$langs->trans("Status").'</td><td>'.$projectstatic->getLibStatut(4).'</td></tr>';
print '</table>'; print '</table>';
dol_fiche_end(); dol_fiche_end();
print '<br>'; print '<br>';
} }
$head = task_prepare_head($object); $head = task_prepare_head($object);
dol_fiche_head($head, 'task_document', $langs->trans("Task"), 0, 'projecttask'); dol_fiche_head($head, 'task_document', $langs->trans("Task"), 0, 'projecttask');
$param=(GETPOST('withproject')?'&withproject=1':''); $param=(GETPOST('withproject')?'&withproject=1':'');
$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':''; $linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
// Files list constructor // Files list constructor
$filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); $filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
$totalsize=0; $totalsize=0;
@ -216,9 +217,9 @@ if ($object->id > 0)
{ {
$totalsize+=$file['size']; $totalsize+=$file['size'];
} }
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Ref // Ref
print '<tr><td width="30%">'; print '<tr><td width="30%">';
print $langs->trans("Ref"); print $langs->trans("Ref");
@ -232,42 +233,42 @@ if ($object->id > 0)
print $form->showrefnav($object,'id',$linkback,1,'rowid','ref','',$param); print $form->showrefnav($object,'id',$linkback,1,'rowid','ref','',$param);
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
// Label // Label
print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>'; print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>';
// Project // Project
if (empty($withproject)) if (empty($withproject))
{ {
print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">'; print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
print $projectstatic->getNomUrl(1); print $projectstatic->getNomUrl(1);
print '</td></tr>'; print '</td></tr>';
// Third party // Third party
print '<td>'.$langs->trans("Company").'</td><td colspan="3">'; print '<td>'.$langs->trans("Company").'</td><td colspan="3">';
if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1); if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1);
else print '&nbsp;'; else print '&nbsp;';
print '</td></tr>'; print '</td></tr>';
} }
// Files infos // Files infos
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>'; print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>'; print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
print "</table>\n"; print "</table>\n";
dol_fiche_end(); dol_fiche_end();
print '<br>'; print '<br>';
dol_htmloutput_mesg($mesg); dol_htmloutput_mesg($mesg);
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id,'',0,0,$user->rights->projet->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.($withproject?'&withproject=1':''),'',0,0,$user->rights->projet->creer);
// List of document // List of document
$param='&id='.$object->id; $param='&id='.$object->id;
$formfile->list_of_documents($filearray,$object,'projet',$param,0,dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref).'/'); $formfile->list_of_documents($filearray,$object,'projet',$param,0,dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref).'/');
@ -280,5 +281,6 @@ else
llxFooter(); llxFooter();
$db->close(); $db->close();
?> ?>

View File

@ -51,6 +51,7 @@ $projectstatic = new Project($db);
/* /*
* Actions * Actions
*/ */
if ($action == 'addtimespent' && $user->rights->projet->creer) if ($action == 'addtimespent' && $user->rights->projet->creer)
{ {
$error=0; $error=0;
@ -155,7 +156,8 @@ if (! empty($project_ref) && ! empty($withproject))
} }
else else
{ {
Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode)); Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
exit;
} }
} }
} }
@ -236,7 +238,7 @@ if ($id > 0 || ! empty($ref))
if ($action == 'deleteline') if ($action == 'deleteline')
{ {
$ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"],$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1); $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"].($withproject?'&withproject=1':''),$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1);
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
@ -291,6 +293,7 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="addtimespent">'; print '<input type="hidden" name="action" value="addtimespent">';
print '<input type="hidden" name="id" value="'.$object->id.'">'; print '<input type="hidden" name="id" value="'.$object->id.'">';
print '<input type="hidden" name="withproject" value="'.$withproject.'">';
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
@ -451,12 +454,12 @@ if ($id > 0 || ! empty($ref))
else if ($user->rights->projet->creer) else if ($user->rights->projet->creer)
{ {
print '&nbsp;'; print '&nbsp;';
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=editline&amp;lineid='.$task_time->rowid.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=editline&amp;lineid='.$task_time->rowid.($withproject?'&amp;withproject=1':'').'">';
print img_edit(); print img_edit();
print '</a>'; print '</a>';
print '&nbsp;'; print '&nbsp;';
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$task_time->rowid.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$task_time->rowid.($withproject?'&amp;withproject=1':'').'">';
print img_delete(); print img_delete();
print '</a>'; print '</a>';
} }