[IMP] Studio: update views page

task-3553099

X-original-commit: d811aef87c
This commit is contained in:
Audrey (auva) 2024-07-18 12:35:26 +00:00
parent 88c22f5cbc
commit b2dacae4e9
14 changed files with 73 additions and 77 deletions

View File

@ -2,28 +2,27 @@
Views
=====
Views are the interface that allows displaying the data contained in a model. 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>`.
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>`.
.. tip::
To change the default view of a model, go to :menuselection:`Studio --> Views --> Dropdown menu
(⋮) --> Set as Default`.
- 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`.
- 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`.
.. note::
You can modify views by using the built-in XML editor. To do so, activate :ref:`Developer mode
<developer-mode>`, go to the view you want to edit, select the :guilabel:`View` tab and then
click on :guilabel:`</> XML`.
.. important::
If you are editing a view using the XML editor, avoid making changes directly to standard
views and inherited views, as those would be reset and would not be kept in case of an update
or module upgrade. Always make sure you select the right Studio inherited views. Indeed, when
you modify a view in Studio by drag-and-dropping a new field, a specific Studio inherited view
and its XPath, the latter which defines which part of the view is modified, are automatically
generated.
.. important::
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.
.. _studio/views/general:
@ -39,18 +38,29 @@ General views
Form
----
The :guilabel:`Form` view is used when creating and editing records, such as contacts, sales orders,
products, etc.
The :guilabel:`Form` :icon:`fa-address-card` view is used when creating and editing records, such as
contacts, sales orders, products, etc.
- To structure a form, drag-and-drop the :guilabel:`Tabs and Columns` element found under the
- To structure a form, drag and drop the :guilabel:`Tabs and Columns` element found under the
:guilabel:`+ Add` tab.
- To prevent users from creating, editing, or deleting records, untick :guilabel:`Can Create`,
:guilabel:`Can Edit`, or :guilabel:`Can Delete`.
- To add a button, click :guilabel:`Add a button` at the top of the form, enter a :guilabel:`Label`,
and select the button's action:
- :guilabel:`Run a Server Action`: select the :ref:`server action <reference/actions/server>` to
be executed from the dropdown list;
- :guilabel:`Call a method`: specify an existing Python method already defined in Odoo.
- To change a button's label or style, click the button and edit its :guilabel:`Label` or
: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 <studio/fields/relational-fields/related-field>`.
.. example::
.. image:: views/form-sales-order.png
:align: center
:alt: Sales order model's Form view
.. _studio/views/general/activity:
@ -58,8 +68,8 @@ products, etc.
Activity
--------
The :guilabel:`Activity` view is used to schedule and have an overview of activities (emails, calls,
etc.) linked to records.
The :guilabel:`Activity` :icon:`fa-clock-o` view is used to schedule and have an overview of
activities (emails, calls, etc.) linked to records.
.. note::
This view can only be modified within Studio by editing the XML code.
@ -67,7 +77,6 @@ etc.) linked to records.
.. example::
.. image:: views/activity-lead-opportunity.png
:align: center
:alt: Lead/Opportunity model's Activity view
.. _studio/views/general/search:
@ -75,17 +84,17 @@ etc.) linked to records.
Search
------
The :guilabel:`Search` view is added on top of other views to filter, group, and search records.
The :guilabel:`Search` :icon:`oi-search` view is added on top of other views to filter, group, and
search records.
- 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`.
- 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`.
drag and drop it under :guilabel:`Autocompletion Fields`.
.. example::
.. image:: views/search-project-kanban.png
:align: center
:alt: Project model's Search view on the Kanban view
.. _studio/views/multiple-records:
@ -102,8 +111,8 @@ Multiple records views
Kanban
------
The :guilabel:`Kanban` view is often used to support business flows by moving records across stages
or as an alternative way to display records inside *cards*.
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*.
.. note::
If the :guilabel:`Kanban` view exists, it is used by default to display data on mobile devices
@ -112,13 +121,11 @@ or as an alternative way to display records inside *cards*.
- To prevent users from creating new records, untick :guilabel:`Can Create`.
- To create records directly within the view, in a minimalistic form, enable :guilabel:`Quick
Create`.
- To change the way records are grouped by default, select a new group under :guilabel:`Default
Group by`.
- To set a default grouping for records, select a field under :guilabel:`Default Group By`.
.. example::
.. image:: views/kanban-project.png
:align: center
:alt: Project model's Kanban view
.. _studio/views/multiple-records/list:
@ -126,13 +133,14 @@ or as an alternative way to display records inside *cards*.
List
----
The :guilabel:`List` view is used to overview many records at once, look for records, and edit
simple records.
The :guilabel:`List` :icon:`oi-view-list` view is used to overview many records at once, look for
records, and edit simple records.
- To prevent users from creating, editing, or deleting records, untick :guilabel:`Can Create`,
:guilabel:`Can Edit`, or :guilabel:`Can Delete`.
- To create and edit records directly within the view, select either :guilabel:`New record on top`
or :guilabel:`New record at the bottom` under :guilabel:`Editable`.
- 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`.
.. note::
This prevents users from opening records in :ref:`Form view <studio/views/general/form>` from the
@ -140,19 +148,24 @@ simple records.
- To edit several records at once, tick :guilabel:`Enable Mass Editing`.
- To change the way records are sorted by default, select a field under :guilabel:`Sort By`.
- To set a default grouping for records, select a field under :guilabel:`Default Group By`.
- To add a button, click :guilabel:`Add a button` at the top of the list, enter a :guilabel:`Label`,
and select the button's action:
- :guilabel:`Run a Server Action`: select the :ref:`server action <reference/actions/server>` to
be executed from the dropdown list;
- :guilabel:`Call a method`: specify an existing Python method already defined in Odoo.
.. tip::
To add a drag handle icon to reorder records manually, add an :ref:`Integer field
<studio/fields/simple-fields/integer>` with the :guilabel:`Handle` widget.
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.
.. image:: views/list-drag-handle.png
:align: center
:alt: Drag handle icon enabling to sort records manually in List view
.. example::
.. image:: views/list-sales-order.png
:align: center
:alt: Sales order model's List view
.. _studio/views/multiple-records/map:
@ -160,8 +173,8 @@ simple records.
Map
---
The :guilabel:`Map` 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.
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.
.. note::
A :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model
@ -169,7 +182,7 @@ Service app to plan an itinerary between different tasks.
- To select which kind of contact should be used on the map, select it under :guilabel:`Contact
Field`.
- To hide the name or the address of the record, tick :guilabel:`Hide name` or :guilabel:`Hide
- To hide the name or the address of the record, tick :guilabel:`Hide Name` or :guilabel:`Hide
Address`.
- To add information from other fields, select them under :guilabel:`Additional Fields`.
- To have a route suggested between the different records, tick :guilabel:`Enable Routing` and
@ -178,7 +191,6 @@ Service app to plan an itinerary between different tasks.
.. example::
.. image:: views/map-task.png
:align: center
:alt: Task model's Map view
.. _studio/views/timeline:
@ -200,7 +212,8 @@ Timeline views
Calendar
--------
The :guilabel:`Calendar` view is used to overview and manage records inside a calendar.
The :guilabel:`Calendar` :icon:`fa-calendar` view is used to overview and manage records inside a
calendar.
- To create records directly within the view instead of opening the :ref:`Form view
<studio/views/general/form>`, enable :guilabel:`Quick Create`.
@ -224,7 +237,7 @@ The :guilabel:`Calendar` view is used to overview and manage records inside a ca
:guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Display Mode`.
.. note::
You can also use :guilabel:`Delay Field` to display the duration of the event in hours by
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
@ -233,7 +246,6 @@ The :guilabel:`Calendar` view is used to overview and manage records inside a ca
.. example::
.. image:: views/calendar-event.png
:align: center
:alt: Calendar Event model's Calendar view
.. _studio/views/timeline/cohort:
@ -241,8 +253,9 @@ The :guilabel:`Calendar` view is used to overview and manage records inside a ca
Cohort
------
The :guilabel:`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.
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.
- To display a measure (i.e., the aggregated value of a given field) by default on the view, select
a :guilabel:`Measure Field`.
@ -259,7 +272,6 @@ example, it is used in the Subscriptions app to view the subscriptions' retentio
.. example::
.. image:: views/cohort-subscription.png
:align: center
:alt: Subscription model's Cohort view
.. _studio/views/timeline/gantt:
@ -267,8 +279,8 @@ example, it is used in the Subscriptions app to view the subscriptions' retentio
Gantt
-----
The :guilabel:`Gantt` view is used to forecast and examine the overall progress of records. Records
are represented by a bar under a time scale.
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.
- To prevent users from creating or editing records, untick :guilabel:`Can Create` or :guilabel:`Can
Edit`.
@ -299,7 +311,6 @@ are represented by a bar under a time scale.
.. example::
.. image:: views/gantt-planning.png
:align: center
:alt: Planning Shift model's Gantt view
.. _studio/views/reporting:
@ -316,9 +327,9 @@ Reporting views
Pivot
-----
The :guilabel:`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.
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.
- To access all records whose data is aggregated under a cell, tick :guilabel:`Access records from
cell`.
@ -332,7 +343,6 @@ down the data by expanding and collapsing different levels of data.
.. example::
.. image:: views/pivot-purchase-report.png
:align: center
:alt: Purchase Report model's Pivot view
.. _studio/views/reporting/graph:
@ -340,7 +350,8 @@ down the data by expanding and collapsing different levels of data.
Graph
-----
The :guilabel:`Graph` view is used to showcase data from records in a bar, line, or pie chart.
The :guilabel:`Graph` :icon:`fa-area-chart` view is used to showcase data from records in a bar,
line, or pie chart.
- To change the default chart, select :guilabel:`Bar`, :guilabel:`Line`, or :guilabel:`Pie` under
:guilabel:`Type`.
@ -359,20 +370,5 @@ The :guilabel:`Graph` view is used to showcase data from records in a bar, line,
.. example::
.. image:: views/graph-sales-report.png
:align: center
:alt: Sales Analysis Report model's Bar chart on Graph view
.. _studio/views/reporting/dashboard:
Dashboard
---------
The :guilabel:`Dashboard` view is used to display multiple reporting views and key performance
indicators. Which elements are displayed on the view depends on the configuration of the other
reporting views.
.. example::
.. image:: views/dashboard-sales-report.png
:align: center
:alt: Sales Analysis Report model's Dashboard view
:alt: Sales Analysis Report model's Bar chart on Graph view
:scale: 75%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB