"""Backfill the URL slug of consumer group orders created before this version. Public pages moved from /eskaera/ to /eskaera/. Orders that already existed have no slug yet, so they would not be reachable until saved again. Generate one from their name, keeping it unique. """ import logging from odoo import SUPERUSER_ID from odoo import api _logger = logging.getLogger(__name__) def migrate(cr, version): if not version: return env = api.Environment(cr, SUPERUSER_ID, {}) orders = env["group.order"].search([("slug", "=", False)], order="id") for order in orders: order.slug = order._generate_unique_slug(order.name) if orders: _logger.info( "Generated URL slugs for %d consumer group orders: %s", len(orders), ", ".join(orders.mapped("slug")), )