[ADD] studio: documentation (#657)
BIN
_static/banners/studio.png
Normal file
After Width: | Height: | Size: 221 KiB |
@ -77,4 +77,5 @@ Applications
|
||||
events
|
||||
survey
|
||||
expense/expense
|
||||
mobile/firebase
|
||||
studio
|
||||
mobile/firebase
|
||||
|
11
studio.rst
Normal file
@ -0,0 +1,11 @@
|
||||
:banner: banners/studio.png
|
||||
|
||||
======
|
||||
Studio
|
||||
======
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
studio/concepts
|
||||
studio/use_cases
|
9
studio/concepts.rst
Normal file
@ -0,0 +1,9 @@
|
||||
========
|
||||
Concepts
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
concepts/understanding_general
|
||||
concepts/understanding_automated_actions
|
BIN
studio/concepts/media/action_update_lead_example.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
studio/concepts/media/automated_action_flow.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
studio/concepts/media/edit_menu.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
studio/concepts/media/new_app.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
studio/concepts/media/relational_fields.png
Normal file
After Width: | Height: | Size: 33 KiB |
80
studio/concepts/understanding_automated_actions.rst
Normal file
@ -0,0 +1,80 @@
|
||||
===============================
|
||||
Understanding Automated Actions
|
||||
===============================
|
||||
|
||||
| Automated actions are used to trigger actions. They are based on conditions and happen on top of
|
||||
Odoo’s default business logic.
|
||||
| Examples of automated actions include: creating a next activity upon a quote's confirmation;
|
||||
adding a user as a follower of a confirmed invoice if its total is higher than a
|
||||
certain amount; or preventing a lead from changing stage if a field is not filled in.
|
||||
|
||||
.. image:: media/automated_action_flow.png
|
||||
:align: center
|
||||
:height: 270
|
||||
:alt: Flowchart to exemplify an automated action rule for Odoo Studio
|
||||
|
||||
| Let's understand how to properly define *when* an automated action runs and *how* to create one:
|
||||
| The first step is to choose the :doc:`Model <understanding_general>` on which the action is
|
||||
applied.
|
||||
| The **Trigger** field defines the event that causes the automated action to happen:
|
||||
|
||||
- *On Creation*: when a new record is created. Note that the record is created once saved for the
|
||||
first time.
|
||||
- *On Update*: when the record is updated. Note that the update happens once the record is saved.
|
||||
- *On Creation & Update*: on the creation and/or on the update of a record once the form is saved.
|
||||
- *On Deletion*: on the removal of a record under the condition set.
|
||||
- *Based on Form Modification*: when the value of the specified *Trigger* field is changed in the
|
||||
interface (user sees the changes before saving the record). Note that this action can only be used
|
||||
with the *Execute Python Code* action type.
|
||||
- *Based on Timed Condition*: a delay happens after a specific date/time. Set a *Delay after trigger
|
||||
date* if you need a delay to happen before the *Trigger Date*. Example: to send a reminder 15min
|
||||
before a meeting. If the date/time is not set on the form of the model chosen, the date/time
|
||||
considered is the one of the creation/update of the record.
|
||||
|
||||
For every Trigger option, **conditions** can be applied, such as:
|
||||
|
||||
- *Before Update Domain*: if designated, this condition must be satisfied before the record is
|
||||
updated.
|
||||
- *Apply on*: if designated, this condition must be satisfied before executing the action rule
|
||||
(*Action To Do*), and after the update.
|
||||
|
||||
| The **Active** option is to be turned off when the rule should be hidden and not executed.
|
||||
| Under **Action To Do** choose the type of server action that must be executed once records meet
|
||||
the *Trigger* conditions:
|
||||
|
||||
- *Execute Python Code*: a block of code is executed. A *Help* tab with the variables that can be
|
||||
used is available.
|
||||
- *Create New Record*: a new record with new values is created.
|
||||
- *Update a Record*: updates the record that triggered the action.
|
||||
- *Execute several actions*: defines an action that triggers other server actions.
|
||||
- *Send Email*: an automatic :doc:`email <../../discuss/advanced/emailtemplate>` is sent.
|
||||
- *Add Followers*: :doc:`followers <../../project/tasks/collaborate>` are notified of changes in
|
||||
the task.
|
||||
- *Create Next Activity*: creates an activity such as: *Call*, *Email*, *Reminder*.
|
||||
- *Send SMS Text Message*: sends an :doc:`SMS <../../sms_marketing/pricing/pricing_and_faq>`.
|
||||
|
||||
Example
|
||||
~~~~~~~
|
||||
|
||||
This is the process of which the update of the *Email* field on the Lead/Opportunity *Model*, with a
|
||||
*Trigger Condition* set to *On Update*, goes through:
|
||||
|
||||
.. image:: media/action_update_lead_example.png
|
||||
:align: center
|
||||
:alt: View of an automated action being created in Odoo Studio
|
||||
|
||||
#. The user creates the record without an email address set.
|
||||
#. The user updates the record defining an email address.
|
||||
#. Once the change is saved, the automation checks if any of the *Watched Fields* are being updated
|
||||
(for the example: field name *email_from* (Email).
|
||||
#. If true, it checks if the record matches the *Before Update Domain* (for the example: *email
|
||||
is not set*).
|
||||
#. If true, it checks (*after the update*) whether the record matches the *Apply on* domain (for the
|
||||
example: *email is set*).
|
||||
#. If true, the chosen *Action To Do* is performed on the record.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`understanding_general`
|
||||
- :doc:`../use_cases/automated_actions`
|
||||
|
||||
|
95
studio/concepts/understanding_general.rst
Normal file
@ -0,0 +1,95 @@
|
||||
==============================
|
||||
Understanding General Concepts
|
||||
==============================
|
||||
|
||||
| Odoo Studio is a toolbox that allows you to add models or adapt functionalities on top of Odoo’s
|
||||
standard behavior without coding knowledge. You can also create custom views and modify existing
|
||||
ones without having to get into the XML code.
|
||||
| Even for experienced developers, typing out code requires time. By using Odoo Studio, you can
|
||||
quickly get your models up and going and focus on the crucial parts of your application. The
|
||||
result is a user-friendly solution that makes customizations and designing new applications easy
|
||||
with or without programming skills.
|
||||
|
||||
|
||||
Getting started
|
||||
===============
|
||||
|
||||
One you start using Odoo Studio, you automatically create a new *module* that contains all your
|
||||
modifications. These modifications can be done on existing screens (*views*), by adding new
|
||||
*fields* in existing applications, or by creating an entirely new *model*.
|
||||
|
||||
What is a Module?
|
||||
-----------------
|
||||
|
||||
| An Odoo **Module** can contain a number of elements, such as: business objects (models), object
|
||||
views, data files, web controllers, and static web data. An application is a collection of modules.
|
||||
| In object-oriented programming, models usually represent a concept from the real world.
|
||||
Example: Odoo has models for Sales Orders, Users, Countries, etc. If you were to build an
|
||||
application to manage Real Estate sales, a model that represents the Properties for sale would
|
||||
probably be your first step.
|
||||
|
||||
.. image:: media/new_app.png
|
||||
:align: center
|
||||
:alt: Overview of the main dashboard emphasizing the option to create a new app in Odoo Studio
|
||||
|
||||
.. _studio/concepts/understanding_general/models:
|
||||
|
||||
What is a Model (also called Object)?
|
||||
-------------------------------------
|
||||
|
||||
A **Model** determines the logical structure of a database and fundamentally determines in which
|
||||
manner data can be stored, organized, and manipulated. In other words, a model is a table of
|
||||
information that can be bridged with other tables.
|
||||
|
||||
What are Fields?
|
||||
----------------
|
||||
|
||||
| **Fields** compose models. It is where a record (a piece of data) is registered.
|
||||
| Example: on the Real Estate application, fields on the Properties model would include
|
||||
the price, address, a picture, a link to the current owner, etc.
|
||||
| There are 2 main types of fields in Odoo: *basic (or scalar) fields* and *relational fields*.
|
||||
| Basic fields represent simple values, like numbers or text. Relational fields represent relations
|
||||
between models. So, if you have a model for *Customers* and another one for *Properties*, you
|
||||
would use a relational field to link each Property to its Customer.
|
||||
|
||||
Relational Fields in detail
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
| **Relational Fields** provide the option to link the data of one model with the data of another
|
||||
model.
|
||||
| In Odoo, relational field types are: *One2many*, *Many2one*, *Many2many*.
|
||||
|
||||
.. image:: media/relational_fields.png
|
||||
:align: center
|
||||
:alt: Tables with a visual explanation of related fields for Odoo Studio
|
||||
|
||||
| An **One2many** field is a *one-way* direction of selecting *multiple* records from a table.
|
||||
| Example: a Sales Order can contain multiple Sales Order Lines, which also contain multiple fields
|
||||
of information.
|
||||
| A **Many2one** field is a *one-way* direction of selecting *one* record from a table.
|
||||
| Example: you can have many product categories, but each product can only belong to one category.
|
||||
| A **Many2many** field is a *two-way* direction of selecting records from a table.
|
||||
| Example: multiple tags can be added to a lead’s form.
|
||||
|
||||
.. note::
|
||||
An *One2many* field must have a *Many2one* related to it.
|
||||
|
||||
What are Views?
|
||||
---------------
|
||||
|
||||
**Views** define how records are displayed. They are specified in XML which means that they can be
|
||||
edited independently from the models that they represent. There are various types of views in Odoo,
|
||||
and each of them represents a mode of visualization. Some examples are: *form*, *list*, *kanban*.
|
||||
|
||||
What is a Menu?
|
||||
---------------
|
||||
|
||||
A **Menu** is a button that executes and action. In Odoo Studio, to create menus (models) and
|
||||
rearrange their hierarchy, click on *Edit Menu*.
|
||||
|
||||
.. image:: media/edit_menu.png
|
||||
:align: center
|
||||
:alt: Overview of a menu being edit in Odoo Studio
|
||||
|
||||
.. seealso::
|
||||
- `Studio Basics <https://www.odoo.com/fr_FR/slides/studio-31>`_
|
11
studio/use_cases.rst
Normal file
@ -0,0 +1,11 @@
|
||||
=========
|
||||
Use Cases
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
use_cases/models_fields
|
||||
use_cases/filters_status_bar
|
||||
use_cases/automated_actions
|
||||
use_cases/views
|
26
studio/use_cases/automated_actions.rst
Normal file
@ -0,0 +1,26 @@
|
||||
=====================================
|
||||
Advanced Use Cases: Automated Actions
|
||||
=====================================
|
||||
|
||||
- **Case scenario 1: when a Belgian lead is created, a 3-stars priority should be automatically
|
||||
applied.**
|
||||
|
||||
Under *Automations*, click on *Create* and set the following rules:
|
||||
|
||||
- *Model*: Lead/Opportunity
|
||||
- *Active*: On
|
||||
- *Trigger*: On Creation & Update
|
||||
- *Apply on*: Country > Country Name = Belgium
|
||||
- *Action To Do*: Update the Record
|
||||
- *Data to Write*: Lead/Opportunity > Value > 3
|
||||
|
||||
.. image:: media/automated_actions/hight_priority_leads.png
|
||||
:align: center
|
||||
:alt: View of an automated action that sets a high priority to Belgian leads in Odoo Studio
|
||||
|
||||
.. tip::
|
||||
Check :doc:`this doc <filters_status_bar>` in order to have another automated action example.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../concepts/understanding_automated_actions`
|
||||
- :doc:`../concepts/understanding_general`
|
61
studio/use_cases/filters_status_bar.rst
Normal file
@ -0,0 +1,61 @@
|
||||
==========================================
|
||||
Advanced Use Cases: Filters and Status Bar
|
||||
==========================================
|
||||
|
||||
- **Case scenario 1: on Sales, set a filter on Belgian customers and define it as the default one
|
||||
(the user should still be able to unset the filter).**
|
||||
|
||||
On your customer’s page, use *Filters* > *Add Custom Filter* to group customers by country. Now,
|
||||
under *Favorites*, *Save Current Search* enabling *Use by default* and *Save*.
|
||||
|
||||
.. image:: media/filters_status_bar/customer_filter.png
|
||||
:align: center
|
||||
:alt: View of a custom filter being set to be used by default in Odoo
|
||||
|
||||
On *Filter Rules* in Studio mode, select the respective filter and enable *Default Filter*.
|
||||
|
||||
.. image:: media/filters_status_bar/sales_default_filter.png
|
||||
:align: center
|
||||
:alt: View of a filter’s rule form emphasizing the field default filter in Odoo Studio
|
||||
|
||||
- **Case scenario 2: add a status bar on the product form to manage its life cycle. Set the values:
|
||||
‘Prototype’, ‘In use’ and ‘Deprecated’. By default, the Kanban view must be grouped by status.**
|
||||
|
||||
| On your product form, *Add a pipeline status bar* and name its values. Status bars are *selection*
|
||||
fields that give you the ability to follow a specific flow. They are useful to show you the
|
||||
progress that has been made.
|
||||
| On the *Views* menu, access *Kanban* and, under its *View* options, set the *Default Group by* as
|
||||
*Pipeline status bar*.
|
||||
|
||||
.. image:: media/filters_status_bar/add_pipeline.png
|
||||
:align: center
|
||||
:alt: Form view emphasizing the button add a pipeline bar in Odoo Studio
|
||||
|
||||
Now, open your product form and set the right status for that product. As you move products
|
||||
throughout stages (also through the product’s form), stages are shown in the Kanban view.
|
||||
|
||||
.. tip::
|
||||
To make modifications in the pipeline status bar, for example, remember to go back to *Form View*.
|
||||
|
||||
.. image:: media/filters_status_bar/form_view.png
|
||||
:align: center
|
||||
:alt: View of Studio emphasizing the form view button in Odoo Studio
|
||||
|
||||
- **Case scenario 2.a: when a product goes from ‘In use’ to ‘Deprecate’, set its cost to 0€.**
|
||||
|
||||
Create an :doc:`automated action <../concepts/understanding_automated_actions>` with the selected
|
||||
values:
|
||||
|
||||
- *Model*: Product Template
|
||||
- *Trigger*: On Update
|
||||
- *First Domain*: Pipeline status bar = In use
|
||||
- *Second Domain*: Pipeline status bar = Deprecated
|
||||
- *Action To Do*: Update the Record
|
||||
- *Data to Write*: Cost (Product Template) > Value > 0
|
||||
|
||||
.. image:: media/filters_status_bar/automations_zero_price.png
|
||||
:align: center
|
||||
:alt: View of the automated action created to set the price of a product to zero in Odoo Studio
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../concepts/understanding_general`
|
After Width: | Height: | Size: 31 KiB |
BIN
studio/use_cases/media/filters_status_bar/add_pipeline.png
Normal file
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 32 KiB |
BIN
studio/use_cases/media/filters_status_bar/customer_filter.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
studio/use_cases/media/filters_status_bar/form_view.png
Normal file
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 50 KiB |
BIN
studio/use_cases/media/models_fields/add_button.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
studio/use_cases/media/models_fields/domain_higher_500.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
studio/use_cases/media/models_fields/domain_select_tag_type.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
studio/use_cases/media/models_fields/field_help.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
studio/use_cases/media/models_fields/help_tooltip.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
studio/use_cases/media/models_fields/invisible_domain.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
studio/use_cases/media/models_fields/new_existing_fields.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
studio/use_cases/media/models_fields/new_menu.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
studio/use_cases/media/models_fields/real_estate_many2one.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
studio/use_cases/media/models_fields/search_model_custom.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
studio/use_cases/media/models_fields/url_id.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
studio/use_cases/media/models_fields/widget.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
studio/use_cases/media/models_fields/widget_checkboxes.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
studio/use_cases/media/views/kanban_default.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
studio/use_cases/media/views/view_editable.png
Normal file
After Width: | Height: | Size: 92 KiB |
139
studio/use_cases/models_fields.rst
Normal file
@ -0,0 +1,139 @@
|
||||
=====================================================
|
||||
Advanced Use Cases: Creating Models and Adding Fields
|
||||
=====================================================
|
||||
|
||||
- **Case scenario 1: on the leads’ form, if the chosen country is France, show a field
|
||||
'Pay by check?'**
|
||||
|
||||
| On your leads’ form, add a *Related Field* to *Country > Country Name*.
|
||||
| Now, add a *Checkbox* field and define its invisibility options as *Country* (carefully select
|
||||
the one just created) *> is not = > France.*
|
||||
| You can now hide the related field created (*Country*) if you wish.
|
||||
|
||||
.. image:: media/models_fields/invisible_domain.png
|
||||
:align: center
|
||||
:alt: View of the invisibility domain of a field being set in Odoo Studio
|
||||
|
||||
| Another approach is to use the country’s ID. To do so, go to
|
||||
:menuselection:`Contacts --> Configuration --> Countries`, select France (for example), and on the
|
||||
URL check its *ID*.
|
||||
| The related field invisibility path should now be *Country* (carefully select the one just
|
||||
created) *> is not = > 75*.
|
||||
| Again, hide the related field with the country’s ID if you prefer.
|
||||
|
||||
.. image:: media/models_fields/url_id.png
|
||||
:align: center
|
||||
:alt: View of an URL emphasizing where a country’s ID can be found for Odoo Studio
|
||||
|
||||
- **Case scenario 2: create a model called 'Properties' and add fields called: company, value, name,
|
||||
address, active, image.**
|
||||
|
||||
From the dashboard, (optionally) start a new module. Then, click on *Edit Menu* and start a
|
||||
*New Menu* (model). Set your menu name and *Confirm*. Now, on its form, drag & drop the necessary
|
||||
fields.
|
||||
|
||||
.. image:: media/models_fields/new_menu.png
|
||||
:align: center
|
||||
:alt: View of the recommended fields for an object in Odoo Studio
|
||||
|
||||
- **Case scenario 2.a: now, you would like to have a model called 'Regions' to which each property
|
||||
must be linked. And, on 'Regions', you would like to see the properties for each region.**
|
||||
|
||||
| Go to *Edit Menu > New Menu* and create your menu, calling it *Regions*. Add the necessary fields
|
||||
on its form by dragging & dropping them.
|
||||
| Now, in the form view of *Properties*, add a *Many2one* field with a relation to your model
|
||||
*Region*.
|
||||
|
||||
.. tip::
|
||||
The *Existing Fields* are the ones that are on the current model but not yet in the view.
|
||||
|
||||
.. image:: media/models_fields/new_existing_fields.png
|
||||
:align: center
|
||||
:height: 420
|
||||
:alt: Form view and a Many2one field being dropped in Odoo Studio
|
||||
|
||||
.. image:: media/models_fields/real_estate_many2one.png
|
||||
:align: center
|
||||
:alt: Form view and a Many2one field being dropped in Odoo Studio
|
||||
|
||||
| Now, go to the model *Regions*, select the form view, and add a status button selecting *Regions
|
||||
(Properties)* as your relational field.
|
||||
| *Status buttons* are computed fields, meaning that they count the numbers of records on the
|
||||
related model, and allow you to access them.
|
||||
|
||||
.. image:: media/models_fields/add_button.png
|
||||
:align: center
|
||||
:alt: Form view and the status button window being shown in Odoo Studio
|
||||
|
||||
.. tip::
|
||||
When searching for relations, click on *Search more* and filter it by *Custom*. This way you
|
||||
avoid creating duplicates.
|
||||
|
||||
.. image:: media/models_fields/search_model_custom.png
|
||||
:align: center
|
||||
:alt: View of the search model window in Odoo Studio
|
||||
|
||||
- **Case scenario 2.b: in the model 'Properties', show all the tags as checkboxes instead of tags.**
|
||||
|
||||
Once the field *Tags* is added to the form, select it and, under its *Properties > Widgets*, choose
|
||||
*Checkboxes*.
|
||||
|
||||
.. image:: media/models_fields/widget.png
|
||||
:align: center
|
||||
:alt: Form view showing the widgets available in Odoo Studio
|
||||
|
||||
- **Case scenario 3: on the leads’ form, add a selection field with the values:'Tags' & 'List' &
|
||||
'Checkboxes'. According to the value of the field, show tags as many2many_tags, many2many_radio,
|
||||
or many2many(_list).**
|
||||
|
||||
In your form view, add a *Tags* field and relate it to *Partners Tag*. Under *Properties*, define
|
||||
its *Widget* as *Many2many*. Do the same process another 2 times for *Checkboxes* and *Tags*.
|
||||
|
||||
.. image:: media/models_fields/widget_checkboxes.png
|
||||
:align: center
|
||||
:alt: Form view emphasizing the widget property in Odoo Studio
|
||||
|
||||
| Now, add a *Selection* field and the necessary values.
|
||||
| Continue by selecting your *Tags* fields, one by one, to set their *Invisible* options according
|
||||
to their *Widget*. In the example below, the invisibility rule for the *Partner Tags* is set as:
|
||||
*Select Tag type > is not = > Tags.*
|
||||
|
||||
.. image:: media/models_fields/domain_select_tag_type.png
|
||||
:align: center
|
||||
:alt: Form view emphasizing a field added and its invisibility properties in Odoo Studio
|
||||
|
||||
- **Case scenario 4: on a quotation’s form, add a selection field called 'Manager Validation' with
|
||||
the values: ‘Accepted’ and ‘Refused’. Only a sales manager can see it, and the field should be
|
||||
set as mandatory if the untaxed amount is higher than 500€.**
|
||||
|
||||
On your quotation form, add a *Selection* field with the values *Accepted* and *Refused*. Set its
|
||||
*Required* condition as *Untaxed Amount > 500* and the *Limit visibility to groups* as *Sales /
|
||||
Administrator* or managers.
|
||||
|
||||
.. image:: media/models_fields/domain_higher_500.png
|
||||
:align: center
|
||||
:alt: Form view of a required domain being set in Odoo Studio
|
||||
|
||||
- **Case scenario 5: change the tooltip of a field for all views.**
|
||||
|
||||
| Activate the :doc:`Developer mode <../../general/developer_mode/activate>` and open Studio.
|
||||
| Select the necessary field and, under *Properties*, click on *More* to write your tooltip message
|
||||
on *Field Help*. The tooltip message is the explanatory message shown when the user hovers the
|
||||
field. The message here written is displayed on all views forms where the field is added.
|
||||
|
||||
.. image:: media/models_fields/field_help.png
|
||||
:align: center
|
||||
:alt: Form view showing more property options and emphasizing the help feature in Odoo Studio
|
||||
|
||||
.. note::
|
||||
The *Field Help* message can only be applied to *new* fields. If you would like to change/apply a
|
||||
tooltip for a specific field, use the *Help Tooltip* option under *Properties*.
|
||||
|
||||
.. image:: media/models_fields/help_tooltip.png
|
||||
:align: center
|
||||
:height: 350
|
||||
:alt: View of the properties emphasizing the help tooltip option in Odoo Studio
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../concepts/understanding_general`
|
||||
|
28
studio/use_cases/views.rst
Normal file
@ -0,0 +1,28 @@
|
||||
=========================
|
||||
Advanced Use Cases: Views
|
||||
=========================
|
||||
|
||||
- **Case Scenario 1: in Sales, show orders in a Kanban View instead of a List View.**
|
||||
|
||||
From the Sales page, access Studio and, under *Views*, set the *Kanban* option as the default one.
|
||||
|
||||
.. image:: media/views/kanban_default.png
|
||||
:align: center
|
||||
:height: 380
|
||||
:alt: View of the Kanban option being set as the default one in Odoo Studio
|
||||
|
||||
- **Case scenario 2: allow for the list of leads to be edited inline without having to switch to
|
||||
the form view.**
|
||||
|
||||
| On the *List View*, under *View* > *Editable*, choose between *New record on top* or *New record
|
||||
at the bottom*. This way, besides defining the order in which new records are displayed in the
|
||||
view, you are able to edit them.
|
||||
| If the field is left blank, no editing is possible and records are shown based on your column
|
||||
preferences on the lead's page (front-end).
|
||||
|
||||
.. image:: media/views/view_editable.png
|
||||
:align: center
|
||||
:alt: View options emphasizing the editable options of a leads page in Odoo Studio
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../concepts/understanding_general`
|