diff --git a/ChangeLog b/ChangeLog index a7aff6c423f026c8c0793c172d9c2c3398e4306b..aa627126b38b75d5a0654f5978700852005b3eb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -49,7 +49,8 @@ For users: - New: task #11003: checkbox on checks to deposit - New: Numbering module for invoice use same number for invoice and credit note if mask is same. -- New: Add status into export. Add default language into export. +- New: Add status into export. Add default language into export. +- New: Can remove a project if project has tasks. - Fix: Better Postgresql compatibility. For developers: diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index 6988412f72d8ce6de356faa42a1716a7f9ad4d20..fbc29c2e42baaaf044a0bf60629d347988fe085f 100755 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -83,6 +83,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAffectedToYou=Task not allocated to you ErrorTimeSpentIsEmpty=Time spent is empty +ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (<b>%s</b> tasks at the moment) and all inputs of time spent. ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 902c9709ea630c291ba24e5dfdca5c5224f1e56d..f547a466180f4bb802cc935b0b4b9a2a26464591 100755 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -83,6 +83,7 @@ NoTasks=Aucune tâche pour ce projet LinkedToAnotherCompany=Liés à autre société TaskIsNotAffectedToYou=Tâche qui ne vous est pas affectée ErrorTimeSpentIsEmpty=Le temps consommé n'est pas renseigné +ThisWillAlsoRemoveTasks=Cette opération détruira également les taches du projet (<b>%s</b> taches actuellement) et le suivi des consommés. ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chef de projet TypeContact_project_external_PROJECTLEADER=Chef de projet diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index bfafaeb57ae42f2b0c6953a96ddcdedb02647bd4..1d92055ae381e941d3778f82af1d24e319dff873 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -281,9 +281,9 @@ class Project extends CommonObject } /** - * \brief Return list of projects - * \param socid To filter on a particular third party - * \return array Liste of projects + * Return list of projects + * @param socid To filter on a particular third party + * @return array Liste of projects */ function liste_array($socid='') { diff --git a/htdocs/projet/fiche.php b/htdocs/projet/fiche.php index ca0be1c3bd79498d1360fc6fa79441d6ca880d7a..1f7d1e46eb7c6f1d7d40c99c0077befd21245bc3 100644 --- a/htdocs/projet/fiche.php +++ b/htdocs/projet/fiche.php @@ -27,6 +27,7 @@ require("../main.inc.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."/lib/project.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/project/modules_project.php"); @@ -364,7 +365,12 @@ else // Confirmation delete if ($_GET["action"] == 'delete') { - $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?id=".$project->id,$langs->trans("DeleteAProject"),$langs->trans("ConfirmDeleteAProject"),"confirm_delete",'','',1); + $text=$langs->trans("ConfirmDeleteAProject"); + $task=new Task($db); + $taskarray=$task->getTasksArray(0,0,$project->id,0,0); + $nboftask=sizeof($taskarray); + if ($nboftask) $text.='<br>'.img_warning().' '.$langs->trans("ThisWillAlsoRemoveTasks",$nboftask); + $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?id=".$project->id,$langs->trans("DeleteAProject"),$text,"confirm_delete",'','',1); if ($ret == 'html') print '<br>'; }