[IMP] Studio: update views page
task-3553099
X-original-commit: d811aef87c
@ -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%
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 10 KiB |