Availability |
Odoo Online
Odoo.sh
On Premise
|
Community Apps Dependencies | Show |
Lines of code | 1859 |
Technical Name |
dashboard_view_community |
License | OPL-1 |
Versions | 13.0 14.0 |
Dashboard View
Build your own dashboard view for any Odoo object
Warning
Enterprise users kindly visit Dashboard View (Enterprise Edition) to purchase the app.
Note
Using this Dashboard View (Community Edition) base module you can build dashboard of any odoo model and below are some FREE ready-to-use dashboards which are built through it.
FREE Interactive Ready-to-use Business Dashboards for Community Edition
When it comes to improving on specific business goals, Gritxi's got you covered.
Browse our FREE ready-to-use dashboards designed to help you achieve and optimize your key business objectives

CRM Lead Dashboard
Monitor business performance using charts, graphs, pivots, aggregated and formulated data


CRM Pipeline Dashboard
Helps you to gain in the future sales performance using graphs, pivots, aggregated and formulated data


Sale CRM Pipeline Dashboard
Give visibility into the sum of orders and number of quotations linked to closed opportunities


Sales Dashboard
Provides visual representation of sales KPIs using graphs, pivots, aggregated and formulated data


eCommerce Dashboard
Provides top level view of web store performance using graphs, pivots, aggregated and formulated data


POS(Point of Sale) Dashboard
Provides a great top level view of your PoS store's sales performance using graphs, pivots, aggregated and formulated data


Warehouse Dashboard
To increase operational efficiency of warehouse, get a analytics snapshot using graphs and aggregated data


Warehouse Accounting Dashboard
Provide insights into managing inventory and accounting for it through graphs and aggregated data

Like pivot and graph view, The dashboard view is used to display aggregate data. However, the dashboard can embed sub views, which makes it possible to have a more complete and interesting look on a given dataset.
The dashboard view can display sub views, aggregates for some fields (over a domain), or even formulas (expressions which involves one or more aggregates).
For example, here is a very simple dashboard:
<dashboard>
<view type="graph" ref="sale.view_order_product_graph"/>
<group>
<gorup>
<aggregate name="price_subtotal_confirmed_orders" string="Total Sales" field="price_total" help="Total, Tax Included" widget="monetary"/>
<aggregate name="price_subtotal_all_orders" string="Untaxed Total" field="price_subtotal" widget="monetary"/>
<aggregate name="order_id_confirmed_orders" field="order_id" string="Orders"/>
<formula name="total" string="Average Order" value="record.price_subtotal_confirmed_orders / record.order_id_confirmed_orders" widget="monetary"/>
</gorup>
<group>
<widget name="pie_chart" attrs="{'title': 'Sales Teams', 'groupby': 'team_id'}"/>
<widget name="bar_chart" attrs="{'title': 'Salespersons', 'groupby': 'user_id'}"/>
<widget name="line_chart" title="Sales by Sales Sources" attrs="{'measure': 'price_subtotal', 'groupby': 'source_id', 'domain': '[(\'source_id\', '\!=\', False)]'}"/>
</group>
</group>
<view type="pivot" ref="sale_dashboard.sale_report_view_pivot"/>
</dashboard>

The root element of the Dashboard view is <dashboard>, it does not accept any attributes.
There are 5 possible type of tags in a dashboard view
<View> Tag
Declares a sub view with below admissible attributes
- type (mandatory)
The type of the sub view. For example, graph or pivot.
- ref (optional)
An xml id for a view. If not given, the default view for the model will
be used.
- name (optional)
A string which identifies this element. It is mostly
useful to be used as a target for an xpath.
For example:
<view type="graph" ref="sale.view_order_product_graph"/>
<view type="pivot" ref="sale_dashboard.sale_report_view_pivot"/>

