Kpi Dashboard

kpi_dashboard
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/15.0/kpi_dashboard
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Brian McMaster
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:42
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - bus
    - base
    - web
    - board
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
kpi_dashboard_dashboard_view kpi.dashboard.dashboard (in kpi_dashboard) kpi.dashboard kpi_dashboard New
kpi_dashboard_form_view kpi.dashboard.form (in kpi_dashboard) kpi.dashboard form New
kpi_dashboard_item_config_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_item_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_menu_form_view kpi.dashboard.menu.form (in kpi_dashboard) kpi.dashboard.menu form New
kpi_dashboard_search_view kpi.dashboard.search (in kpi_dashboard) kpi.dashboard search New
kpi_dashboard_tree_view kpi.dashboard.tree (in kpi_dashboard) kpi.dashboard tree New
kpi_kpi_form_view kpi.kpi.form (in kpi_dashboard) kpi.kpi form New
kpi_kpi_history_raw_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_history_tree_view kpi.kpi.history.tree (in kpi_dashboard) kpi.kpi.history tree New
kpi_kpi_history_widget_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_search_view kpi.kpi.search (in kpi_dashboard) kpi.kpi search New
kpi_kpi_tree_view kpi.kpi.tree (in kpi_dashboard) kpi.kpi tree New
kpi_kpi_widget_form_view kpi.kpi.raw.form (in kpi_dashboard) kpi.kpi form New
Models touched (8)

