Module pour améliorer le fonctionnement de la récurrence sur les tâches.
Limite du standard Odoo V18
En V18, le mécanisme de récurrence des tâches a été complètement refondu.
Parmi les nombreux changement déplorés :
Les tâches récurrentes ne sont plus générées tant que la dernière tâche de la récurrence n'est pas marquée comme "Fait"
Elles sont créées immédiatement, dès que la dernière tâche est faite. Autrement dit, l'intervalle de récurrence n'influe plus sur la date de création de la prochaine tâche, mais sur la date limite de celle-ci.
Corollaire de ce fonctionnement, on n'a donc plus accès aux dates de prochaines récurrence
La création de la nouvelle tâche se fait sur la base du contenu de la dernière tâche récurrente (plus possible de choisir ce qu'on est en train de modifier comme avant, en choissisant cette tâche/toutes les tâches/les prochaines tâches)
Désactiver la récurrence sur une tâche revient à supprimer l'objet de récurrence lié, et avec lui le lien vers les autres tâches de la série
Supprimer la dernière tâche de la récurrence revient à supprimer toute la récurrence
Fonctionnement du module
Ce module vient réintroduire :
Une date de prochaine récurrence, visible sur les tâches, se calcule par défaut comme Date du jour + intervalle de récurrence mais reste modifiable manuellement
Un cron, qui s'exécute quotidiennement pour vérifier sur les tâches récurrentes si l'on a atteint la date de prochaine récurrence, auquel cas il créer l'occurence suivante
La possibilité de forcer la création de la prochaine tâche récurrente depuis le formulaire si la date de prochaine récurrence est dans le passé
Une contrainte pour empêcher de désactiver la récurrence sur une tâche déjà lié à d'autres tâches récurrentes.
On vient plutôt conseiller à l'utilisateur de mettre une date de fin sur la récurrence
La suppression de la récurrence UNQIUEMENT SI l'ensemble des tâches de la récurrence est supprimé
Autrement dit :
* La prochaine tâche sera générée même si la précédente n'est pas terminée
* On peut décaler la date de prochaine récurrence pour démarrer la récurrence à une date précise (le 1er du mois par exemple)
* On ne risque plus de perdre le lien entre les tâches récurrentes d'une même série
Initialisation
À l'installation du module, toutes les tâches récurrentes existantes ont leur date de prochaine récurrence intialisées à partir de la date du jour.