arthur.bassi
d52df52de6
fix(vendors): restore blank-tech filter and deactivation gate
...
Omit empty new technician rows on save and route Active to Inactive through VendorDeactivationDialog, blocking sparse isActive:false updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:08:01 -03:00
arthur.bassi
55449a9e31
merge(work-orders): sync with platform-polish tip
2026-08-10 19:07:45 -03:00
arthur.bassi
c8a8522499
fix(work-orders): send wizard status and clear POC notes on site change
...
Map draft.status to lifecycleStatus on board create, and reset pocNotes with POC fields when the wizard site changes.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 19:06:35 -03:00
arthur.bassi
d44cda05d9
merge(work-orders): sync platform-polish with wizard-board-create tip
2026-08-10 19:04:28 -03:00
arthur.bassi
150eb86bf1
merge(work-orders): sync wizard-board-create with slide-over-media tip
2026-08-10 18:58:06 -03:00
arthur.bassi
a05e768115
fix(work-orders): address Bugbot findings on slide-over and vendor roster
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 18:35:28 -03:00
Arthur Bassi
c850be2aeb
fix(work-orders): compare completion labels via string helper
...
[recover] remove malicious eslint payload (was 19dfa0f9 )
2026-08-10 17:12:14 -03:00
Arthur Bassi
6fe1cd0f27
fix(work-orders): remove legacy completedDate EditWorkorder path
...
[recover] remove malicious eslint payload (was f4e6132b )
2026-08-10 17:12:14 -03:00
Arthur Bassi
2ed770bc79
fix(work-orders): separate Unscheduled header collapse and Add WO controls
...
[recover] remove malicious eslint payload (was ccec7322 )
2026-08-10 17:12:13 -03:00
Arthur Bassi
2eb5359d82
fix(work-orders): address wizard create review findings
...
[recover] remove malicious eslint payload (was 166c63e4)
2026-08-10 17:12:13 -03:00
Arthur Bassi
d72be8c505
fix(work-orders): use local calendar day for slide-over completedDate
...
[recover] remove malicious eslint payload (was 6a278c01 )
2026-08-10 17:12:13 -03:00
Arthur Bassi
cfb0e7ea45
fix(work-orders): persist additionalContacts on create and board PATCH [SH-218]
...
[recover] remove malicious eslint payload (was 3f372257 )
2026-08-10 17:12:11 -03:00
Arthur Bassi
0ce63b9740
test(work-orders): cover completed date board read mapping
...
[recover] remove malicious eslint payload (was 0548bbb4 )
2026-08-10 17:12:11 -03:00
Arthur Bassi
31c5559d23
fix(work-orders): clear uplift form state only after successful mutations
...
[recover] remove malicious eslint payload (was 380188af )
2026-08-10 17:12:10 -03:00
Arthur Bassi
ebc2e9a1e5
fix(work-orders): extract inline dialog state and enable Schedule On clear
...
[recover] remove malicious eslint payload (was 552c2daf )
2026-08-10 17:12:09 -03:00
Alexandre Brandizzi
4d2ee40d60
feat(vendor-portal): complete request lifecycle (SH-98)
2026-08-10 13:16:26 -03:00
arthur.bassi
bfc230d421
fix(work-orders): harden CompDoc generate seed persist and blob revoke
2026-08-05 10:54:33 -03:00
arthur.bassi
7ea0d2c464
fix(work-orders): refresh CompDoc on Generate failure and drop EditWorkorder date helper
...
Invalidate board/location queries when Save Draft or Generate fails so partial
prerequisite writes stay authoritative, and remove the unused CompDoc
mapCompletedDateUpdateFormData EditWorkorder helper.
2026-08-04 16:27:59 -03:00
Alexandre Brandizzi
0027ecc41f
Merge remote-tracking branch 'origin/dev' into feature/wo-detail-comp-doc
2026-08-04 10:30:37 -03:00
Alexandre Brandizzi
ca7829036f
feat(vendors): add company roster workflows (SH-198) ( #64 )
...
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* feat(vendors): support company roster workflows
* fix(vendors): address roster review feedback
* test(vendors): preserve draft on roster load failure
* fix(vendors): preserve current roster selection
2026-08-04 09:53:48 -03:00
Alexandre Brandizzi
4b88a60751
fix(vendors): remove preferred contact and fix trade ordering ( #63 )
...
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): address SH-180 and SH-182
* refactor(vendors): satisfy maintainability gates
2026-08-03 17:53:39 -03:00
Alexandre Brandizzi
509b3c3212
fix(work-orders): persist completedDate via board and media sh-116
...
leave EditWorkorder for completedDate; await mutations before draft saved
toast; upload-then-categorize with MIME allowlist, progress, cancel, retry.
2026-07-31 12:24:31 -03:00
Arthur Bassi
96f3daf20c
fix(work-orders): persist completedDate without legacy GetWorkorderById
...
Save Draft failed on GetWorkorderById (HTTP 400) before EditWorkorder.
Post only Id + CompletedDate and cover the EditWorkorder route contract.
2026-07-31 09:43:23 -03:00
Arthur Bassi
b2d44944ab
fix(work-orders): resolve CompDoc/dev merge type and maintainability issues
2026-07-30 11:09:05 -03:00
Arthur Bassi
e3aa69e577
chore(work-orders): sync feature/wo-detail-comp-doc with current dev
2026-07-30 10:59:22 -03:00
Arthur Bassi
e5300da9fb
chore(work-orders): sync feature/wo-board-api with current dev
2026-07-30 09:05:33 -03:00
Arthur Bassi
3004d039aa
fix(work-orders): address SH-116 CompDoc review blockers
...
Gate CompDoc on selected service, use real pm titles only,
make Address editable via location update, and wire media
to the board API with categories instead of blob state.
2026-07-30 09:04:03 -03:00
Arthur Bassi
2d64c34898
fix(work-orders): extract docStatus mapper for governance ratchet
...
Keep work-order-mapper under the frozen line cap and cap addDispatchSignoff params.
2026-07-29 09:31:15 -03:00
Arthur Bassi
188499155e
fix(work-orders): persist docStatus via board PATCH with NotNeeded mapping
...
Map API NotNeeded to UI NN on read. Emit board PATCH Yes|No|NotNeeded on
write, and keep DocStatus off the EditWorkorder payload.
2026-07-29 09:23:34 -03:00
Alexandre Brandizzi
bcf63dffad
refactor(vendors): satisfy maintainability gates
2026-07-28 17:27:34 -03:00
Alexandre Brandizzi
4fe9319d7a
fix(vendors): support sparse updates on current target
2026-07-28 17:20:07 -03:00
Alexandre Brandizzi
95cbfff301
fix(vendors): allow sparse reactivation updates
2026-07-28 17:16:07 -03:00
Arthur Bassi
b7056f569e
fix(work-orders): persist completion doc fields without race
...
Map docStatus through the real update payload, serialize concurrent
table patches per work order, and split CompDoc UI for governance.
2026-07-28 12:49:51 -03:00
Arthur Bassi
6e99dc0af2
refactor(work-orders): pass board-api governance maintainability gate
...
Split oversized API/mapper/UI modules and extract focused helpers so the
exact head satisfies godfile and complexity ratchets without relaxing thresholds.
2026-07-28 09:56:27 -03:00
Arthur Bassi
e1ea198319
fix(work-orders): make board-api head build in isolation
...
Include wizard-service-notes-fields in this slice, keep ApiError export,
and align JSX/boolean lint plus save-id wiring after rebase onto dev.
2026-07-27 10:59:28 -03:00
Alexandre Brandizzi
dffa30f27a
style(locations): format site query mapping
2026-07-27 10:27:13 -03:00
Arthur Bassi
01d1795b66
fix(work-orders): add contactName to restored wizard vendor mocks
2026-07-27 10:27:12 -03:00
Arthur Bassi
6c4197dba7
fix(work-orders): restore wizard mock modules for base consumers
2026-07-27 10:27:12 -03:00
Arthur Bassi
8ae54a6173
fix(work-orders): use overdue=true and harden board patch overlays
2026-07-27 10:26:35 -03:00
Arthur Bassi
3ea136ce3c
feat(work-orders): integrate board list, search and field patch API
2026-07-27 10:19:34 -03:00
Arthur Bassi
725efd2703
feat(work-orders): slim completion-doc UI onto current dev
...
Keep SH-116 CompDocDialog wiring and completedDate board contract.
Drop slide-over ownership (SH-112) so it stays in PR #32 .
2026-07-27 09:47:46 -03:00
Alexandre Brandizzi
45909e7aa6
Complete vendor operations roadmap frontend ( #52 )
...
* feat(vendors): complete operations roadmap frontend
* test(vendors): cover work order assignment flow
* fix(vendors): address review feedback
* fix(vendors): prevent stale preference saves
* fix(vendors): require truthful appointment bounds
2026-07-24 18:10:45 -03:00
Alexandre Brandizzi
ed12f59255
chore(work-orders): merge origin/dev into table-core branch
...
Integrate origin/dev (vendor module + maintainability conventions) after PR #39 .
- Resolve src/app/(protected)/workorders/index.tsx conflict by keeping the
PR #40 table rewrite (WoTable + WorkOrdersFilterBar); dev's only change to
this file was a {Boolean(error)} lint fix on legacy filter UI that the
rewrite already removed.
- work-order-mapper.ts auto-merged cleanly.
- Conform PR #40 table-core code to dev's new maintainability lint rules
(seahaven/no-non-boolean-jsx-and, shared Text component for raw p/h
elements, logical-AND for one-sided conditionals) using narrowing-preserving
guards (!= null) where values flow into typed props, preserving behavior.
Validation (Node v24.14.0 / npm 11.9.0): npm ci, format:check, lint, build,
test (156/156) all green.
2026-07-24 14:04:15 -03:00
Alexandre Brandizzi
6ca45bc0ae
fix(vendors): preserve phone data across edits
2026-07-23 19:17:14 -03:00
Alexandre Brandizzi
922d6c9a57
feat(vendors): edit assigned vendor from work order
2026-07-23 17:44:53 -03:00
Alexandre Brandizzi
bbbb51aed5
feat(vendors): complete core vendor workflows
2026-07-23 17:36:21 -03:00
Alexandre Brandizzi
20237f8142
feat(vendors): align directory UI with current prototype ( #46 )
...
CI / ci (push) Waiting to run
Deploy / deploy (push) Waiting to run
* feat(vendors): align directory UI with prototype
* fix(vendors): report the filtered total
* fix(vendors): keep company input in sync
* fix(vendors): scope facets to directory status
2026-07-23 15:23:03 -03:00
Arthur Bassi
0709bd1172
fix(work-orders): include table cells so board-core slice builds
...
Bring cell modules and minimal wizard helpers into table-core for a self-contained slice build.
2026-07-23 13:49:53 -03:00
Arthur Bassi
df8f3553e8
feat(work-orders): add board utils and mock data
2026-07-17 13:59:31 -03:00
Arthur Bassi
e13bc4c1a2
feat(work-orders): add domain core types, api, mappers and use-cases
2026-07-17 13:58:19 -03:00