From 90d82865a555d20731f4e62c4ffd78c685b1f682 Mon Sep 17 00:00:00 2001 From: mcsi-odoo Date: Tue, 25 Feb 2025 10:24:54 +0000 Subject: [PATCH] [IMP] studio: updating datetime field info Task-4366107 closes odoo/documentation#12763 X-original-commit: 2f753e210fefa17890e7aaa78264561f9c7c92e3 Signed-off-by: Audrey Vandromme (auva) Signed-off-by: Siobhan McGonigle (mcsi) --- content/applications/essentials/reporting.rst | 6 +- .../applications/studio/automated_actions.rst | 8 +- content/applications/studio/fields.rst | 260 ++++++++++++------ .../studio/fields/date-time-examples.png | Bin 4175 -> 13564 bytes .../studio/fields/selection-examples.png | Bin 8616 -> 12458 bytes .../studio/models_modules_apps.rst | 24 +- content/applications/studio/views.rst | 16 +- 7 files changed, 196 insertions(+), 118 deletions(-) diff --git a/content/applications/essentials/reporting.rst b/content/applications/essentials/reporting.rst index 7fcea074a..224dbc361 100644 --- a/content/applications/essentials/reporting.rst +++ b/content/applications/essentials/reporting.rst @@ -50,9 +50,9 @@ edit it, click :guilabel:`Measures` and choose one or, only for pivots, multiple .. note:: When you select a measure, Odoo aggregates the values recorded on that field for the filtered - records. Only numerical fields (:ref:`integer `, - :ref:`decimal `, :ref:`monetary - `) can be measured. In addition, the :guilabel:`Count` + records. Only numerical fields (:ref:`integer `, + :ref:`decimal `, :ref:`monetary + `) can be measured. In addition, the :guilabel:`Count` option is used to count the total number of filtered records. After choosing what you want to measure, you can define how the data should be :ref:`grouped diff --git a/content/applications/studio/automated_actions.rst b/content/applications/studio/automated_actions.rst index 4bd9d0d42..196713b86 100644 --- a/content/applications/studio/automated_actions.rst +++ b/content/applications/studio/automated_actions.rst @@ -214,7 +214,7 @@ This action allows to update one of the record's (related) fields. Click the :gu 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. -If you selected a :ref:`many2many field `, choose whether +If you selected a :ref:`many2many field `, 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`. @@ -230,7 +230,7 @@ the selected value or by :guilabel:`Clearing it`. 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 ` when a task's priority is set to + :ref:`datetime field ` 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: @@ -307,8 +307,8 @@ triggered the creation of the new record. .. note:: The dropdown list related to the :guilabel:`Link Field` field only contains :ref:`one2many fields - ` existing on the current model that are linked to a - :ref:`many2one field ` on the target model. + ` existing on the current model that are linked to a + :ref:`many2one field ` on the target model. .. tip:: You can create another automation rule with :ref:`studio/automated-actions/action/update-record` diff --git a/content/applications/studio/fields.rst b/content/applications/studio/fields.rst index e27df09de..d92b0fd8c 100644 --- a/content/applications/studio/fields.rst +++ b/content/applications/studio/fields.rst @@ -23,9 +23,9 @@ Simple fields Simple fields contain basic values, such as text, numbers, files, etc. .. note:: - Non-default widgets, when available, are presented as bullet points below. + Non-default widgets, when available, are presented as bullet points or sub-headings below. -.. _studio/fields/simple-fields/text: +.. _studio/fields/simple-fields-text: Text (`char`) ------------- @@ -42,7 +42,7 @@ displayed when filling out the field. .. note:: This works differently than selecting the :ref:`Image field - ` directly, as the image is not stored in Odoo when using a + ` 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. @@ -57,10 +57,9 @@ displayed when filling out the field. .. example:: .. image:: fields/text-examples.png - :align: center :alt: Examples of Text fields with different widgets -.. _studio/fields/simple-fields/multiline-text: +.. _studio/fields/simple-fields-multiline-text: Multiline Text (`text`) ----------------------- @@ -73,10 +72,9 @@ text lines are displayed on the UI when filling out the field. .. example:: .. image:: fields/multiline-text-examples.png - :align: center :alt: Examples of Multiline Text fields with different widgets -.. _studio/fields/simple-fields/integer: +.. _studio/fields/simple-fields-integer: Integer (`integer`) ------------------- @@ -94,10 +92,9 @@ without a decimal`). .. example:: .. image:: fields/integer-examples.png - :align: center :alt: Examples of Integer fields with different widgets -.. _studio/fields/simple-fields/decimal: +.. _studio/fields/simple-fields-decimal: Decimal (`float`) ----------------- @@ -110,7 +107,7 @@ with a decimal`). stored in the database with more precision. - :guilabel:`Monetary`: it is similar to using the :ref:`Monetary field - `. It is recommended to use the later as it offers more + `. It is recommended to use the latter as it offers more functionalities. - :guilabel:`Percentage`: displays a percent character `%` after the value. - :guilabel:`Percentage Pie`: displays the value inside a percentage circle, usually for a computed @@ -122,10 +119,9 @@ with a decimal`). .. example:: .. image:: fields/decimal-examples.png - :align: center :alt: Examples of Decimal fields with different widgets -.. _studio/fields/simple-fields/monetary: +.. _studio/fields/simple-fields-monetary: Monetary (`monetary`) --------------------- @@ -140,10 +136,9 @@ The :guilabel:`Monetary` field is used for all monetary values. .. example:: .. image:: fields/monetary-example.png - :align: center :alt: Example of a Monetary field along with its Currency field -.. _studio/fields/simple-fields/html: +.. _studio/fields/simple-fields-html: Html (`html`) ------------- @@ -155,10 +150,9 @@ The :guilabel:`Html` field is used to add text that can be edited using the Odoo .. example:: .. image:: fields/html-example.png - :align: center :alt: Examples of Html fields with different widgets -.. _studio/fields/simple-fields/date: +.. _studio/fields/simple-fields-date: Date (`date`) ------------- @@ -166,15 +160,14 @@ Date (`date`) The :guilabel:`Date` field is used to select a date on a calendar. - :guilabel:`Remaining Days`: the remaining number of days before the selected date is displayed - (e.g., *In 5 days*), based on the current date. + (e.g., *In 5 days*), based on the current date. This field should be set to :guilabel:`Read only`. .. example:: .. image:: fields/date-examples.png - :align: center :alt: Examples of Date fields with different widgets -.. _studio/fields/simple-fields/date-time: +.. _studio/fields/simple-fields-date-time: Date & Time (`datetime`) ------------------------ @@ -182,17 +175,63 @@ Date & Time (`datetime`) 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. -- :guilabel:`Date`: used to record the time without displaying it on the UI. -- :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. +.. tip:: + + As well as :ref:`general properties `, some + :ref:`specific properties ` are available for + :guilabel:`Date & Time` fields that have the :guilabel:`Date & Time` or :guilabel:`Date Range` + widget set. + +Date Range (`daterange`) +~~~~~~~~~~~~~~~~~~~~~~~~ + +The :guilabel:`Date Range` widget is used to display a period of time defined by a start date and an +end date in a single line. A date range can have a mandatory start and end date, e.g., for a +multi-day event, or allow an optional start or end date, e.g., for a field service intervention or a +project task. + +Adding a date range requires two fields: a :guilabel:`Date & Time` field with the +:guilabel:`Date Range` widget set and another field that is selected as the start date *or* end +date. This underlying field can be an existing :ref:`Date ` +or :guilabel:`Date & Time` field, or one created specifically for this purpose. + +To add a date range: + +#. Identify an existing :guilabel:`Date` or :guilabel:`Date & Time` field that can be used as the + underlying start/end date field, or add a new one. If the date range: + + - has a mandatory start date and end date, this field can be either the start date or end date; + the outcome is the same. + - allows an optional start or end date, this field is the start date or end date, respectively. + + .. tip:: + To avoid displaying the same information twice, the underlying start/end date field can be + made invisible by enabling :guilabel:`Invisible` or removed from the view by clicking + :guilabel:`Remove from view`. + +#. Add a :guilabel:`Date & Time` field and set the :guilabel:`Widget` field to + :guilabel:`Date Range`. +#. Enter an appropriate :guilabel:`Label`. +#. Select the underlying start/end date field from the :guilabel:`Start date field` or + :guilabel:`End date field` dropdown, as relevant. +#. If the date range should have a mandatory start and end date, enable :guilabel:`Always range`. +#. Update any other :ref:`general properties ` or specific + :ref:`properties for Date & Time fields ` as needed, then + click :guilabel:`Close` in the upper right corner of the screen. .. example:: .. image:: fields/date-time-examples.png - :align: center :alt: Examples of Date & Time fields with different widgets -.. _studio/fields/simple-fields/checkbox: +Remaining Days (`remaining_days`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :guilabel:`Remaining Days` widget displays the remaining number of days before the selected date +(e.g., *In 5 days*), based on the current date and time. This field should be set to :guilabel:`Read +only`. + +.. _studio/fields/simple-fields-checkbox: Checkbox (`boolean`) -------------------- @@ -206,10 +245,9 @@ checking or unchecking a checkbox. .. example:: .. image:: fields/checkbox-examples.png - :align: center :alt: Examples of Checkbox fields with different widgets -.. _studio/fields/simple-fields/selection: +.. _studio/fields/simple-fields-selection: Selection (`selection`) ----------------------- @@ -223,31 +261,36 @@ predefined values. organized horizontally. - :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 `, although, for the latter, four + :ref:`Priority field `, although, for the latter, four priority values are already predefined. - :guilabel:`Radio`: displays all selectable values at the same time as radio buttons. .. tip:: - By default, radio buttons are organized vertically. Tick :guilabel:`display horizontally` to + By default, radio buttons are organized vertically. Enable :guilabel:`Display horizontally` to switch the way they are displayed. +- :guilabel:`Status Bar`: displays all selectable values at the same time as an arrow progress bar. + + .. tip:: + By default, values on the status bar are selectable. Disable :guilabel:`Clickable` to prevent + the value being edited on the UI. + .. example:: .. image:: fields/selection-examples.png - :align: center :alt: Examples of Selection fields with different widgets -.. _studio/fields/simple-fields/priority: +.. _studio/fields/simple-fields-priority: Priority (`selection`) ---------------------- 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 -` with the :guilabel:`Priority` widget selected by default +` 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 `. +:ref:`Selection `. .. tip:: To change the number of available stars by adding or removing values, click :guilabel:`Edit @@ -257,10 +300,9 @@ and four priority values predefined. Consequently, the :guilabel:`Badge`, :guila .. example:: .. image:: fields/priority-example.png - :align: center :alt: Example of a Priority field -.. _studio/fields/simple-fields/file: +.. _studio/fields/simple-fields-file: File (`binary`) --------------- @@ -270,48 +312,47 @@ widget). - :guilabel:`Image`: users can upload an image file, which is then displayed in :ref:`Form view `. This has the same effect as using the :ref:`Image field - `. + `. - :guilabel:`PDF Viewer`: users can upload a PDF file, which can be then browsed from the :ref:`Form view `. - :guilabel:`Sign`: users can electronically sign the form. This has the same effect as selecting - the :ref:`Sign field `. + the :ref:`Sign field `. .. example:: .. image:: fields/file-examples.png - :align: center :alt: Examples of File fields with different widgets -.. _studio/fields/simple-fields/image: +.. _studio/fields/simple-fields-image: Image (`binary`) ---------------- The :guilabel:`Image` field is used to upload an image and display it in :ref:`Form view `. This field type is a :ref:`File field -` with the :guilabel:`Image` widget selected by default. +` 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 `. +same effects as described under :ref:`File `. .. tip:: To change the display size of uploaded images, select :guilabel:`Small`, :guilabel:`Medium`, or :guilabel:`Large` under the :guilabel:`Size` option. -.. _studio/fields/simple-fields/sign: +.. _studio/fields/simple-fields-sign: Sign (`binary`) --------------- The :guilabel:`Sign` field is used to sign the form electronically. This field type is a :ref:`File -field ` with the :guilabel:`Sign` widget selected by default. +field ` 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 `. +same effects as described under :ref:`File `. .. tip:: 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 `, - :ref:`Many2One `, and :ref:`Related Field - ` on the model only). The signature is + available :guilabel:`Auto-complete with` fields (:ref:`Text `, + :ref:`Many2One `, and :ref:`Related Field + ` on the model only). The signature is automatically generated using the data from the selected field. .. _studio/fields/relational-fields: @@ -324,7 +365,7 @@ Relational fields are used to link and display the data from records on another .. note:: Non-default widgets, when available, are presented as bullet points below. -.. _studio/fields/relational-fields/many2one: +.. _studio/fields/relational-fields-many2one: Many2One (`many2one`) --------------------- @@ -338,7 +379,6 @@ being edited. The record's name from the other model is then displayed on the re contact (customer). .. image:: fields/many2one-diagram.png - :align: center :alt: Diagram showing a many2one relationship .. tip:: @@ -351,7 +391,7 @@ being edited. The record's name from the other model is then displayed on the re be edited on the UI. - :guilabel:`Radio`: displays all selectable values at the same time as radio buttons. -.. _studio/fields/relational-fields/one2many: +.. _studio/fields/relational-fields-one2many: One2Many (`one2many`) --------------------- @@ -364,15 +404,14 @@ current model and multiple records from another model. **many** sales orders. .. image:: fields/one2many-diagram.png - :align: center :alt: Diagram showing a one2many relationship .. note:: To use a :guilabel:`One2Many` field, the two models must have been linked already using a - :ref:`Many2One field `. One2Many relations do not exist + :ref:`Many2One field `. One2Many relations do not exist independently: a reverse-search of existing Many2One relations is performed. -.. _studio/fields/relational-fields/lines: +.. _studio/fields/relational-fields-lines: Lines (`one2many`) ------------------ @@ -388,10 +427,9 @@ products on a sales order). .. example:: .. image:: fields/lines-example.png - :align: center :alt: Example of a Lines field -.. _studio/fields/relational-fields/many2many: +.. _studio/fields/relational-fields-many2many: Many2Many (`many2many`) ----------------------- @@ -399,7 +437,7 @@ Many2Many (`many2many`) 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 -`. +`. .. example:: On the *Task* model, the :guilabel:`Assignees` field is a :guilabel:`Many2Many` field pointing at @@ -407,24 +445,23 @@ records on the current model. Many2Many fields can use :guilabel:`Disable creati users to be assigned to a single task. .. image:: fields/many2many-diagram.png - :align: center :alt: Diagram showing many2many relationships - :guilabel:`Checkboxes`: users can select several values using checkboxes. - :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: +.. _studio/fields/relational-fields-tags: Tags (`many2many`) ------------------ 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 -` with the :guilabel:`Tags` widget selected by default. +` 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 `. +described under :ref:`Many2Many `. .. tip:: To display tags with different background colors, tick :guilabel:`Use colors`. @@ -432,10 +469,9 @@ described under :ref:`Many2Many `. .. example:: .. image:: fields/tags-example.png - :align: center :alt: Example of a Tags field -.. _studio/fields/relational-fields/related-field: +.. _studio/fields/relational-fields-related-field: Related Field (`related`) ------------------------- @@ -452,42 +488,84 @@ models. It uses an existing relationship to fetch and display information from a Properties ========== -- :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. +General properties +------------------ + +- :guilabel:`Invisible`: Enable this property when it is not necessary for users to view a field on + the UI. This helps declutter the UI by only showing the essential fields depending on a specific + situation. + + The :guilabel:`Invisible` attribute also applies inside Studio. To view hidden fields in Studio, + click on a view's :guilabel:`View` tab and enable :guilabel:`Show Invisible Elements`. + +- :guilabel:`Required`: Enable this property if a field should always be completed by the user + before being able to proceed. + +- :guilabel:`Readonly`: Enable this property if users should not be able to modify a field. + +.. note:: + You can choose to enable :guilabel:`Invisible`, :guilabel:`Required` and :guilabel:`Readonly` + for specific records only by clicking on :guilabel:`Conditional` and creating a filter. .. example:: 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. - .. note:: - 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`. +- :guilabel:`Label`: the field's name on the UI. This is not the name used in the PostgreSQL + database. To view and change the latter, activate the :ref:`developer mode ` and + edit the :guilabel:`Technical Name`. -- :guilabel:`Required`: If a field should always be completed by the user before being able to - proceed, tick :guilabel:`Required`. -- :guilabel:`Read only`: If users should not be able to modify a field, tick :guilabel:`Read only`. +- :guilabel:`Help Tooltip`: To explain the purpose of a field, add a description. The text is + displayed inside a tooltip box when hovering with your mouse over the question mark beside the + field's label. - .. note:: - You can choose to apply these three properties only for specific records by clicking on - :guilabel:`Conditional` and creating a filter. - -- :guilabel:`Label`: The :guilabel:`Label` is the field's name on the UI. - - .. note:: - This is not the same name as used in the PostgreSQL database. To view and change the latter, - activate the :ref:`Developer mode `, and edit the :guilabel:`Technical Name`. - -- :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. -- :guilabel:`Placeholder`: To provide an example of how a field should be completed, write it under - :guilabel:`Placeholder`. It appears in light gray as a placeholder until a value is entered. - :guilabel:`Widget`: To change the default appearance or functionality of a field, select one of the available widgets. -- :guilabel:`Default value`: To add a default value to a field when a record is created, use - :guilabel:`Default value`. -- :guilabel:`Limit visibility to groups`: To limit which users can see the field, select a user - access group. + +- :guilabel:`Placeholder`: To provide an example of how a field should be completed, add placeholder + text. The text appears in light gray until a value is entered. + +- :guilabel:`Default value`: To display a default value in a field when a record is created, add a + value. + +- :guilabel:`Allow visibility to groups`: To limit which users can view the field, select one or + more user access :ref:`groups `. +- :guilabel:`Forbid visibility to groups`: To prevent certain users from seeing the field, select + one or more user access :ref:`groups `. + +.. _studio/fields/properties-date-datetime: + +Properties for Date & Time fields +--------------------------------- + +For :guilabel:`Date & Time` fields that have the :guilabel:`Date & Time` or :guilabel:`Date Range` +widget set, some specific properties are available: + +- :guilabel:`Minimal precision`: Determine the smallest date unit that must be selected in the date + selector. The possible values are :guilabel:`Day`, :guilabel:`Month`, :guilabel:`Year` or + :guilabel:`Decade`. If no value is selected, the user must select a day in the date selector. +- :guilabel:`Maximal precision`: Determine the largest date unit that can be used to navigate the + date selector. The possible values are :guilabel:`Day`, :guilabel:`Month`, :guilabel:`Year` or + :guilabel:`Decade`. If no value is selected, the user can navigate the date selector by decade. +- :guilabel:`Warning for future dates`: Enable this property to display a warning icon if a future + date is selected. +- :guilabel:`Condensed display`: Enable this property to show days, months and hours with no leading + zeros, e.g., `4/2/2025 8:05:00` instead of `04/02/2025 08:05:00`. +- :guilabel:`Show time`: This property is enabled by default for :guilabel:`Date & Time` fields. On + a read-only field, disable the property to show only the date. This can keep a list view less + cluttered, for example. +- :guilabel:`Show seconds`: This property is enabled by default for :guilabel:`Date & Time` fields. + Disable the property to show only hours and minutes. +- :guilabel:`Time interval`: Enter a value to determine the minute intervals shown in the time + selector. For example, enter 15 to allow quarter-hour intervals. The default value is set to 5 + minutes. +- :guilabel:`Earliest accepted date`: Enter the earliest date that can be selected in the date + selector in ISO-format, i.e., `YYYY-MM-DD`. If the current date is always the earliest accepted + date, enter `today`. On the date selector, dates prior to the earliest accepted date are grayed + out. +- :guilabel:`Latest accepted date`: Enter the latest date that can be selected in the date + selector in ISO-format, i.e., `YYYY-MM-DD`. If the current date is always the latest accepted + date, enter `today`. On the date selector, dates later than the latest accepted date are grayed + out. + diff --git a/content/applications/studio/fields/date-time-examples.png b/content/applications/studio/fields/date-time-examples.png index 77b86201ece318e1b2dec811a9484d42db1e4254..d6b8bc72ba46bf700a8bbf933421312e03ed94a6 100644 GIT binary patch literal 13564 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 diff --git a/content/applications/studio/fields/selection-examples.png b/content/applications/studio/fields/selection-examples.png index c94b01c068f51d4ac3d3ac80a2c79308a64a75bf..4e887f3d6e8cf48183cca4a7a04bdfe93c6b184a 100644 GIT binary patch literal 12458 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 literal 8616 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