New fields (1)
  • view_mode Selection
    ondelete={'kpi_dashboard': 'cascade'} selection_add=[('kpi_dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (1)
  • type Selection
    ondelete={'kpi_dashboard': 'cascade'} selection_add=[('kpi_dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (13)
  • active Boolean
    default=True
  • background_color Char
    default='#f9f9f9' required=True
  • compute_on_fly_refresh Integer
    default=0 help='Seconds to refresh on fly elements'
  • group_ids Many2many → res.groups
    args: 'res.groups'
  • item_ids One2many → kpi.dashboard.item
    copy=True inverse_name='dashboard_id' args: 'kpi.dashboard.item'
  • margin_x Integer
    default=10 required=True
  • margin_y Integer
    default=10 required=True
  • menu_id Many2one → ir.ui.menu
    copy=False args: 'ir.ui.menu'
  • name Char
    required=True
  • number_of_columns Integer
    default=5 required=True
  • widget_dimension_x Integer
    default=250 required=True
  • widget_dimension_y Integer
    default=250 required=True
  • width Integer
    compute='_compute_width'
Public methods (3)
  • read_dashboard(self)
  • read_dashboard_on_fly(self)
  • write(self, vals)

New fields (17)
  • color Char
  • column Integer
    default=1 required=True
  • compute_on_fly Boolean
    related='kpi_id.compute_on_fly'
  • dashboard_id Many2one → kpi.dashboard
    ondelete='cascade' required=True args: 'kpi.dashboard'
  • end_column Integer
    compute='_compute_end_column' store=True
  • end_row Integer
    compute='_compute_end_row' store=True
  • font_color Char
  • kpi_id Many2one → kpi.kpi
    args: 'kpi.kpi'
  • modify_color Boolean
  • modify_color_expression Char
  • modify_context Boolean
  • modify_context_expression Char
  • name Char
    required=True
  • row Integer
    default=1 required=True
  • size_x Integer
    default=1 required=True
  • size_y Integer
    default=1 required=True
  • special_context Char
Public methods (3)
  • read_dashboard(self)
  • store_data(self)
  • technical_config(self)

New fields (2)
  • dashboard_id Many2one → kpi.dashboard
    required=True args: 'kpi.dashboard'
  • menu_id Many2one → ir.ui.menu
    args: 'ir.ui.menu'
Public methods (1)
  • generate_menu(self)

New fields (23)
  • action_ids One2many → kpi.kpi.action
    help='Actions that can be opened from the KPI' inverse_name='kpi_id' args: 'kpi.kpi.action'
  • active Boolean
    default=True
  • args Char
  • code Text
  • computation_method Selection
    default='code' required=True args: [('function', 'Function'), ('code', 'Code')]
  • compute_on_fly Boolean
  • computed_date Datetime
    compute='_compute_computed_value'
  • computed_value Serialized
    compute='_compute_computed_value'
  • cron_id Many2one → ir.cron
    copy=False readonly=True args: 'ir.cron'
  • dashboard_item_ids One2many → kpi.dashboard.item
    inverse_name='kpi_id' args: 'kpi.dashboard.item'
  • function Char
  • history_ids One2many → kpi.kpi.history
    inverse_name='kpi_id' args: 'kpi.kpi.history'
  • kwargs Char
  • model_id Many2one → ir.model
    args: 'ir.model'
  • name Char
    required=True
  • prefix Char
  • store_history Boolean
  • store_history_interval Selection
    selection=<expr>
  • store_history_interval_number Integer
  • suffix Char
  • value Serialized
  • value_last_update Datetime
    readonly=True
  • widget Selection
    default='number' required=True args: [('integer', 'Integer'), ('number', 'Number'), ('meter', 'Meter'), ('counter', 'Counter'), ('graph', 'Graph')]
Public methods (4)
  • compute(self)
  • generate_cron(self)
  • show_value(self)
  • write(self, vals)

New fields (3)
  • action Reference
    required=True selection=[('ir.actions.report', 'ir.actions.report'), ('ir.actions.act_window', 'ir.actions.act_window'), ('ir.actions.act_url', 'ir.actions.act_url'), ('ir.actions.server', 'ir.actions.server'), ('ir.actions.client', 'ir.actions.client')]
  • context Char
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' required=True args: 'kpi.kpi'
Public methods (1)
  • read_dashboard(self)

New fields (5)
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' readonly=True required=True args: 'kpi.kpi'
  • name Char
    related='kpi_id.name'
  • raw_value Char
    compute='_compute_raw_value'
  • value Serialized
    readonly=True
  • widget Selection
    default='number' required=True selection=<expr>
Public methods (1)
  • show_form(self)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/14.0/kpi_dashboard
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSPedro M. Baeza, Enric Tobella, oca-travis, Weblate, OCA-git-bot, oca-ci, Olga Marco, Núria Sancho, Lijo Antony
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - bus
    - base
    - web
    - board
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
assets_backend Backend Assets (used in backend interface) ir.ui.view qweb Inherits web.assets_backend
kpi_dashboard_dashboard_view kpi.dashboard.dashboard (in kpi_dashboard) kpi.dashboard kpi_dashboard New
kpi_dashboard_form_view kpi.dashboard.form (in kpi_dashboard) kpi.dashboard form New
kpi_dashboard_item_config_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_item_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_menu_form_view kpi.dashboard.menu.form (in kpi_dashboard) kpi.dashboard.menu form New
kpi_dashboard_search_view kpi.dashboard.search (in kpi_dashboard) kpi.dashboard search New
kpi_dashboard_tree_view kpi.dashboard.tree (in kpi_dashboard) kpi.dashboard tree New
kpi_kpi_form_view kpi.kpi.form (in kpi_dashboard) kpi.kpi form New
kpi_kpi_history_raw_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_history_tree_view kpi.kpi.history.tree (in kpi_dashboard) kpi.kpi.history tree New
kpi_kpi_history_widget_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_search_view kpi.kpi.search (in kpi_dashboard) kpi.kpi search New
kpi_kpi_tree_view kpi.kpi.tree (in kpi_dashboard) kpi.kpi tree New
kpi_kpi_widget_form_view kpi.kpi.raw.form (in kpi_dashboard) kpi.kpi form New
Models touched (8)

New fields (1)
  • view_mode Selection
    ondelete={'kpi_dashboard': 'cascade'} selection_add=[('kpi_dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (1)
  • type Selection
    ondelete={'kpi_dashboard': 'cascade'} selection_add=[('kpi_dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (13)
  • active Boolean
    default=True
  • background_color Char
    default='#f9f9f9' required=True
  • compute_on_fly_refresh Integer
    default=0 help='Seconds to refresh on fly elements'
  • group_ids Many2many → res.groups
    args: 'res.groups'
  • item_ids One2many → kpi.dashboard.item
    copy=True inverse_name='dashboard_id' args: 'kpi.dashboard.item'
  • margin_x Integer
    default=10 required=True
  • margin_y Integer
    default=10 required=True
  • menu_id Many2one → ir.ui.menu
    copy=False args: 'ir.ui.menu'
  • name Char
    required=True
  • number_of_columns Integer
    default=5 required=True
  • widget_dimension_x Integer
    default=250 required=True
  • widget_dimension_y Integer
    default=250 required=True
  • width Integer
    compute='_compute_width'
Public methods (3)
  • read_dashboard(self)
  • read_dashboard_on_fly(self)
  • write(self, vals)

New fields (17)
  • color Char
  • column Integer
    default=1 required=True
  • compute_on_fly Boolean
    related='kpi_id.compute_on_fly'
  • dashboard_id Many2one → kpi.dashboard
    ondelete='cascade' required=True args: 'kpi.dashboard'
  • end_column Integer
    compute='_compute_end_column' store=True
  • end_row Integer
    compute='_compute_end_row' store=True
  • font_color Char
  • kpi_id Many2one → kpi.kpi
    args: 'kpi.kpi'
  • modify_color Boolean
  • modify_color_expression Char
  • modify_context Boolean
  • modify_context_expression Char
  • name Char
    required=True
  • row Integer
    default=1 required=True
  • size_x Integer
    default=1 required=True
  • size_y Integer
    default=1 required=True
  • special_context Char
Public methods (3)
  • read_dashboard(self)
  • store_data(self)
  • technical_config(self)

New fields (2)
  • dashboard_id Many2one → kpi.dashboard
    required=True args: 'kpi.dashboard'
  • menu_id Many2one → ir.ui.menu
    args: 'ir.ui.menu'
Public methods (1)
  • generate_menu(self)

New fields (23)
  • action_ids One2many → kpi.kpi.action
    help='Actions that can be opened from the KPI' inverse_name='kpi_id' args: 'kpi.kpi.action'
  • active Boolean
    default=True
  • args Char
  • code Text
    args: 'Code'
  • computation_method Selection
    default='code' required=True args: [('function', 'Function'), ('code', 'Code')]
  • compute_on_fly Boolean
  • computed_date Datetime
    compute='_compute_computed_value'
  • computed_value Serialized
    compute='_compute_computed_value'
  • cron_id Many2one → ir.cron
    copy=False readonly=True args: 'ir.cron'
  • dashboard_item_ids One2many → kpi.dashboard.item
    inverse_name='kpi_id' args: 'kpi.dashboard.item'
  • function Char
  • history_ids One2many → kpi.kpi.history
    inverse_name='kpi_id' args: 'kpi.kpi.history'
  • kwargs Char
  • model_id Many2one → ir.model
    args: 'ir.model'
  • name Char
    required=True
  • prefix Char
  • store_history Boolean
  • store_history_interval Selection
    selection=<expr>
  • store_history_interval_number Integer
  • suffix Char
  • value Serialized
  • value_last_update Datetime
    readonly=True
  • widget Selection
    default='number' required=True args: [('integer', 'Integer'), ('number', 'Number'), ('meter', 'Meter'), ('counter', 'Counter'), ('graph', 'Graph')]
Public methods (4)
  • compute(self)
  • generate_cron(self)
  • show_value(self)
  • write(self, vals)

New fields (3)
  • action Reference
    required=True selection=[('ir.actions.report', 'ir.actions.report'), ('ir.actions.act_window', 'ir.actions.act_window'), ('ir.actions.act_url', 'ir.actions.act_url'), ('ir.actions.server', 'ir.actions.server'), ('ir.actions.client', 'ir.actions.client')]
  • context Char
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' required=True args: 'kpi.kpi'
Public methods (1)
  • read_dashboard(self)

New fields (5)
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' readonly=True required=True args: 'kpi.kpi'
  • name Char
    related='kpi_id.name'
  • raw_value Char
    compute='_compute_raw_value'
  • value Serialized
    readonly=True
  • widget Selection
    default='number' required=True selection=<expr>
Public methods (1)
  • show_form(self)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/13.0/kpi_dashboard
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSEnric Tobella, oca-travis, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - bus
    - base
    - web
    - board
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
assets_backend Backend Assets (used in backend interface) ir.ui.view qweb Inherits web.assets_backend
kpi_dashboard_dashboard_view kpi.dashboard.dashboard (in kpi_dashboard) kpi.dashboard dashboard New
kpi_dashboard_form_view kpi.dashboard.form (in kpi_dashboard) kpi.dashboard form New
kpi_dashboard_item_config_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_item_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_menu_form_view kpi.dashboard.menu.form (in kpi_dashboard) kpi.dashboard.menu form New
kpi_dashboard_search_view kpi.dashboard.search (in kpi_dashboard) kpi.dashboard search New
kpi_dashboard_tree_view kpi.dashboard.tree (in kpi_dashboard) kpi.dashboard tree New
kpi_kpi_form_view kpi.kpi.form (in kpi_dashboard) kpi.kpi form New
kpi_kpi_history_raw_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_history_tree_view kpi.kpi.history.tree (in kpi_dashboard) kpi.kpi.history tree New
kpi_kpi_history_widget_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_search_view kpi.kpi.search (in kpi_dashboard) kpi.kpi search New
kpi_kpi_tree_view kpi.kpi.tree (in kpi_dashboard) kpi.kpi tree New
kpi_kpi_widget_form_view kpi.kpi.raw.form (in kpi_dashboard) kpi.kpi form New
Models touched (8)

New fields (1)
  • view_mode Selection
    selection_add=[('dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (1)
  • type Selection
    selection_add=[('dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (13)
  • active Boolean
    default=True
  • background_color Char
    default='#f9f9f9' required=True
  • compute_on_fly_refresh Integer
    default=0 help='Seconds to refresh on fly elements'
  • group_ids Many2many → res.groups
    args: 'res.groups'
  • item_ids One2many → kpi.dashboard.item
    copy=True inverse_name='dashboard_id' args: 'kpi.dashboard.item'
  • margin_x Integer
    default=10 required=True
  • margin_y Integer
    default=10 required=True
  • menu_id Many2one → ir.ui.menu
    copy=False args: 'ir.ui.menu'
  • name Char
    required=True
  • number_of_columns Integer
    default=5 required=True
  • widget_dimension_x Integer
    default=250 required=True
  • widget_dimension_y Integer
    default=250 required=True
  • width Integer
    compute='_compute_width'
Public methods (3)
  • read_dashboard(self)
  • read_dashboard_on_fly(self)
  • write(self, vals)

New fields (17)
  • color Char
  • column Integer
    default=1 required=True
  • compute_on_fly Boolean
    related='kpi_id.compute_on_fly'
  • dashboard_id Many2one → kpi.dashboard
    ondelete='cascade' required=True args: 'kpi.dashboard'
  • end_column Integer
    compute='_compute_end_column' store=True
  • end_row Integer
    compute='_compute_end_row' store=True
  • font_color Char
  • kpi_id Many2one → kpi.kpi
    args: 'kpi.kpi'
  • modify_color Boolean
  • modify_color_expression Char
  • modify_context Boolean
  • modify_context_expression Char
  • name Char
    required=True
  • row Integer
    default=1 required=True
  • size_x Integer
    default=1 required=True
  • size_y Integer
    default=1 required=True
  • special_context Char
Public methods (2)
  • read_dashboard(self)
  • technical_config(self)

New fields (2)
  • dashboard_id Many2one → kpi.dashboard
    required=True args: 'kpi.dashboard'
  • menu_id Many2one → ir.ui.menu
    args: 'ir.ui.menu'
Public methods (1)
  • generate_menu(self)

New fields (23)
  • action_ids One2many → kpi.kpi.action
    help='Actions that can be opened from the KPI' inverse_name='kpi_id' args: 'kpi.kpi.action'
  • active Boolean
    default=True
  • args Char
  • code Text
    args: 'Code'
  • computation_method Selection
    required=True args: [('function', 'Function'), ('code', 'Code')]
  • compute_on_fly Boolean
  • computed_date Datetime
    compute='_compute_computed_value'
  • computed_value Serialized
    compute='_compute_computed_value'
  • cron_id Many2one → ir.cron
    copy=False readonly=True args: 'ir.cron'
  • dashboard_item_ids One2many → kpi.dashboard.item
    inverse_name='kpi_id' args: 'kpi.dashboard.item'
  • function Char
  • history_ids One2many → kpi.kpi.history
    inverse_name='kpi_id' args: 'kpi.kpi.history'
  • kwargs Char
  • model_id Many2one → ir.model
    args: 'ir.model'
  • name Char
    required=True
  • prefix Char
  • store_history Boolean
  • store_history_interval Selection
    selection=<expr>
  • store_history_interval_number Integer
  • suffix Char
  • value Serialized
  • value_last_update Datetime
    readonly=True
  • widget Selection
    default='number' required=True args: [('integer', 'Integer'), ('number', 'Number'), ('meter', 'Meter'), ('counter', 'Counter'), ('graph', 'Graph')]
Public methods (4)
  • compute(self)
  • generate_cron(self)
  • show_value(self)
  • write(self, vals)

New fields (3)
  • action Reference
    required=True selection=[('ir.actions.report', 'ir.actions.report'), ('ir.actions.act_window', 'ir.actions.act_window'), ('ir.actions.act_url', 'ir.actions.act_url'), ('ir.actions.server', 'ir.actions.server'), ('ir.actions.client', 'ir.actions.client')]
  • context Char
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' required=True args: 'kpi.kpi'
Public methods (1)
  • read_dashboard(self)

New fields (5)
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' readonly=True required=True args: 'kpi.kpi'
  • name Char
    related='kpi_id.name'
  • raw_value Char
    compute='_compute_raw_value'
  • value Serialized
    readonly=True
  • widget Selection
    required=True selection=<expr>
Public methods (1)
  • show_form(self)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/12.0/kpi_dashboard
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSGitHub, Enric Tobella, OCA Transbot, David Beal, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/web:
    - web_widget_color
odoo/odoo:
    - bus
    - base
    - web
    - board
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
assets_backend Backend Assets (used in backend interface) ir.ui.view qweb Inherits web.assets_backend
kpi_dashboard_dashboard_view kpi.dashboard.dashboard (in kpi_dashboard) kpi.dashboard dashboard New
kpi_dashboard_form_view kpi.dashboard.form (in kpi_dashboard) kpi.dashboard form New
kpi_dashboard_item_config_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_item_form_view kpi.dashboard.item.form (in kpi_dashboard) kpi.dashboard.item form New
kpi_dashboard_menu_form_view kpi.dashboard.menu.form (in kpi_dashboard) kpi.dashboard.menu form New
kpi_dashboard_search_view kpi.dashboard.search (in kpi_dashboard) kpi.dashboard search New
kpi_dashboard_tree_view kpi.dashboard.tree (in kpi_dashboard) kpi.dashboard tree New
kpi_kpi_form_view kpi.kpi.form (in kpi_dashboard) kpi.kpi form New
kpi_kpi_history_raw_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_history_tree_view kpi.kpi.history.tree (in kpi_dashboard) kpi.kpi.history tree New
kpi_kpi_history_widget_form_view kpi.kpi.history.raw.form (in kpi_dashboard) kpi.kpi.history form New
kpi_kpi_search_view kpi.kpi.search (in kpi_dashboard) kpi.kpi search New
kpi_kpi_tree_view kpi.kpi.tree (in kpi_dashboard) kpi.kpi tree New
kpi_kpi_widget_form_view kpi.kpi.raw.form (in kpi_dashboard) kpi.kpi form New
Models touched (8)

New fields (1)
  • view_mode Selection
    selection_add=[('dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (1)
  • type Selection
    selection_add=[('dashboard', 'Dashboard')]
Public methods (0)

No public methods.

New fields (13)
  • active Boolean
    default=True
  • background_color Char
    default='#f9f9f9' required=True
  • compute_on_fly_refresh Integer
    default=0 help='Seconds to refresh on fly elements'
  • group_ids Many2many → res.groups
    args: 'res.groups'
  • item_ids One2many → kpi.dashboard.item
    copy=True inverse_name='dashboard_id' args: 'kpi.dashboard.item'
  • margin_x Integer
    default=10 required=True
  • margin_y Integer
    default=10 required=True
  • menu_id Many2one → ir.ui.menu
    copy=False args: 'ir.ui.menu'
  • name Char
    required=True
  • number_of_columns Integer
    default=5 required=True
  • widget_dimension_x Integer
    default=250 required=True
  • widget_dimension_y Integer
    default=250 required=True
  • width Integer
    compute='_compute_width'
Public methods (3)
  • read_dashboard(self)
  • read_dashboard_on_fly(self)
  • write(self, vals)

New fields (15)
  • color Char
  • column Integer
    default=1 required=True
  • dashboard_id Many2one → kpi.dashboard
    ondelete='cascade' required=True args: 'kpi.dashboard'
  • end_column Integer
    compute='_compute_end_column' store=True
  • end_row Integer
    compute='_compute_end_row' store=True
  • font_color Char
  • kpi_id Many2one → kpi.kpi
    args: 'kpi.kpi'
  • modify_color Boolean
  • modify_color_expression Char
  • modify_context Boolean
  • modify_context_expression Char
  • name Char
    required=True
  • row Integer
    default=1 required=True
  • size_x Integer
    default=1 required=True
  • size_y Integer
    default=1 required=True
Public methods (2)
  • read_dashboard(self)
  • technical_config(self)

New fields (2)
  • dashboard_id Many2one → kpi.dashboard
    required=True args: 'kpi.dashboard'
  • menu_id Many2one → ir.ui.menu
    args: 'ir.ui.menu'
Public methods (1)
  • generate_menu(self)
    @api.multi

New fields (23)
  • action_ids One2many → kpi.kpi.action
    help='Actions that can be opened from the KPI' inverse_name='kpi_id' args: 'kpi.kpi.action'
  • active Boolean
    default=True
  • args Char
  • code Text
    args: 'Code'
  • computation_method Selection
    required=True args: [('function', 'Function'), ('code', 'Code')]
  • compute_on_fly Boolean
  • computed_date Datetime
    compute='_compute_computed_value'
  • computed_value Serialized
    compute='_compute_computed_value'
  • cron_id Many2one → ir.cron
    copy=False readonly=True args: 'ir.cron'
  • dashboard_item_ids One2many → kpi.dashboard.item
    inverse_name='kpi_id' args: 'kpi.dashboard.item'
  • function Char
  • history_ids One2many → kpi.kpi.history
    inverse_name='kpi_id' args: 'kpi.kpi.history'
  • kwargs Char
  • model_id Many2one → ir.model
    args: 'ir.model'
  • name Char
    required=True
  • prefix Char
  • store_history Boolean
  • store_history_interval Selection
    selection=<expr>
  • store_history_interval_number Integer
  • suffix Char
  • value Serialized
  • value_last_update Datetime
    readonly=True
  • widget Selection
    default='number' required=True args: [('integer', 'Integer'), ('number', 'Number'), ('meter', 'Meter'), ('counter', 'Counter'), ('graph', 'Graph')]
Public methods (4)
  • compute(self)
  • generate_cron(self)
  • show_value(self)
  • write(self, vals)
    @api.multi

New fields (3)
  • action Reference
    required=True selection=[('ir.actions.report', 'ir.actions.report'), ('ir.actions.act_window', 'ir.actions.act_window'), ('ir.actions.act_url', 'ir.actions.act_url'), ('ir.actions.server', 'ir.actions.server'), ('ir.actions.client', 'ir.actions.client')]
  • context Char
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' required=True args: 'kpi.kpi'
Public methods (1)
  • read_dashboard(self)

New fields (5)
  • kpi_id Many2one → kpi.kpi
    ondelete='cascade' readonly=True required=True args: 'kpi.kpi'
  • name Char
    related='kpi_id.name'
  • raw_value Char
    compute='_compute_raw_value'
  • value Serialized
    readonly=True
  • widget Selection
    required=True selection=<expr>
Public methods (1)
  • show_form(self)