<Group> Tag
Defines a column layout with below admissible attributes. This is actually very similar to the group element in a form view
- string (optional)
A description which will be displayed as a group title.
- colspan (optional)
The number of subcolumns in this group tag. By default, 6.
- col (optional)
The number of columns spanned by this group tag (only makes sense inside
another group). By default, 6.
For example:
<group col="12">
<group colspan="3">
...
...
<group/>
<group colspan="3" col="12">
...
...
<group/>
<group/>
<Aggregate> Tag
Declares an aggregate with below admissible attributes. This is the value of an aggregate for a given field over the current domain
- field (mandatory)
The field name to use for computing the aggregate. Possible field types
are:
- integer (default group operator is sum)
- float (default group operator is sum)
- many2one (default group operator is count distinct)
- name (mandatory) A string to identify this aggregate (useful for formulas)
- string (optional) A short description that will be displayed above the value. If not given, it will fall back to the field string.
- domain (optional) An additional restriction on the set of records that we want to aggregate. This domain will be combined with the current domain.
- domain_label (optional) When the user clicks on an aggregate with a domain, it will be added to the search view as a facet. The string displayed for this facet can be customized with this attribute.
- group_operator (optional) A valid postgreSQL aggregate function identifier to use when aggregating values (see https://www.postgresql.org/docs/9.5/static/functions-aggregate.html). If not provided, By default, the group_operator from the field definition is used. Note that no aggregation of field values is achieved if the group_operator value is "".
Note:
The special aggregate function count_distinct (defined in odoo) can also be used here
<aggregate name="order_id_confirmed_orders" field="order_id" string="Orders" group_operator="count_distinct"/>
- col (optional)
The number of columns spanned by this tag (only makes sense inside a
group). By default, 1.
- widget (optional)
A widget to format the value (like the widget attribute for fields).
For example, monetary.
- help (optional)
A help message to dipslay in a tooltip (equivalent of help for a field in python)
- measure (optional)
This attribute is the name of a field describing the measure that has to be used
in the graph and pivot views when clicking on the aggregate.
The special value __count__ can be used to use the count measure.
<aggregate name="customers" field="partner_id" string="# Customers" group_operator="count" measure="__count__"/>
- clickable (optional)
A boolean indicating if this aggregate should be clickable or not (default to true).
Clicking on a clickable aggregate will change the measures used by the subviews
and add the value of the domain attribute (if any) to the search view.
- value_label (optional)
A string put on the right of the aggregate value.
For example, it can be useful to indicate the unit of measure
of the aggregate value.
For example:

<Formula> Tag
Defines a derived value with below admissible attributes. Formulas are values computed from aggregates
Note that like aggregates, formulas are supposed to be used inside a group tag (otherwise the style will not be properly applied).
- value (mandatory)
A string expression that will be evaluated, with the builtin python
evaluator (in the web client). Every aggregate can be used in the
context, in the record variable. For example,
record.price_total / record.order_id.
- name (optional)
A string to identify this formula
- string (optional)
A short description that will be displayed above the formula.
- col (optional)
The number of columns spanned by this tag (only makes sense inside a
group). By default, 1.
- widget (optional)
A widget to format the value (like the widget attribute for fields).
For example, monetary. By default, it is 'float'.
- help (optional)
A help message to dipslay in a tooltip (equivalent of help for a field in python)
- value_label (optional)
A string put on the right of the formula value.
For example, it can be useful to indicate the unit of measure
of the formula value.
For example:
<formula name="total" string="Average Order" value="record.price_subtotal_confirmed_orders / record.order_id.confirmed_orders" widget="monetary"/>

<Widget> Tag
Declares a specialized widget (to be used to display the information) with below admissible attributes. This is a mechanism similar to the widgets in the form view
- name (mandatory)
A string to identify which widget should be instantiated. The view will
look into the widget_registry to get the proper class.
- col (optional)
The number of columns spanned by this tag (only makes sense inside a
group). By default, 1.
- title (optional)
String displayed on the top of the graph.
- attrs (mandatory)
Admissible attributes are:
- groupby (mandatory) Comma separated field names of the comodel. Records will be grouped by that fields.
- stacked (optional) Only used for bar charts. If present and set to True, stacks bars within a group.
- measure (optional) Field to aggregate within a group. By default, __count__.
- domain (optional) An additional restriction on the set of records that we want to aggregate. This domain will be combined with the current domain.
- order (optional) If set, x-axis values will be sorted by default according their measure with respect to the given order (asc or desc).
- limit (optional) The maximal number of records that we want to fetch for the groupby fields. It must be a positive integer.
- time_ranges (optional) An additional user-defined contiguous range of time periods restriction on the set of records that we want to fetch for the groupby fields. This time range domain will be combined with the current domain.
Admissible sub attributes are:
- field (mandatory) The field name to use for computing the time range domain. Possible field type is either date or datetime.
- range (mandatory) A string to describe a time interval. It should be today, this_week, this_month, this_quarter, this_year, yesterday, last_week, last_month, last_quarter, last_year, last_7_days, last_30_days, last_365_days, last_5_years.
<widget name="bar_chart" title="Today's Avg. Sales" attrs="{'measure': 'avg_price_subtotal', 'groupby': 'company_id', 'time_ranges': {'field': 'date', 'range': 'today'}}"/>
For example:
<widget name="bar_chart" title="Sales by Top 5 Customers" attrs="{'limit': 5, 'order': 'desc', 'measure': 'price_subtotal', 'groupby': 'partner_id', 'domain': '[(\'partner_id\',\'!=\',False)]'}"/>

Contact / Support
Need help or want extra features?

Need help with the configuration or want this module to have more functionalities? Contact us through e-mail at contact@gritxi.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module