addons-cm/website_sale_aplicoop/models
GitHub Copilot 23edee6154 [IMP] website_sale_aplicoop: readable slug in the group order URL
Group order pages were published under their database id (`/eskaera/1`), which
says nothing to the member opening the link. `group.order` gains a `slug` field
and the public pages move to `/eskaera/<slug>` (e.g. `/eskaera/escola-fructuos`).

The slug is generated from the order name on creation, is unique, and can be
edited under the name on the form; emptying it regenerates it from the current
name. Values that would make the order unreachable are rejected: a plain number
(the legacy numeric URLs win that match) and the static routes served under
`/eskaera/` (`labels`, `save-order`, `i18n`, ...).

`/eskaera/<id>` and `/eskaera/<id>/checkout` are kept as redirects to their slug
URL, so the links already shared with members keep working. The AJAX endpoints
(`load-page`, `save-order`, `confirm`, ...) stay numeric: they never show up in
the address bar. Consequently the frontend now reads the order id from the
`data-order-id` attribute only, as the URL no longer carries it.

The post-migration script fills the slug of the orders that already existed.

Renaming the `/eskaera` prefix itself (`/escolas` for a schools deployment)
needs no code: a *308 Redirect / Rewrite* rule per public route in Website >
Configuration > Redirects serves the pages on the new prefix, rewrites the
links in the templates and redirects the old URLs, per website. Documented in
`readme/CONFIGURE.rst`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 16:49:54 +02:00
..
__init__.py [IMP] website_sale_aplicoop: add sequence field to product.category for web ordering 2026-05-20 16:05:14 +02:00
group_order.py [IMP] website_sale_aplicoop: readable slug in the group order URL 2026-08-11 16:49:54 +02:00
group_order_slot.py [IMP] website_sale_aplicoop: mostrar franjas de recogida en formulario group.order 2026-05-20 17:06:38 +02:00
js_translations.py [IMP] website_sale_aplicoop: improve i18n label fallbacks and response parsing 2026-05-25 12:28:33 +02:00
product_category_extension.py [IMP] website_sale_aplicoop: add sequence field to product.category for web ordering 2026-05-20 16:05:14 +02:00
product_extension.py [IMP] website_sale_aplicoop: filter and cap stock using forecasted net qty 2026-06-12 18:18:40 +02:00
res_config_settings.py feat(website_sale_aplicoop): sistema de ribbons basado en stock 2026-02-25 19:48:39 +01:00
res_partner_extension.py [IMP] website_sale_aplicoop: propagate consumer_group_id directly from group_order 2026-03-06 13:49:13 +01:00
sale_order_extension.py lint: fix linter warnings (log exceptions, disable attribute-string-redundant, suppress C901 where necessary) 2026-05-20 16:05:14 +02:00
stock_picking_extension.py lint: fix linter warnings (log exceptions, disable attribute-string-redundant, suppress C901 where necessary) 2026-05-20 16:05:14 +02:00