summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/website/models/mixins.py16
-rw-r--r--addons/website_blog/models/website_blog.py10
-rw-r--r--addons/website_event/models/event_event.py10
3 files changed, 24 insertions, 12 deletions
diff --git a/addons/website/models/mixins.py b/addons/website/models/mixins.py
index 1dad8168161..1bf34775cb0 100644
--- a/addons/website/models/mixins.py
+++ b/addons/website/models/mixins.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+import json
import logging
@@ -97,6 +98,21 @@ class SeoMetadata(models.AbstractModel):
}
+class WebsiteCoverPropertiesMixin(models.AbstractModel):
+
+ _name = 'website.cover_properties.mixin'
+ _description = 'Cover Properties Website Mixin'
+
+ cover_properties = fields.Text('Cover Properties', default=lambda s: json.dumps(s._default_cover_properties()))
+
+ def _default_cover_properties(self):
+ return {
+ "background-image": "none",
+ "opacity": "0.2",
+ "resize_class": "o_half_screen_height",
+ }
+
+
class WebsiteMultiMixin(models.AbstractModel):
_name = 'website.multi.mixin'
diff --git a/addons/website_blog/models/website_blog.py b/addons/website_blog/models/website_blog.py
index d5cbb246555..6fd248a1f4d 100644
--- a/addons/website_blog/models/website_blog.py
+++ b/addons/website_blog/models/website_blog.py
@@ -14,16 +14,13 @@ from odoo.tools import html2plaintext
class Blog(models.Model):
_name = 'blog.blog'
_description = 'Blog'
- _inherit = ['mail.thread', 'website.seo.metadata', 'website.multi.mixin']
+ _inherit = ['mail.thread', 'website.seo.metadata', 'website.multi.mixin', 'website.cover_properties.mixin']
_order = 'name'
name = fields.Char('Blog Name', required=True, translate=True)
subtitle = fields.Char('Blog Subtitle', translate=True)
active = fields.Boolean('Active', default=True)
content = fields.Html('Content', translate=html_translate, sanitize=False)
- cover_properties = fields.Text(
- 'Cover Properties',
- default='{"background-image": "none", "opacity": "0.2", "resize_class": "o_half_screen_height"}')
def write(self, vals):
res = super(Blog, self).write(vals)
@@ -114,7 +111,7 @@ class BlogTag(models.Model):
class BlogPost(models.Model):
_name = "blog.post"
_description = "Blog Post"
- _inherit = ['mail.thread', 'website.seo.metadata', 'website.published.multi.mixin']
+ _inherit = ['mail.thread', 'website.seo.metadata', 'website.published.multi.mixin', 'website.cover_properties.mixin']
_order = 'id DESC'
_mail_post_access = 'read'
@@ -131,9 +128,6 @@ class BlogPost(models.Model):
subtitle = fields.Char('Sub Title', translate=True)
author_id = fields.Many2one('res.partner', 'Author', default=lambda self: self.env.user.partner_id)
active = fields.Boolean('Active', default=True)
- cover_properties = fields.Text(
- 'Cover Properties',
- default='{"background-image": "none", "opacity": "0.2", "resize_class": "o_half_screen_height"}')
blog_id = fields.Many2one('blog.blog', 'Blog', required=True, ondelete='cascade')
tag_ids = fields.Many2many('blog.tag', string='Tags')
content = fields.Html('Content', default=_default_content, translate=html_translate, sanitize=False)
diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py
index 85694acd063..6a8f1fd8eeb 100644
--- a/addons/website_event/models/event_event.py
+++ b/addons/website_event/models/event_event.py
@@ -19,7 +19,7 @@ class EventType(models.Model):
class Event(models.Model):
_name = 'event.event'
- _inherit = ['event.event', 'website.seo.metadata', 'website.published.multi.mixin']
+ _inherit = ['event.event', 'website.seo.metadata', 'website.published.multi.mixin', 'website.cover_properties.mixin']
# description
subtitle = fields.Char('Event Subtitle', translate=True)
@@ -27,9 +27,6 @@ class Event(models.Model):
is_participating = fields.Boolean("Is Participating", compute="_compute_is_participating")
# website
website_published = fields.Boolean(tracking=True)
- cover_properties = fields.Text(
- 'Cover Properties',
- default='{"background-image": "none", "opacity": "0.4", "resize_class": "o_half_screen_height"}')
website_menu = fields.Boolean(
'Dedicated Menu', copy=False,
help="Creates menus Introduction, Location and Register on the page "
@@ -59,6 +56,11 @@ class Event(models.Model):
if self.event_type_id:
self.website_menu = self.event_type_id.website_menu
+ def _default_cover_properties(self):
+ res = super()._default_cover_properties()
+ res['opacity'] = '0.4'
+ return res
+
def _get_menu_entries(self):
""" Method returning menu entries to display on the website view of the
event, possibly depending on some options in inheriting modules. """