summaryrefslogtreecommitdiff
path: root/addons/link_tracker
diff options
context:
space:
mode:
authorPaul Morelle <pmo@odoo.com>2019-11-04 10:06:21 +0000
committerfw-bot <otis@odoo.com>2019-11-04 15:01:50 +0000
commitc78cda887657601f426f357fe230c3c7191b20c8 (patch)
tree710bb9a8f4fe2435d8f801ebea2f0eb0cae89f07 /addons/link_tracker
parentbaf64e03bc374009a4eafaa9d6ba1db4fd690dc4 (diff)
[FIX] link_tracker: support any url
URLs with parameters were not correctly supported by the regular expression. For example, URLs with parameters were truncated before the '?'. This patch adds support for a wider range of URLs, and checks in a test that the parameters are correctly handled. closes odoo/odoo#39762 X-original-commit: 616e145635eac06a0a44ab3d899f4a9e707b3ba8 Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Diffstat (limited to 'addons/link_tracker')
-rw-r--r--addons/link_tracker/models/link_tracker.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/addons/link_tracker/models/link_tracker.py b/addons/link_tracker/models/link_tracker.py
index e623b4e92f6..3af4accb9ba 100644
--- a/addons/link_tracker/models/link_tracker.py
+++ b/addons/link_tracker/models/link_tracker.py
@@ -15,7 +15,7 @@ from odoo import models, fields, api, _
URL_REGEX = r'(\bhref=[\'"](?!mailto:|tel:|sms:)([^\'"]+)[\'"])'
-TEXT_URL_REGEX = r'(https?:\/\/(www\.)?[a-zA-Z0-9@:%._\+~#=/-]{1,64})'
+TEXT_URL_REGEX = r'https?://[a-zA-Z0-9@:%._\+~#=/-]+(?:\?\S+)?'
def VALIDATE_URL(url):
@@ -151,8 +151,7 @@ class LinkTracker(models.Model):
def _convert_links_text(self, body, vals, blacklist=None):
shortened_schema = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + '/r/'
unsubscribe_schema = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + '/sms/'
- for match in re.findall(TEXT_URL_REGEX, body):
- original_url = match[0]
+ for original_url in re.findall(TEXT_URL_REGEX, body):
# don't shorten already-shortened links or links towards unsubscribe page
if original_url.startswith(shortened_schema) or original_url.startswith(unsubscribe_schema):
continue