[ADD] website_sale_disable_cart: extract cart restriction from website_sale_aplicoop
The "shop as a read-only catalog" behaviour lived inside website_sale_aplicoop, so every site that wanted the eskaera flow also lost the standard cart. It now ships as its own installable addon, with the redirect target configurable instead of hardcoded to /eskaera. - website_sale_disable_cart: hides the cart UI (12 header styles + the product card quick-add) and overrides the standard cart endpoints. Redirect URL is configurable in Website settings (default /shop); only site-internal paths are accepted, so a misconfigured value cannot turn the shop into an open redirect nor loop back into a disabled route. - Fixes carried over from the original code: /shop/cart/quantity is the Odoo 18 path (it was /shop/cart_quantity, which never matched), the boxed, sidebar and sales two/three/four headers were not covered (the cart link stayed visible on them), and the routes now override the standard methods instead of registering duplicate ones. - website_sale_aplicoop 18.0.1.12.0: drops the view file and the four redirect routes; installing it no longer touches the standard shop. Upgrade order matters: update website_sale_aplicoop first, then install website_sale_disable_cart in a second Odoo run — both use the same XPaths and obsolete records are only cleaned up at the end of a run. Tests: 8/8 in website_sale_disable_cart, aplicoop unaffected (its 2 failures predate this change). Verified live on a DB clone: /shop/cart returns 303 to the configured URL and no cart markup remains on /shop. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
73660ee226
commit
f2194c5367
28 changed files with 733 additions and 91 deletions
52
website_sale_disable_cart/i18n/es.po
Normal file
52
website_sale_disable_cart/i18n/es.po
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * website_sale_disable_cart
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: es_ES\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Cart Redirect URL"
|
||||
msgstr "URL de redirección del carrito"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model,name:website_sale_disable_cart.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Ajustes de configuración"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Disabled Cart"
|
||||
msgstr "Carrito desactivado"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,field_description:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid "Disabled Cart Redirect URL"
|
||||
msgstr "URL de redirección del carrito desactivado"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,help:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid ""
|
||||
"Internal path visitors are sent to when they reach a standard cart URL. Must "
|
||||
"start with '/' and must not point back to /shop/cart; otherwise '/shop' is "
|
||||
"used."
|
||||
msgstr ""
|
||||
"Ruta interna a la que se envía a las personas visitantes cuando llegan a una "
|
||||
"URL estándar del carrito. Debe empezar por '/' y no puede apuntar de nuevo a "
|
||||
"/shop/cart; en caso contrario se usa '/shop'."
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Internal path visitors land on when they reach a standard cart URL"
|
||||
msgstr ""
|
||||
"Ruta interna a la que se llega al entrar en una URL estándar del carrito"
|
||||
52
website_sale_disable_cart/i18n/eu.po
Normal file
52
website_sale_disable_cart/i18n/eu.po
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * website_sale_disable_cart
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Cart Redirect URL"
|
||||
msgstr "Saskiaren birbideratze URLa"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model,name:website_sale_disable_cart.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfigurazio ezarpenak"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Disabled Cart"
|
||||
msgstr "Saskia desgaituta"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,field_description:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid "Disabled Cart Redirect URL"
|
||||
msgstr "Desgaitutako saskiaren birbideratze URLa"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,help:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid ""
|
||||
"Internal path visitors are sent to when they reach a standard cart URL. Must "
|
||||
"start with '/' and must not point back to /shop/cart; otherwise '/shop' is "
|
||||
"used."
|
||||
msgstr ""
|
||||
"Bisitariak saskiaren URL estandar batera iristean bidaltzen zaien barne "
|
||||
"bidea. '/' karakterearekin hasi behar da eta ezin du /shop/cart-era itzuli; "
|
||||
"bestela '/shop' erabiltzen da."
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Internal path visitors land on when they reach a standard cart URL"
|
||||
msgstr ""
|
||||
"Saskiaren URL estandar batera iristean bisitariak iristen diren barne bidea"
|
||||
47
website_sale_disable_cart/i18n/website_sale_disable_cart.pot
Normal file
47
website_sale_disable_cart/i18n/website_sale_disable_cart.pot
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * website_sale_disable_cart
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Cart Redirect URL"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model,name:website_sale_disable_cart.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Disabled Cart"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,field_description:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid "Disabled Cart Redirect URL"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model:ir.model.fields,help:website_sale_disable_cart.field_res_config_settings__disabled_cart_redirect_url
|
||||
msgid ""
|
||||
"Internal path visitors are sent to when they reach a standard cart URL. Must "
|
||||
"start with '/' and must not point back to /shop/cart; otherwise '/shop' is "
|
||||
"used."
|
||||
msgstr ""
|
||||
|
||||
#. module: website_sale_disable_cart
|
||||
#: model_terms:ir.ui.view,arch_db:website_sale_disable_cart.res_config_settings_view_form
|
||||
msgid "Internal path visitors land on when they reach a standard cart URL"
|
||||
msgstr ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue