summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-08-21 11:26:41 +0200
committerChristophe Simonis <chs@odoo.com>2019-08-21 11:26:41 +0200
commitd8524aadf810756f5ff3d1625fdbd8a74ac0ce57 (patch)
treee95ec0795e7ac54bc32e2b07cd25fb0d652bf227
parentc43de33643ab8fd7a26b943a3325272fbcda19d2 (diff)
parente854f683931f4186795fc701e4f83dfd513fbf62 (diff)
[MERGE] forward port branch saas-14 up to e854f683931
-rw-r--r--addons/web_editor/static/src/js/summernote.js8
-rw-r--r--odoo/addons/base/ir/ir_model.py2
2 files changed, 6 insertions, 4 deletions
diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js
index e52ea66614d..0f6c7cddd03 100644
--- a/addons/web_editor/static/src/js/summernote.js
+++ b/addons/web_editor/static/src/js/summernote.js
@@ -2121,13 +2121,15 @@ $.summernote.pluginEvents.applyFont = function (event, editor, layoutInfo, color
}
// apply font: foreColor, backColor, size (the color can be use a class text-... or bg-...)
- var node, font, $font, fonts = [], className;
+ var node, ancestors, font, $font, fonts = [], className;
if (color || bgcolor || size) {
for (var i=0; i<nodes.length; i++) {
node = nodes[i];
- font = dom.ancestor(node, dom.isFont);
- if (!font) {
+ ancestors = dom.listAncestor(node, dom.isFont);
+ font = ancestors.slice(-1)[0];
+ // add font if node is not inside a font or inside an anchor firstly
+ if (!dom.isFont(font) || ancestors.filter(dom.isAnchor).length) {
if (node.textContent.match(/^[ ]|[ ]$/)) {
node.textContent = node.textContent.replace(/^[ ]|[ ]$/g, '\u00A0');
}
diff --git a/odoo/addons/base/ir/ir_model.py b/odoo/addons/base/ir/ir_model.py
index 94430be0175..dc8f6f2264d 100644
--- a/odoo/addons/base/ir/ir_model.py
+++ b/odoo/addons/base/ir/ir_model.py
@@ -1168,7 +1168,7 @@ class IrModelAccess(models.Model):
else:
msg_tail = _("Please contact your system administrator if you think this is an error.") + "\n\n(" + _("Document model") + ": %s)"
msg_params = (model,)
- msg_tail += ' - ({} {}, {} {})'.format(_('Operation:'), mode, _('User:'), self._uid)
+ msg_tail += u' - ({} {}, {} {})'.format(_('Operation:'), mode, _('User:'), self._uid)
_logger.info('Access Denied by ACLs for operation: %s, uid: %s, model: %s', mode, self._uid, model)
msg = '%s %s' % (msg_heads[mode], msg_tail)
raise AccessError(msg % msg_params)