[IMP] website: move track to technical view
The goal of this commit is to move the "Track Visitor" option from CustomizeMenu to technical view. See merge commit for more information. task-2687506
This commit is contained in:
@@ -270,7 +270,6 @@
|
||||
'website/static/src/components/wysiwyg_adapter/wysiwyg_adapter.js',
|
||||
'website/static/src/systray_items/mobile_preview.js',
|
||||
'website/static/src/components/dialog/seo.js',
|
||||
'website/static/src/js/set_view_track.js',
|
||||
'website/static/src/js/tours/homepage.js',
|
||||
'website/static/src/js/tours/tour_utils.js',
|
||||
],
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
odoo.define('website.set_view_track', function (require) {
|
||||
"use strict";
|
||||
|
||||
var CustomizeMenu = require('website.customizeMenu');
|
||||
var Widget = require('web.Widget');
|
||||
|
||||
var TrackPage = Widget.extend({
|
||||
template: 'website.track_page',
|
||||
xmlDependencies: ['/website/static/src/xml/track_page.xml'],
|
||||
events: {
|
||||
'change #switch-track-page': '_onTrackChange',
|
||||
},
|
||||
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
start: function () {
|
||||
this.$input = this.$('#switch-track-page');
|
||||
this._isTracked().then((data) => {
|
||||
if (data[0]['track']) {
|
||||
this.track = true;
|
||||
this.$input.attr('checked', 'checked');
|
||||
} else {
|
||||
this.track = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Private
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_isTracked: function (val) {
|
||||
var viewid = $('html').data('viewid');
|
||||
if (!viewid) {
|
||||
return Promise.reject();
|
||||
} else {
|
||||
return this._rpc({
|
||||
model: 'ir.ui.view',
|
||||
method: 'read',
|
||||
args: [[viewid], ['track']],
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_onTrackChange: function (ev) {
|
||||
var checkboxValue = this.$input.is(':checked');
|
||||
if (checkboxValue !== this.track) {
|
||||
this.track = checkboxValue;
|
||||
this._trackPage(checkboxValue);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_trackPage: function (val) {
|
||||
var viewid = $('html').data('viewid');
|
||||
if (!viewid) {
|
||||
return Promise.reject();
|
||||
} else {
|
||||
return this._rpc({
|
||||
model: 'ir.ui.view',
|
||||
method: 'write',
|
||||
args: [[viewid], {track: val}],
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
CustomizeMenu.include({
|
||||
_loadCustomizeOptions: function () {
|
||||
var self = this;
|
||||
var def = this._super.apply(this, arguments);
|
||||
return def.then(function () {
|
||||
if (!self.__trackpageLoaded) {
|
||||
self.__trackpageLoaded = true;
|
||||
self.trackPage = new TrackPage(self);
|
||||
self.trackPage.appendTo(self.$el.children('.dropdown-menu'));
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
|
||||
<t t-name="website.track_page">
|
||||
<div role="separator" class="dropdown-divider"/>
|
||||
<label class="o_switch dropdown-item m-0" for="switch-track-page">
|
||||
<input id="switch-track-page" type="checkbox"/>
|
||||
<span/>
|
||||
Track Visitor
|
||||
</label>
|
||||
</t>
|
||||
|
||||
</templates>
|
||||
|
||||
|
||||
@@ -318,6 +318,9 @@
|
||||
type="object" attrs="{'invisible': [('page_ids', '=', [])]}"/>
|
||||
</header>
|
||||
</sheet>
|
||||
<field name="active" position="after">
|
||||
<field name="track" attrs="{'invisible': [('type', '!=', 'qweb')]}" widget="boolean_toggle"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user