From d41ed40c70faa9b30144c070a06fe2f07f15084b Mon Sep 17 00:00:00 2001 From: qsm-odoo <qsm@odoo.com> Date: Fri, 2 Sep 2016 11:11:54 +0100 Subject: [PATCH] [IMP] web, website: adapt tour launching to new system * The debug manager contains a feature to launch tours, adapt it to new web_tour.tour system * The website help menu allowed to relaunch tutorial tour in debug mode. This feature is not adapted to new tour system and was useless in the first place (debug mode in frontend is barely used anyway). -> remove the website help menu and the feature --- .../static/src/js/widgets/debug_manager.js | 16 +------- addons/web/static/src/xml/base.xml | 21 ---------- .../web_tour/static/src/js/debug_manager.js | 15 ++++++++ .../web_tour/static/src/xml/debug_manager.xml | 31 +++++++++++++-- addons/website/static/src/js/website.js | 1 - addons/website/static/src/js/website.tour.js | 38 ------------------- .../views/website_navbar_templates.xml | 7 ---- addons/website/views/website_templates.xml | 1 - 8 files changed, 43 insertions(+), 87 deletions(-) delete mode 100644 addons/website/static/src/js/website.tour.js diff --git a/addons/web/static/src/js/widgets/debug_manager.js b/addons/web/static/src/js/widgets/debug_manager.js index 4ebb1e775b25..f191eb739ea6 100644 --- a/addons/web/static/src/js/widgets/debug_manager.js +++ b/addons/web/static/src/js/widgets/debug_manager.js @@ -10,7 +10,6 @@ var framework = require('web.framework'); var Model = require('web.Model'); var session = require('web.session'); var SystrayMenu = require('web.SystrayMenu'); -var Tour = require('web.Tour'); var utils = require('web.utils'); var ViewManager = require('web.ViewManager'); var WebClient = require('web.WebClient'); @@ -159,19 +158,6 @@ var DebugManager = Widget.extend({ })); return $.when(); }, - start_tour: function() { - var dialog = new Dialog(this, { - title: 'Tours', - $content: QWeb.render('WebClient.DebugManager.ToursDialog', { - tours: Tour.tours - }), - }).open(); - - dialog.$('.o_start_tour').on('click', function(e) { - e.preventDefault(); - odoo.__DEBUG__.services['web.Tour'].run($(e.target).data('id')); - }); - }, select_view: function () { var self = this; new common.SelectCreateDialog(this, { @@ -341,7 +327,7 @@ DebugManager.include({ if (!this._active_view.controller.get_selected_ids().length) { console.warn(_t("No metadata available")); return - } + } ds.call('get_metadata', [this._active_view.controller.get_selected_ids()]).done(function(result) { new Dialog(this, { title: _.str.sprintf(_t("Metadata (%s)"), ds.model), diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 56b69d91225e..ad54ed6a1f3e 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -113,7 +113,6 @@ <li class="divider"/> <li><a href="#" data-action="perform_js_tests">Run JS Tests</a></li> <li><a href="#" data-action="select_view">Open View</a></li> - <li><a href="#" data-action="start_tour">Start tour</a></li> <t t-if="manager._events"> <li class="divider"/> <li><a href="#" data-action="show_timelines">Toggle Timelines</a></li> @@ -122,26 +121,6 @@ <li class="divider o_debug_leave_section"/> <li><a href="#" data-action="leave_debug_mode">Leave the Developer Tools</a></li> </t> - -<t t-name="WebClient.DebugManager.ToursDialog"> - <div> - <table class="table table-condensed table-striped table-responsive"> - <tr> - <th>ID</th> - <th>Name</th> - <th>Path</th> - <th/> - </tr> - - <tr t-foreach="tours" t-as="tour"> - <td><t t-esc="tours[tour].id"/></td> - <td><t t-esc="tours[tour].name"/></td> - <td><t t-esc="tours[tour].path"/></td> - <td><button type="button" class="btn btn-sm btn-primary fa fa-play o_start_tour" t-att-data-id="tours[tour].id"/></td> - </tr> - </table> - </div> -</t> <t t-name="WebClient.DebugManager.Action"> <t t-if="action"> <li class="divider"/> diff --git a/addons/web_tour/static/src/js/debug_manager.js b/addons/web_tour/static/src/js/debug_manager.js index 3e23207462cf..70f323de3bb6 100644 --- a/addons/web_tour/static/src/js/debug_manager.js +++ b/addons/web_tour/static/src/js/debug_manager.js @@ -1,7 +1,9 @@ odoo.define('web_tour.DebugManager', function (require) { "use strict"; +var core = require("web.core"); var DebugManager = require('web.DebugManager'); +var Dialog = require("web.Dialog"); var Model = require('web.Model'); var tour = require('web_tour.tour'); @@ -23,6 +25,19 @@ DebugManager.include({ }); } }, + start_tour: function() { + var dialog = new Dialog(this, { + title: 'Tours', + $content: core.qweb.render('WebClient.DebugManager.ToursDialog', { + tours: tour.tours + }), + }).open(); + + dialog.$('.o_start_tour').on('click', function(e) { + e.preventDefault(); + tour.run($(e.target).data('name')); + }); + }, }); }); diff --git a/addons/web_tour/static/src/xml/debug_manager.xml b/addons/web_tour/static/src/xml/debug_manager.xml index d11aa2d0763f..032e5278f5a6 100644 --- a/addons/web_tour/static/src/xml/debug_manager.xml +++ b/addons/web_tour/static/src/xml/debug_manager.xml @@ -2,11 +2,34 @@ <templates id="template" xml:space="preserve"> <t t-extend="WebClient.DebugManager.Global"> - <t t-jquery="li > a[data-action='start_tour']" t-operation="after"> - <li t-if="manager._is_admin and manager.consume_tours_enabled"> - <a href="#" data-action="consume_tours">Consume Tours</a> - </li> + <t t-jquery="li > a[data-action='select_view']" t-operation="after"> + <t t-if="manager._is_admin"> + <li t-if="manager.consume_tours_enabled"> + <a href="#" data-action="consume_tours">Consume Tours</a> + </li> + <li> + <a href="#" data-action="start_tour">Start tour</a> + </li> + </t> </t> </t> +<t t-name="WebClient.DebugManager.ToursDialog"> + <div> + <table class="table table-condensed table-striped table-responsive"> + <tr> + <th>Name</th> + <th>Path</th> + <th/> + </tr> + + <tr t-foreach="tours" t-as="tour"> + <td><t t-esc="tour"/></td> + <td><t t-esc="tours[tour].url"/></td> + <td><button type="button" class="btn btn-sm btn-primary fa fa-play o_start_tour" t-att-data-name="tour"/></td> + </tr> + </table> + </div> +</t> + </templates> diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 00d2af0367c3..1e2cf2ddb906 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -7,7 +7,6 @@ odoo.define('website.website', function (require) { var Widget = require('web.Widget'); var session = require('web.session'); var base = require('web_editor.base'); - var Tour = require('web.Tour'); var qweb = core.qweb; var _t = core._t; diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js deleted file mode 100644 index 4d4828f2d1f4..000000000000 --- a/addons/website/static/src/js/website.tour.js +++ /dev/null @@ -1,38 +0,0 @@ -odoo.define('website.tour.cancel', function (require) { -'use strict'; - -var Tour = require('web.Tour'); -Tour.autoRunning = false; - -}); - -odoo.define('website.tour', function (require) { -'use strict'; - -var Tour = require('web.Tour'); -var website = require('website.website'); -var base = require('web_editor.base'); - -website.TopBar.include({ - tours: [], - start: function () { - var $menu = this.$('#help-menu'); - setTimeout(function () { - _.each(Tour.tours, function (tour) { - if (tour.mode === "test") { - return; - } - var $menuItem = $($.parseHTML('<li><a href="#">'+tour.name+'</a></li>')); - $menuItem.click(function () { - Tour.run(tour.id); - }); - $menu.append($menuItem); - }); - }, 0); - return this._super(); - } -}); - -base.ready().then(Tour.running); - -}); diff --git a/addons/website/views/website_navbar_templates.xml b/addons/website/views/website_navbar_templates.xml index fc8b29399d06..1b5c4718baeb 100644 --- a/addons/website/views/website_navbar_templates.xml +++ b/addons/website/views/website_navbar_templates.xml @@ -60,13 +60,6 @@ <li><a data-action="promote-current-page" href="#" title="Promote page on the web">Optimize SEO</a></li> </ul> </li> - <!-- Help --> - <li class="dropdown" groups="base.group_no_one"> - <a class="dropdown-toggle waves" data-toggle="dropdown" href="#" id="help-menu-button">Help</a> - <ul class="dropdown-menu" id="help-menu" role="menu"> - <li class="dropdown-header">HELP & TUTORIALS</li> - </ul> - </li> </ul> <ul class="o_menu_systray hidden-xs"> diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 4996db250225..95faf0c0f4fa 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -35,7 +35,6 @@ <script type="text/javascript" src="/website/static/lib/jQuery.transfo.js"></script> <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script> <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script> - <script type="text/javascript" src="/website/static/src/js/website.tour.js"></script> <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js"></script> <script type="text/javascript" src="/website/static/src/js/website.ace.js"></script> <script type="text/javascript" src="/website/static/src/js/website.translator.js"></script> -- GitLab