meal-order-manager/functions
Adam Moussa 10d135e32e
Some checks are pending
Deploy / deploy (push) Waiting to run
Add weekly summary PDF and admin order-list download (#16) (#17)
Generate a per-person weekly summary PDF at Thursday close and store it
alongside the CSV reports, plus a client-side admin download that rolls
orders up into item -> total quantity for bulk ordering.

- shared/pdf.py: build_weekly_summary_pdf() via fpdf2 (pure-Python,
  ARM64-safe; first non-boto3 layer dep). Per-person employee -> item ->
  quantity, no pricing.
- aggregate_orders: write reports/{week}/weekly-summary-{week}.pdf
  (application/pdf) and stamp weekly_summary_pdf_s3_key on the SUMMARY.
  No new IAM (existing S3CrudPolicy). No email/Slack delivery.
- generate_form.py: "Download order list" admin button aggregates the
  loaded week's orders into an item->qty CSV (no per-employee breakdown,
  no prices) via a Blob download. Works for open weeks too.
- Tests: tests/test_pdf.py; aggregate happy-path now asserts 3 S3
  uploads + the pdf key.
- README updated.
2026-06-01 18:49:58 -04:00
..
aggregate_orders Add weekly summary PDF and admin order-list download (#16) (#17) 2026-06-01 18:49:58 -04:00
close_form Add discount pricing, Google auth, and order hardening (#10) 2026-05-13 18:00:21 -04:00
email_report Fix ruff lint and format violations, update README (#5) 2026-05-12 19:31:27 -04:00
slack_notifier Add admin form bypass and send order summary to admin DMs (#15) 2026-05-22 12:24:21 -04:00
submit_order Add admin form bypass and send order summary to admin DMs (#15) 2026-05-22 12:24:21 -04:00
sync_roster Fix ruff lint and format violations, update README (#5) 2026-05-12 19:31:27 -04:00