shoc-frontend-new/tmp/pr-descriptions/pr4-uplift-pending-close-gate.md

1.9 KiB
Raw Blame History

PR4 — Pending uplift close gate (+ SH-114 closability union)

Summary

Blocks marking a work order Completed (and future completion-document generation) when closability gaps remain — SH-114 field gates ∪ pending uplift (SH-188).

  • Unifies wo-closability.ts / getClosabilityGaps with hierarchy: fields → uplift pending → completion document / photos.
  • Field gates: dispatcher, technician, completed date, real WO# (non-SH), service; then PM/Overdue completion doc; Emergency/Reactive ≥1 photo.
  • Pending uplift via hasPendingUplift or upliftSummary.pendingCount.
  • Completed tooltip uses design copy when the only gap is pending uplift.
  • Maps optional completedDate on board rows for the Completed Date gate.

Jira

  • SH-188 — pending uplift close gate
  • Related: SH-114 — closability field matrix (pulled into this branch so sister merges do not wipe gates)

Comp Doc Generate

CompDocDialog is not mounted on dev yet. This PR exports canGenerateCompDoc(row) so the completion-doc slice can block generate/open with the same reason string. No UI wiring in this PR.

Out of scope

  • Full uplift CRUD (PR3)
  • Advanced filter facets for uplift
  • Scheduled-requires-date gate (design P1)
  • COL_HELP tooltips (P1)

Test plan

  • Row with all fields ok + hasPendingUplift: true — Completed disabled; design tooltip about pending uplift.
  • Row missing dispatcher / completed date — Completed disabled; Missing: … tooltip.
  • Row fully closable — Completed selectable.
  • canGenerateCompDoc blocked when gaps exist.
  • Board API completedDate / upliftSummary.pendingCount map through to the gate.

Base

Branch feature/wo-uplift-pending-close-gate from local dev. Merge before or instead of stacking raw SH-114 alone with an uplift-only closability overwrite.