From 4ac9947772fd60ed3ab358fcea871e03ba6768cd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Apr 2012 12:15:14 +0200 Subject: [PATCH] Fix: project info are not lost when submiting actions on tasks --- htdocs/projet/tasks/contact.php | 13 +++--- htdocs/projet/tasks/document.php | 68 ++++++++++++++++---------------- htdocs/projet/tasks/time.php | 11 ++++-- 3 files changed, 50 insertions(+), 42 deletions(-) diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index 4c19d85888b..f4b4d03fd23 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -66,7 +66,7 @@ if ($action == 'addcontact' && $user->rights->projet->creer) if ($result >= 0) { - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':'')); exit; } else @@ -104,7 +104,7 @@ if ($action == 'deleteline' && $user->rights->projet->creer) if ($result >= 0) { - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':'')); exit; } else @@ -125,7 +125,8 @@ if (! empty($project_ref) && ! empty($withproject)) } 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 ''; print ''; print ''; + print ''; // Ligne ajout pour contact interne print ""; @@ -418,7 +420,7 @@ if ($id > 0 || ! empty($ref)) // Statut print ''; // Activation desativation du contact - if ($object->statut >= 0) print ''; + if ($object->statut >= 0) print ''; print $contactstatic->LibStatut($tab[$i]['status'],3); if ($object->statut >= 0) print ''; print ''; @@ -428,7 +430,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->projet->creer) { print ' '; - print ''; + print ''; print img_delete(); print ''; } @@ -449,5 +451,6 @@ if ($id > 0 || ! empty($ref)) llxFooter(); + $db->close(); ?> diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php index 37856acec08..f70fd9f135c 100644 --- a/htdocs/projet/tasks/document.php +++ b/htdocs/projet/tasks/document.php @@ -67,9 +67,9 @@ 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 @@ -135,7 +135,8 @@ if (! empty($project_ref) && ! empty($withproject)) } 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 (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid); - + $userWrite = $projectstatic->restrictedProjectArea($user,'write'); - + if (! empty($withproject)) { // Tabs for project $tab='tasks'; $head=project_prepare_head($projectstatic); dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project')); - + $param=($mode=='mine'?'&mode=mine':''); - + print ''; - + // Ref print ''; - + print ''; - + print ''; print ''; - + // Visibility print ''; - + // Statut print ''; - + print '
'; 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 '
'.$langs->trans("Label").''.$projectstatic->title.'
'.$langs->trans("Company").''; if (! empty($projectstatic->societe->id)) print $projectstatic->societe->getNomUrl(1); else print ' '; print '
'.$langs->trans("Visibility").''; if ($projectstatic->public) print $langs->trans('SharedProject'); else print $langs->trans('PrivateProject'); print '
'.$langs->trans("Status").''.$projectstatic->getLibStatut(4).'
'; - + dol_fiche_end(); - + print '
'; } - + $head = task_prepare_head($object); dol_fiche_head($head, 'task_document', $langs->trans("Task"), 0, 'projecttask'); - + $param=(GETPOST('withproject')?'&withproject=1':''); $linkback=GETPOST('withproject')?''.$langs->trans("BackToList").'':''; - + // Files list constructor $filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); $totalsize=0; @@ -216,9 +217,9 @@ if ($object->id > 0) { $totalsize+=$file['size']; } - + print ''; - + // Ref print ''; print ''; - + // Label print ''; - + // Project if (empty($withproject)) { print ''; - + // Third party print ''; } - + // Files infos print ''; print ''; - + print "
'; print $langs->trans("Ref"); @@ -232,42 +233,42 @@ if ($object->id > 0) print $form->showrefnav($object,'id',$linkback,1,'rowid','ref','',$param); print '
'.$langs->trans("Label").''.$object->label.'
'.$langs->trans("Project").''; print $projectstatic->getNomUrl(1); print '
'.$langs->trans("Company").''; if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1); else print ' '; print '
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
\n"; - + dol_fiche_end(); - + print '
'; - + dol_htmloutput_mesg($mesg); - - + + // Affiche formulaire upload $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 $param='&id='.$object->id; $formfile->list_of_documents($filearray,$object,'projet',$param,0,dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref).'/'); @@ -280,5 +281,6 @@ else llxFooter(); + $db->close(); ?> diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index d6d592d21f8..2e0d8b66984 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -51,6 +51,7 @@ $projectstatic = new Project($db); /* * Actions */ + if ($action == 'addtimespent' && $user->rights->projet->creer) { $error=0; @@ -155,7 +156,8 @@ if (! empty($project_ref) && ! empty($withproject)) } 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') { - $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 '
'; } @@ -291,6 +293,7 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; print ''; + print ''; print ''; @@ -451,12 +454,12 @@ if ($id > 0 || ! empty($ref)) else if ($user->rights->projet->creer) { print ' '; - print 'rowid.'">'; + print 'rowid.($withproject?'&withproject=1':'').'">'; print img_edit(); print ''; print ' '; - print 'rowid.'">'; + print 'rowid.($withproject?'&withproject=1':'').'">'; print img_delete(); print ''; }