Commit graph

252 commits

Author SHA1 Message Date
arthur.bassi
cc14949e4a chore(work-orders): sync platform-polish with wizard-board-create tip 2026-08-12 14:34:38 -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
f460d7854e fix(work-orders): satisfy additionalContacts fixtures and inline row max-lines 2026-08-12 10:32:37 -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
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
11e1b65bc1 fix(work-orders): pass workOrderVersion in slide-over media and fix test fixture
Wire workOrderVersion through slide-over media delete/categorize after dev
merge, and remove duplicate completedDate in unscheduled highlight fixture.
2026-08-11 16:55:31 -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
ba4f3ca96d fix(work-orders): avoid Array.at in advanced search wiring test
Keep the public-interface assertion compatible with the project's TypeScript lib target.
2026-08-11 15:59:33 -03:00
arthur.bassi
f58541d06a fix(work-orders): keep SH-196 slice under maintainability gates
Extract EmptyInlineCell so WoTableInlineRowCells stays under the 150-line
limit, and add upliftSummary to the unscheduled highlight fixture.
2026-08-11 15:47:23 -03:00
Arthur Bassi
ea747af854 fix(work-orders): isolate advanced filter facets from vendor collateral
Restack SH-121/SH-196 severity and uplift facets on current dev without unrelated Vendor screen changes, and cover public-interface apply plus search totalCount semantics.
2026-08-11 15:44:34 -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
017820ac4b fix(work-orders): add completedDate to unscheduled highlight fixture
Keep the merged origin/dev test building against WorkOrderTableRow after
the CompDoc completedDate field landed on this branch.
2026-08-11 15:35:42 -03:00
arthur.bassi
f6bc50dddd merge(dev): restack SH-196 uplift slice on latest dev 2026-08-11 15:27:57 -03:00
arthur.bassi
6b415f732c fix(work-orders): unify closability with sh-114 and pending uplift 2026-08-11 15:26:21 -03:00
arthur.bassi
f5414e4b14 feat(work-orders): block completed when uplift is pending 2026-08-11 15:26:21 -03:00
Arthur Bassi
1005186ea7 Merge branch 'dev' into feature/wo-detail-comp-doc 2026-08-11 15:23:55 -03:00
Arthur Bassi
f666ee215d test(work-orders): cover site dialog POC autofill races 2026-08-11 15:15:02 -03:00
Arthur Bassi
8a2bc21845 fix(work-orders): sync addon-indicator with platform-polish parent
[recover] remove malicious eslint payload (was 692598b7)
2026-08-11 15:08:27 -03:00
Arthur Bassi
969f99a576 fix(work-orders): send workOrderVersion on media categorize/delete
Align CompDoc media mutations with backend PR #47 so categorize and
delete no longer return 422 WorkOrderVersionRequired.
2026-08-11 14:52:41 -03:00
arthur.bassi
5e3b7b8057 fix(work-orders): use authoritative type/doc/media for detail closability
Stop treating integration source as WorkOrderType.
Enrich detail from board detail for SH-114/SH-183 gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 14:06:54 -03:00
arthur.bassi
4637f3ab14 chore: merge origin/dev into slide-over media branch
Sync with latest dev and add completedDate to the unscheduled highlight
fixture so the merge build stays type-safe.
2026-08-11 14:02:42 -03:00
Arthur Bassi
a30ac73d29
feat(work-orders): draft technician until vendor dialog save (SH-193) (#89)
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
* docs(work-orders): add pending BE contract checklist for design parity gaps

* feat(work-orders): add technician affordance in wo vendor dialog

* fix(work-orders): defer technician create until vendor dialog save

* docs(work-orders): align pr description with jira and qa residuals

* fix(vendors): harden draft technician optional field typing

* refactor(workorders): extract vendor dialog body footer and save hook

* fix(work-orders): coerce null company vendor for add-technician prop

* fix(work-orders): preserve draft technician staging on save [SH-193]

* fix(work-orders): select technicians by stable id [SH-193]

Keep selectedKey as explicit dialog state (SiteDialog pattern) so same-name drafts do not collide with existing vendors, and cover the regression with interaction tests.

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

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 14:01:31 -03:00
Arthur Bassi
9c7b42e96b
feat(work-orders): SH-132 FE — Due Date distinct from Schedule On + Emergency calendar modal (#82)
* feat(work-orders): align Due Date and Past Due with SH-132 FE contract [SH-132]

* fix(work-orders): highlight Schedule On for unscheduled rows

Restore forceScheduleHighlight for Unscheduled section rows while keeping Due Date highlight for past-due and attempt feedback.

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

* test(work-orders): cover unscheduled Schedule On highlight [SH-132]

Add row-level public-interface regression proving Unscheduled rows force-highlight Schedule On, not Due Date (SH-165).

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

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-11 13:49:41 -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
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
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
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
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
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
arthur.bassi
cd4b8d27fd fix(work-orders): seed CompDoc address after location settles [SH-116] 2026-08-06 10:14:29 -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
arthur.bassi
6481d9ce86 test(work-orders): assert CompDoc Generate skips Yes when date patch fails 2026-08-04 15:09:19 -03:00
arthur.bassi
65d75ca372 fix(work-orders): persist CompDoc prerequisites before Generated status
Also register retry AbortControllers so cancel aborts the active upload attempt.
2026-08-04 15:03:28 -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
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
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
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
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
Arthur Bassi
01351b3f33 test(work-orders): cover missing checklist completedBy provenance
Regression: null/empty/whitespace completedBy shows Unknown, never the viewer.
2026-07-24 10:11:43 -03:00
Arthur Bassi
878e1d6a92 test(work-orders): cover New WO wizard open/close affordance 2026-07-24 10:11:38 -03:00
Arthur Bassi
7df076f011 fix(work-orders): wire Advanced Search sheet and cover SH-121 flow 2026-07-24 10:11:32 -03:00
Arthur Bassi
df2b5803a1 fix(test): cast canceled status in board-core fixture 2026-07-24 10:10:20 -03:00
Arthur Bassi
5e30c07c79 fix(test): align board-core affordance fixtures with WorkOrderTableRow 2026-07-24 10:07:15 -03:00