@@ -179,7 +173,11 @@
-
+
@@ -239,23 +237,23 @@
@@ -265,12 +263,12 @@
-
-
diff --git a/addons/website/static/src/js/editor/editor.js b/addons/website/static/src/js/editor/editor.js
index b5f0b973492..ca26c09246d 100644
--- a/addons/website/static/src/js/editor/editor.js
+++ b/addons/website/static/src/js/editor/editor.js
@@ -1,22 +1,17 @@
odoo.define('website.editor', function (require) {
'use strict';
-var widget = require('web_editor.widget');
+var weWidgets = require('web_editor.widget');
var wUtils = require('website.utils');
-widget.LinkDialog.include({
-
- //--------------------------------------------------------------------------
- // Public
- //--------------------------------------------------------------------------
-
+weWidgets.LinkDialog.include({
/**
* Allows the URL input to propose existing website pages.
*
* @override
*/
- bind_data: function () {
- wUtils.autocompleteWithPages(this, this.$('#o_link_dialog_url_input'));
+ start: function () {
+ wUtils.autocompleteWithPages(this, this.$('input[name="url"]'));
return this._super.apply(this, arguments);
},
});
diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js
index 7601dea6b6c..331edf06906 100644
--- a/addons/website/static/src/js/editor/snippets.options.js
+++ b/addons/website/static/src/js/editor/snippets.options.js
@@ -3,7 +3,7 @@ odoo.define('website.snippets.options', function (require) {
var core = require('web.core');
var Dialog = require('web.Dialog');
-var widgets = require('web_editor.widget');
+var weWidgets = require('web_editor.widget');
var options = require('web_editor.snippets.options');
var _t = core._t;
@@ -397,12 +397,12 @@ options.registry.parallax = options.Class.extend({
},
});
-var FacebookPageDialog = widgets.Dialog.extend({
- xmlDependencies: widgets.Dialog.prototype.xmlDependencies.concat(
+var FacebookPageDialog = weWidgets.Dialog.extend({
+ xmlDependencies: weWidgets.Dialog.prototype.xmlDependencies.concat(
['/website/static/src/xml/website.facebook_page.xml']
),
template: 'website.facebook_page_dialog',
- events: _.extend({}, widgets.Dialog.prototype.events || {}, {
+ events: _.extend({}, weWidgets.Dialog.prototype.events || {}, {
'change': '_onOptionChange',
}),
@@ -793,7 +793,7 @@ options.registry.gallery = options.Class.extend({
addImages: function (previewMode) {
var self = this;
var $container = this.$('.container:first');
- var dialog = new widgets.MediaDialog(this, {select_images: true}, this.$target.closest('.o_editable'), null);
+ var dialog = new weWidgets.MediaDialog(this, {multiImages: true}, this.$target.closest('.o_editable'), null);
var lastImage = _.last(this._getImages());
var index = lastImage ? this._getIndex(lastImage) : -1;
dialog.on('save', this, function (attachments) {
diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js
index 6ba5e3dfa9e..b6d72df3d2a 100644
--- a/addons/website/static/src/js/menu/content.js
+++ b/addons/website/static/src/js/menu/content.js
@@ -5,7 +5,7 @@ var core = require('web.core');
var Dialog = require('web.Dialog');
var time = require('web.time');
var weContext = require('web_editor.context');
-var widget = require('web_editor.widget');
+var weWidgets = require('web_editor.widget');
var websiteNavbarData = require('website.navbar');
var websiteRootData = require('website.WebsiteRoot');
var Widget = require('web.Widget');
@@ -13,12 +13,12 @@ var Widget = require('web.Widget');
var _t = core._t;
var qweb = core.qweb;
-var PagePropertiesDialog = widget.Dialog.extend({
+var PagePropertiesDialog = weWidgets.Dialog.extend({
template: 'website.pagesMenu.page_info',
- xmlDependencies: widget.Dialog.prototype.xmlDependencies.concat(
+ xmlDependencies: weWidgets.Dialog.prototype.xmlDependencies.concat(
['/website/static/src/xml/website.pageProperties.xml']
),
- events: _.extend({}, widget.Dialog.prototype.events, {
+ events: _.extend({}, weWidgets.Dialog.prototype.events, {
'keyup input#page_name': '_onNameChanged',
'keyup input#page_url': '_onUrlChanged',
'change input#create_redirect': '_onCreateRedirectChanged',
@@ -42,7 +42,7 @@ var PagePropertiesDialog = widget.Dialog.extend({
this.page_id = page_id;
var buttons = [
- {text: _t("Save"), classes: 'btn-primary o_save_button', click: this.save},
+ {text: _t("Save"), classes: 'btn-primary', click: this.save},
{text: _t("Discard"), close: true},
];
if (options.fromPageManagement) {
@@ -314,14 +314,16 @@ var PagePropertiesDialog = widget.Dialog.extend({
},
});
-var MenuEntryDialog = widget.LinkDialog.extend({
- xmlDependencies: widget.LinkDialog.prototype.xmlDependencies.concat(
+var MenuEntryDialog = weWidgets.LinkDialog.extend({
+ xmlDependencies: weWidgets.LinkDialog.prototype.xmlDependencies.concat(
['/website/static/src/xml/website.contentMenu.xml']
),
+ events: _.extend({}, weWidgets.LinkDialog.prototype.events || {}, {
+ 'change input[name="link_menu_options"]': '_onNewMenuOptionChange',
+ }),
/**
* @constructor
- * @override
*/
init: function (parent, options, editor, data) {
data.text = data.name || '';
@@ -336,23 +338,29 @@ var MenuEntryDialog = widget.LinkDialog.extend({
* @override
*/
start: function () {
- var self = this;
+ // Remove style related elements
this.$('.o_link_dialog_preview').remove();
- this.$('.window-new, .link-style').closest('.form-group').remove();
- this.$('label[for="o_link_dialog_label_input"]').text(_t("Menu Label"));
- if (this.menu_link_options) { // add menu link option only when adding new menu
- self.$('#o_link_dialog_url_input').closest('.form-group').hide();
- this.$('#o_link_dialog_label_input').closest('.form-group').after(qweb.render('website.contentMenu.dialog.edit.link_menu_options'));
- // remove the label that is automatically added before
- this.$('#o_link_dialog_url_input').parent().siblings().html('');
- this.$('input[name=link_menu_options]').on('change', function () {
- self.$('#o_link_dialog_url_input').closest('.form-group').toggle();
- });
- }
+ this.$('input[name="is_new_window"], .link-style').closest('.form-group').remove();
this.$modal.find('.modal-lg').removeClass('modal-lg')
.find('.col-md-8').removeClass('col-md-8').addClass('col-xs-12');
+
+ // Adapt URL label
+ this.$('label[for="o_link_dialog_label_input"]').text(_t("Menu Label"));
+
+ // If new menu, adapt URL field to new page / existing page
+ if (this.menu_link_options) {
+ this.$('input[name="label"]').closest('.form-group').after(qweb.render('website.contentMenu.dialog.edit.link_menu_options'));
+ this.$('input[name="url"]').closest('.form-group').addClass('hidden');
+ this.$('label[for="o_link_dialog_url_input"]').html('');
+ }
+
return this._super.apply(this, arguments);
},
+
+ //--------------------------------------------------------------------------
+ // Public
+ //--------------------------------------------------------------------------
+
/**
* @override
*/
@@ -369,11 +377,22 @@ var MenuEntryDialog = widget.LinkDialog.extend({
}
return this._super.apply(this, arguments);
},
+
+ //--------------------------------------------------------------------------
+ // Handlers
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ _onNewMenuOptionChange: function () {
+ this.$('input[name="url"]').closest('.form-group').toggleClass('hidden');
+ },
});
-var SelectEditMenuDialog = widget.Dialog.extend({
+var SelectEditMenuDialog = weWidgets.Dialog.extend({
template: 'website.contentMenu.dialog.select',
- xmlDependencies: widget.Dialog.prototype.xmlDependencies.concat(
+ xmlDependencies: weWidgets.Dialog.prototype.xmlDependencies.concat(
['/website/static/src/xml/website.contentMenu.xml']
),
@@ -401,12 +420,12 @@ var SelectEditMenuDialog = widget.Dialog.extend({
},
});
-var EditMenuDialog = widget.Dialog.extend({
+var EditMenuDialog = weWidgets.Dialog.extend({
template: 'website.contentMenu.dialog.edit',
- xmlDependencies: widget.Dialog.prototype.xmlDependencies.concat(
+ xmlDependencies: weWidgets.Dialog.prototype.xmlDependencies.concat(
['/website/static/src/xml/website.contentMenu.xml']
),
- events: _.extend({}, widget.Dialog.prototype.events, {
+ events: _.extend({}, weWidgets.Dialog.prototype.events, {
'click a.js_add_menu': '_onAddMenuButtonClick',
'click button.js_delete_menu': '_onDeleteMenuButtonClick',
'click button.js_edit_menu': '_onEditMenuButtonClick',
diff --git a/addons/website/static/src/js/tours/rte.js b/addons/website/static/src/js/tours/rte.js
index c0119aec2a4..47402c016c8 100644
--- a/addons/website/static/src/js/tours/rte.js
+++ b/addons/website/static/src/js/tours/rte.js
@@ -94,7 +94,7 @@ tour.register('rte_translator', {
run: 'text test french placeholder',
}, {
content: "close modal",
- trigger: 'button.o_save_button',
+ trigger: '.modal-footer > .btn-primary',
extra_trigger: '.modal input:propValue(test french placeholder)',
}, {
content: "save translation",
diff --git a/addons/website_blog/static/src/js/website.tour.blog.js b/addons/website_blog/static/src/js/website.tour.blog.js
index dface1116c3..eddce1f10a3 100644
--- a/addons/website_blog/static/src/js/website.tour.blog.js
+++ b/addons/website_blog/static/src/js/website.tour.blog.js
@@ -35,7 +35,7 @@ odoo.define("website_blog.tour", function (require) {
content: _t("Choose an image from the library."),
position: "top",
}, {
- trigger: ".o_select_media_dialog .btn.o_save_button",
+ trigger: ".o_select_media_dialog .modal-footer > .btn-primary",
extra_trigger: ".o_existing_attachment_cell.o_selected",
content: _t("Click on
Save to set the picture as cover."),
position: "top",
diff --git a/addons/website_blog/static/src/js/website_blog.editor.js b/addons/website_blog/static/src/js/website_blog.editor.js
index 00d496e8aae..fcd6ecf3756 100644
--- a/addons/website_blog/static/src/js/website_blog.editor.js
+++ b/addons/website_blog/static/src/js/website_blog.editor.js
@@ -54,7 +54,7 @@ odoo.define('website_blog.editor', function (require) {
'use strict';
require('web.dom_ready');
-var widget = require('web_editor.widget');
+var weWidgets = require('web_editor.widget');
var options = require('web_editor.snippets.options');
var rte = require('web_editor.rte');
@@ -134,7 +134,7 @@ options.registry.blog_cover = options.Class.extend({
change: function (previewMode, value, $li) {
var $image = $("
![]()
", {src: this.$image.css("background-image")});
- var editor = new widget.MediaDialog(this, {only_images: true}, $image, $image[0]).open();
+ var editor = new weWidgets.MediaDialog(this, {onlyImages: true}, $image, $image[0]).open();
editor.on("save", this, function (event, img) {
var src = $image.attr("src");
this.$image.css("background-image", src ? ("url(" + src + ")") : "");
diff --git a/addons/website_gengo/static/src/xml/website.gengo.xml b/addons/website_gengo/static/src/xml/website.gengo.xml
index 0069ad10374..fba29670eec 100644
--- a/addons/website_gengo/static/src/xml/website.gengo.xml
+++ b/addons/website_gengo/static/src/xml/website.gengo.xml
@@ -134,13 +134,13 @@
-
+
Auto Approve Translation - Jobs are Automatically Approved by Gengo.
-
+
Sandbox - Enable if you using testing account
diff --git a/addons/website_sale/static/src/js/website_sale_tour_shop.js b/addons/website_sale/static/src/js/website_sale_tour_shop.js
index 366c38a5b97..79395becea4 100644
--- a/addons/website_sale/static/src/js/website_sale_tour_shop.js
+++ b/addons/website_sale/static/src/js/website_sale_tour_shop.js
@@ -38,7 +38,7 @@ odoo.define("website_sale.tour_shop", function (require) {
content: _t("Click here to set an image describing your product."),
position: "top",
}, {
- trigger: ".o_select_media_dialog .btn.filepicker",
+ trigger: ".o_select_media_dialog .o_upload_image_button",
content: _t("Upload an image from your local library."),
position: "bottom",
run: function (actions) {