Déplacer des tâches

dolixtaches · version 1.0.3

Une tâche a été créée dans le mauvais projet : vous la déplacez, avec ses sous-tâches, son temps passé et ses documents.

Prix
49 € HT
Dolibarr
19.0 minimum
Version
1.0.3
Licence
GPL v3+
Langues
Français, anglais

En validation sur le DoliStore

Il n’est pas achetable aujourd’hui. La vente, l’encaissement, la facture et le téléchargement se feront sur le DoliStore, jamais sur ce site. Pour être prévenu de sa mise en vente, écrivez à contact@dolix.fr.

Support et contact
Écran principal sous Dolibarr 24.0.0 : le projet d'origine « CH-001 - Installation du poste de contrôle », le projet de destination « PJ2609-0005 - Mise à niveau du réseau interne », le bandeau « 5 tâche(s) dans le projet « CH-001 ». », puis les cinq tâches avec leur hiérarchie — T-011 et T-012 décalées sous T-010 — chacune portant « CH-001 » barré suivi de « PJ2609-0005 » en vert.
Écran principal sous Dolibarr 24.0.0 : le projet d'origine « CH-001 - Installation du poste de contrôle », le projet de destination « PJ2609-0005 - Mise à niveau du réseau interne », le bandeau « 5 tâche(s) dans le projet « CH-001 ». », puis les cinq tâches avec leur hiérarchie — T-011 et T-012 décalées sous T-010 — chacune portant « CH-001 » barré suivi de « PJ2609-0005 » en vert.
01

Ce que fait le module

  • Vous choisissez un projet d'origine et un projet de destination ; le module liste les tâches du projet d'origine avec leur hiérarchie, les sous-tâches décalées sous leur parente.
  • Aperçu avant écriture : chaque ligne affiche le projet d'origine barré suivi du projet de destination en vert, et vous cochez les tâches une par une, ou toutes d'un coup.
  • Les sous-tâches suivent leur tâche parente sans que vous ayez à les cocher. Une tâche dont la parente reste dans le projet d'origine devient une tâche de premier niveau.
  • Le temps passé et les intervenants suivent la tâche : ils sont enregistrés sur la tâche elle-même et non sur le projet, donc rien n'est à ressaisir.
  • Les documents joints sont déplacés dans le dossier du projet de destination. Un réglage permet de les laisser en place.
  • Déplacement transactionnel : à la première erreur, aucune tâche n'est déplacée. Historique des déplacements consultable dans la page de configuration du module.
02

À qui ça sert

Une tâche a été ouverte sous le mauvais projet, et Dolibarr ne sait pas la déplacer : il faut la recréer à la main et perdre le temps déjà pointé, ou la cloner et garder un doublon.

Le projet est ouvert, les tâches sont saisies, les heures sont pointées. Et puis on s’aperçoit que trois d’entre elles n’auraient jamais dû être là : elles appartiennent au chantier d’à côté, ou au projet qui a été créé la semaine suivante pour les séparer proprement.

Dolibarr ne sait pas les déplacer. Sur la fiche d’une tâche, le projet est affiché comme un simple lien — en consultation comme en modification, il n’y a pas de liste déroulante pour en changer. La seule action voisine est Cloner, qui recrée la tâche dans le même projet.

Il reste donc deux mauvaises solutions. Recréer la tâche à la main dans le bon projet, et perdre le temps déjà saisi, les intervenants et les fichiers joints. Ou cloner, et vivre avec un doublon dont personne ne saura plus lequel des deux fait foi.

Le besoin est connu et il est public : la demande n° 23230 du dépôt de Dolibarr, « Move a task to another project », ouverte le 14 décembre 2022, demande exactement une liste déroulante de projet sur la fiche de la tâche. Elle est toujours ouverte.

À qui ça sert : Toute structure qui suit son travail par projets et qui pointe du temps sur les tâches : bureaux d'études, agences, sociétés de services, artisans qui ouvrent un projet par chantier. Le besoin apparaît le jour où une tâche a été ouverte sous le mauvais projet et qu'on y a déjà saisi des heures.

