asxpio/lib
Sergei Poljanski 8471570187
admin: per-area permissions on every route
Give each user independent read, write and delete flags per area
(invoices, bingo, users), so someone can e.g. review and remove bingo
incidents without being able to add any. The request method and path
decide the flag needed: GET is read except the new/duplicate forms, POST
to .../delete is delete, any other POST is write. Unmapped admin paths
are superuser-only, and a test enumerates every registered admin route
so a new one cannot ship without a rule.

Pages follow the same flags: nav and dashboard tiles show readable areas
only, write forms and delete buttons are hidden, and the datacenter form
is shown read-only.

Assisted-by: Claude:opus-5
2026-10-10 08:27:37 +04:00
..
admin_acl.rb admin: per-area permissions on every route 2026-10-10 08:27:37 +04:00
admin_auth.rb admin: per-area permissions on every route 2026-10-10 08:27:37 +04:00
bingo.rb bingo: planned status and capacity type 2026-10-10 06:59:04 +04:00
bingo_admin.rb bingo: planned status and capacity type 2026-10-10 06:59:04 +04:00
crypto_asset.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
crypto_qr.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
crypto_rate.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
db.rb db: connection helper and invoices migration 2026-05-26 17:43:18 +03:00
fmt.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
gel_rate.rb nbg and auto fill GEL exchange rate 2026-06-08 19:29:25 +03:00
invoice.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
invoice_pdf.rb invoices: em-dash cleanup in admin form and PDF copy 2026-07-16 20:01:26 +04:00
mailer.rb useful icon and links 2026-05-05 00:57:11 +04:00
rate_limit.rb rate limit: prune stale keys so @hits cannot grow unbounded 2026-07-02 17:31:19 +04:00
s3.rb bingo: fix photo rebuild on UTF-8 tagged S3 bodies 2026-10-10 06:32:06 +04:00
user.rb admin: user accounts and session login 2026-10-10 08:25:46 +04:00