diff --git a/README.md b/README.md index bbe00ba..34ab8ce 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,13 @@ uv run fastapi dev src/allmende_payment_system/app.py ``` A demo user will be created automatically. +### Configuration + +A preliminary config system exists and works via environment variables: + + * APS_READ_ONLY: If set, users can make no purchases + * APS_PRODUCTION_MODE: If set, demo functionality, like adding money to an account and the demo banner are removed. + ### Testing APS uses pytest. You can run the test suite with: diff --git a/src/allmende_payment_system/templates/order.html.jinja b/src/allmende_payment_system/templates/order.html.jinja index b46cd51..76ed7bb 100644 --- a/src/allmende_payment_system/templates/order.html.jinja +++ b/src/allmende_payment_system/templates/order.html.jinja @@ -82,7 +82,8 @@ {% elif user.accounts|length == 1 %} {% endif %} - + + {% if read_only_mode %}⚠️ Das System befindet sich im schreibgeschützen Modus. Derzeit sind keine Einkäufe möglich.{% endif %} diff --git a/src/allmende_payment_system/tools.py b/src/allmende_payment_system/tools.py index 23e040f..8f0b389 100644 --- a/src/allmende_payment_system/tools.py +++ b/src/allmende_payment_system/tools.py @@ -29,6 +29,7 @@ def get_jinja_renderer() -> Jinja2Templates: renderer.env.filters["timestamp_de"] = lambda x: x.strftime("%d.%m.%Y %H:%M") renderer.env.globals["production_mode"] = "APS_PRODUCTION_MODE" in os.environ + renderer.env.globals["read_only_mode"] = "APS_READ_ONLY" in os.environ return renderer