This addon adds a web API on top of the sale.order model to ease the creation of sale orders from Web frontend. The API is designed to work with the shopinvader-js-cart library see (https://github.com/shopinvader/shopinvader-js-cart)
Table of contents
All the routes under the cart_router must be prefixed with /cart. This is not done in this addon to let the developper mount this router as a sub-app, allowing a specific authentification mechanism.
If mounting the router in the same app as other routers (because it doesn't need a specific authentification mechanism), just add a prefix:
def _get_app(self): app = super()._get_app() app.include_router(router=cart_router, prefix='/cart') return app
If you want a nested app, just do as follows:
def _get_app(self): app = super()._get_app() app.dependencies_overrides.update( self._get_app_dependencies_overrides() ) cart_app = FastAPI() cart_app.include_router(cart_router) # First copy dependencies overrides from the main app cart_app.dependencies_overrides.update( self._get_app_dependencies_overrides() ) # Then add / modify specific dependencies overrides cart_app.dependencies_overrides.update( self._get_cart_app_dependencies_overrides() ) app.mount("/cart", cart_app) return app
Misc
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- ACSONE SA/NV
- Laurent Mignon <[email protected]>
- Stéphane Bidoul <[email protected]>
- Marie Lejeune <[email protected]>
- Simone Orsi <[email protected]>
This module is part of the shopinvader/odoo-shopinvader project on GitHub.
You are welcome to contribute.