Commit graph

79 commits

Author SHA1 Message Date
Arthur Bassi
7a30335ab8 feat(work-orders): add per-WO Aveta indicators and advanced filter
Dispatchers can flag Aveta on Service and Notes and filter those rows
without a site-level attribute.
2026-08-24 15:16:51 -03:00
Arthur Bassi
9a347a67fb test(work-orders): pin vendor PATCH producer row onto closability 2026-08-20 15:39:39 -03:00
Arthur Bassi
972e5913f3 fix(work-orders): treat vendor status overlay as local-only on board patch
Board PATCH persists vendorId only. primaryDispatchStatus is optimistic until
the producer returns a live dispatch after vendor save.
2026-08-20 14:47:04 -03:00
Arthur Bassi
4c9f8b7d81 fix(work-orders): treat vendor save as a live company assignment
Clear leftover primary dispatch status on vendor patch so Completed is not
blocked after a new company is chosen. Keep Jira keys out of source comments.
2026-08-20 14:17:20 -03:00
Arthur Bassi
f77428ab19 fix(work-orders): map only official primaryDispatchStatus (SH-183)
Drop undocumented board aliases so the Completed gate matches the backend DTO field.
2026-08-20 13:22:12 -03:00
Arthur Bassi
e9b00bab57 fix(work-orders): ignore inactive primary dispatch on board closability (SH-183)
Board Completed must not treat Cancelled/Canceled/Refused leftover vendorId as a live company assignment.
2026-08-20 10:52:43 -03:00
Arthur Bassi
afdf667364
Merge branch 'dev' into feature/wo-multi-poc-contacts 2026-08-19 10:29:18 -03:00
Arthur Bassi
a75b094564
Merge branch 'dev' into feature/wo-multi-poc-contacts 2026-08-19 09:32:29 -03:00
arthur.bassi
1485903898 merge(dev): resolve SH-114 closability conflicts with uplifts overlays 2026-08-19 09:28:05 -03:00
arthur.bassi
081d9b67c6 Merge remote-tracking branch 'origin/dev' into feature/wo-multi-poc-contacts
# Conflicts:
#	src/test/domain/work-orders/mappers/work-order-mapper.test.ts
2026-08-18 21:52:04 -03:00
arthur.bassi
fe86d46bec Merge remote-tracking branch 'origin/dev' into feature/wo-uplifts-column-and-tab
# Conflicts:
#	src/domain/work-orders/mappers/work-order-table-row-mapper.ts
#	src/domain/work-orders/types/work-order-table-row.ts
2026-08-18 21:42:53 -03:00
arthur.bassi
ce6e19ebaa Merge remote-tracking branch 'origin/dev' into feature/sh-114-wo-closability-gate
# Conflicts:
#	src/app/(protected)/workorders/_components/list/table/cells/status-cell.tsx
#	src/domain/work-orders/utils/wo-closability.ts
#	src/test/domain/work-orders/utils/wo-closability.test.ts
2026-08-18 21:18:49 -03:00
Alexandre Brandizzi
5ad13d38ca
Merge branch 'dev' into feature/sh-114-wo-closability-gate 2026-08-18 17:46:59 -03:00
arthur.bassi
a109a68f40 fix(work-orders): keep SH-188 tooltip when mixed with other gaps
Stop copying WO lifecycle status into uplift primaryStatus on flat board rows.
2026-08-18 17:28:14 -03:00
arthur.bassi
090130a2c0 chore(work-orders): merge origin/dev into uplifts PR
Keep upliftSummary fixtures and add isAddOn after the Add-On indicator landed on dev.
2026-08-18 13:24:21 -03:00
arthur.bassi
0c2ef6ac5e merge origin/dev into feature/wo-multi-poc-contacts
Use the extracted inline Schedule On cell from dev and keep additional-contacts fixtures complete.
2026-08-18 13:19:45 -03:00
arthur.bassi
bf1def809b chore(work-orders): merge origin/dev into SH-188 closability gate
Keep PastDueStatusCell extraction and SH-185 Schedule On copy from merged #102.
2026-08-18 12:01:23 -03:00
arthur.bassi
d93ae683c7 fix(work-orders): restore additionalContacts contract and name+phone extras (SH-218)
Document the backend #66 producer, drop incomplete extras from persist, and show the same required-field errors on POC 2+.
2026-08-18 10:03:14 -03:00
arthur.bassi
0d609124d1 fix(work-orders): omit extraServices on create and persist slide-over POCs (SH-218) 2026-08-17 14:12:25 -03:00
arthur.bassi
1e88c3d039 chore(work-orders): merge origin/dev and keep SH-218 additional POCs 2026-08-17 14:05:49 -03:00
arthur.bassi
aaba7ca2ea Merge remote-tracking branch 'origin/dev' into feature/wo-uplift-pending-close-gate 2026-08-17 13:50:22 -03:00
arthur.bassi
0941a1aa3f chore(work-orders): merge origin/dev and keep SH-196 uplift column 2026-08-17 13:28:52 -03:00
Arthur Bassi
4a95da32d2 chore(work-orders): merge origin/dev and keep SH-184 Add-On with severity gates 2026-08-17 09:36:07 -03:00
arthur.bassi
bc97f517f9 chore(work-orders): merge origin/dev and keep SH-114 closability gate 2026-08-17 09:09:43 -03:00
Arthur Bassi
b4cb9d0288
feat(work-orders): severity gates and wizard type/WO# parity (SH-192) (#106)
Some checks failed
CI / ci (push) Has been cancelled
CI / governance (push) Has been cancelled
CI / vendor-visual-regression (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* fix(work-orders): allow blank WO number in wizard create path

[recover] remove malicious eslint payload (was d0d08508)

* fix(work-orders): emit severity before type in board scalar PATCH ops

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(work-orders): drop vendor collateral from SH-192 lane

* fix(work-orders): add severity to unscheduled highlight fixture after dev merge

* refactor(work-orders): extract inline type/severity cell under function line cap

* fix(work-orders): add severity to comp-doc and media fixtures after dev merge

PR #45 introduced completion-doc, media and table-mutation fixtures that predate the required severity field, so the integrated head failed tsc. Fill severity on those row builders (null for PM, SEV 1 for the Emergency fixture) and type the mutation BASE_ROW instead of asserting it.

* test(work-orders): align merge fixes with severity field and WO# placeholder

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Arthur Bassi <bassi-arthurr@users.noreply.github.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-14 11:59:52 -03:00
Arthur Bassi
4af826a1e0
feat(work-orders): query broadcast, remove auth bypass, dispatch polish (#100)
* fix(work-orders): address wizard create review findings

[recover] remove malicious eslint payload (was 166c63e4)

* fix(work-orders): remove legacy completedDate EditWorkorder path

[recover] remove malicious eslint payload (was f4e6132b)

* fix(work-orders): use local calendar day for completedDate

Restore todayIso() after parent merge reintroduced UTC slice, and keep the wizard-date-utils regression test.

Co-authored-by: Cursor <cursoragent@cursor.com>

* 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>

* fix(query): scope broadcast channel per account and clear on auth

Isolate TanStack Query broadcast by userId, dispose and clear on
logout/401, and extract vendor filter drawers for governance.

* feat(work-orders): board wizard create with service notes

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(work-orders): enforce single-service wizard create per SH-118

Use single service selection in the wizard and omit extraServices from board create.

* fix(vendors): restore filter drawer labels for e2e and visual CI

Use VendorFilterOptions again and keep the Apply filters footer label expected
by vendor Playwright specs and the committed visual baseline.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 11:52:48 -03:00
Arthur Bassi
56736f7055 fix(work-orders): merge origin/dev into SH-218 wizard extract [SH-218]
Keep additionalContacts on the extracted wizard POC/sidebar after #99 and restore extraServices on create mapping.
2026-08-14 11:35:29 -03:00
Arthur Bassi
3c914f4e57 Merge remote-tracking branch 'origin/dev' into feature/wo-uplift-pending-close-gate 2026-08-14 10:51:28 -03:00
arthur.bassi
65e2741fd0 merge(dev): refresh SH-196 branch onto current origin/dev 2026-08-14 10:29:12 -03:00
Arthur Bassi
d3bfd35d9b chore(work-orders): merge origin/dev and keep SH-184 Add-On with wizard range 2026-08-14 10:06:56 -03:00
Arthur Bassi
ee90d73a44
feat(work-orders): board wizard create with service notes (#99)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / vendor-visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* feat(work-orders): board wizard create with service notes

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(work-orders): enforce single-service wizard create per SH-118

Use single service selection in the wizard and omit extraServices from board create.

* refactor(work-orders): extract wizard controller for maintainability gate

Move duplicate-WO wiring and lookup hooks out of NewWoWizard so the
changed-file function line cap passes after merging dev.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 18:43:11 -03:00
Arthur Bassi
50a7a030bf chore(work-orders): merge dev into SH-218 branch 2026-08-13 15:59:54 -03:00
Arthur Bassi
43cee3698f merge(dev): refresh SH-188 branch for review fixes 2026-08-13 15:06:33 -03:00
arthur.bassi
a8c6a629ca merge(dev): resolve SH-196 uplift conflicts with completed date column
Keep UPLIFT after COMP DOC alongside COMPLETED DATE from dev, wire
uplifts through useWorkOrdersListPage, and refresh table-row fixtures.
2026-08-12 17:29:22 -03:00
arthur.bassi
dc5140b495 chore(work-orders): resolve Add-On indicator conflicts with current dev 2026-08-12 16:09:56 -03:00
arthur.bassi
1810f1559a chore(work-orders): resolve closability conflicts with platform-polish 2026-08-12 15:33:15 -03:00
arthur.bassi
cc14949e4a chore(work-orders): sync platform-polish with wizard-board-create tip 2026-08-12 14:34:38 -03:00
Alexandre Brandizzi
449ec647b0
Merge branch 'dev' into feature/wo-board-completed-date-column 2026-08-12 12:17:36 -03:00
Alexandre Brandizzi
5419edc4af
Merge branch 'dev' into fix/SH-109-inline-save-unscheduled 2026-08-12 12:11:17 -03:00
Arthur Bassi
91422e44ba merge(dev): refresh SH-188 branch onto current origin/dev
Resolve completedDate conflicts keeping required string typing from dev and broader CompletedDate/completedOn aliases for the closability gate.
2026-08-12 11:56:17 -03:00
arthur.bassi
702a791404 Merge remote-tracking branch 'origin/dev' into feature/wo-multi-poc-contacts
# Conflicts:
#	src/domain/work-orders/mappers/expand-scalar-board-ops.ts
2026-08-12 10:04:07 -03:00
Arthur Bassi
8a221c8819 fix(work-orders): consume board pendingUpliftCount for SH-188 gate
Map the authoritative board/search/detail pendingUpliftCount into the
Completed closability gate and align the pending-uplift tooltip with SH-188.
2026-08-12 09:55:34 -03:00
arthur.bassi
eadb0bda8b chore(work-orders): merge origin/dev into completedDate column branch 2026-08-12 09:35:54 -03:00
Arthur Bassi
4440f7d087 chore(work-orders): merge origin/dev into SH-109 inline save branch
EOF
2026-08-12 09:33:49 -03:00
arthur.bassi
64c485025b fix(work-orders): enforce single-service wizard create per SH-118
Use single service selection in the wizard and omit extraServices from board create.
2026-08-11 17:42:48 -03:00
arthur.bassi
8bfa600301 feat(work-orders): board wizard create with service notes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 17:06:49 -03:00
Arthur Bassi
93c5a35b46 chore: merge origin/dev into slide-over media branch
Sync with latest dev (CompDoc/completedDate from PR #45) and resolve
conflicts while preserving slide-over detail, workOrderVersion on media
mutations, and the consolidated list page hook.
2026-08-11 16:46:32 -03:00
arthur.bassi
99724f831c fix(work-orders): adapt Add-On indicator unstack onto independently approvable base
Extract inline schedule cell for the maintainability gate, drop completedDate
patch coverage that is not on WorkOrderTableRow on dev, and align range create
expectations with assignWizardScheduleFields.
2026-08-11 15:42:29 -03:00
arthur.bassi
94f07fb66f chore(work-orders): merge origin/dev into completedDate column branch
Align merge-base so vendor files matching dev drop out of the PR diff.
2026-08-11 15:31:57 -03:00
arthur.bassi
f6bc50dddd merge(dev): restack SH-196 uplift slice on latest dev 2026-08-11 15:27:57 -03:00