diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index e89266d6cf3..409ec0b3850 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -1657,29 +1657,22 @@ define(['summernote/summernote'], function () { }); } - var match, $control; - if (href && (match = /mailto:(.+)/.exec(href))) { - this.$('input.email-address').val(match[1]).change(); - } - if (href && !$control) { - this.page_exists(href).then(function (exist) { - if (exist) { - self.$('#link-page').select2('data', {'id': href, 'text': href}); - } else { - self.$('input.url').val(href).change(); - self.$('input.window-new').closest("div").show(); - } - }); - } - - this.page_exists(href).then(function (exist) { - if (exist) { - self.$('#link-page').select2('data', {'id': href, 'text': href}); - } else { - self.$('input.url').val(href).change(); - self.$('input.window-new').closest("div").show(); + var match; + if(href){ + if (match = /mailto:(.+)/.exec(href)) { + this.$('input.email-address').val(match[1]).change(); } - }); + else { + this.page_exists(href).then(function (exist) { + if (exist) { + self.$('#link-page').select2('data', {'id': href, 'text': href}); + } else { + self.$('input.url').val(href).change(); + self.$('input.window-new').closest("div").show(); + } + }); + } + } this.preview(); }, diff --git a/addons/website_links/models/website_links.py b/addons/website_links/models/website_links.py index 99148d1ae71..b691970d907 100644 --- a/addons/website_links/models/website_links.py +++ b/addons/website_links/models/website_links.py @@ -12,7 +12,7 @@ from urlparse import urlparse from openerp import models, fields, api, _ -URL_REGEX = r'(\bhref=[\'"]([^\'"]+)[\'"])' +URL_REGEX = r'(\bhref=[\'"](?!mailto:)([^\'"]+)[\'"])' def VALIDATE_URL(url): if urlparse(url).scheme not in ('http', 'https', 'ftp', 'ftps'):