From 40fffc6c60fe16b08238dea67eb1a100c2dc465a Mon Sep 17 00:00:00 2001 From: "Lara Martini (larm)" Date: Wed, 5 Jun 2024 16:41:56 -0400 Subject: [PATCH] [ADD] Recruitment: New refuse applicants doc closes odoo/documentation#9718 X-original-commit: cd32574f886c18b27c844abf8877afbbc54e81d9 Signed-off-by: Lara Martini (larm) --- content/applications/hr/recruitment.rst | 101 +----------- .../hr/recruitment/refuse_applicant.rst | 144 ++++++++++++++++++ .../refuse_applicant/refuse-pop-up.png | Bin 0 -> 18907 bytes .../{ => refuse_applicant}/refuse.png | Bin 4 files changed, 145 insertions(+), 100 deletions(-) create mode 100644 content/applications/hr/recruitment/refuse_applicant.rst create mode 100644 content/applications/hr/recruitment/refuse_applicant/refuse-pop-up.png rename content/applications/hr/recruitment/{ => refuse_applicant}/refuse.png (100%) diff --git a/content/applications/hr/recruitment.rst b/content/applications/hr/recruitment.rst index e52350eb6..eccd9f820 100644 --- a/content/applications/hr/recruitment.rst +++ b/content/applications/hr/recruitment.rst @@ -490,106 +490,6 @@ the email pop-up. :alt: Send a custom survey, also referred to as an interview form, to an applicant using a pre-configured template. -Refuse -~~~~~~ - -At any point in the recruitment pipeline, an applicant can be refused from the job application -process. To refuse an applicant, click on an applicant's card to navigate to a detailed view of the -applicant's card. At the top of the applicant's card, there are several buttons. Click the one -labeled :guilabel:`Refuse`. - -A :guilabel:`Refuse Reason` pop-up window appears. Click the :guilabel:`Refuse Reason` from the -presented options. The default refuse reasons in Odoo, and their corresponding email templates, are: - -.. list-table:: - :header-rows: 1 - :stub-columns: 1 - - * - Email Template - - Refusal Reason - * - :guilabel:`Recruitment: Refuse` - - | :guilabel:`Doesn't fit the job requirements` - | :guilabel:`Language issues` - | :guilabel:`Role already fulfilled` - | :guilabel:`Duplicate` - | :guilabel:`Spam` - * - :guilabel:`Recruitment: Not interested anymore` - - | :guilabel:`Refused by Applicant: don't like job` - | :guilabel:`Refused by Applicant: better offer` - | :guilabel:`Refused by Applicant: salary` - -Additional refusal reasons :ref:`can be created and existing ones can be modified or deleted -`. - -.. note:: - Pre-configured email templates in Odoo sometimes use dynamic placeholders, which are customized - pieces of data that populate dynamic content. For example, if the applicant's name is a piece of - dynamic content, the applicant's name appears anytime that dynamic placeholder appears on the - email template. For more detailed information on email templates, refer to the - :doc:`../general/companies/email_template` documentation. - -After a :guilabel:`Refuse Reason` is selected, two fields appear below the refusal reason: -:guilabel:`Send Email` and :guilabel:`Email Template`. - -The applicant's email address automatically populates the :guilabel:`Send Email` field; additional -email recipients cannot be added. If an email should **not** be sent to the applicant, uncheck the -:guilabel:`Send Email` checkbox. - -The email template associated with the refusal reason populates the :guilabel:`Email Template` -field. If a different email template is desired, select a different template from the -:guilabel:`Email Template` drop-down menu. To view the email template, click the :guilabel:`External -Link` icon to the right of the :guilabel:`Email Template` field. The email template loads in a -:guilabel:`Open: Email Template` pop-up window, and can be modified if needed. After making -modifications, click :guilabel:`Save & Close`. - -To send the refusal email to the applicant, click :guilabel:`Refuse`. The refusal email is sent to -the applicant, and a :guilabel:`Refused` banner appears on the applicant's card in the top-right -corner. - -.. image:: recruitment/refuse.png - :align: center - :alt: An applicant's card with the refused banner appearing in the top-right corner in red. - -After refusal, the applicant's card is no longer visible in the job position's Kanban view. To view -the refused applicants only, click the :guilabel:`▼ Toggle Search Panel` button in the search box, -then click :guilabel:`Refused` under the :guilabel:`Filters` section. All applicants that have been -refused for the job position appear, in the stage they were when they were refused. - -To view all applicants that have been refused from all job positions, navigate to the -:menuselection:`Recruitment app --> Applications --> All Applications`. Click the :guilabel:`▼ -Toggle Search Panel` button in the search box, then click :guilabel:`Refused` under the -:guilabel:`Filters` section. All applications for all job positions are presented in a list view, -organized by stage. - -.. _recruitment/new-refuse: - -Create or modify refuse reasons -******************************* - -To view all currently configured refuse reasons, navigate to :menuselection:`Recruitment app --> -Settings --> Applications: Refuse Reasons`. All the refuse reasons appear in a list view. - -To create a new refuse reason, click the :guilabel:`New` button in the top-left corner. A blank -line appears at the bottom of the :guilabel:`Description` column. - -Type in the new refuse reason in the field. It is recommended to enter a reason that is short and -concise, such as `offer expired` or `withdrew application`. - -Then, in the :guilabel:`Email Template` field, click on the field to reveal a drop-down menu. -Select an :guilabel:`Email Template` from the list to be used when this refuse reason is selected. - -If a new :guilabel:`Email Template` is desired, type in the name for the new template in the field. -Then, click :guilabel:`Create and edit...` and a :guilabel:`Create Email Template` form pop-up -window appears. - -Enter a :guilabel:`Name` for the form and an email :guilabel:`Subject` in the corresponding fields. -Enter the email content in the :guilabel:`Content` tab. Make any other desired modifications to the -template, then click :guilabel:`Save & Close` to save the template and return to the -:guilabel:`Refuse Reasons` list. The new template appears in the new refuse reason :guilabel:`Email -Template` field. - -To make any modifications to a refuse reason, click on the line, and make any desired changes. - New applicant ~~~~~~~~~~~~~ @@ -1132,3 +1032,4 @@ Fill out the rest of the form. For detailed information on the fields, refer to :titlesonly: recruitment/new_job + recruitment/refuse_applicant diff --git a/content/applications/hr/recruitment/refuse_applicant.rst b/content/applications/hr/recruitment/refuse_applicant.rst new file mode 100644 index 000000000..00577ce48 --- /dev/null +++ b/content/applications/hr/recruitment/refuse_applicant.rst @@ -0,0 +1,144 @@ +================= +Refuse applicants +================= + +At any point in the recruitment process, an applicant can be refused for a job position. + +To refuse an applicant, start by navigating to the applicant's card in the *Recruitment* app. This +is done in one of two ways: + +- Navigate to :menuselection:`Recruitment app --> Applications --> All Applications`. In the + :guilabel:`Applications` list, click anywhere on the desired applicant's line to open that + specific applicant's card. +- Navigate to the main *ob Positions* dashboard by navigating to :menuselection:`Recruitment app + --> Applications --> By Job Position`. Next, click on the desired job position card, then click on + the individual applicant card from the :guilabel:`Applications` page. + +At the top of the applicant's card, there are several buttons. Click the one labeled +:guilabel:`Refuse`. + +.. _recruitment/refuse-reasons: + +Refuse reasons +============== + +*Refuse reasons* allow recruiters to document why an applicant was not a good fit, and send specific +refusal reason email templates to the applicant. + +Clicking :guilabel:`Refuse` on an applicant's form makes the :guilabel:`Refuse Reason` pop-up window +appear. + +The default refuse reasons in Odoo, and their corresponding email templates, are: + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + + * - Email Template + - Refusal Reason + * - :guilabel:`Recruitment: Refuse` + - | :guilabel:`Doesn't fit the job requirements` + | :guilabel:`Language issues` + | :guilabel:`Role already fulfilled` + | :guilabel:`Duplicate` + | :guilabel:`Spam` + * - :guilabel:`Recruitment: Not interested anymore` + - | :guilabel:`Refused by Applicant: don't like job` + | :guilabel:`Refused by Applicant: better offer` + | :guilabel:`Refused by Applicant: salary` + +Additional refusal reasons :ref:`can be created, and existing ones can be modified (or deleted) +`. + +Select a refusal reason to :ref:`send a refusal email `. + +.. _recruitment/new-refuse: + +Create or modify refuse reasons +------------------------------- + +To view and configure refuse reasons, navigate to :menuselection:`Recruitment app --> Configuration +--> Applications: Refuse Reasons`. Doing so reveals the :guilabel:`Refuse Reasons` page, where all +the existing refuse reasons are listed. + +To create a new refuse reason from the :guilabel:`Refuse Reasons` page, click the :guilabel:`New` +button in the top-left corner. A blank line appears at the bottom of the list, with an empty field +present in the :guilabel:`Description` column. + +Type in the new refuse reason in the field. It is recommended to enter a reason that is short and +concise, such as `Offer expired` or `Withdrew application`. + +Then, in the :guilabel:`Email Template` field, click on the field to reveal a drop-down menu. +Select an :guilabel:`Email Template` from the list to be used when this refuse reason is selected. + +If a new :guilabel:`Email Template` is desired, type in the name for the new template in the field. +Then, click :guilabel:`Create and edit...`, and a :guilabel:`Create Email Template` form pop-up +window appears. + +In the :guilabel:`Create Email Template` pop-up window, enter a :guilabel:`Name` for the form, and +an email :guilabel:`Subject` in the corresponding fields. + +Enter the desired email content in the :guilabel:`Content` tab. Proceed to make any other +modifications to the template in the :guilabel:`Email Configuration` and :guilabel:`Settings` tabs, +then click :guilabel:`Save & Close` to save the template. Upon clicking that, Odoo returns to the +:guilabel:`Refuse Reasons` list. + +The new template appears in the new refuse reason :guilabel:`Email Template` field. + +.. note:: + Pre-configured recruitment refusal email templates in Odoo use dynamic placeholders, which are + personalized placeholders that populate data from the applicant's record in the email body. + + For example, if the applicant's name is a used in a dynamic placeholder, the applicant's name + appears anytime that dynamic placeholder appears on the email template. + + For more detailed information on email templates, refer to the + :doc:`../../general/companies/email_template` documentation. + +.. _recruitment/send-refusal-email: + +Send refusal email +================== + +After clicking the :guilabel:`Refuse` button on an applicant form, a :ref:`Refuse Reason +` can be selected from the :guilabel:`refuse reason` pop-up window. +Then, two fields appear below the selected refusal reason: :guilabel:`Send Email` and +:guilabel:`Email Template`. + +.. image:: refuse_applicant/refuse-pop-up.png + :align: center + :alt: The Refuse Reason pop-up window that appears when refusing an applicant. + +The applicant's email address automatically populates the :guilabel:`Send Email` field; additional +email recipients **cannot** be added. + +If an email should **not** be sent to the applicant, uncheck the :guilabel:`Send Email` checkbox. + +The email template associated with the refusal reason populates the :guilabel:`Email Template` +field. If a different email template is desired, select a different template from the +:guilabel:`Email Template` drop-down menu. + +To send the refusal email to the applicant, ensure the :guilabel:`Send Email` checkbox is ticked, +then click :guilabel:`Refuse` at the bottom of the :guilabel:`Refuse Reason` pop-up window. The +refusal email is sent to the applicant, and a red :guilabel:`Refused` banner appears on the +applicant's card in the top-right corner. + +.. image:: refuse_applicant/refuse.png + :align: center + :alt: An applicant's card with the refused banner appearing in the top-right corner in red. + +View refused applicants +======================= + +After refusal, the applicant's card is no longer visible in the job position's Kanban view. However, +it is still possible to view applicants who have been refused. + +To view only the refused applicants, go to :menuselection:`Recruitment app --> Applications --> By +Job Positions`, or :menuselection:`Recruitment app --> Applications --> All Applications`. + +On the :guilabel:`Applications` page, click the :icon:`fa-caret-down` :guilabel:`(caret down)` +button in the :guilabel:`Search...` bar, then click :guilabel:`Refused`, located under the +:guilabel:`Filters` section. + +All applicants that have been refused for the job position appear on the :guilabel:`Applications` +page for that position, organized by the stage they were in when they were refused. diff --git a/content/applications/hr/recruitment/refuse_applicant/refuse-pop-up.png b/content/applications/hr/recruitment/refuse_applicant/refuse-pop-up.png new file mode 100644 index 0000000000000000000000000000000000000000..ee65b94e2092baf77b5537be7e82d27d562baa84 GIT binary patch literal 18907 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 D0