03

Ce que le module ne fait pas

Ce bloc figure sur les six fiches, sans exception.

  • Ne déplace que des tâches, et seulement d'un projet vers un autre. Ne déplace pas un projet, ne fusionne pas deux projets, ne renomme rien et ne change pas la référence des tâches.
  • Le déplacement est écrit directement en base : les déclencheurs de Dolibarr ne sont pas exécutés et aucun événement n'est créé dans l'agenda. Chaque tâche déplacée est en revanche inscrite dans les journaux de Dolibarr et dans l'historique du module.
  • L'écran liste toutes les tâches du projet d'origine, sans pagination, sans recherche et sans plafond de sécurité. Sur un projet qui porte plusieurs centaines de tâches, la page est longue.
  • Le déplacement des fichiers n'est pas couvert par l'annulation. La transaction protège les tâches et l'historique ; un dossier déjà déplacé sur le disque reste déplacé même si une tâche suivante échoue. Et si un dossier du même nom se trouve déjà dans le projet de destination, les fichiers restent en place sans qu'aucun message ne le dise — le compteur « Documents déplacés » du message de fin ne les compte simplement pas.
  • Les fichiers sont déplacés sur le disque, mais l'index des documents de Dolibarr n'est pas mis à jour : il garde l'ancien chemin. L'onglet « Documents » de la tâche, qui lit le disque, affiche les fichiers normalement.
  • La visibilité d'une tâche suit celle de son projet, dans Dolibarr comme dans le module. Une tâche déplacée vers un projet qu'un utilisateur n'a pas le droit de voir disparaît de ses listes. Vous-même ne pouvez déplacer qu'entre des projets que vous voyez.
  • Pas de retour en arrière automatique : l'historique dit ce qui a été déplacé, il ne le défait pas. Pour revenir en arrière, on refait le déplacement dans l'autre sens.
  • Le module ne vérifie pas que les deux projets appartiennent au même tiers, et le temps déjà facturé suit la tâche en gardant son lien vers la facture. Un déplacement vers le projet d'un autre client est possible : c'est à vous de savoir ce que vous faites.
04

Comment ça marche

Le module ajoute un écran sous ProjetsDéplacer des tâches. Vous y choisissez un projet d’origine et un projet de destination, et il liste les tâches du projet d’origine avec leur hiérarchie, les sous-tâches décalées sous leur parente.

Chaque ligne montre déjà le résultat : le projet d’origine barré, puis le projet de destination en vert. Vous cochez les tâches à déplacer, une par une ou toutes d’un coup, et vous validez. Une fenêtre de confirmation rappelle ce qui va suivre la tâche.

Rien n’est écrit avant cette confirmation. L’écran d’aperçu ne fait que lire.

Le déplacement lui-même se fait dans une transaction. Si une seule tâche échoue, l’ensemble est annulé : aucune tâche n’a changé de projet, et un message le dit.

Le module s'installe dans le menu Projets. On choisit le projet d'origine et le projet de destination, puis on coche ligne par ligne : chaque tâche indique déjà où elle va aller.
Le module s'installe dans le menu Projets. On choisit le projet d'origine et le projet de destination, puis on coche ligne par ligne : chaque tâche indique déjà où elle va aller.
À la fin, le module dit ce qu'il a fait : combien de tâches ont été déplacées, et pour combien d'entre elles les documents joints ont suivi.
À la fin, le module dit ce qu'il a fait : combien de tâches ont été déplacées, et pour combien d'entre elles les documents joints ont suivi.
La colonne « Documents » coche les tâches dont les fichiers joints ont été déplacés avec elles.
La colonne « Documents » coche les tâches dont les fichiers joints ont été déplacés avec elles.
Après le déplacement, les tâches sont dans le projet de destination — hiérarchie, charge de travail et temps consommé compris.
Après le déplacement, les tâches sont dans le projet de destination — hiérarchie, charge de travail et temps consommé compris.
05

