[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
This commit is contained in:
qsm-odoo
2016-09-02 12:39:06 +01:00
parent f7cfef83b4
commit d41ed40c70
8 changed files with 43 additions and 87 deletions
@@ -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),
-21
View File
@@ -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"/>
@@ -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'));
});
},
});
});
@@ -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>
-1
View File
@@ -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;
@@ -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);
});
@@ -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 &amp; TUTORIALS</li>
</ul>
</li>
</ul>
<ul class="o_menu_systray hidden-xs">
@@ -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>