[IMP] kpi_dashboard: Allow to set a context on the action

This commit is contained in:
Enric Tobella
2020-07-16 16:55:06 +02:00
committed by Brian McMaster
parent e760f3fa39
commit a14dcc5096
6 changed files with 120 additions and 21 deletions

View File

@@ -5,7 +5,7 @@
"name": "Kpi Dashboard",
"summary": """
Create Dashboards using kpis""",
"version": "12.0.1.1.1",
"version": "12.0.1.2.0",
"license": "AGPL-3",
"author": "Creu Blanca,Odoo Community Association (OCA)",
"website": "https://github.com/reporting-engine",

View File

@@ -14,14 +14,14 @@ msgstr ""
"Plural-Forms: \n"
#. module: kpi_dashboard
#: code:addons/kpi_dashboard/models/kpi_kpi.py:106
#: code:addons/kpi_dashboard/models/kpi_kpi.py:150
#, python-format
msgid " or "
msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:46
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:68
#, python-format
msgid "'%s' added to dashboard"
msgstr ""
@@ -61,7 +61,7 @@ msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:71
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:72
#, python-format
msgid "Add to Dashboard"
msgstr ""
@@ -119,11 +119,31 @@ msgstr ""
msgid "Computation Method"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__compute_on_fly
msgid "Compute On Fly"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard__compute_on_fly_refresh
msgid "Compute On Fly Refresh"
msgstr ""
#. module: kpi_dashboard
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_kpi_form_view
msgid "Compute now"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__computed_date
msgid "Computed Date"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__computed_value
msgid "Computed Value"
msgstr ""
#. module: kpi_dashboard
#: model:ir.ui.menu,name:kpi_dashboard.kpi_dashboard_menu
msgid "Configure Dashboard"
@@ -134,9 +154,14 @@ msgstr ""
msgid "Configure Kpi"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__context
msgid "Context"
msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:50
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:72
#, python-format
msgid "Could not add KPI dashboard to dashboard"
msgstr ""
@@ -152,6 +177,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__create_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__create_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__create_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__create_uid
msgid "Created by"
msgstr ""
@@ -161,6 +187,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__create_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__create_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__create_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__create_date
msgid "Created on"
msgstr ""
@@ -202,6 +229,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__display_name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__display_name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__display_name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__display_name
msgid "Display Name"
msgstr ""
@@ -222,7 +250,7 @@ msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:31
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:53
#, python-format
msgid "First you must create the Menu"
msgstr ""
@@ -272,7 +300,7 @@ msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:24
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:25
#, python-format
msgid "Go to"
msgstr ""
@@ -294,12 +322,18 @@ msgstr ""
msgid "Groups"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__history_ids
msgid "History"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard__id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_item__id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__id
msgid "ID"
msgstr ""
@@ -318,6 +352,11 @@ msgstr ""
msgid "KPI action"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model,name:kpi_dashboard.model_kpi_kpi_history
msgid "KPI history"
msgstr ""
#. module: kpi_dashboard
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_dashboard_form_view
msgid "KPIs"
@@ -333,6 +372,7 @@ msgstr ""
#: model:ir.actions.act_window,name:kpi_dashboard.kpi_kpi_act_window
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_item__kpi_id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__kpi_id
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__kpi_id
msgid "Kpi"
msgstr ""
@@ -346,6 +386,11 @@ msgstr ""
msgid "Kpi Dashboard Menu"
msgstr ""
#. module: kpi_dashboard
#: model:ir.actions.act_window,name:kpi_dashboard.kpi_kpi_history_act_window
msgid "Kpi History"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model,name:kpi_dashboard.model_kpi_kpi
msgid "Kpi Kpi"
@@ -362,6 +407,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu____last_update
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi____last_update
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action____last_update
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history____last_update
msgid "Last Modified on"
msgstr ""
@@ -371,6 +417,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__write_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__write_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__write_uid
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__write_uid
msgid "Last Updated by"
msgstr ""
@@ -380,12 +427,13 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_menu__write_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__write_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_action__write_date
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__write_date
msgid "Last Updated on"
msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:69
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:70
#, python-format
msgid "Main actions"
msgstr ""
@@ -425,6 +473,7 @@ msgstr ""
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard__name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_item__name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__name
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__name
msgid "Name"
msgstr ""
@@ -446,7 +495,7 @@ msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:47
#: code:addons/kpi_dashboard/static/src/js/dashboard_controller.js:69
#, python-format
msgid "Please refresh your browser for the changes to take effect."
msgstr ""
@@ -461,6 +510,16 @@ msgstr ""
msgid "QWeb"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__raw_value
msgid "Raw Value"
msgstr ""
#. module: kpi_dashboard
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_kpi_history_tree_view
msgid "Raw value"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_item__row
msgid "Row"
@@ -471,13 +530,29 @@ msgstr ""
msgid "Search"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,help:kpi_dashboard.field_kpi_dashboard__compute_on_fly_refresh
msgid "Seconds to refresh on fly elements"
msgstr ""
#. module: kpi_dashboard
#. openerp-web
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:33
#: code:addons/kpi_dashboard/static/src/xml/dashboard.xml:34
#, python-format
msgid "Selection"
msgstr ""
#. module: kpi_dashboard
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_kpi_form_view
msgid "Show history"
msgstr ""
#. module: kpi_dashboard
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_kpi_form_view
#: model_terms:ir.ui.view,arch_db:kpi_dashboard.kpi_kpi_history_tree_view
msgid "Show value"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_dashboard_item__size_x
msgid "Size X"
@@ -489,18 +564,33 @@ msgid "Size Y"
msgstr ""
#. module: kpi_dashboard
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:121
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:135
#, python-format
msgid "Size Y of the widget cannot be bigger than 10"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__store_history
msgid "Store History"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__store_history_interval
msgid "Store History Interval"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__store_history_interval_number
msgid "Store History Interval Number"
msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__suffix
msgid "Suffix"
msgstr ""
#. module: kpi_dashboard
#: code:addons/kpi_dashboard/models/kpi_kpi.py:108
#: code:addons/kpi_dashboard/models/kpi_kpi.py:152
#, python-format
msgid "The code cannot contain the following terms: %s."
msgstr ""
@@ -513,6 +603,7 @@ msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__value
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__value
msgid "Value"
msgstr ""
@@ -534,11 +625,12 @@ msgstr ""
#. module: kpi_dashboard
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi__widget
#: model:ir.model.fields,field_description:kpi_dashboard.field_kpi_kpi_history__widget
msgid "Widget"
msgstr ""
#. module: kpi_dashboard
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:142
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:156
#, python-format
msgid "Widget %s is bigger than expected"
msgstr ""
@@ -559,7 +651,7 @@ msgid "Widget configuration"
msgstr ""
#. module: kpi_dashboard
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:138
#: code:addons/kpi_dashboard/models/kpi_dashboard.py:152
#, python-format
msgid "Widgets cannot be crossed by other widgets"
msgstr ""