Réglages

Deux réglages, dans la page de configuration du module. Tous deux sont activés à l’installation.

Réglage Défaut Effet
Déplacer aussi les documents activé Déplace le dossier des fichiers joints de la tâche vers le dossier du projet de destination. Décoché, les fichiers restent à leur place et la tâche seule change de projet.
Conserver un historique des déplacements activé Enregistre chaque déplacement : date, utilisateur, tâche, projet d’origine, projet de destination, et si les documents ont suivi.

L’historique se consulte sur la même page, sous les réglages. Il ne se purge pas depuis l’écran.

Page de configuration sous Dolibarr 24.0.0 : les deux réglages, « Déplacer aussi les documents » et « Conserver un historique des déplacements », cochés tous les deux, et le tableau d'historique — quatre déplacements de T-010 à T-013, de « CH-001 » vers « PJ2609-0005 ».
Page de configuration sous Dolibarr 24.0.0 : les deux réglages, « Déplacer aussi les documents » et « Conserver un historique des déplacements », cochés tous les deux, et le tableau d'historique — quatre déplacements de T-010 à T-013, de « CH-001 » vers « PJ2609-0005 ».
Les deux réglages, et l'historique des déplacements : quelle tâche, de quel projet vers quel autre, par qui, quand — et si ses documents ont suivi.
Les deux réglages, et l'historique des déplacements : quelle tâche, de quel projet vers quel autre, par qui, quand — et si ses documents ont suivi.
06

Sécurité et garde-fous

  • L’aperçu est en lecture seule. Aucune écriture n’est possible sans cocher, cliquer et confirmer.
  • Un droit dédié, « Utiliser le déplacement de tâches ». Sans lui, ni le menu ni l’écran.
  • Les droits standards de Dolibarr en plus : l’écran exige le droit de lecture sur les projets, et le déplacement exige le droit de création/modification sur les projets.
  • Les règles de visibilité du cœur sont respectées. Si vous n’avez pas le droit de lire tous les projets, le module s’appuie sur la fonction de Dolibarr qui détermine les projets autorisés — projets publics, projets dont vous êtes contact — et sur la restriction appliquée aux utilisateurs externes, un compte rattaché à un tiers ne se voyant proposer aucun projet rattaché à un autre tiers.
  • Revérification côté serveur : les identifiants de projet envoyés par le formulaire ne sont jamais crus sur parole. Les deux projets sont relus dans votre périmètre avant la moindre écriture, et un identifiant forcé donne un refus d’accès.
  • La sélection est bornée : seules les tâches réellement présentes dans le projet d’origine sont retenues, et chaque mise à jour rappelle le projet d’origine dans sa condition.
  • Multi-société : chaque requête est filtrée sur les entités autorisées.
  • Jeton anti-CSRF vérifié sur l’enregistrement des réglages, un jeton vide étant refusé d’emblée.
  • Chaque tâche déplacée est écrite dans les journaux de Dolibarr et dans l’historique du module.
07

Ce qui est livré

