From 19c0c5e24ce4148abec87c8fa895e7b0ca7d07e2 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Wed, 14 Aug 2019 10:07:07 +0200 Subject: [PATCH] [FIX] website: Fix some pages URLs Links starting with `/page/website.` will no longer work. Remove the `website.` prefix. Also `/page/homepage` and `/page/contactus` have changed their controllers, so I added some 301 redirections to handle those cases. --- .../migrations/11.0.1.0/post-migration.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/addons/website/migrations/11.0.1.0/post-migration.py b/addons/website/migrations/11.0.1.0/post-migration.py index 1d776d9dc321..89fc773be2f6 100644 --- a/addons/website/migrations/11.0.1.0/post-migration.py +++ b/addons/website/migrations/11.0.1.0/post-migration.py @@ -51,6 +51,20 @@ def link_websites_with_pages(env): ) +def add_redirections(env): + """Redirect controllers that have been moved.""" + redirections = ( + ("/page/contactus", "/contactus"), + ("/page/homepage", "/"), + ) + for from_, to in redirections: + env["website.redirect"].create({ + "type": "301", + "url_from": from_, + "url_to": to, + }) + + def add_website_homepages(env): # Add homepage for websites openupgrade.logged_query( @@ -68,6 +82,16 @@ def add_website_homepages(env): ) +def update_menu_urls(env): + """Update some menu URLs that must change.""" + # Fix menus that include the "website." prefix + menus = env["website.menu"].search([ + ("url", "=like", "/page/website.%"), + ]) + for menu in menus: + menu.url = menu.url.replace("website.", "", 1) + + def delete_noupdate_records(env): """Clean data for website.menu_website deleted from noupdate data.""" env.ref('website.menu_website').unlink() @@ -127,10 +151,12 @@ def update_social_media(env): def migrate(env, version): fill_website_pages(env) link_websites_with_pages(env) + add_redirections(env) add_website_homepages(env) delete_noupdate_records(env) update_social_media(env) import_website_seo_redirection_data(env) + update_menu_urls(env) openupgrade.load_data( env.cr, 'website', 'migrations/11.0.1.0/noupdate_changes.xml', )