diff --git a/content/applications/studio/views.rst b/content/applications/studio/views.rst index e41eb15b7..62d015208 100644 --- a/content/applications/studio/views.rst +++ b/content/applications/studio/views.rst @@ -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 `, :ref:`multiple records -`, :ref:`timeline `, and :ref:`reporting -`. +Views are the interface that allows displaying the data contained in a :doc:`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 +`, :ref:`multiple records `, :ref:`timeline +`, and :ref:`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 `, 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 + `, 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 - `, 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 ` 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 `. .. 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 ` 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 ` 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 - ` with the :guilabel:`Handle` widget. + To add a :icon:`oi-draggable` (:guilabel:`drag handle`) icon to reorder records manually, add an + :ref:`Integer field ` 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 ` 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 `, 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 ` 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 @@ -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% diff --git a/content/applications/studio/views/activity-lead-opportunity.png b/content/applications/studio/views/activity-lead-opportunity.png index 7d79e712a..1eff9ed98 100644 Binary files a/content/applications/studio/views/activity-lead-opportunity.png and b/content/applications/studio/views/activity-lead-opportunity.png differ diff --git a/content/applications/studio/views/calendar-event.png b/content/applications/studio/views/calendar-event.png index b71b967c3..cfcb8a582 100644 Binary files a/content/applications/studio/views/calendar-event.png and b/content/applications/studio/views/calendar-event.png differ diff --git a/content/applications/studio/views/cohort-subscription.png b/content/applications/studio/views/cohort-subscription.png index 99a15db2b..f4ab3d5ea 100644 Binary files a/content/applications/studio/views/cohort-subscription.png and b/content/applications/studio/views/cohort-subscription.png differ diff --git a/content/applications/studio/views/dashboard-sales-report.png b/content/applications/studio/views/dashboard-sales-report.png deleted file mode 100644 index e684dd09b..000000000 Binary files a/content/applications/studio/views/dashboard-sales-report.png and /dev/null differ diff --git a/content/applications/studio/views/form-sales-order.png b/content/applications/studio/views/form-sales-order.png index 4524305bd..b225362e9 100644 Binary files a/content/applications/studio/views/form-sales-order.png and b/content/applications/studio/views/form-sales-order.png differ diff --git a/content/applications/studio/views/gantt-planning.png b/content/applications/studio/views/gantt-planning.png index a9fe49f94..2e7d77e43 100644 Binary files a/content/applications/studio/views/gantt-planning.png and b/content/applications/studio/views/gantt-planning.png differ diff --git a/content/applications/studio/views/graph-sales-report.png b/content/applications/studio/views/graph-sales-report.png index 4ff4c6112..ab34ced21 100644 Binary files a/content/applications/studio/views/graph-sales-report.png and b/content/applications/studio/views/graph-sales-report.png differ diff --git a/content/applications/studio/views/kanban-project.png b/content/applications/studio/views/kanban-project.png index 8d9921adf..e779cfe5c 100644 Binary files a/content/applications/studio/views/kanban-project.png and b/content/applications/studio/views/kanban-project.png differ diff --git a/content/applications/studio/views/list-drag-handle.png b/content/applications/studio/views/list-drag-handle.png index a104bc085..324e85906 100644 Binary files a/content/applications/studio/views/list-drag-handle.png and b/content/applications/studio/views/list-drag-handle.png differ diff --git a/content/applications/studio/views/list-sales-order.png b/content/applications/studio/views/list-sales-order.png index e1819c73c..b70c290bd 100644 Binary files a/content/applications/studio/views/list-sales-order.png and b/content/applications/studio/views/list-sales-order.png differ diff --git a/content/applications/studio/views/map-task.png b/content/applications/studio/views/map-task.png index 961130e58..8b1646a75 100644 Binary files a/content/applications/studio/views/map-task.png and b/content/applications/studio/views/map-task.png differ diff --git a/content/applications/studio/views/pivot-purchase-report.png b/content/applications/studio/views/pivot-purchase-report.png index 39f713354..2915df642 100644 Binary files a/content/applications/studio/views/pivot-purchase-report.png and b/content/applications/studio/views/pivot-purchase-report.png differ diff --git a/content/applications/studio/views/search-project-kanban.png b/content/applications/studio/views/search-project-kanban.png index c27fac0f2..025d0a49a 100644 Binary files a/content/applications/studio/views/search-project-kanban.png and b/content/applications/studio/views/search-project-kanban.png differ