Ce que le module écrit dans votre installation
Tables créées en baseUne table : llx_dolixtaches_log. Elle enregistre l'historique des déplacements (date, utilisateur, identifiant de la tâche, sa référence et son libellé au moment du déplacement, projet d'origine, projet de destination, indicateur de déplacement des documents, entité). Aucune donnée métier n'y est stockée.
PermissionsUn droit : « Utiliser le déplacement de tâches ». Sans ce droit, l'écran est inaccessible et le menu n'apparaît pas. L'écran exige en plus le droit Dolibarr de lecture des projets, et le déplacement lui-même exige le droit de création/modification sur les projets.
Désinstallation
  • Désactiver le module dans ConfigurationModules/Applications. Le menu et le droit disparaissent.
  • Les tâches déjà déplacées restent dans leur projet de destination : ce sont des données de votre base, comme si vous les y aviez créées. Les documents déjà déplacés restent eux aussi dans le dossier du projet de destination.
  • La table d'historique llx_dolixtaches_log et les deux réglages du module ne sont pas supprimés. Rien n'est effacé de votre base sans votre intervention.
  • Une table est ajoutée : llx_dolixtaches_log. Elle ne contient que l’historique des déplacements — date, utilisateur, tâche, projets d’origine et de destination, et un indicateur de déplacement des documents. Aucune donnée métier n’y est copiée.
  • La seule colonne modifiée dans vos données est le projet de la tâche, et, pour une tâche dont la parente reste en arrière, son lien de parenté. Rien d’autre n’est réécrit : ni le libellé, ni la référence, ni les dates, ni la progression.
  • Les fichiers déplacés le sont à l’intérieur du dossier de documents de Dolibarr. Aucune écriture hors de ce dossier.
  • Aucune connexion sortante : le module n’appelle aucun serveur extérieur.
08

Compatibilité

Le descripteur du module ne déclare qu’une version minimale. Aucune borne haute n’est inscrite dans le code : les versions ci-dessous sont celles sur lesquelles le module a réellement été exécuté.

Compatibilité du module Déplacer des tâches
Versions de DolibarrDolibarr 19.0 minimum. Installé et exécuté sur 19.0.4, 20.0.4, 21.0.4, 22.0.5, 23.0.4 et 24.0.0.
PHP minimum7.4
Modules Dolibarr à activerProjets
LicenceGPL v3 ou ultérieure, code source complet
LanguesFrançais, anglais
MenuMenu Projets« Déplacer des tâches ».
09

Installation

  1. Récupérer le module sur le DoliStore et télécharger le fichier zip.
  2. Dans Dolibarr : AccueilConfigurationModules/Applicationsonglet « Déployer/installer un module externe », puis envoyer le zip. Sinon, décompresser le dossier dolixtaches dans htdocs/custom/.
  3. Le module Projets doit être activé : « Déplacer des tâches » en dépend et ne s'active pas sans lui.
  4. Activer « Déplacer des tâches » dans la liste des modules. La table d'historique est créée à ce moment-là, et les deux réglages prennent leur valeur par défaut : documents déplacés, historique conservé.
  5. Attribuer le droit « Utiliser le déplacement de tâches » aux utilisateurs concernés, dans Utilisateurs & Groupes. Pour déplacer effectivement une tâche, ces mêmes personnes doivent avoir le droit Dolibarr de création/modification sur les projets.
  6. Vérifier les deux réglages dans la page de configuration du module.
  7. Faire une sauvegarde de la base et du dossier des documents avant le premier déplacement en nombre.

Le détail — droits du dossier custom, hébergement mutualisé, mise à jour, désinstallation — est sur la page Installation et mise à jour.

10

Questions fréquentes

Sur quelles versions de Dolibarr ce module fonctionne-t-il ?

Le descripteur exige Dolibarr 19.0 au minimum et PHP 7.4 au minimum. Le module a été installé et exécuté sur 19.0.4, 20.0.4, 21.0.4, 22.0.5, 23.0.4 et 24.0.0, sur MariaDB comme sur PostgreSQL. Les captures de cette page ont été réalisées sous 24.0.0. Aucune version maximale n'est inscrite dans le module.

Dolibarr ne sait vraiment pas déplacer une tâche ?

Non. Sur la fiche d'une tâche, le projet est affiché comme un simple lien, en consultation comme en modification : il n'y a pas de liste déroulante pour en changer. Vérifié dans le code de Dolibarr 19.0.4 et de 24.0.0. La seule action native voisine est « Cloner », qui recrée la tâche dans le même projet — donc un doublon, pas un déplacement.

Qu'est-ce qui suit la tâche déplacée ?

