From fe82ccc860fb1fddf9cb89ce76971357ba7d996e Mon Sep 17 00:00:00 2001 From: "Andrea Grazioso (agr-odoo)" Date: Wed, 15 Sep 2021 08:25:16 +0000 Subject: [PATCH] [FIX] link_tracker,website_links: use specific site url - Create 3 websites and set a website domain for each - Install the website_links module - Go to Website > Configuration > Settings - Select the website 3 - Go to website - Menu Promote > Link tracking The URL field uses the domain you are logged into the database rather than the domain of the active website The expected behavior is: With an ICP set to URL1, a website 1 set to URL2 and a website 2 set to URL3, going to the link tracker website page from URL3 but with website 1 selected should: Show the current website domain as placeholder of the input -> URL2 Create link for that current website the user selected -> URL2 opw-2638494 closes odoo/odoo#77705 X-original-commit: d094d76354d6f46db3dc7f8e716b5f778ca26569 Signed-off-by: agr-odoo --- addons/link_tracker/models/link_tracker.py | 2 +- addons/website_links/models/link_tracker.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/link_tracker/models/link_tracker.py b/addons/link_tracker/models/link_tracker.py index 41cf759be6a..715e789e699 100644 --- a/addons/link_tracker/models/link_tracker.py +++ b/addons/link_tracker/models/link_tracker.py @@ -69,7 +69,7 @@ class LinkTracker(models.Model): @api.depends('code') def _compute_short_url(self): for tracker in self: - tracker.short_url = urls.url_join(tracker.get_base_url(), '/r/%(code)s' % {'code': tracker.code}) + tracker.short_url = urls.url_join(tracker.short_url_host, '%(code)s' % {'code': tracker.code}) def _compute_short_url_host(self): for tracker in self: diff --git a/addons/website_links/models/link_tracker.py b/addons/website_links/models/link_tracker.py index 82790bdd59e..80f7b0b1e44 100644 --- a/addons/website_links/models/link_tracker.py +++ b/addons/website_links/models/link_tracker.py @@ -3,6 +3,9 @@ from odoo import models, _ +from werkzeug import urls + + class LinkTracker(models.Model): _inherit = ['link.tracker'] @@ -13,3 +16,8 @@ class LinkTracker(models.Model): 'url': '%s+' % (self.short_url), 'target': 'new', } + + def _compute_short_url_host(self): + for tracker in self: + base_url = self.env['website'].get_current_website().get_base_url() + tracker.short_url_host = urls.url_join(base_url, '/r/')