diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js
index 7f60a976a35..bfd15d4b7c1 100644
--- a/addons/website/static/src/js/editor/snippets.options.js
+++ b/addons/website/static/src/js/editor/snippets.options.js
@@ -1673,4 +1673,139 @@ options.registry.anchorName = options.Class.extend({
this.$target.trigger('content_changed');
},
});
+
+/**
+ * Allows edition of 'cover_properties' in website models which have such
+ * fields (blogs, posts, events, ...).
+ */
+options.registry.CoverProperties = options.Class.extend({
+ /**
+ * @constructor
+ */
+ init: function () {
+ this._super.apply(this, arguments);
+
+ this.$image = this.$target.find('.o_record_cover_image');
+ this.$filter = this.$target.find('.o_record_cover_filter');
+ },
+ /**
+ * @override
+ */
+ start: function () {
+ this.$filterValueOpts = this.$el.find('[data-filter-value]');
+ this.$filterColorOpts = this.$el.find('[data-filter-color]');
+ this.filterColorClasses = this.$filterColorOpts.map(function () {
+ return $(this).data('filterColor');
+ }).get().join(' ');
+
+ return this._super.apply(this, arguments);
+ },
+
+ //--------------------------------------------------------------------------
+ // Options
+ //--------------------------------------------------------------------------
+
+ /**
+ * @see this.selectClass for parameters
+ */
+ clear: function (previewMode, value, $opt) {
+ this.selectClass(previewMode, '', $());
+ this.$image.css('background-image', '');
+ },
+ /**
+ * @see this.selectClass for parameters
+ */
+ change: function (previewMode, value, $opt) {
+ var $image = $('');
+ var background = this.$image.css('background-image');
+ if (background && background !== 'none') {
+ $image.attr('src', background.match(/^url\(["']?(.+?)["']?\)$/)[1]);
+ }
+
+ var editor = new weWidgets.MediaDialog(this, {
+ mediaWidth: 1920,
+ onlyImages: true,
+ firstFilters: ['background']
+ }, $image[0]).open();
+ editor.on('save', this, function (image) {
+ var src = image.src;
+ this.$image.css('background-image', src ? ('url(' + src + ')') : '');
+ if (!this.$target.hasClass('o_record_has_cover')) {
+ var $opt = this.$el.find('.o_record_cover_opt_size_default[data-select-class]');
+ this.selectClass(previewMode, $opt.data('selectClass'), $opt);
+ }
+ this._setActive();
+ });
+ },
+ /**
+ * @see this.selectClass for parameters
+ */
+ filterValue: function (previewMode, value, $opt) {
+ this.$filter.css('opacity', value);
+ },
+ /**
+ * @see this.selectClass for parameters
+ */
+ filterColor: function (previewMode, value, $opt) {
+ this.$filter.removeClass(this.filterColorClasses);
+ if (value) {
+ this.$filter.addClass(value);
+ }
+
+ var $firstVisibleFilterOpt = this.$filterValueOpts.eq(1);
+ if (parseFloat(this.$filter.css('opacity')) < parseFloat($firstVisibleFilterOpt.data('filterValue'))) {
+ this.filterValue(previewMode, $firstVisibleFilterOpt.data('filterValue'), $firstVisibleFilterOpt);
+ }
+ },
+
+ //--------------------------------------------------------------------------
+ // Private
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * @override
+ */
+ _setActive: function () {
+ this._super.apply(this, arguments);
+
+ _.each(this.$el.children(), el => {
+ var $el = $(el);
+
+ if (!$el.is('[data-change]')) {
+ $el.removeClass('d-none');
+
+ ['size', 'filters', 'text_size', 'text_align'].forEach(optName => {
+ var $opts = $el.find('[data-cover-opt="' + optName + '"]');
+ var notAllowed = (this.$target.data('use_' + optName) !== 'True');
+
+ if ($opts.length && (!this.$target.hasClass('o_record_has_cover') || notAllowed)) {
+ $el.addClass('d-none');
+ }
+ });
+ }
+ });
+
+ this.$el.find('[data-clear]').toggleClass('d-none', !this.$target.hasClass('o_record_has_cover'));
+
+ this.$filterValueOpts.removeClass('active');
+ this.$filterColorOpts.removeClass('active');
+
+ var activeFilterValue = this.$filterValueOpts
+ .filter(el => {
+ return (parseFloat($(el).data('filterValue')).toFixed(1) === parseFloat(this.$filter.css('opacity')).toFixed(1));
+ }).addClass('active').data('filterValue');
+
+ var activeFilterColor = this.$filterColorOpts
+ .filter(el => {
+ return this.$filter.hasClass($(el).data('filterColor'));
+ }).addClass('active').data('filterColor');
+
+ this.$target[0].dataset.coverClass = this.$el.find('.active[data-cover-opt="size"]').data('selectClass') || '';
+ this.$target[0].dataset.textSizeClass = this.$el.find('.active[data-cover-opt="text_size"]').data('selectClass') || '';
+ this.$target[0].dataset.textAlignClass = this.$el.find('.active[data-cover-opt="text_align"]').data('selectClass') || '';
+ this.$target[0].dataset.filterValue = activeFilterValue || 0.0;
+ this.$target[0].dataset.filterColor = activeFilterColor || '';
+ },
+});
});
diff --git a/addons/website/static/src/js/editor/wysiwyg_multizone.js b/addons/website/static/src/js/editor/wysiwyg_multizone.js
index 8c7fbfb2e0c..3c34033b933 100644
--- a/addons/website/static/src/js/editor/wysiwyg_multizone.js
+++ b/addons/website/static/src/js/editor/wysiwyg_multizone.js
@@ -112,6 +112,49 @@ var WysiwygMultizone = Wysiwyg.extend({
_getEditableArea: function () {
return $(':o_editable');
},
+ /**
+ * @private
+ * @param {HTMLElement} editable
+ */
+ _saveCoverProperties: function (editable) {
+ var el = editable.closest('.o_record_cover_container');
+ if (!el) {
+ return;
+ }
+
+ var resModel = el.dataset.resModel;
+ var resID = parseInt(el.dataset.resId);
+ if (!resModel || !resID) {
+ throw new Error('There should be a model and id associated to the cover');
+ }
+
+ this.__savedCovers = this.__savedCovers || {};
+ this.__savedCovers[resModel] = this.__savedCovers[resModel] || [];
+
+ if (this.__savedCovers[resModel].includes(resID)) {
+ return;
+ }
+ this.__savedCovers[resModel].push(resID);
+
+ var cssBgImage = $(el.querySelector('.o_record_cover_image')).css('background-image');
+ var coverProps = {
+ 'background-image': cssBgImage.replace(/"/g, '').replace(window.location.protocol + "//" + window.location.host, ''),
+ 'background-color': el.dataset.filterColor,
+ 'opacity': el.dataset.filterValue,
+ 'resize_class': el.dataset.coverClass,
+ 'text_size_class': el.dataset.textSizeClass,
+ 'text_align_class': el.dataset.textAlignClass,
+ };
+
+ return this._rpc({
+ model: resModel,
+ method: 'write',
+ args: [
+ resID,
+ {'cover_properties': JSON.stringify(coverProps)}
+ ],
+ });
+ },
/**
* Saves one (dirty) element of the page.
*
@@ -127,6 +170,7 @@ var WysiwygMultizone = Wysiwyg.extend({
var $el = $(editable);
+ // Saving a view content
var viewID = $el.data('oe-id');
if (viewID) {
promises.push(this._rpc({
@@ -141,6 +185,7 @@ var WysiwygMultizone = Wysiwyg.extend({
}));
}
+ // Saving mega menu options
if ($el.data('oe-field') === 'mega_menu_content') {
// On top of saving the mega menu content like any other field
// content, we must save the custom classes that were set on the
@@ -160,6 +205,12 @@ var WysiwygMultizone = Wysiwyg.extend({
}));
}
+ // Saving cover properties on related model if any
+ var prom = this._saveCoverProperties(editable);
+ if (prom) {
+ promises.push(prom);
+ }
+
return Promise.all(promises);
},
/**
diff --git a/addons/website/static/src/scss/website.scss b/addons/website/static/src/scss/website.scss
index 79f516fed64..2db0bdeacd2 100644
--- a/addons/website/static/src/scss/website.scss
+++ b/addons/website/static/src/scss/website.scss
@@ -1222,3 +1222,16 @@ table.table_desc tr td {
.modal-footer > .float-left {
margin-right: auto;
}
+
+// CoverProperties
+.o_record_cover_container {
+ position: relative;
+
+ .o_record_cover_component {
+ @include o-position-absolute(0, 0, 0, 0);
+
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ }
+}
diff --git a/addons/website/views/snippets.xml b/addons/website/views/snippets.xml
index 5d6059c2c35..167f3084b5d 100644
--- a/addons/website/views/snippets.xml
+++ b/addons/website/views/snippets.xml
@@ -1466,5 +1466,66 @@
Copper Canyon is one of the six gorges in the area. Although the name suggests that the gorge might have some relevance to copper mining, this is not the case. The name is derived from the copper and green lichen covering the canyon. Copper Canyon has two climatic zones. The region features an alpine climate at the top and a subtropical climate at the lower levels. Winters are cold with frequent snowstorms at the higher altitudes. Summers are dry and hot. The capital city, Chihuahua, is a high altitude desert where weather ranges from cold winters to hot summers. The region is unique because of the various ecosystems that exist within it.
@@ -72,7 +72,7 @@Ten years ago, you’d have probably visited your local travel agent and trusted the face-to-face advice you were given by the so called ‘experts’. The 21st Century way to select and book your hotel is of course on the Internet, by using travel websites.
@@ -170,7 +170,7 @@ People who live on the island have never even seen this remarkable scenery unlesIt really is amazing when you think about it that just by looking up on any given night, you could see virtually hundreds of thousands of stars, star systems, planets, moons, asteroids, comets and maybe a even an occasional space shuttle might wander by. It is even more breathtaking when you realize that the sky you are looking up at is for all intents and purposes the exact same sky that our ancestors hundreds and thousands of years ago enjoyed when they just looked up.
@@ -253,7 +253,7 @@ People who live on the island have never even seen this remarkable scenery unlesIn many ways, it is a big step from someone who is just fooling around with astronomy to a serious student of the science. But you and I both know that there is still another big step after buying a telescope before you really know how to use it.
@@ -294,7 +294,7 @@ People who live on the island have never even seen this remarkable scenery unlesIf the night is clear, you can see amazing detail of the lunar surface just star gazing on in your back yard.
diff --git a/addons/website_blog/static/src/js/s_latest_posts_frontend.js b/addons/website_blog/static/src/js/s_latest_posts_frontend.js
index 3d8c7bc35a9..8192290dc09 100644
--- a/addons/website_blog/static/src/js/s_latest_posts_frontend.js
+++ b/addons/website_blog/static/src/js/s_latest_posts_frontend.js
@@ -91,7 +91,7 @@ publicWidget.registry.js_get_posts = publicWidget.Widget.extend({
_.each($posts, function (post, i) {
var $post = $(post);
var $progress = $post.find('.s_latest_posts_loader');
- var bgUrl = $post.find('.o_blog_cover_image').css('background-image').replace('url(','').replace(')','').replace(/\"/gi, "") || 'none';
+ var bgUrl = $post.find('.o_record_cover_image').css('background-image').replace('url(','').replace(')','').replace(/\"/gi, "") || 'none';
// Append $post to the snippet, regardless by the loading state.
$post.appendTo(self.$target);
@@ -110,7 +110,7 @@ publicWidget.registry.js_get_posts = publicWidget.Widget.extend({
// If the image is not loaded in 10 sec, remove loader and provide a fallback bg-color to the container.
// Hopefully one day the image will load, covering the bg-color...
var timer = setTimeout(function () {
- $post.find('.o_blog_cover_image').addClass('bg-200');
+ $post.find('.o_record_cover_image').addClass('bg-200');
$progress.remove();
}, 10000);
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 df5525e0dd3..d2d2aeb0da3 100644
--- a/addons/website_blog/static/src/js/website_blog.editor.js
+++ b/addons/website_blog/static/src/js/website_blog.editor.js
@@ -59,10 +59,12 @@ odoo.define('website_blog.editor', function (require) {
'use strict';
require('web.dom_ready');
-var weWidgets = require('wysiwyg.widgets');
+var core = require('web.core');
var options = require('web_editor.snippets.options');
var WysiwygMultizone = require('web_editor.wysiwyg.multizone');
+var _t = core._t;
+
if (!$('.website_blog').length) {
return Promise.reject("DOM doesn't contain '.website_blog'");
}
@@ -81,67 +83,6 @@ WysiwygMultizone.include({
});
return this._super.apply(this, arguments);
},
-
- //--------------------------------------------------------------------------
- // Private
- //--------------------------------------------------------------------------
-
- /**
- * @override
- */
- _saveElement: function (outerHTML, recordInfo, editable) {
- var prom = this._super.apply(this, arguments);
-
- var el = editable.closest('.o_blog_cover_container');
- if (!el) {
- return prom;
- }
-
- var ancestor = el.closest('[name="blog_post"], #o_wblog_blog_top, #o_wblog_post_top');
- var blogID = parseInt($(ancestor.querySelector('[data-oe-model="blog.blog"]')).data('oe-id'), 10);
- var postID = parseInt($(ancestor.querySelector('[data-oe-model="blog.post"]')).data('oe-id'), 10);
-
- if (blogID) {
- this.__savedCoversBlogIDs = this.__savedCoversBlogIDs || [];
- if (this.__savedCoversBlogIDs.includes(blogID)) {
- return prom;
- }
- this.__savedCoversBlogIDs.push(blogID);
- }
- if (postID) {
- this.__savedCoversPostIDs = this.__savedCoversPostIDs || [];
- if (this.__savedCoversPostIDs.includes(postID)) {
- return prom;
- }
- this.__savedCoversPostIDs.push(postID);
- }
-
- var model = postID ? 'blog.post' : blogID ? 'blog.blog' : false;
- if (!model) {
- return prom;
- }
-
- var cssBgImage = $(el.querySelector('.o_blog_cover_image')).css('background-image');
- var coverProps = {
- 'background-image': cssBgImage.replace(/"/g, '').replace(window.location.protocol + "//" + window.location.host, ''),
- 'background-color': el.dataset.filterColor,
- 'opacity': el.dataset.filterValue,
- 'resize_class': el.dataset.coverClass,
- 'text_size_class': el.dataset.textSizeClass,
- 'text_align_class': el.dataset.textAlignClass,
- };
-
- var prom2 = this._rpc({
- model: model,
- method: 'write',
- args: [
- postID || blogID,
- {'cover_properties': JSON.stringify(coverProps)}
- ],
- });
-
- return Promise.all([prom, prom2]);
- },
});
options.registry.many2one.include({
@@ -169,138 +110,22 @@ options.registry.many2one.include({
}
});
-options.registry.blog_cover = options.Class.extend({
+options.registry.CoverProperties.include({
/**
- * @constructor
- */
- init: function () {
- this._super.apply(this, arguments);
-
- this.$image = this.$target.find('.o_blog_cover_image');
- this.$filter = this.$target.find('.o_blog_cover_filter');
- },
- /**
- * @override
- */
- start: function () {
- this.$filterValueOpts = this.$el.find('[data-filter-value]');
- this.$filterColorOpts = this.$el.find('[data-filter-color]');
- this.filterColorClasses = this.$filterColorOpts.map(function () {
- return $(this).data('filterColor');
- }).get().join(' ');
-
- return this._super.apply(this, arguments);
- },
-
- //--------------------------------------------------------------------------
- // Options
- //--------------------------------------------------------------------------
-
- /**
- * @see this.selectClass for parameters
- */
- clear: function (previewMode, value, $opt) {
- this.selectClass(previewMode, '', $());
- this.$image.css('background-image', '');
- },
- /**
- * @see this.selectClass for parameters
- */
- change: function (previewMode, value, $opt) {
- var $image = $('');
- var background = this.$image.css('background-image');
- if (background && background !== 'none') {
- $image.attr('src', background.match(/^url\(["']?(.+?)["']?\)$/)[1]);
- }
-
- var editor = new weWidgets.MediaDialog(this, {
- mediaWidth: 1920,
- onlyImages: true,
- firstFilters: ['background']
- }, $image[0]).open();
- editor.on('save', this, function (image) {
- var src = image.src;
- this.$image.css('background-image', src ? ('url(' + src + ')') : '');
- if (!this.$target.hasClass('o_wblog_has_cover')) {
- var $opt = this.$el.find('.o_wblog_cover_opt_size_default[data-select-class]');
- this.selectClass(previewMode, $opt.data('selectClass'), $opt);
- }
- this._setActive();
- });
- },
- /**
- * @see this.selectClass for parameters
- */
- filterValue: function (previewMode, value, $opt) {
- this.$filter.css('opacity', value);
- },
- /**
- * @see this.selectClass for parameters
- */
- filterColor: function (previewMode, value, $opt) {
- this.$filter.removeClass(this.filterColorClasses);
- if (value) {
- this.$filter.addClass(value);
- }
-
- var $firstVisibleFilterOpt = this.$filterValueOpts.eq(1);
- if (parseFloat(this.$filter.css('opacity')) < parseFloat($firstVisibleFilterOpt.data('filterValue'))) {
- this.filterValue(previewMode, $firstVisibleFilterOpt.data('filterValue'), $firstVisibleFilterOpt);
- }
- },
-
- //--------------------------------------------------------------------------
- // Private
- //--------------------------------------------------------------------------
-
- /**
- * @private
* @override
*/
_setActive: function () {
- this._super.apply(this, arguments);
- var self = this;
+ this._super(...arguments);
var isRegularCover = this.$target.is('.o_wblog_post_page_cover_regular');
-
- _.each(this.$el.children(), function (el) {
- var $el = $(el);
-
- if (!$el.is('[data-change]')) {
- $el.removeClass('d-none');
-
- ['size', 'filters', 'text_size', 'text_align'].forEach(optName => {
- var $opts = $el.find('[data-cover-opt="' + optName + '"]');
- var notAllowed = (self.$target.data('use_' + optName) !== 'True');
-
- if ($opts.length && (!self.$target.hasClass('o_wblog_has_cover') || notAllowed)) {
- $el.addClass('d-none');
- }
- });
- }
- $el.find('.o_js_hide_regular').toggleClass('d-none', isRegularCover);
- $el.find('.o_js_show_regular').toggleClass('d-none', !isRegularCover);
- });
-
- this.$el.find('[data-clear]').toggleClass('d-none', !self.$target.hasClass('o_wblog_has_cover'));
-
- this.$filterValueOpts.removeClass('active');
- this.$filterColorOpts.removeClass('active');
-
- var activeFilterValue = this.$filterValueOpts
- .filter(function () {
- return (parseFloat($(this).data('filterValue')).toFixed(1) === parseFloat(self.$filter.css('opacity')).toFixed(1));
- }).addClass('active').data('filterValue');
-
- var activeFilterColor = this.$filterColorOpts
- .filter(function () {
- return self.$filter.hasClass($(this).data('filterColor'));
- }).addClass('active').data('filterColor');
-
- this.$target[0].dataset.coverClass = this.$el.find('.active[data-cover-opt="size"]').data('selectClass') || '';
- this.$target[0].dataset.textSizeClass = this.$el.find('.active[data-cover-opt="text_size"]').data('selectClass') || '';
- this.$target[0].dataset.textAlignClass = this.$el.find('.active[data-cover-opt="text_align"]').data('selectClass') || '';
- this.$target[0].dataset.filterValue = activeFilterValue || 0.0;
- this.$target[0].dataset.filterColor = activeFilterColor || '';
+ var $coverFull = this.$el.find('[data-select-class*="cover_full"]');
+ var $coverMid = this.$el.find('[data-select-class*="cover_mid"]');
+ var $coverAuto = this.$el.find('[data-select-class*="cover_auto"]');
+ this._coverFullOriginalLabel = this._coverFullOriginalLabel || $coverFull.text();
+ this._coverMidOriginalLabel = this._coverMidOriginalLabel || $coverMid.text();
+ this._coverAutoOriginalLabel = this._coverAutoOriginalLabel || $coverAuto.text();
+ $coverFull.text(isRegularCover ? _t("Large") : this._coverFullOriginalLabel);
+ $coverMid.text(isRegularCover ? _t("Medium") : this._coverMidOriginalLabel);
+ $coverAuto.text(isRegularCover ? _t("Tiny") : this._coverAutoOriginalLabel);
},
});
});
diff --git a/addons/website_blog/static/src/js/website_blog.js b/addons/website_blog/static/src/js/website_blog.js
index 246151922d5..1f1cb34d4c4 100644
--- a/addons/website_blog/static/src/js/website_blog.js
+++ b/addons/website_blog/static/src/js/website_blog.js
@@ -33,7 +33,7 @@ publicWidget.registry.websiteBlog = publicWidget.Widget.extend({
var nexInfo = $el.find('#o_wblog_next_post_info').data();
$el.css('height', $(window).height())
- .find('.o_blog_cover_container').addClass(nexInfo.size + ' ' + nexInfo.text).end()
+ .find('.o_record_cover_container').addClass(nexInfo.size + ' ' + nexInfo.text).end()
.find('.o_wblog_toggle').toggleClass('d-none');
// Use _.defer to calculate the 'offset()'' only after that size classes
diff --git a/addons/website_blog/static/src/scss/website_blog.scss b/addons/website_blog/static/src/scss/website_blog.scss
index 25ddd75a635..cd5fc6e409c 100644
--- a/addons/website_blog/static/src/scss/website_blog.scss
+++ b/addons/website_blog/static/src/scss/website_blog.scss
@@ -24,7 +24,7 @@ $o-wblog-title-sizes-variants: (
title: $display1-size,
subtitle: $lead-font-size*1.75
)
-);
+) !default;
// ======= ANIMATIONS =======
// Attention keeper for the "scroll down" top-banner button
@@ -74,21 +74,6 @@ $o-wblog-title-sizes-variants: (
background-image: linear-gradient(#{$stops});
}
-// ======== Cover container =========
-// A generic component that can be used even outside blog using snippets.
-// In website_blog it's used for blog post posts.
-.o_blog_cover_container {
- position: relative;
-
- .o_blog_cover_component {
- @include o-position-absolute(0, 0, 0, 0);
-
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
- }
-}
-
//------------------------------------------------------------------------------
// Website Blog
//------------------------------------------------------------------------------
@@ -191,19 +176,19 @@ $o-wblog-title-sizes-variants: (
// ==============================================
.o_wblog_post_page_cover {
// By default (no image defined), inner filters elements are hidden.
- .o_blog_cover_component {
+ .o_record_cover_component {
display: none;
}
// If a cover image is defined, show filters + adapt inner typography
- &.o_wblog_has_cover {
- .o_blog_cover_image:after {
+ &.o_record_has_cover {
+ .o_record_cover_image:after {
content: "";
display: block;
@include o-position-absolute(0,0,50%,0);
@include o-wbblog-scrim-gradient(rgba(black, 0.5), transparent);
}
- .o_blog_cover_component {
+ .o_record_cover_component {
display: block;
}
@@ -254,7 +239,7 @@ $o-wblog-title-sizes-variants: (
// "Regular Cover" design sizes
// ==============================================
&.o_wblog_post_page_cover_regular {
- .o_blog_cover_image:after {
+ .o_record_cover_image:after {
visibility: hidden;
}
@@ -294,7 +279,7 @@ $o-wblog-title-sizes-variants: (
// Size variants
@each $size, $map in $o-wblog-title-sizes-variants {
- .o_wblog_cover_font_#{$size} .o_wblog_post_title {
+ .o_record_cover_font_#{$size} .o_wblog_post_title {
#o_wblog_post_name {
@include font-size(map-get($map, title));
}
@@ -343,14 +328,14 @@ $o-wblog-title-sizes-variants: (
// Blog Index Pages
// ==============================================
#o_wblog_posts_loop {
- .o_blog_cover_container {
+ .o_record_cover_container {
box-shadow: inset 0 0 0 1px rgba(white, 0.3);
background: rgba(black, 0.1);
padding-top: 33%;
height: auto!important;
- &:hover .o_blog_cover_image {
+ &:hover .o_record_cover_image {
opacity: 0.8;
}
}
@@ -366,10 +351,10 @@ $o-wblog-title-sizes-variants: (
}
&.o_wblog_list_view {
- .o_blog_cover_container {
+ .o_record_cover_container {
padding-top: 20%;
}
- .o_wblog_post_cover_nocard .o_blog_cover_container {
+ .o_wblog_post_cover_nocard .o_record_cover_container {
padding-top: 33%;
}
}
@@ -380,7 +365,7 @@ $o-wblog-title-sizes-variants: (
// ==============================================
body.editor_enable & {
// Make empty covers visible in edit mode
- .o_blog_cover_container.o_wblog_post_page_cover:not(.o_wblog_has_cover) {
+ .o_record_cover_container.o_wblog_post_page_cover:not(.o_record_has_cover) {
background-color: $gray-100;
padding: 30px 0;
border: 1px dashed $gray-500;
@@ -445,7 +430,7 @@ $o-wblog-title-sizes-variants: (
.s_latest_posts_post_cover {
min-height: 100%;
- .o_blog_cover_container {
+ .o_record_cover_container {
top: 0;
}
}
diff --git a/addons/website_blog/views/snippets.xml b/addons/website_blog/views/snippets.xml
index 37ccba01dba..21d8f66727a 100644
--- a/addons/website_blog/views/snippets.xml
+++ b/addons/website_blog/views/snippets.xml
@@ -5,71 +5,6 @@