From 59ba096ee25bea6662c2468061a1c7685ff24f60 Mon Sep 17 00:00:00 2001 From: "Lara Martini (larm)" Date: Mon, 20 May 2024 16:45:26 -0400 Subject: [PATCH] [ADD] Time Off: Moving TO request to new doc closes odoo/documentation#9431 Signed-off-by: Lara Martini (larm) --- content/applications/hr/time_off.rst | 103 ++++-------------- .../hr/time_off/request_time_off.rst | 70 ++++++++++++ .../request_time_off/time-off-request.png | Bin 0 -> 18295 bytes 3 files changed, 93 insertions(+), 80 deletions(-) create mode 100644 content/applications/hr/time_off/request_time_off.rst create mode 100644 content/applications/hr/time_off/request_time_off/time-off-request.png diff --git a/content/applications/hr/time_off.rst b/content/applications/hr/time_off.rst index 4763e6906..cea4aaecc 100644 --- a/content/applications/hr/time_off.rst +++ b/content/applications/hr/time_off.rst @@ -1,3 +1,5 @@ +:show-content: + ======== Time Off ======== @@ -5,9 +7,10 @@ Time Off Odoo's *Time Off* application serves as a centralized hub for all time-off-related information. This application manages requests, balances, allocations, approvals, and reports. -Users can :ref:`request time off `, and see an overview of their requests -and time off balances. Managers can :ref:`allocate time off ` to individuals, -teams, or the whole company, and :ref:`approve time off requests `. +Users can :doc:`request time off <../hr/time_off/request_time_off>`, and see an overview of their +requests and time off balances. Managers can :ref:`allocate time off ` to +individuals, teams, or the whole company, and :ref:`approve time off requests +`. Detailed :ref:`reports ` can be run to see how much time off (and what kinds of time off) are being used, :ref:`accrual plans ` can be created, and @@ -493,75 +496,6 @@ information: :alt: A new allocation form with all the fields filled out for the annual two week vacation granted to all employees. -.. _time_off/request-time-off: - -Request time off -================ - -Once an employee has been allocated time off, a request to use the time off can be submitted. Time -off can be requested in one of two ways, either from the :ref:`dashboard ` or -from the :ref:`My Time Off ` view. - -To create a new request for time off, click the :guilabel:`New` button on either the main *Time Off* -:guilabel:`Dashboard` or the :guilabel:`My Time Off` list view. - -.. note:: - Both :guilabel:`New` buttons allow the user to request time off, but when requested from the - :guilabel:`Dashboard`, a :guilabel:`New Time Off` request form appears in a modal. When requested - from the :guilabel:`My Time Off` list view, the screen navigates to a new time off request page, - instead. - -Enter the following information on the :guilabel:`New Time Off` request form: - -- :guilabel:`Time Off Type`: select the type of time off being requested from the drop-down menu. -- :guilabel:`Dates`: enter the dates that the time off falls under. There are two fields to - populate, the start and end dates. Click on either date field and a popover calendar appears. - - Click on the start date, then click on the end date. The selected start and end dates are circled, - and the dates between them are highlighted (if applicable). - - If the time off requested is for a single day, click on the start date, then click the same date - again for the end date. - - When the correct dates are selected/highlighted, click the :guilabel:`Apply` button. - - The selected dates now populate the two portions of the :guilabel:`Dates` field. - - If the selected :guilabel:`Time Off Type` is configured to have the time off taken in hours, the - following two fields also appear: - - - :guilabel:`Half Day`: if the time off request is for a half day, check this box. When this is - selected, the second date field disappears, and is replaced with a drop-down menu. From that - drop-down menu, select either :guilabel:`Morning` or :guilabel:`Afternoon` to indicate which - half of the day is being requested. - - :guilabel:`Custom Hours`: if the time off requested is not a whole or half day, check this box. - A :guilabel:`From` and :guilabel:`To` field appears beneath this option, if selected. Using the - drop-down menu, select the start and end time for the time off request. - -- :guilabel:`Duration`: this field updates automatically once the :guilabel:`Date` section is - completed. If the :guilabel:`Date` section is modified, this section automatically updates to - reflect the total time off requested. This field is in either hours or days, depending on how the - selected :guilabel:`Time Off Type` is configured. -- :guilabel:`Description`: enter a description for the time off request. This should include any - details that managers and approvers may need in order to approve the request. -- :guilabel:`Supporting Document`: this field only appears if the :guilabel:`Time Off Type` selected - allows for the attachments of documents. Click the :guilabel:`Attach File` button, and a file - explorer window appears. - - Navigate to the desired files to attach, select them, then click the :guilabel:`Open` button. The - files then appear on the time off request form. Multiple documents can be attached, if necessary. - -If the request was created from the :guilabel:`Dashboard`, click the :guilabel:`Save & Close` button -to save the information and submit the request. - -If the form was completed from the :guilabel:`My Time Off` list view, the information is -automatically saved as it is entered. However, the form can be saved manually at any time by -clicking the *save manually* button, represented by a :guilabel:`(cloud upload)` icon. - -.. image:: time_off/time-off-request.png - :align: center - :alt: A time off request form filled out for an employee home sick for two days with the flu. - .. _time_off/request-allocation: Request allocation @@ -846,12 +780,13 @@ Time off that has been validated appears in a solid color (in the color specifie to be approved appear with white stripes in the color. Refused time off requests have a colored line through the dates. -New time off requests can be made from the dashboard. Click the :guilabel:`New` button at the top of -the dashboard, and a :ref:`New Time Off ` modal appears. +New time off requests can be made from the :guilabel:`Dashboard`. Click the :guilabel:`New` button +at the top of the dashboard, and a :doc:`New Time Off <../hr/time_off/request_time_off>` pop-up +window appears. -New allocation requests can also be made from the dashboard. Click the :guilabel:`New Allocation -Request` button at the top of the dashboard to request more time off, and a :ref:`New Allocation -` modal appears. +New allocation requests can also be made from the :guilabel:`Dashboard`. Click the :guilabel:`New +Allocation Request` button at the top of the :guilabel:`Dashboard` to request more time off, and a +:ref:`New Allocation ` modal appears. .. image:: time_off/dashboard.png :align: center @@ -869,8 +804,8 @@ The list includes the following information for each request: the :guilabel:`Tim :guilabel:`Description`, :guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Duration`, and the :guilabel:`Status`. -A new time off request can be made from this view. Click the :guilabel:`New` button to :ref:`request -time off `. +A new time off request can be made from this view. Click the :guilabel:`New` button to :doc:`request +time off <../hr/time_off/request_time_off>`. .. _time_off/my-allocations: @@ -958,5 +893,13 @@ top-right corner of the page to view the data in that way. The various options a :guilabel:`Graph` (the default view), :guilabel:`List`, or :guilabel:`Pivot` table. When a selection has been made, additional options appear for that particular selection. For more -detailed information on the reports and their various options, refer to the :doc:`reporting +detailed information on the reports, and their various options, refer to the :doc:`reporting <../essentials/reporting>` documentation. + +.. seealso:: + :doc:`time_off/request_time_off` + +.. toctree:: + :titlesonly: + + time_off/request_time_off diff --git a/content/applications/hr/time_off/request_time_off.rst b/content/applications/hr/time_off/request_time_off.rst new file mode 100644 index 000000000..6ab9b63c0 --- /dev/null +++ b/content/applications/hr/time_off/request_time_off.rst @@ -0,0 +1,70 @@ +================ +Request time off +================ + +Once time off has been allocated to an employee, a request to use it can be submitted. + +Time off can be requested in one of two ways: either from the main *Time Off* application +:guilabel:`Dashboard` (:menuselection:`Time Off app --> My Time --> Dashboard`), or from the +:guilabel:`My Time Off` dashboard view (:menuselection:`Time Off app --> My Time --> My Time Off`). + +To create a new request for time off, click the :guilabel:`New` button on either the main *Time Off* +:guilabel:`Dashboard` or the :guilabel:`My Time Off` dashboard, in the default list view. + +.. note:: + Both :guilabel:`New` buttons allow the user to request time off, but when requested from the + :guilabel:`Dashboard`, a :guilabel:`New Time Off` request form appears in a pop-up window. When + requested from the :guilabel:`My Time Off` list view, the screen navigates to a new time off + request page, instead. + +Enter the following information on the :guilabel:`New Time Off` request form: + +- :guilabel:`Time Off Type`: select the type of time off being requested from the drop-down menu. +- :guilabel:`Dates`: enter the dates that the time off falls under. There are two fields to + populate: the start and end dates. Click on either date field and a popover calendar appears. + + Click on the start date, then click on the end date. The selected start and end dates are circled, + and the dates between them are highlighted (if applicable). + + If only requesting time off for a single day, click on the start date, then click the same date + again for the end date. + + When the correct dates are selected, click the :guilabel:`Apply` button. + + The selected dates now populate the two portions of the :guilabel:`Dates` field. + + If the selected :guilabel:`Time Off Type` is configured to have the time off taken in hours, the + following two fields also appear: + + - :guilabel:`Half Day`: if the time off request is for a half day, tick this checkbox. When this + is selected, the second date field disappears, and is replaced with a drop-down menu. From that + drop-down menu, select either :guilabel:`Morning` or :guilabel:`Afternoon` to indicate which + half of the day is being requested. + - :guilabel:`Custom Hours`: if the time off requested is not a whole or half day, tick this + checkbox. If selected, a :guilabel:`From` and :guilabel:`To` field appears beneath this option. + Using the drop-down menu, select the start and end time for the time off request. + +- :guilabel:`Duration`: this field updates automatically once the :guilabel:`Date` section is + completed. If the :guilabel:`Date` section is modified, this section automatically updates to + reflect the total time off requested. This field is in either hours or days, depending on how the + selected :guilabel:`Time Off Type` is configured. +- :guilabel:`Description`: enter a description for the time off request. This should include any + details that managers and approvers may need to approve the request. +- :guilabel:`Supporting Document`: this field only appears if the :guilabel:`Time Off Type` selected + allows for the attachment of documents. Click the :guilabel:`Attach File` button, and a file + explorer window appears. + + Navigate to the desired files that should be attached, select them, then click The + :guilabel:`Open` button. The files then appear on the time off request form. Multiple documents + can be attached, if necessary. + +If the request was created from the :guilabel:`Dashboard`, click the :guilabel:`Save & Close` button +to save the information, and submit the request. + +If the form was completed from the :guilabel:`My Time Off` list view, the information is +automatically saved as it is entered. However, the form can be saved manually at any time by +clicking the :icon:`fa-cloud-upload` :guilabel:`(cloud upload)` icon. + +.. image:: request_time_off/time-off-request.png + :align: center + :alt: A time off request form filled out for an employee home sick for two days with the flu. diff --git a/content/applications/hr/time_off/request_time_off/time-off-request.png b/content/applications/hr/time_off/request_time_off/time-off-request.png new file mode 100644 index 0000000000000000000000000000000000000000..5c13230a010a9eae28cd13da6e58c239c18af85c GIT binary patch literal 18295 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