q&_%X*JRl>a6hOXT~k4DYPM=MRy7 zVrkf$RqE(RuT;rO?#ez79_sVIj^lKOUpVuX$&B8%z6@^L3Yo4fyh%|_;Bxn-*DhJZ zT0C;qU1eM~5i+{Gv5PjLwj1+Y-I?6F+VpGQ2n$LIHP9a&5fUK36egqiu1RJgdnn^! zi5tP9q*@8EZM1iq$>=FRb$F`dEgtd4HG_1_Pq=(fts2Upvt0|%%(8|G^f=umcnsMV zn+){7fVK)Nivnfl5=iIc3dlP@WMh2v6W*c{7Rq7FdK?)u4zWh#MQ6J6&nK>`CYmM) zl~APsE##+M+zYJGDYpuj^pAO_+9URI?9RK>` ziqj>kIw-S13_VdU{D+ezeM=Z&wmMK-pMxZ@&1N5du2JR@`ds_gM-qdM?eQWaVBZa_B^R zpz?qpyR@CBts;Ra&=Iu;dY+Y~B;kye>aiVn&eSgtsI$a|`p+C9Leo*_)|%V&C5Zs5 z!dz8?KD62LS)mtn%?&lFFOthxvW46&H>+cgbu0f5y)5Zy_w?h4uTyP6Ro90i|9E>! zKTKx}RT}4>{EV=$Im|tifJXBFz&fMcggAc@wA9=?TTctaXcwthkcxkeSLlK|bN7sl z1z4gW23Y=QJOSVqPwhbC1xTu7k$o?z>hm^ScIc*Sc`C!A&j<`?%G23}v9WW*TGi8;*x&ms=_>&%-rt8Ny#H&j0< zGBwS^Zg+N;muvIhoyJ$k1}Ek;)Me5)%vLc|O_LF4Gql~@yeVd7(8iQLv7FtTB*v7F}#@`E|rS_#%hk?wR~Y^!uE? zH|VmghQ_ap=<&k}csBiHU({chxkm_Y+!qON-f*pyv5p3PB%!-T#iNWWh7RAW#3bRb z9^NB`6D|STL5PJSFEQs1ubGsED-)tmCF^W@qe(f2{CNM=gRkgMo162xNeVWHcIVS+ z6W_;qrlI3J{aujVs@#13^|KrjPNDYu@jkr*lnae;Z|F|PSwaT{ZC>1@GzUI|bW-77 zas0%Z#i9!8b^rIWuvI*%b2GHSNer|WTS-~9G_rZ~w;E>+U7B*0BQVQYVQnPaBm{hz z6`iW)=a=`nv4yTlkHEaNWFZ}wH!G|>)lLjD_vMS@W}G^D9h0rRAPGUIGN@iTmaLOgyB#Pn0-4@(@d~NHq0K8RmgDrn0E+`sgg? z)zkhgh(%BFiiq=*STHsW@d^FEZHrLk#78x;s#mtOZaV*AQbtli KqC(8j|9=5dN^#`? diff --git a/content/applications/studio/models_modules_apps.rst b/content/applications/studio/models_modules_apps.rst index af2dbdf87..9c02fa2b4 100644 --- a/content/applications/studio/models_modules_apps.rst +++ b/content/applications/studio/models_modules_apps.rst @@ -39,8 +39,8 @@ Contact details --------------- Selecting :guilabel:`Contact details` adds to the :ref:`Form view ` a -:ref:`Many2One field ` linked to the *Contact* model and -two of its :ref:`Related Fields `: :guilabel:`Phone` +:ref:`Many2One field ` linked to the *Contact* model and +two of its :ref:`Related Fields `: :guilabel:`Phone` and :guilabel:`Email`. The :guilabel:`Contact` field is also added to the :ref:`List view `, and the :ref:`Map view ` is activated. @@ -57,7 +57,7 @@ User assignment --------------- Selecting :guilabel:`User assignment` adds to the :ref:`Form view ` a -:ref:`Many2One field ` linked to the *Contact* model, with +:ref:`Many2One field ` 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 @@ -75,7 +75,7 @@ Date & Calendar --------------- Selecting :guilabel:`Date & Calendar` adds to the :ref:`Form view ` a -:ref:`Date field ` and activates the :ref:`Calendar view +:ref:`Date field ` and activates the :ref:`Calendar view `. .. _studio/models-modules-apps/suggested-features/date-range-gantt: @@ -84,7 +84,7 @@ Date range & Gantt ------------------ Selecting :guilabel:`Date range & Gantt` adds to the :ref:`Form view ` -two :ref:`Date fields ` next to each other: one to set a start +two :ref:`Date fields ` 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 `. @@ -95,7 +95,7 @@ Pipeline stages Selecting :guilabel:`Pipeline stages` activates the :ref:`Kanban view `, adds several fields such as :ref:`Priority -` and :guilabel:`Kanban State`, and three stages: +` 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 `. The :guilabel:`Color` field is added to the :ref:`List view @@ -111,7 +111,7 @@ Tags Selecting :guilabel:`Tags` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Tags field -`, creating a *Tag* model with preconfigured access rights in +`, creating a *Tag* model with preconfigured access rights in the process. .. _studio/models-modules-apps/suggested-features/picture: @@ -120,7 +120,7 @@ Picture ------- Selecting :guilabel:`Picture` adds to the top-right of the :ref:`Form view -` an :ref:`Image field `. +` an :ref:`Image field `. .. note:: The :guilabel:`Picture` feature can be added at a later stage. @@ -131,7 +131,7 @@ Lines ----- Selecting :guilabel:`Lines`: adds to the :ref:`Form view ` a :ref:`Lines -field ` inside a :guilabel:`Tab` component. +field ` inside a :guilabel:`Tab` component. .. _studio/models-modules-apps/suggested-features/notes: @@ -139,7 +139,7 @@ Notes ----- Selecting :guilabel:`Notes` adds to the :ref:`Form view ` an :ref:`Html -field ` using the full width of the form. +field ` using the full width of the form. .. _studio/models-modules-apps/suggested-features/monetary-value: @@ -148,7 +148,7 @@ Monetary value Selecting :guilabel:`Monetary value` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Monetary field -`. The :ref:`studio/views/reporting/graph` and +`. The :ref:`studio/views/reporting/graph` and :ref:`studio/views/reporting/pivot` views are also activated. .. note:: @@ -161,7 +161,7 @@ Company Selecting :guilabel:`Company` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Many2One field -` linked to the *Company* model. +` linked to the *Company* model. .. note:: This is only useful if you work in a multi-company environment. diff --git a/content/applications/studio/views.rst b/content/applications/studio/views.rst index 62d015208..cff09f087 100644 --- a/content/applications/studio/views.rst +++ b/content/applications/studio/views.rst @@ -56,7 +56,7 @@ contacts, sales orders, products, etc. :guilabel:`Class` (either `btn-primary` or `btn-secondary`) in the :guilabel:`Properties` tab. - 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 `. + :ref:`related field `. .. example:: @@ -158,7 +158,7 @@ records, and edit simple records. .. tip:: To add a :icon:`oi-draggable` (:guilabel:`drag handle`) icon to reorder records manually, add an - :ref:`Integer field ` with the :guilabel:`Handle` widget. + :ref:`Integer field ` with the :guilabel:`Handle` widget. .. image:: views/list-drag-handle.png :alt: Drag handle icon enabling to sort records manually in List view @@ -177,7 +177,7 @@ The :guilabel:`Map` :icon:`fa-map-marker` view is used to display records on a m is used in the Field Service app to plan an itinerary between different tasks. .. note:: - A :ref:`Many2One field ` linked to the *Contact* model + A :ref:`Many2One field ` linked to the *Contact* model is required to activate the view, as the contact address is used to position records on the map. - To select which kind of contact should be used on the map, select it under :guilabel:`Contact @@ -200,8 +200,8 @@ Timeline views .. note:: - When you first activate one of the timeline views, you need to select which :ref:`Date - ` or :ref:`Date & Time - ` fields on your model should be used to define when the + ` or :ref:`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. - The settings described below are found under the view's :guilabel:`View` tab unless specified @@ -231,15 +231,15 @@ calendar. values. - To display events lasting the whole day at the top of the calendar, select a :ref:`Checkbox field - ` that specifies if the event lasts the whole day. + ` that specifies if the event lasts the whole day. - 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`. .. note:: You can also use a :guilabel:`Delay Field` to display the duration of the event in hours by - selecting a :ref:`Decimal ` or :ref:`Integer - ` field on the model which specifies the duration of the + selecting a :ref:`Decimal ` or :ref:`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.