[FIX] website_blog: redirect /blog/x/post/y simplify

Don't try to keep extra params and co. Keep it simple...

Else we should pop from request.params `blog` and `post` keys because
now they are converted as query param with the slug format:

/blog/name-1/post-1?blog=blog.blog(1,)&question=blog.post(1,)

closes odoo/odoo#156990

X-original-commit: 5b1eacba2e09687d627988c53910110bfb63ed1d
Signed-off-by: Jérémy Kersten <jke@odoo.com>
This commit is contained in:
Jeremy Kersten
2024-03-08 16:50:33 +00:00
parent 03ced6a5c4
commit 5f454dc140
+3 -5
View File
@@ -10,9 +10,7 @@ from collections import defaultdict
from odoo import http, fields, tools, models
from odoo.addons.http_routing.models.ir_http import slug, unslug
from odoo.addons.website.controllers.main import QueryURL
from odoo.addons.portal.controllers.portal import _build_url_w_params
from odoo.http import request
from odoo.osv import expression
from odoo.tools import html2plaintext
from odoo.tools.misc import get_lang
from odoo.tools import sql
@@ -228,11 +226,11 @@ class WebsiteBlog(http.Controller):
return r
@http.route([
'''/blog/<model("blog.blog"):blog>/post/<model("blog.post", "[('blog_id','=',blog.id)]"):blog_post>''',
'''/blog/<model("blog.blog"):blog>/post/<model("blog.post"):blog_post>''',
], type='http', auth="public", website=True, sitemap=False)
def old_blog_post(self, blog, blog_post, tag_id=None, page=1, enable_editor=None, **post):
def old_blog_post(self, blog, blog_post, **post):
# Compatibility pre-v14
return request.redirect(_build_url_w_params("/blog/%s/%s" % (slug(blog), slug(blog_post)), request.params), code=301)
return request.redirect("/blog/%s/%s" % (slug(blog), slug(blog_post)), code=301)
@http.route([
'''/blog/<model("blog.blog"):blog>/<model("blog.post", "[('blog_id','=',blog.id)]"):blog_post>''',