pelagia-portal/App/app/(portal)
Claude (auto-fix) 4dc10b834c
All checks were successful
PR checks / checks (pull_request) Successful in 52s
PR checks / integration (pull_request) Successful in 30s
feat(po): add Duplicate PO button to prefill a new PO
Anyone with create_po browsing a PO now sees a Duplicate action that
opens the New Purchase Order form prefilled from the source PO. Like the
existing cart→new-PO prefill, nothing is written until the user saves or
submits — a duplicate is just a clean draft of the editable order fields.

- po-detail.tsx: Duplicate link in the header, gated by
  hasPermission(currentRole, "create_po") + !readOnly, linking to
  /po/new?duplicate=<id>.
- po/new/page.tsx: when ?duplicate=<id> is present, fetch the source PO
  and map it onto the form's initial props via the new pure helper.
- new-po-form.tsx: accept initial-value props for title, accounting code
  (+ per-item toggle), project code, place of delivery, date required,
  quotation/requisition refs, terms — following the existing prop pattern.
- lib/duplicate-po.ts: pure, unit-tested mapping (Decimals→numbers, dates
  →yyyy-MM-dd, saved-terms snapshot with legacy tc* fallback). Attachments,
  status/dates, payment data and audit history are intentionally not copied.

Fixes #142

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 00:40:36 +05:30
..
admin refactor(po): admin-managed Project Codes instead of a static list 2026-06-26 02:52:03 +05:30
approvals refactor(po): admin-managed Project Codes instead of a static list 2026-06-26 02:52:03 +05:30
catalogue refactor(routes): move /inventory/{items,vendors} → /catalogue/{items,vendors} 2026-06-24 05:04:29 +05:30
crewing fix(crewing): make rank-held universal, ex-hand an admin-only flag 2026-06-23 21:33:50 +05:30
dashboard feat(dashboard): compact INR formatting for Total Approved Spend card 2026-06-21 02:02:41 +05:30
history feat(history): remove Approved From/To search fields 2026-06-26 03:23:08 +05:30
inventory/cart refactor(routes): move /inventory/{items,vendors} → /catalogue/{items,vendors} 2026-06-24 05:04:29 +05:30
my-orders fix(my-orders): correct closed PO filters for manager and submitter 2026-06-19 03:34:21 +05:30
payments feat(po): register line items in the product catalogue on approval 2026-06-24 04:59:47 +05:30
po feat(po): add Duplicate PO button to prefill a new PO 2026-06-28 00:40:36 +05:30
profile feat(crewing): foundations — SITE_STAFF role, ranks reference data + admin (flagged) 2026-06-22 13:26:04 +05:30
reports feat(reports): drill from cost centre / accounting code into PO History (#126) 2026-06-26 01:03:17 +05:30
layout.tsx chore: restructure repo — flatten App/pelagia-portal to App, rename Prototype→Wireframe and Spec→Design 2026-05-18 23:18:58 +05:30