From df11dea46cd35bc4e80461e2209a9cd7eb21dc2d Mon Sep 17 00:00:00 2001 From: Zuzanna Luczynska Date: Tue, 25 Apr 2023 07:48:36 +0000 Subject: [PATCH] [ADD] project: recurring tasks, FW port edit 16.2 closes odoo/documentation#5047 Id: 3255317 X-original-commit: dd268b543c8ef2ec5a9b07ce81665560c71a8b0b Signed-off-by: Xavier Platteau (xpl) --- .../applications/services/project/tasks.rst | 1 + .../project/tasks/recurring_tasks.rst | 50 ++++++++++++++++++ .../recurring_tasks/project-settings.png | Bin 0 -> 14000 bytes 3 files changed, 51 insertions(+) create mode 100644 content/applications/services/project/tasks/recurring_tasks.rst create mode 100644 content/applications/services/project/tasks/recurring_tasks/project-settings.png diff --git a/content/applications/services/project/tasks.rst b/content/applications/services/project/tasks.rst index 5b6dc55b7..66434bedd 100644 --- a/content/applications/services/project/tasks.rst +++ b/content/applications/services/project/tasks.rst @@ -8,3 +8,4 @@ Tasks :titlesonly: tasks/email_alias + tasks/recurring_tasks diff --git a/content/applications/services/project/tasks/recurring_tasks.rst b/content/applications/services/project/tasks/recurring_tasks.rst new file mode 100644 index 000000000..c5cd2b13b --- /dev/null +++ b/content/applications/services/project/tasks/recurring_tasks.rst @@ -0,0 +1,50 @@ +=============== +Recurring tasks +=============== + +When handling a project, the same task often needs to be performed several times: for example, +weekly meetings or status reports. The **recurring tasks** feature allows you to automate the +creation of those tasks. + +.. seealso:: + `Odoo Tutorials: Recurring tasks `_ + +Configuration +============= + +To enable recurring tasks, go to :menuselection:`Project --> Configuration --> Settings`, then +activate :guilabel:`Recurring Tasks`, and press :guilabel:`Save`. + +Recurring tasks are now activated on all existing projects. The feature can be deactivated +on an individual project by clicking the drop-down menu button :guilabel:`⋮` next to the project +name, then going to :menuselection:`Settings --> Settings --> Task Management` and disabling +:guilabel:`Recurring Tasks`. + +Set up task recurrence +---------------------- + +In an existing task, press the :guilabel:`Recurrent` button next to the :guilabel:`Planned date`. +Then, configure :guilabel:`Repeat Every` field according to your needs. + +A new task in recurrence will be created once either of this conditions is met: +- Previous task in recurrence has been closed. +- On the day of the planned recurrence. + +The new task is created on your project dashboard with the following configuration: + +- :guilabel:`Stage`: first stage of the project dashboard (:guilabel:`New` or equivalent); +- :guilabel:`Name`, :guilabel:`Description`, :guilabel:`Project`, :guilabel:`Assignees`, + :guilabel:`Customer`, :guilabel:`Tags`: copied from the original task; +- :guilabel:`Milestones`, :guilabel:`Deadline`, :guilabel:`Timesheets`, :guilabel:`Chatter`, + :guilabel:`Activities`, :guilabel:`Subtasks`: those fields are not copied; + +- A **smart button** on the task displays the total number of existing recurrences. + +Edit or stop task recurrence +---------------------------- + +**To edit** the recurrence, open the last task in recurrence. Any changes made on the task will be +applied to the tasks that will be created in the future. + +**To stop** the recurrence, open the last task in recurrence and press the :guilabel:`Recurrent` +button next to the :guilabel:`Planned date`. diff --git a/content/applications/services/project/tasks/recurring_tasks/project-settings.png b/content/applications/services/project/tasks/recurring_tasks/project-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..714a521f57616a59503d332b99782b78111f7027 GIT binary patch literal 14000 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 literal 0 HcmV?d00001