No description
Find a file
Claude (auto-fix) fdc3ebdac9 fix(dashboard): count all POs approved this month, not just current MGR_APPROVED
The manager dashboard "Approved This Month" card only counted POs whose
current status is MGR_APPROVED, so approvals that had already moved on to
payment, delivery, or closure dropped out of the count. Managers could not
see what happened to the POs they approved this month.

- Count every PO whose `approvedAt` falls in the current month across all
  post-approval statuses (MGR_APPROVED → ... → CLOSED). `approvedAt` is set
  once at approval and persists, so it is the correct anchor.
- Introduce a shared `POST_APPROVAL_STATUSES` constant (includes the
  previously-omitted PARTIALLY_CLOSED). This also fixes Total Approved Spend
  and the vessel/monthly breakdowns, which were silently dropping
  partially-received POs.
- Make the card a link into /history with an approval-date filter applied
  (?approvedFrom=<startOfMonth>) so a click shows the full set with each PO's
  current status, as requested.
- Add `approvedFrom`/`approvedTo` filtering to the history page, its filter
  UI, and the reports export route so the deep-link and exports stay in sync.

Scope note: the count remains org-wide, consistent with every other card on
the manager dashboard.

Adds an integration test covering the moved-on case and the date window.

Fixes #32
2026-06-19 12:07:53 +05:30
.claude seed(prod): trim SITES to geocoded entries only; update admin email 2026-05-31 02:44:37 +05:30
.forgejo feat(automation): issue-to-deploy pipeline — Report Issue button, Claude watcher, tag-triggered deploy 2026-06-11 16:39:43 +05:30
App fix(dashboard): count all POs approved this month, not just current MGR_APPROVED 2026-06-19 12:07:53 +05:30
automation feat(automation): lock staging to SSH tunnel + dev banner + desktop shortcut 2026-06-19 11:59:25 +05:30
Docs docs: consolidate design notes and test report 2026-05-22 17:15:38 +05:30
GstService fix: preserve tracked request typing 2026-05-22 17:39:26 +05:30
Progress chore{perm}: Allow managers to confirm receipt 2026-06-15 11:49:14 +05:30
static fix(static): prevent mobile layout overflow 2026-05-22 18:11:31 +05:30
Wireframe mockup(Reports): add graphs for reporting as mockup 2026-06-11 16:04:06 +05:30
.gitattributes feat(automation): port issue watcher to bash for pms1 (cron, 24/7) 2026-06-19 04:32:06 +05:30
.gitignore feat(automation): issue-to-deploy pipeline — Report Issue button, Claude watcher, tag-triggered deploy 2026-06-11 16:39:43 +05:30
CHANGELOG.md docs: add CHANGELOG.md documenting the automated issue-to-deploy pipeline 2026-06-11 16:41:52 +05:30
generate_po.py chore(inventory): remove item detail page; move SiteSelect to shared components 2026-05-16 00:07:04 +05:30
inspect_po.py chore(inventory): remove item detail page; move SiteSelect to shared components 2026-05-16 00:07:04 +05:30
test-report-2026-05-17.md docs: consolidate design notes and test report 2026-05-22 17:15:38 +05:30