diff --git a/addons/website_blog/__manifest__.py b/addons/website_blog/__manifest__.py index 86778defe8f..be034a62aa9 100644 --- a/addons/website_blog/__manifest__.py +++ b/addons/website_blog/__manifest__.py @@ -36,6 +36,7 @@ ], 'website.assets_editor': [ 'website_blog/static/src/js/tours/website_blog.js', + 'website_blog/static/src/js/components/*.js', 'website_blog/static/src/js/systray_items/*.js', ], 'website.backend_assets_all_wysiwyg': [ diff --git a/addons/website_blog/i18n/website_blog.pot b/addons/website_blog/i18n/website_blog.pot index 555bd24ce57..5417cfd6c25 100644 --- a/addons/website_blog/i18n/website_blog.pot +++ b/addons/website_blog/i18n/website_blog.pot @@ -1396,6 +1396,15 @@ msgid "" "of what we can see on this our closest space object." msgstr "" +#. module: website_blog +#. odoo-python +#: code:addons/website_blog/models/ir_qweb_fields.py:0 +#, python-format +msgid "" +"On your default language, empty the blog post description and save to get an" +" automated (translated) summary." +msgstr "" + #. module: website_blog #. odoo-javascript #: code:addons/website_blog/static/src/js/tours/website_blog.js:0 diff --git a/addons/website_blog/models/__init__.py b/addons/website_blog/models/__init__.py index 9115ba1be19..e408f7cafc5 100644 --- a/addons/website_blog/models/__init__.py +++ b/addons/website_blog/models/__init__.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import ir_qweb_fields from . import website from . import website_blog from . import website_snippet_filter diff --git a/addons/website_blog/models/ir_qweb_fields.py b/addons/website_blog/models/ir_qweb_fields.py new file mode 100644 index 00000000000..3b4e64c1636 --- /dev/null +++ b/addons/website_blog/models/ir_qweb_fields.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models, _ + + +class Field(models.AbstractModel): + _inherit = 'ir.qweb.field' + + @api.model + def attributes(self, record, field_name, options, values): + attrs = super().attributes(record, field_name, options, values) + + if field_name == 'teaser' and self.env.context.get('edit_translations'): + attrs['data-translate-error-tooltip'] = _("On your default language, empty the blog post description and save to get an automated (translated) summary.") + + return attrs diff --git a/addons/website_blog/static/src/js/components/translator.js b/addons/website_blog/static/src/js/components/translator.js new file mode 100644 index 00000000000..ffde3878f2d --- /dev/null +++ b/addons/website_blog/static/src/js/components/translator.js @@ -0,0 +1,21 @@ +/** @odoo-module **/ + +import { WebsiteTranslator } from '@website/components/translator/translator'; +import { patch } from "@web/core/utils/patch"; + +patch(WebsiteTranslator.prototype, { + /** + * @override + */ + _beforeEditorActive() { + super._beforeEditorActive(...arguments); + $(this.websiteService.pageDocument).find('[data-translate-error-tooltip]').tooltip({ + container: this.websiteService.pageDocument.body, + trigger: 'click', + delay: {'show': 0, 'hide': 0}, + title: function () { + return $(this).data('translate-error-tooltip'); + }, + }); + } +});