asxpio/db/migrations
Sergei Poljanski eeac07ed34
invoices: cancel with stamped PDF, superuser-only hiding
An invoice issued by mistake could only be left pending or marked paid.
Add cancel (with an optional reason) and reinstate. Cancelling renders a
third PDF variant with a diagonal CANCELLED stamp and the date/reason,
and it becomes the current one, so the client's link and download show
the invoice as void. Cancelled wins over paid in the status, and marking
a cancelled invoice paid is refused.

Superusers can also hide an invoice: it disappears from the admin list,
dashboard and invoice pages for every other user, while the client's
public link keeps working.

Assisted-by: Claude:opus-5
2026-10-10 08:35:01 +04:00
..
001_invoices.rb db: connection helper and invoices migration 2026-05-26 17:43:18 +03:00
002_invoice_ltc.rb ltc payments 2026-06-08 18:43:01 +03:00
003_invoice_crypto.rb invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
004_bingo.rb bingo: serve datacenter bingo on bingo.asxp.io 2026-10-10 04:51:26 +04:00
005_bingo_photo_variants.rb bingo: SEO pass and resized photos 2026-10-10 06:26:03 +04:00
006_bingo_mw_type.rb bingo: planned status and capacity type 2026-10-10 06:59:04 +04:00
007_users.rb admin: user accounts and session login 2026-10-10 08:25:46 +04:00
008_user_tokens_audit.rb admin: user management, invites, password reset, audit log 2026-10-10 08:31:42 +04:00
009_invoice_cancel_hide.rb invoices: cancel with stamped PDF, superuser-only hiding 2026-10-10 08:35:01 +04:00