oca-ocb-core/odoo-bringout-oca-ocb-iot_drivers/iot_drivers/tools/route.py
Ernad Husremovic aee3ee8bf7 add missing payment providers and iot modules for 19.0
Add 19 payment provider modules needed by the sale module:
payment_adyen, payment_aps, payment_asiapay, payment_authorize,
payment_buckaroo, payment_demo, payment_dpo, payment_flutterwave,
payment_iyzico, payment_mercado_pago, payment_mollie, payment_nuvei,
payment_paymob, payment_paypal, payment_razorpay, payment_redsys,
payment_stripe, payment_worldline, payment_xendit

Add 3 IoT modules needed for point_of_sale:
iot_base, iot_box_image, iot_drivers

Note: Stripe test API keys replaced with placeholders.

🤖 assisted by claude
2026-03-09 15:45:22 +01:00

31 lines
943 B
Python

import logging
from odoo.addons.iot_drivers.tools.system import IS_RPI
from odoo import http
_logger = logging.getLogger(__name__)
def iot_route(route=None, linux_only=False, **kwargs):
"""A wrapper for the http.route function that sets useful defaults for IoT:
- ``auth = 'none'``
- ``save_session = False``
Both auth and sessions are useless on IoT since we have no DB and no users.
:param route: The route to be decorated.
:param linux_only: If ``True``, the route will be forbidden for virtual IoT Boxes.
"""
if 'auth' not in kwargs:
kwargs['auth'] = 'none'
if 'save_session' not in kwargs:
kwargs['save_session'] = False
http_decorator = http.route(route, **kwargs)
def decorator(endpoint):
if linux_only and not IS_RPI:
return None # Remove the route if not Linux (will return 404)
return http_decorator(endpoint)
return decorator