View File

@@ -187,15 +187,17 @@ class KpiKpiAction(models.Model):
('ir.actions.client', 'ir.actions.client')],
required=True,
)
context = fields.Char()
def read_dashboard(self):
result = []
result = {}
for r in self:
result.append({
result[r.id] = {
'id': r.action.id,
'type': r.action._name,
'name': r.action.name
})
'name': r.action.name,
'context': safe_eval(r.context or '{}')
}
return result

View File

@@ -82,7 +82,10 @@ odoo.define('kpi_dashboard.AbstractWidget', function (require) {
_onClickDirectAction: function(event) {
event.preventDefault();
var $data = $(event.currentTarget).closest('a');
return this.do_action($($data).data('id'));
var action = this.actions[$($data).data('id')];
return this.do_action(action.id, {
additional_context: action.context
});
}
});

View File

@@ -19,9 +19,10 @@
</t>
<t t-name="kpi_dashboard.ManagePanel">
<t t-if="widget.actions" >
<t t-foreach="widget.actions" t-as="action">
<t t-foreach="widget.actions" t-as="action_id">
<t t-set="action" t-value="widget.actions[action_id]"/>
<div role="menuitem" class="">
<a role="menuitem" href="#" class="direct_action" t-att-data-id="action.id" t-att-data-type="action.type">Go to <t t-esc="action.name"/></a>
<a role="menuitem" href="#" class="direct_action" t-att-data-id="action_id" t-att-data-type="action.type">Go to <t t-esc="action.name"/></a>
</div>
</t>
</t>

View File

@@ -104,6 +104,7 @@
<field name="action_ids">
<tree editable="bottom">
<field name="action"/>
<field name="context"/>
</tree>
</field>
</page>