From e836b6b4da7654ddaf31514edb54361bac973b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roc=C3=ADo=20Vega?= Date: Thu, 4 Jul 2024 11:25:55 -0300 Subject: [PATCH] [FIX] web_favicon: Ensure web favicon is displayed on the website --- web_favicon/models/res_company.py | 3 +++ web_favicon/tests/test_web_favicon.py | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/web_favicon/models/res_company.py b/web_favicon/models/res_company.py index 3035adf72..5712d6b09 100644 --- a/web_favicon/models/res_company.py +++ b/web_favicon/models/res_company.py @@ -68,6 +68,9 @@ class ResCompany(models.Model): @api.model def _get_favicon(self): """Returns a local url that points to the image field of a given record.""" + if self.env.context.get("website_id"): + website = self.env["website"].browse(self.env.context.get("website_id")) + return website.image_url(website, "favicon") company_id = ( request.httprequest.cookies.get("cids") if request.httprequest.cookies.get("cids") diff --git a/web_favicon/tests/test_web_favicon.py b/web_favicon/tests/test_web_favicon.py index e5e42d187..5fbb493b3 100644 --- a/web_favicon/tests/test_web_favicon.py +++ b/web_favicon/tests/test_web_favicon.py @@ -46,3 +46,29 @@ class TestWebFavicon(TransactionCase): Company = self.env["res.company"] company = Company.create({"name": "Test Company"}) self.assertTrue(company.favicon, "Default favicon not set on company creation.") + + def test_03_website_favicon(self): + """Test if favicon URL is correctly returned when website_id is in context.""" + if self.env["ir.module.module"].search( + [("name", "=", "website"), ("state", "=", "installed")] + ): + company = self.env["res.company"].create( + { + "name": "Test Company with Website", + } + ) + website = self.env["website"].create( + { + "name": "Test Website", + "domain": "www.test.com", + "company_id": company.id, + } + ) + website.favicon = website._default_favicon() + favicon_url = company.with_context(website_id=website.id)._get_favicon() + expected_favicon_url = website.image_url(website, "favicon") + self.assertEqual( + favicon_url, + expected_favicon_url, + "The favicon URL should match the expected value.", + )