[ADD] website_sale_aplicoop: serve Eskaera per website
A co-op can run the plain shop on one website and the group orders on another, but routes are registered process-wide: every /eskaera page answered on every website of the database, and Odoo had already copied the Eskaera menu to all of them. `website.eskaera_enabled` decides which websites serve it, on by default so installing changes nothing. It reaches the settings screen through `website_id`, so it follows the website selector there. Where it is off the routes raise NotFound and the menu is hidden. The menu is hidden rather than deleted, by extending `_compute_visible`. That keeps the record and any manual rename or reordering, so switching the feature back on restores it as it was. Note that a JSON route reports the 404 inside the JSON-RPC payload and still answers HTTP 200; that is the transport, not a hole in the guard, and a test pins it so the next reader does not take it for one. The three remaining settings (lazy loading, products per page, low stock threshold) are still `config_parameter`, so they stay global to the database. Two websites share their values. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
817ff31d39
commit
5a2f5d120f
9 changed files with 313 additions and 0 deletions
|
|
@ -7,6 +7,13 @@ from odoo import models
|
|||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = "res.config.settings"
|
||||
|
||||
# Per website: a co-op can run the plain shop on one and Eskaera on
|
||||
# another. The settings below are still global to the database.
|
||||
eskaera_enabled = fields.Boolean(
|
||||
related="website_id.eskaera_enabled",
|
||||
readonly=False,
|
||||
)
|
||||
|
||||
eskaera_lazy_loading_enabled = fields.Boolean(
|
||||
string="Enable Lazy Loading",
|
||||
config_parameter="website_sale_aplicoop.lazy_loading_enabled",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue