msgid "Approval rules are used to automate approval processes for actions. They allow you to define the criteria for when an approval is required before an action can be performed using a button."
msgid "Optionally, you can also add conditions for the approval rule to be applied by clicking the :icon:`fa-filter` (:guilabel:`filter`) icon next to the :guilabel:`Allowed Group` field."
msgid "change the :guilabel:`Notification Order` of the approval rule so that the :guilabel:`Responsible` and :guilabel:`Users to notify` are only notified when the previous rule has been approved, and their approval is required. If the approval rules have the same :guilabel:`Notification Order`, all users are notified at the same time when the first approval is requested."
msgid "When an unauthorized user clicks the button, an error message is displayed in the top-right corner and an activity is created for the user specified in the :guilabel:`Responsible` field."
msgid "approve the action and allow another user to perform it by clicking the **user avatar** icon next to the button's label, then clicking the :icon:`fa-check` (:guilabel:`Approve`) button in the dialog that opens;"
msgid "reject the action by clicking the **user avatar** icon next to the button's label, then clicking the :icon:`fa-times` (:guilabel:`Reject`) button in the dialog that opens."
msgid "The user who approved/rejected the action can revoke their decision by clicking the **user avatar** icon next to the button's label, then clicking the :icon:`fa-undo` (:guilabel:`Revoke`) button."
msgid "Approvals are tracked in the record's chatter. An approval entry is also created every time a Studio approval-related action is performed. To access the approval entries, :doc:`activate the developer mode </applications/general/developer_mode>` and go to :menuselection:`Settings --> Technical --> Studio Approval Entries`."
msgid "Automation rules are used to trigger automatic changes based on user actions (e.g., apply a modification when a field is set to a specific value), email events, time conditions (e.g., archive a record 7 days after its last update), or external events."
msgid "Select the :ref:`studio/automated-actions/trigger` and, if necessary, fill in the fields that appear on the screen based on the chosen trigger."
msgid "Click :guilabel:`Add an action`, then select the :guilabel:`Type` of :ref:`action <studio/automated-actions/action>` and fill in the fields that appear on the screen based on your selected action."
msgid "To modify the :doc:`model <models_modules_apps>` of the automation rule, switch models before clicking :guilabel:`Automations` in Studio, or :ref:`activate the developer mode <developer-mode>`, create or edit an automation rule, and select the :guilabel:`Model` in the :guilabel:`Automation Rules` form."
msgid "You can also create automation rules from any kanban stage by clicking the gear icon (:guilabel:`⚙` ) next to the kanban stage name, then selecting :guilabel:`Automations`. In this case, the :guilabel:`Trigger` is set to :guilabel:`Stage is set to` by default, but you can change it if necessary."
msgid "The :guilabel:`Trigger` is used to define when the automation rule should be applied. The available triggers depend on the :doc:`model <models_modules_apps>`. Five trigger categories are available overall:"
msgid "You can also define a :guilabel:`Before Update Domain` to specify the conditions that must be met *before* the automation rule is triggered. In contrast, the conditions defined using the :ref:`Extra Conditions <studio/automated-actions/trigger/values-timing-conditions>` and :ref:`Apply on <studio/automated-actions/trigger/custom>` filters are checked *during* the execution of the automation rule."
msgid "To define a :guilabel:`Before Update Domain`, :ref:`activate the developer mode <developer-mode>`, create or edit an automation rule, click :guilabel:`Edit Domain`, then click :guilabel:`New Rule`."
msgid "For example, if you want the automated action to happen when an email address is set on a contact that did not have an address before (in contrast to modifying their existing address), define the :guilabel:`Before Update Domain` to :guilabel:`Email is not set`, and the :guilabel:`Apply on` domain to :guilabel:`Email is set`."
msgid "The triggers available in this category depend on the model and are based on common field changes, such as adding a specific tag (e.g., to a task) or setting the :guilabel:`User` field. Select the trigger, then select a value if required."
msgid "a :guilabel:`Delay`: Specify the number of minutes, hours, days, or months. To trigger the action before the trigger date, specify a negative number. If you selected the :guilabel:`Based on date field` trigger, you must also select the date field to be used to determine the delay."
msgid ":guilabel:`Extra Conditions`: Click :guilabel:`Add condition`, then specify the conditions to be met to trigger the automation rule. Click :guilabel:`New Rule` to add another condition."
msgid "If you want to send a reminder email 30 minutes before the start of a calendar event, select the :guilabel:`Start (Calendar Event)` under :guilabel:`Trigger Date` and set the :guilabel:`Delay` to **-30** :guilabel:`Minutes`."
msgid "By default, the scheduler checks for trigger dates every 4 hours, meaning lower granularity in time-based automations may not always be honored."
msgid "For the :guilabel:`On save` and :guilabel:`On UI change` triggers, you **must** then select the field(s) to be used to trigger the automation rule in the :guilabel:`When updating` field."
msgid "The :guilabel:`On UI change` trigger can only be used with the :ref:`studio/automated-actions/action/python-code` action and only works when a modification is made manually. The action is not executed if the field is changed through another automation rule."
msgid "Trigger automated actions based on an external event using a webhook. A webhook is a method of communication between two systems where the source system sends an HTTP(S) request to a destination system based on a specific event. It usually includes a data payload containing information about the event that occurred."
msgid "To configure the :guilabel:`On webhook` trigger, copy the :guilabel:`URL` generated by Odoo into the destination system (i.e., the system receiving the request). Then, in the :guilabel:`Target Record` field, enter the code to run to define the record(s) to be updated using the automation rule."
msgid "The URL must be treated as **confidential**; sharing it online or without caution could potentially expose your system to malicious parties. Click the :guilabel:`Rotate Secret` button to change the URL's secret if necessary."
msgid "The code defined by default in the :guilabel:`Target Record` field works for webhooks coming from another Odoo database. It is used to determine the record(s) to be updated using the information in the payload."
msgid "If you wish to use the webhook's content for a purpose other than to find the record(s) (e.g., *create* a record), your only option is to use an :ref:`studio/automated-actions/action/python-code` action. In this case, the :guilabel:`Target record` field must contain any valid code, but its result doesn't have any effect on the automated action itself."
msgid "The webhook content is available in the server action context as a `payload` variable (i.e., a dictionary that contains the GET parameters or POST JSON body of the incoming request)."
msgid "You can also choose to :guilabel:`Log Calls` to record the payloads received, e.g., to make sure the data sent by the source system matches the expected format and content. This also helps identify and diagnose any issues that may arise. To access the logs, click the :guilabel:`Logs` smart button at the top of the :guilabel:`Automation rules` form."
msgid "Once you have defined the automation rule's :ref:`trigger <studio/automated-actions/trigger>`, click :guilabel:`Add an action` to define the action to be executed."
msgid "You can define multiple actions for the same trigger/automation rule. The actions are executed in the order they are defined. This means, for example, that if you define an :guilabel:`Update record` action and then a :guilabel:`Send email` action, the email uses the updated values. However, if the :guilabel:`Send email` action is defined before the :guilabel:`Update record` action, the email uses the values set *before* the update action is run."
msgid "This action allows to update one of the record's (related) fields. Click the :guilabel:`Update` field and, in the list that opens, select or search for the field to be updated; click the right arrow next to the field name to access the list of related fields if needed."
msgid "If you selected a :ref:`many2many field <studio/fields/relational-fields/many2many>`, choose whether the field must be updated by :guilabel:`Adding`, :guilabel:`Removing`, or :guilabel:`Setting it to` the selected value or by :guilabel:`Clearing it`."
msgid "If you want the automated action to remove a tag from the customer record, set the :guilabel:`Update` field to :guilabel:`Customer > Tags`, select :guilabel:`By Removing`, then select the tag."
msgid "Alternatively, you can also set a record's field dynamically using Python code. To do so, select :guilabel:`Compute` instead of :guilabel:`Update`, then enter the code to be used for computing the field's value. For example, if you want the automation rule to compute a custom :ref:`datetime field <studio/fields/simple-fields/date-time>` when a task's priority is set to `High` (by starring the task), you can define the trigger :guilabel:`Priority is set to` to `High` and define the :guilabel:`Update Record` action as follows:"
msgid "This action is used to schedule a new activity linked to the record. Select an :guilabel:`Activity Type`, enter a :guilabel:`Title` and description, then specify when you want the activity to be scheduled in the :guilabel:`Due Date In` field, and select a :guilabel:`User type`:"
msgid "To target a user linked to the record dynamically, select :guilabel:`Dynamic User (based on record)` and change the :guilabel:`User Field` if necessary."
msgid "After a lead is turned into an opportunity, you want the automated action to set up a call for the user responsible for the lead. To do so, set the :guilabel:`Activity Type` to :guilabel:`Call` and the :guilabel:`User Type` to :guilabel:`Dynamic User (based on record)`."
msgid "These actions are used to send an email or a text message to a contact linked to a specific record. To do so, select or create an :guilabel:`Email Template` or an :guilabel:`SMS Template`, then, in the :guilabel:`Send Email As` or :guilabel:`Send SMS As` field, choose how you want to send the email or text message:"
msgid ":guilabel:`SMS (with note)`: to send the message as a text message to the recipients of the :guilabel:`SMS template` and post it as an internal note in the chatter."
msgid "Select the required model in the :guilabel:`Record to Create` field; it contains the current model by default. Specify a :guilabel:`Name` for the record, and then, if you want to create the record on another model, select a field in the :guilabel:`Link Field` field to link the record that triggered the creation of the new record."
msgid "The dropdown list related to the :guilabel:`Link Field` field only contains :ref:`one2many fields <studio/fields/relational-fields/one2many>` existing on the current model that are linked to a :ref:`many2one field <studio/fields/relational-fields/many2one>` on the target model."
msgid "You can create another automation rule with :ref:`studio/automated-actions/action/update-record` actions to update the fields of the new record if necessary. For example, you can use a :guilabel:`Create Record` action to create a new project task and then assign it to a specific user using an :guilabel:`Update Record` action."
msgid "The :guilabel:`Sample Payload` provides a preview of the data included in the request using a random record's data or dummy data if no record is available."
msgid "The action is used to trigger multiple actions (linked to the current model) at the same time. To do so, click on :guilabel:`Add a line`, then, in the :guilabel:`Add: Child Actions` pop-up, select an existing action or click :guilabel:`New` to create a new one."
msgid "Fields structure the models of a database. If you picture a model as a table or spreadsheet, fields are the columns where data is stored in the records (i.e., the rows). Fields also define the type of data that is stored within them. How the data is presented and formatted on the :abbr:`UI (User Interface)` is defined by their widget."
msgid "From a technical point of view, there are 15 field types in Odoo. However, you can choose from 20 fields in Studio, as some field types are available more than once with a different default widget."
msgid ":guilabel:`New Fields` can only be added to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views. On other views, you can only add :guilabel:`Existing Fields` :dfn:`(fields already on the model)`."
msgid ":guilabel:`Badge`: displays the value inside a rounded shape, similar to a tag. The value cannot be edited on the UI, but a default value can be set."
msgid "This works differently than selecting the :ref:`Image field <studio/fields/simple-fields/image>` directly, as the image is not stored in Odoo when using a :guilabel:`Text` field with the :guilabel:`Image` widget. For example, it can be useful if you want to save disk space."
msgid "The :guilabel:`Multiline Text` field is used for longer text containing any type of character. Two text lines are displayed on the UI when filling out the field."
msgstr ""
#: ../../content/applications/studio/fields.rst:0
msgid "Examples of Multiline Text fields with different widgets"
msgid ":guilabel:`Percentage Pie`: displays the value inside a percentage circle, usually for a computed value. The value cannot be edited on the UI, but a default value can be set."
msgid ":guilabel:`Progress Bar`: displays the value next to a percentage bar, usually for a computed value. The field cannot be edited manually, but a default value can be set."
msgid ":guilabel:`Monetary`: it is similar to using the :ref:`Monetary field <studio/fields/simple-fields/monetary>`. It is recommended to use the later as it offers more functionalities."
msgid ":guilabel:`Percentage Pie`: displays the value inside a percentage circle, usually for a computed value. The field cannot be edited manually, but a default value can be set."
msgid "When you first add a :guilabel:`Monetary` field, you are prompted to add a :guilabel:`Currency` field if none exists already on the model. Odoo offers to add the :guilabel:`Currency` field for you. Once it is added, add the :guilabel:`Monetary` field again."
msgstr ""
#: ../../content/applications/studio/fields.rst:0
msgid "Example of a Monetary field along with its Currency field"
msgid "The :guilabel:`Date & Time` field is used to select a date on a calendar and a time on a clock. The user's current time is automatically used if no time is set."
msgid ":guilabel:`Remaining days`: displays the remaining number of days before the selected date (e.g., *In 5 days*), based on the current date and time."
msgstr ""
#: ../../content/applications/studio/fields.rst:0
msgid "Examples of Date & Time fields with different widgets"
msgid ":guilabel:`Priority`: displays star symbols instead of values, which can be used to indicate an importance or satisfaction level, for example. This has the same effect as selecting the :ref:`Priority field <studio/fields/simple-fields/priority>`, although, for the latter, four priority values are already predefined."
msgid "The :guilabel:`Priority` field is used to display a three-star rating system, which can be used to indicate importance or satisfaction level. This field type is a :ref:`Selection field <studio/fields/simple-fields/selection>` with the :guilabel:`Priority` widget selected by default and four priority values predefined. Consequently, the :guilabel:`Badge`, :guilabel:`Badges`, :guilabel:`Radio`, and :guilabel:`Selection` widgets have the same effects as described under :ref:`Selection <studio/fields/simple-fields/selection>`."
msgid "To change the number of available stars by adding or removing values, click :guilabel:`Edit Values`. Note that the first value is equal to 0 stars (i.e., when no selection is made), so having four values results in a three-star rating system, for example."
msgid ":guilabel:`Image`: users can upload an image file, which is then displayed in :ref:`Form view <studio/views/general/form>`. This has the same effect as using the :ref:`Image field <studio/fields/simple-fields/image>`."
msgid ":guilabel:`Sign`: users can electronically sign the form. This has the same effect as selecting the :ref:`Sign field <studio/fields/simple-fields/sign>`."
msgstr ""
#: ../../content/applications/studio/fields.rst:0
msgid "Examples of File fields with different widgets"
msgid "The :guilabel:`Image` field is used to upload an image and display it in :ref:`Form view <studio/views/general/form>`. This field type is a :ref:`File field <studio/fields/simple-fields/file>` with the :guilabel:`Image` widget selected by default. Consequently, the :guilabel:`File`, :guilabel:`PDF Viewer`, and :guilabel:`Sign` widgets have the same effects as described under :ref:`File <studio/fields/simple-fields/file>`."
msgid "To change the display size of uploaded images, select :guilabel:`Small`, :guilabel:`Medium`, or :guilabel:`Large` under the :guilabel:`Size` option."
msgid "The :guilabel:`Sign` field is used to sign the form electronically. This field type is a :ref:`File field <studio/fields/simple-fields/file>` with the :guilabel:`Sign` widget selected by default. Consequently, the :guilabel:`File`, :guilabel:`Image`, and :guilabel:`PDF Viewer` widgets have the same effects as described under :ref:`File <studio/fields/simple-fields/file>`."
msgid "To give users the :guilabel:`Auto` option when having to draw their signature, select one of the available :guilabel:`Auto-complete with` fields (:ref:`Text <studio/fields/simple-fields/text>`, :ref:`Many2One <studio/fields/relational-fields/many2one>`, and :ref:`Related Field <studio/fields/relational-fields/related-field>` on the model only). The signature is automatically generated using the data from the selected field."
msgid "The :guilabel:`Many2One` field is used to link another record (from another model) to the record being edited. The record's name from the other model is then displayed on the record being edited."
msgid "On the *Sales Order* model, the :guilabel:`Customer` field is a :guilabel:`Many2One` field pointing at the *Contact* model. This allows **many** sales orders to be linked to **one** contact (customer)."
msgid "The :guilabel:`One2Many` field is used to display the existing relations between a record on the current model and multiple records from another model."
msgid "To use a :guilabel:`One2Many` field, the two models must have been linked already using a :ref:`Many2One field <studio/fields/relational-fields/many2one>`. One2Many relations do not exist independently: a reverse-search of existing Many2One relations is performed."
msgid "To modify the columns, click on the :guilabel:`Lines` field and then :guilabel:`Edit List View`. To edit the form that pops up when a user clicks on :guilabel:`Add a line`, click on :guilabel:`Edit Form View` instead."
msgid "The :guilabel:`Many2Many` field is used to link multiple records from another model to multiple records on the current model. Many2Many fields can use :guilabel:`Disable creation`, :guilabel:`Disable opening`, :guilabel:`Domain`, just like :ref:`Many2One fields <studio/fields/relational-fields/many2one>`."
msgid "On the *Task* model, the :guilabel:`Assignees` field is a :guilabel:`Many2Many` field pointing at the *Contact* model. This allows a single user to be assigned to **many** tasks and **many** users to be assigned to a single task."
msgid ":guilabel:`Tags`: users can select several values appearing in rounded shapes, also known as *tags*. This has the same effect as selecting the :ref:`Tags field <studio/fields/relational-fields/tags>`."
msgid "The :guilabel:`Tags` field is used to display several values from another model appearing in rounded shapes, also known as *tags*. This field type is a :ref:`Many2Many field <studio/fields/relational-fields/many2many>` with the :guilabel:`Tags` widget selected by default. Consequently, the :guilabel:`Checkboxes` and :guilabel:`Many2Many` widgets have the same effects as described under :ref:`Many2Many <studio/fields/relational-fields/many2many>`."
msgid "A :guilabel:`Related Field` is not a relational field per se; no relationship is created between models. It uses an existing relationship to fetch and display information from another record."
msgid "To display the email address of a customer on the *Sales Order* model, use the :guilabel:`Related Field` `partner_id.email` by selecting :guilabel:`Customer` and then :guilabel:`Email`."
msgid ":guilabel:`Invisible`: When it is not necessary for users to view a field on the UI, tick :guilabel:`Invisible`. It helps clear the UI by only showing the essential fields depending on a specific situation."
msgid "On the *Form* view of the *Contact* model, the :guilabel:`Title` field only appears when :guilabel:`Individual` is selected, as that field would not be helpful for a :guilabel:`Company` contact."
msgid "The :guilabel:`Invisible` attribute also applies to Studio. To view hidden fields inside Studio, click on a view's :guilabel:`View` tab and tick :guilabel:`Show Invisible Elements`."
msgid "This is not the same name as used in the PostgreSQL database. To view and change the latter, activate the :ref:`Developer mode <developer-mode>`, and edit the :guilabel:`Technical Name`."
msgid ":guilabel:`Help Tooltip`: To explain the purpose of a field, write a description under :guilabel:`Help Tooltip`. It is displayed inside a tooltip box when hovering with your mouse over the field's label."
msgid ":guilabel:`Placeholder`: To provide an example of how a field should be completed, write it under :guilabel:`Placeholder`. It is displayed in light gray in lieu of the field's value."
msgid "Models determine the logical structure of a database and how data is stored, organized, and manipulated. In other words, a model is a table of information that can be linked with other tables. A model usually represents a business concept, such as a *sales order*, *contact*, or *product*."
msgid "All apps are modules. Larger, standalone modules are typically referred to as apps, whereas other modules usually serve as add-ons to said apps."
msgid "When you create a new model or app with Studio, you can choose to add up to 14 features to speed up the creation process. These features bundle fields, default settings, and views that are usually used together to provide some standard functionality. Most of these features can be added later on, but adding them from the start makes the model creation process much easier. Furthermore, these features interact together in some cases to increase their usefulness."
msgid "Creating a model with the :ref:`studio/models-modules-apps/suggested-features/picture` and :ref:`studio/models-modules-apps/suggested-features/pipeline-stages` features enabled adds the image in the card layout of the :ref:`Kanban view <studio/views/multiple-records/kanban>`."
msgid "Selecting :guilabel:`Contact details` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model and two of its :ref:`Related Fields <studio/fields/relational-fields/related-field>`: :guilabel:`Phone` and :guilabel:`Email`. The :guilabel:`Contact` field is also added to the :ref:`List view <studio/views/multiple-records/list>`, and the :ref:`Map view <studio/views/multiple-records/map>` is activated."
msgid "Selecting :guilabel:`User assignment` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model, with the following :guilabel:`Domain`: `Share User is not set` to only allow the selection of *Internal Users*. In addition, the :guilabel:`many2one_avatar_user` widget is used to display the user's avatar. The :guilabel:`Responsible` field is also added to the :ref:`List view <studio/views/multiple-records/list>`."
msgid "Selecting :guilabel:`Date & Calendar` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Date field <studio/fields/simple-fields/date>` and activates the :ref:`Calendar view <studio/views/timeline/calendar>`."
msgid "Selecting :guilabel:`Date range & Gantt` adds to the :ref:`Form view <studio/views/general/form>` two :ref:`Date fields <studio/fields/simple-fields/date>` next to each other: one to set a start date, the other to set an end date, using the :guilabel:`daterange` widget, and activates the :ref:`Gantt view <studio/views/timeline/gantt>`."
msgid "Selecting :guilabel:`Pipeline stages` activates the :ref:`Kanban view <studio/views/multiple-records/kanban>`, adds several fields such as :ref:`Priority <studio/fields/simple-fields/priority>` and :guilabel:`Kanban State`, and three stages: :guilabel:`New`, :guilabel:`In Progress`, and :guilabel:`Done`. The :guilabel:`Pipeline status bar` and the :guilabel:`Kanban State` field are added to the :ref:`Form view <studio/views/general/form>`. The :guilabel:`Color` field is added to the :ref:`List view <studio/views/multiple-records/list>`."
msgid "Selecting :guilabel:`Tags` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Tags field <studio/fields/relational-fields/tags>`, creating a *Tag* model with preconfigured access rights in the process."
msgid "Selecting :guilabel:`Picture` adds to the top-right of the :ref:`Form view <studio/views/general/form>` an :ref:`Image field <studio/fields/simple-fields/image>`."
msgid "Selecting :guilabel:`Lines`: adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Lines field <studio/fields/relational-fields/lines>` inside a :guilabel:`Tab` component."
msgid "Selecting :guilabel:`Notes` adds to the :ref:`Form view <studio/views/general/form>` an :ref:`Html field <studio/fields/simple-fields/html>` using the full width of the form."
msgid "Selecting :guilabel:`Monetary value` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Monetary field <studio/fields/simple-fields/monetary>`. The :ref:`studio/views/reporting/graph` and :ref:`studio/views/reporting/pivot` views are also activated."
msgid "Selecting :guilabel:`Company` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Company* model."
msgid "Selecting :guilabel:`Custom Sorting` adds to the :ref:`List view <studio/views/multiple-records/list>` a drag handle icon to manually reorder records."
msgid "Selecting :guilabel:`Archiving` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views the :guilabel:`Archive` action and hides archived records from searches and views by default."
msgid "To export these customizations, go to :menuselection:`Main dashboard --> Studio --> Customizations --> Export` to download a ZIP file containing all customizations."
msgid "To import and install these customizations in another database, connect to the destination database and go to :menuselection:`Main dashboard --> Studio --> Customizations --> Import`, then upload the exported ZIP file before clicking on the :guilabel:`Import` button."
msgid "Before importing, make sure the destination database contains the same apps and modules as the source database. Studio does not add the underlying modules as dependencies of the exported module."
msgid "With Studio, you can :ref:`edit existing PDF reports <studio/pdf-reports/edit>` (e.g., invoices, quotations, etc.) or :ref:`create new ones <studio/pdf-reports/edit>`."
msgid "The default layout of reports is managed outside Studio. Go to :menuselection:`Settings`, then, in the :guilabel:`Companies` section, click :guilabel:`Configure Document Layout`. Layout settings are company-specific but apply to all reports."
msgid "You can see how the different settings affect the report layout in the report preview on the right, or download a sample invoice PDF by clicking :guilabel:`Download PDF Preview`."
msgid ":guilabel:`Font`: Seven fonts are available: Lato, Roboto, Open Sans, Montserrat, Oswald, Raleway, and Tajawal (which supports Arabic and Latin scripts). Go to the `Google Fonts website <https://fonts.google.com/>`_ to preview them."
msgid ":guilabel:`Company logo`: Click the :guilabel:`Edit` button to upload or change the logo. This adds the logo to the company’s record on the *Company* model, which you can access by going to :menuselection:`Settings` and then clicking :guilabel:`Update Info` in the :guilabel:`Companies` section."
msgid ":guilabel:`Colors`: Change the primary and secondary colors used to structure reports. The default colors are automatically generated based on the colors of the logo."
msgid ":guilabel:`Company tagline`: This is displayed in the header of :ref:`external reports <studio/pdf-reports/header-footer/external>`. You can add multiple lines of text."
msgid ":guilabel:`Company details`: These are displayed in the header of :ref:`external reports <studio/pdf-reports/header-footer/external>`. You can add multiple lines of text."
msgid ":guilabel:`Footer`: This text is used in the footer of :ref:`external reports <studio/pdf-reports/header-footer/external>`. You can add multiple lines of text. You can also edit the footer using the :ref:`report editor <studio/pdf-reports/edit>`."
msgid ":guilabel:`Paper format`: to define the default paper size of reports. You can select :guilabel:`A4` (21 cm x 29.7 cm), :guilabel:`US Letter` (21.59 cm x 27.54 cm), or :guilabel:`QR codes page`. This can also be defined for individual reports in the :guilabel:`Paper format` field in :ref:`Studio <studio/pdf-reports/create>`."
msgid "To create a new report for a model, access the model, click the **Toggle Studio** button, then click :guilabel:`Reports`. Click :guilabel:`New` and, in the popup window that opens, select the type of report. This is solely used to determine what is displayed in the header and footer:"
msgid "The header displays the company's :ref:`logo <studio/pdf-reports/default-layout/logo>`, :ref:`tagline <studio/pdf-reports/default-layout/tagline>`, and :ref:`details <studio/pdf-reports/default-layout/details>`."
msgid "To access the reports available for a model, access the model (e.g., sales orders), click the **Toggle Studio** button, then click :guilabel:`Reports`. Select an existing report to open it or :ref:`create a new one <studio/pdf-reports/create>`."
msgid "It is strongly recommended to **duplicate** the standard report and perform changes in the duplicated version. To duplicate a report, hover the mouse pointer on the top right corner of the report, click the vertical ellipsis icon (:guilabel:`⋮`), and then select :guilabel:`Duplicate`."
msgid "Change the :guilabel:`Report name`. The new name is applied everywhere (in Studio, under the :guilabel:`Print` button, and in the PDF file name)."
msgid "Modify the :guilabel:`Paper format`. If no value is selected, the format defined in the :ref:`default layout <studio/pdf-reports/default-layout/paper>` is used."
msgid ":guilabel:`Reload from attachment`: to save the report as an attachment on the record the first time it is generated and reload the original version of the report any subsequent time. This is legally required for invoices and is mainly used in this case."
msgid ":guilabel:`Limit visibility to groups`: to limit the availability of the PDF report to specific :doc:`user groups <../general/users/access_rights>`."
msgid "The dashed rectangles represent **conditional blocks** (*if/else* statements). These are used to show/hide content based on specific conditions. Click on the block to view the conditions."
msgid "Dynamic text, i.e., the text that's highlighted in blue, which is replaced by field values when the report is generated, e.g., the SO number or the quotation date."
msgid "You can add content (e.g., fields, lists, tables, images, banners, etc.) to the report using commands. Type `/` to open the :ref:`powerbox <knowledge/powerbox>`, then type the command's name or select it from the list."
msgid "To add a field, type `/` and select the :guilabel:`Field` command. In the list that opens, select or search for the field; click the right arrow next to the field name to access the list of related fields if needed. Then, specify the default value and press `Enter`."
msgid "Data tables are used to display :ref:`relational fields <studio/fields/relational-fields>`. To add a data table, type `/`, select the :guilabel:`Dynamic Table` command, and select the relation to be displayed in the table."
msgid "Once the table has been added, you can add columns using the table tools. Position the cursor on top of the column, then click the purple rectangle and select an option."
msgid "You can then insert the :ref:`field of your choice <studio/pdf-reports/add-field>` in the columns. The dialog box that opens shows the source object for the field (e.g., the *Tag* model) and the list of available fields."
msgid "The default row automatically iterates over the field's content, generating a row on the report for each field value (e.g., one row per tag). You can add static content rows above or below the generated rows using the table tools."
msgid "Modifying the XML directly may result in report issues during :doc:`upgrades <../../../administration/upgrade>`. If this happens, simply copy your changes from the old database into your upgraded database."
msgid "Sometimes, tables are not properly recognized as such due to complex structures. In those cases, you can still modify them manually in the report XML. For example, with a sales order, you can find the following structure in the XML (simplified for documentation purposes):"
msgid "To modify a table, you must ensure that each row has the same number of data cells. For example, in the case above, you need to add a cell in the header section (with e.g., the column title) and another one in the body section with the field content (usually, with a `t-out` or `t-field` directive)."
msgid "Cells can span multiple rows or columns. For more information, go to the `Mozilla Developer Network website <https://developer.mozilla.org/en-US/docs/Learn/HTML/Tables/Basics>`_."
msgid "To add a table in XML, you need to know the names of the fields and objects you wish to access and display. As an example, let's add a table that details the tags on a sales order:"
msgid "When adding tables manually, style them using `Bootstrap classes <https://getbootstrap.com/docs/5.1/content/tables>`_, like the `table` class included in the example above."
msgid "For example, if you want to hide a custom data table if there are no tags, you can use the `t-if` attribute to define the condition, which is then evaluated as `True` or `False`. The table will not be displayed if there are no tags in the quotation."
msgid "If you want to display another block in case the `t-if` statement is evaluated as `False`, you can specify it using the `t-else` statement. The `t-else` block must directly follow the `t-if` block in the document structure. There is no need to specify any condition in the `t-else` attribute. As an example, let's show a quick message explaining that there are no tags on the quotation:"
msgid "By using the `t-if/t-else` notation, the report editor recognizes that these sections are mutually exclusive and should be displayed as conditional blocks:"
msgid "If you wish to have multiple options, you can also use `t-elif` directives to add intermediary conditions. For example, this is how the title of sales order reports changes based on the condition of the underlying document."
msgid "The title *Pro-Forma Invoice* is used depending on some contextual conditions. If these conditions are not met and the state of the document is either `draft` or `sent`, then *Quotation* is used. If none of those conditions are met, the report's title is *Order*."
msgid "Working with images in a report can be challenging, as precise control over image size and behavior is not always obvious. You can insert image fields using the report editor (:ref:`by using the /Field command <studio/pdf-reports/add-field>`), but inserting them in XML using the `t-field` directive and accompanying `t-options` attributes provides better sizing and positioning control."
msgid "For example, the following code outputs the field `image_128` of the line's product as a 64px-wide image (with an automatic height based on the image's aspect ratio)."
msgid "`style`: style attribute; it allows you to override styles more freely than with `Bootstrap classes <https://getbootstrap.com/docs/5.1/content/tables>`_."
msgid "These attributes must contain strings, i.e., text enclosed within quotes within quotes, e.g., `t-options-width=\"'64px'\"` (or, alternatively, a valid Python expression)."
msgid "The image widget cannot be used on an `img` tag. Instead, set the `t-field` directive on a `span` (for inline content) or `div` (for block content) node."
msgid "The `t-options-width` attribute restricts the image width to 64 pixels, and the Bootstrap classes used in `t-options-class` create a thumbnail-like border with rounded corners and a shadow."
msgid "Views are the interface that allows displaying the data contained in a :doc:`model <models_modules_apps>`. One model can have several views, which are simply different ways to show the same data. In Studio, views are organized into four categories: :ref:`general <studio/views/general>`, :ref:`multiple records <studio/views/multiple-records>`, :ref:`timeline <studio/views/timeline>`, and :ref:`reporting <studio/views/reporting>`."
msgid "To change the default view of a model, :ref:`access Studio <studio/access>`, go to :guilabel:`Views`, click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon next to the desired view, and click :guilabel:`Set as Default`."
msgid "You can modify views using the built-in XML editor: Activate the :ref:`Developer mode <developer-mode>`, go to the view you want to edit, select the :guilabel:`View` tab, and click :guilabel:`</> XML`."
msgid "If you are editing a view using the XML editor, avoid making changes directly to standard and inherited views, as these would be reset and lost during updates or module upgrades. Always make sure you select the right Studio inherited views: When you modify a view in Studio by dragging and dropping a new field, for example, a specific Studio inherited view and its corresponding XPath, which defines the modified part of the view, are automatically generated."
msgid ":guilabel:`Call a method`: specify an existing Python method already defined in Odoo."
msgstr ""
#: ../../content/applications/studio/views.rst:55
msgid "To add a smart button, click the :icon:`fa-plus-square` (:guilabel:`plus`) icon in the top-right corner of the form. Enter a :guilabel:`Label`, choose an :guilabel:`Icon`, and select a :ref:`related field <studio/fields/relational-fields/related-field>`."
msgid "The :guilabel:`Activity` :icon:`fa-clock-o` view is used to schedule and have an overview of activities (emails, calls, etc.) linked to records."
msgid "To add custom :guilabel:`Filters` and structure them using :guilabel:`Separators`, go to the :guilabel:`+ Add` tab and drag and drop them under :guilabel:`Filters`."
msgid "To add an existing field under the search dropdown menu, go to the :guilabel:`+ Add` tab and drag and drop it under :guilabel:`Autocompletion Fields`."
msgid "The :guilabel:`Kanban` :icon:`oi-view-kanban` view is often used to support business flows by moving records across stages or as an alternative way to display records inside *cards*."
msgid "If the :guilabel:`Kanban` view exists, it is used by default to display data on mobile devices instead of the :ref:`List view <studio/views/multiple-records/list>`."
msgid "To create and edit records directly within the view, select either :guilabel:`Add record at the bottom`, :guilabel:`Add record on top` or :guilabel:`Open form view` under :guilabel:`When Creating Record`."
msgid "To add a :icon:`oi-draggable` (:guilabel:`drag handle`) icon to reorder records manually, add an :ref:`Integer field <studio/fields/simple-fields/integer>` with the :guilabel:`Handle` widget."
msgid "The :guilabel:`Map` :icon:`fa-map-marker` view is used to display records on a map. For example, it is used in the Field Service app to plan an itinerary between different tasks."
msgid "A :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model is required to activate the view, as the contact address is used to position records on the map."
msgid "To have a route suggested between the different records, tick :guilabel:`Enable Routing` and select which field should be used to sort records for the routing."
msgid "When you first activate one of the timeline views, you need to select which :ref:`Date <studio/fields/simple-fields/date>` or :ref:`Date & Time <studio/fields/simple-fields/date-time>` fields on your model should be used to define when the records start and stop in order to display them on the view. You can modify the :guilabel:`Start Date Field` and :guilabel:`Stop Date Field` after activating the view."
msgid "To create records directly within the view instead of opening the :ref:`Form view <studio/views/general/form>`, enable :guilabel:`Quick Create`."
msgid "This only works on specific models that can be *quick-created* using only a *name*. However, most models do not support quick creation and open the :guilabel:`Form` view to fill in the required fields."
msgid "To color records on the calendar, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color."
msgid "To display events lasting the whole day at the top of the calendar, select a :ref:`Checkbox field <studio/fields/simple-fields/checkbox>` that specifies if the event lasts the whole day."
msgid "To choose the default time scale used to display events, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Display Mode`."
msgid "You can also use a :guilabel:`Delay Field` to display the duration of the event in hours by selecting a :ref:`Decimal <studio/fields/simple-fields/decimal>` or :ref:`Integer <studio/fields/simple-fields/integer>` field on the model which specifies the duration of the event. However, if you set an :guilabel:`End Date Field`, the :guilabel:`Delay Field` will not be taken into account."
msgid "The :guilabel:`Cohort` :icon:`oi-view-cohort` view is used to examine the life cycle of records over a time period. For example, it is used in the Subscriptions app to view the subscriptions' retention rate."
msgid "To choose which time interval is used by default to group results, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Interval`."
msgid "To change the cohort :guilabel:`Mode`, select either :guilabel:`Retention` :dfn:`the percentage of records staying over a period of time, it starts at 100% and decreases with time` or :guilabel:`Churn` :dfn:`the percentage of records moving out over a period of time - it starts at 0% and increases with time`."
msgid "To change the way the :guilabel:`Timeline` (i.e., the columns) progresses, select either :guilabel:`Forward` (from 0 to +15) or :guilabel:`Backward` (from -15 to 0). For most purposes, the :guilabel:`Forward` timeline is used."
msgid "The :guilabel:`Gantt` :icon:`fa-tasks` view is used to forecast and examine the overall progress of records. Records are represented by a bar under a time scale."
msgid "To fill cells in gray whenever a record should not be created there (e.g., on weekends for employees), tick :guilabel:`Display Unavailability`."
msgid "The underlying model must support this feature, and support for it cannot be added using Studio. It is supported for the Project, Time Off, Planning, and Manufacturing apps."
msgid "To define a default time scale to view records, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Scale`."
msgid "To color records on the view, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color."
msgid "To specify with which degree of precision each time scale should be divided by, select :guilabel:`Quarter Hour`, :guilabel:`Half Hour`, or :guilabel:`Hour` under :guilabel:`Day Precision`, :guilabel:`Half Day` or :guilabel:`Day` under :guilabel:`Week Precision`, and :guilabel:`Month Precision`."
msgid "The :guilabel:`Pivot` :icon:`oi-view-pivot` view is used to explore and analyze the data contained in records in an interactive manner. It is especially useful to aggregate numeric data, create categories, and drill down the data by expanding and collapsing different levels of data."
msgid "To divide the data into different categories, select field(s) under :guilabel:`Column grouping`, :guilabel:`Row grouping - First level`, or :guilabel:`Row grouping - Second level`."
msgid "To choose a default data dimension (category), select a field under :guilabel:`First dimension` and, if needed, another under :guilabel:`Second dimension`."
msgid "*For Bar and Line charts only*: To sort the different data categories by their value, select :guilabel:`Ascending` (from lowest to highest value) or :guilabel:`Descending` (from highest to lowest) under :guilabel:`Sorting`."
msgid "*For Bar and Pie charts only*: To access all records whose data is aggregated under a data category on the chart, tick :guilabel:`Access records from graph`."
msgid "*For Bar charts only*: When using two data dimensions (categories), display the two columns on top of each other by default by ticking :guilabel:`Stacked graph`."
msgstr ""
#: ../../content/applications/studio/views.rst:0
msgid "Sales Analysis Report model's Bar chart on Graph view"