[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:
xO-Tx
2022-06-24 10:28:06 +02:00
committed by qsm-odoo
parent 2ef7e78826
commit a8ca8372b6
4 changed files with 3 additions and 105 deletions
-1
View File
@@ -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>
+3
View File
@@ -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>