Documentation Index
Fetch the complete documentation index at: https://docs.laportenard.com/llms.txt
Use this file to discover all available pages before exploring further.
Module structure
The backend is a single consolidated Odoo 12 addon:| Module | Depends on | Purpose |
|---|---|---|
nu_restaurant_pos | point_of_sale, pos_restaurant, dgii_pos, dgii_encf | Core POS API, models, voids, side dishes, discounts, printing, presentations, special requests |
API gateway
All endpoints live under/pos-api/v1/* in controllers/api_v1.py. The gateway handles:
- JWT Bearer token validation
- CORS headers
- Request routing to legacy controller methods
The legacy controller methods in
api.py, api_orders.py, etc. have no routes of their own — they are called by api_v1.py.Extending bootstrap data
To add data to the bootstrap payload, extend thepos.config model:
Upgrading modules
Migrations
Version-specific migration scripts go inmigrations/<version>/pre-migrate.py or post-migrate.py. The <version> must match the new version in __manifest__.py.
Permissions
The permission system has three layers resolved in order:- Factory defaults —
permission_registry.pyPERMISSION_DEFAULTS - Per-config role overrides —
nu.pos.permission.configmodel - Per-user grant/deny —
nu.pos.permission.user.overridemodel
Adding a new permission
- Add the key and default to
PERMISSION_DEFAULTSinpermission_registry.py - Mirror the same key and default in
permissions.tson the frontend - Both files must stay in sync