From b997684b062bb1010c52f4af49f72f2be570e392 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Thu, 13 Feb 2020 13:45:15 +0000 Subject: [PATCH] [IMP] website, website_*: improvement of 7dd70438e1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * website_blog, website_event_track, website_forum, website_mail_channel 7dd70438e1ec was introduced in stable as a fix, which obviously had some stable policy preventing some changes. This commit improves that commit in master. task-2119086 closes odoo/odoo#45622 Signed-off-by: Jérémy Kersten (jke) --- addons/website/models/ir_http.py | 6 ++++-- addons/website/models/website.py | 6 ++---- addons/website_blog/controllers/main.py | 2 +- addons/website_event_track/controllers/main.py | 2 +- addons/website_forum/controllers/main.py | 2 +- addons/website_mail_channel/controllers/main.py | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index b67bacf8da9..ca734f1afe7 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -383,5 +383,7 @@ class ModelConverter(ModelConverter): domain = safe_eval(self.domain, (args or {}).copy()) if dom: domain += dom - for record in Model.search_read(domain, ['display_name']): - yield {'loc': (record['id'], record['display_name'])} + for record in Model.search(domain): + # return record so URL will be the real endpoint URL as the record will go through `slug()` + # the same way as endpoint URL is retrieved during dispatch (301 redirect), see `to_url()` from ModelConverter + yield record diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 789b43708d4..54e4c8f6214 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -780,11 +780,9 @@ class Website(models.Model): if query == FALSE_DOMAIN: continue - for value_dict in converter.generate(uid=self.env.uid, dom=query, args=val): + for rec in converter.generate(uid=self.env.uid, dom=query, args=val): newval.append(val.copy()) - value_dict[name] = value_dict['loc'] - del value_dict['loc'] - newval[-1].update(value_dict) + newval[-1].update({name: rec}) values = newval for value in values: diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index ee6b17ba303..ec804c255c2 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -182,7 +182,7 @@ class WebsiteBlog(http.Controller): return r @http.route([ - '''/blog//post//post//track//track//question//question/////