diff options
| author | RomainLibert <rli@odoo.com> | 2019-08-26 10:52:27 +0000 |
|---|---|---|
| committer | RomainLibert <rli@odoo.com> | 2019-08-28 11:13:18 +0000 |
| commit | 6aaef4a3d95a9c2eeae698bda6a4082470e82a48 (patch) | |
| tree | e3d05b9a756356558220a2a02f319f1375debae0 | |
| parent | 85b5c9bbb4c558dec56de3351763496fc9e8fb1e (diff) | |
[FIX] website: fix ctx argument
In the call to Chart.js we pass a ctx which should be a DOM element,
however we pass `null` as the ctx.
It seems that what happens is that we look for the DOM element inside
the `document` (via getElementById) but this element is not yet inserted
into the document, hence this returns `null`.
Since we already have a reference to the canvas element which should be
used as ctx, we can probably just reuse this reference
closes odoo/odoo#36072
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
| -rw-r--r-- | addons/website/static/src/js/backend/dashboard.js | 2 | ||||
| -rw-r--r-- | addons/website/static/tests/tours/dashboard_tour.js | 21 | ||||
| -rw-r--r-- | addons/website/tests/test_ui.py | 3 | ||||
| -rw-r--r-- | addons/website/views/website_templates.xml | 1 |
4 files changed, 26 insertions, 1 deletions
diff --git a/addons/website/static/src/js/backend/dashboard.js b/addons/website/static/src/js/backend/dashboard.js index dda40102904..28b9a55c8a4 100644 --- a/addons/website/static/src/js/backend/dashboard.js +++ b/addons/website/static/src/js/backend/dashboard.js @@ -185,7 +185,7 @@ var Dashboard = AbstractAction.extend({ }; }); - var ctx = document.getElementById(chart_id); + var ctx = this.$canvas[0]; this.chart = new Chart(ctx, { type: 'line', data: { diff --git a/addons/website/static/tests/tours/dashboard_tour.js b/addons/website/static/tests/tours/dashboard_tour.js new file mode 100644 index 00000000000..a8566d63a97 --- /dev/null +++ b/addons/website/static/tests/tours/dashboard_tour.js @@ -0,0 +1,21 @@ +odoo.define("website.tour.backend_dashboard", function (require) { +"use strict"; + +var tour = require("web_tour.tour"); + +tour.register("backend_dashboard", { + test: true, + url: "/web", +}, [tour.STEPS.SHOW_APPS_MENU_ITEM, + { + trigger: 'a[data-menu-xmlid="website.menu_website_configuration"]', + run: 'click', +}, { + trigger: '.dropdown-toggle[data-menu-xmlid="website.menu_dashboard"]', + run: 'click', +}, { + trigger: '.dropdown-item[data-menu-xmlid="website.menu_website_google_analytics"]', + content: 'Check if traceback', + run: 'click', +}]); +}); diff --git a/addons/website/tests/test_ui.py b/addons/website/tests/test_ui.py index 2db952cc62c..dd2171276f5 100644 --- a/addons/website/tests/test_ui.py +++ b/addons/website/tests/test_ui.py @@ -109,3 +109,6 @@ class TestUi(odoo.tests.HttpCase): ])] }) self.start_tour("/", 'restricted_editor', login='restricted') + + def test_04_backend_dashboard(self): + self.start_tour("/", 'backend_dashboard', login='admin') diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 56e7219ab12..373b8d524db 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -23,6 +23,7 @@ <script type="text/javascript" src="/website/static/tests/tours/rte.js"/> <script type="text/javascript" src="/website/static/tests/tours/html_editor.js"/> <script type="text/javascript" src="/website/static/tests/tours/restricted_editor.js"/> + <script type="text/javascript" src="/website/static/tests/tours/dashboard_tour.js"/> </xpath> </template> |