Ses sous-tâches, son temps passé, ses intervenants, ses catégories et ses attributs supplémentaires : tous sont enregistrés sur la tâche elle-même et non sur le projet, ils suivent donc le déplacement sans que le module ait à y toucher. Les documents joints, eux, sont réellement déplacés d'un dossier à l'autre sur le serveur, et c'est le seul de ces éléments que vous pouvez désactiver dans les réglages.

Que se passe-t-il si l'opération échoue au milieu ?

Aucune tâche n'est déplacée : les mises à jour et les lignes d'historique sont faites dans une transaction, annulée en bloc à la première erreur, et un message le signale. Une réserve honnête : le déplacement des fichiers sur le disque, lui, n'est pas couvert par cette annulation. Un dossier déjà déplacé reste déplacé.

Et si je désinstalle ?

Le menu et le droit disparaissent. Les tâches déplacées restent dans leur projet de destination et les documents dans leur nouveau dossier. La table d'historique et les deux réglages restent en base : vous pouvez les supprimer vous-même si vous le souhaitez.

Qui répond au support, et comment se passent le paiement et les mises à jour ?

Le support est assuré par la personne qui a écrit le module, à support@dolix.fr. La commande, le paiement, la facture et le téléchargement sont assurés par le DoliStore, où les nouvelles versions sont publiées ; le journal des versions de cette page est mis à jour à chaque publication.

11

Journal des versions

Repris du fichier ChangeLog.md du module : une seule source.

1.0.310 septembre 2026

Correctif d'affichage : après un déplacement réussi, l'écran affichait sous le message de succès un avertissement qui le contredisait, et une colonne où le projet de destination pointait vers lui-même. Le déplacement lui-même était correct, seul l'écran de fin était trompeur.

1.0.210 septembre 2026

Technique : la fonction de vérification du jeton anti-CSRF, jusque-là nommée verifCsrfToken(), porte désormais un nom préfixé par le module. Un nom générique déclaré par un module empêcherait la page de s'ouvrir si Dolibarr venait à ajouter une fonction du même nom. Un jeton vide est par ailleurs refusé explicitement.

1.0.110 septembre 2026

Correctif : l'écran de configuration renvoyait une erreur 500 à l'enregistrement, la fonction d'écriture des réglages de Dolibarr étant appelée sans que sa bibliothèque soit chargée. Les réglages s'enregistrent désormais normalement.

1.0.09 septembre 2026

Première version : déplacement de tâches d'un projet vers un autre, avec aperçu avantaprès, sélection ligne par ligne et confirmation explicite. Les sous-tâches suivent leur tâche parente ; une tâche dont la parente reste en arrière devient une tâche de premier niveau. Le temps passé et les intervenants suivent la tâche ; les documents joints sont déplacés dans le dossier du projet de destination, option désactivable. Déplacement transactionnel et historique des déplacements. Respect des règles de visibilité de Dolibarr et du multi-société, identifiants revérifiés côté serveur. Page de configuration dédiée.

12

Support de ce module

Écrivez à support@dolix.fr. C’est la personne qui a écrit le module qui répond.

Réponse sous deux jours ouvrés. Ce n’est pas un service d’astreinte.

À joindre à votre message

  • La version exacte de Dolibarr.
  • Le module concerné et sa version — ici dolixtaches 1.0.3.
  • Ce que vous avez fait, et ce que vous attendiez.
  • Le message d’erreur recopié tel quel, ou une capture d’écran.
  • Comment Dolibarr est installé, si vous le savez.

En validation sur le DoliStore

Il n’est pas achetable aujourd’hui. La vente, l’encaissement, la facture et le téléchargement se feront sur le DoliStore, jamais sur ce site. Pour être prévenu de sa mise en vente, écrivez à contact@dolix.fr.

Support et contact
Aussi

Les autres modules

Marge par jour

margeparjour · v1.0.0

Vous voyez ce que rapporte une journée de travail avant d'accepter le devis.

En validationLire la fiche