asxpio/public
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
..
fonts styles: design tokens and self-hosted IBM Plex fonts 2026-07-16 20:01:25 +04:00
admin-invoice-form.js invoices: multi-crypto payment support 2026-07-03 02:01:57 +04:00
apple-touch-icon.png assets: OG card and logo-derived favicons 2026-07-16 20:01:25 +04:00
copy.js site: multi-page structure with shared nav; rework services, keys, contact 2026-07-16 20:01:26 +04:00
favicon-32.png assets: OG card and logo-derived favicons 2026-07-16 20:01:25 +04:00
hedgehog.png ruby rework with contact form 2026-05-05 00:45:27 +04:00
id_ed25519.pub ruby rework with contact form 2026-05-05 00:45:27 +04:00
logo.png logo in pdf 2026-06-08 18:15:23 +03:00
logo.svg main page: SP -> Logo 2026-06-09 02:22:28 +03:00
og-card.png assets: OG card and logo-derived favicons 2026-07-16 20:01:25 +04:00
pgp.pub ruby rework with contact form 2026-05-05 00:45:27 +04:00
robots.txt SEO optimization 2026-05-05 01:13:59 +04:00
sitemap.xml site: multi-page structure with shared nav; rework services, keys, contact 2026-07-16 20:01:26 +04:00
style.css invoices: cancel with stamped PDF, superuser-only hiding 2026-10-10 08:35:01 +04:00