Commit graph

452 commits

Author SHA1 Message Date
Arthur Bassi
8031357dfa fix(work-orders): assert GET User full display name 2026-08-31 10:22:27 -03:00
Arthur Bassi
e9e17dadec fix(work-orders): compose full user names from User list 2026-08-31 09:23:10 -03:00
Arthur Bassi
223a734b11
Merge branch 'dev' into feature/sh-127-assigned-to-ownership 2026-08-31 09:17:03 -03:00
Alexandre Brandizzi
d6755a63b6
fix(vendors): clarify blank technician draft state (#157)
Some checks failed
Frontend checks / Build and test (push) Has been cancelled
Frontend checks / governance (push) Has been cancelled
Frontend checks / Visual regression (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
* fix(vendors): clarify blank technician draft state

* test(vendors): update technician section snapshots

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-28 15:00:02 -04:00
Arthur Bassi
f2cd68c57c
Merge branch 'dev' into feature/sh-127-assigned-to-ownership 2026-08-28 12:31:06 -03:00
Alexandre Brandizzi
5e38c93b1e
fix(vendors): truncate long textual table values (#154)
Some checks are pending
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): truncate long locations in table

* fix(vendors): truncate textual table cells

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-28 11:21:15 -04:00
Arthur Bassi
0d883f625c chore: merge origin/dev into feature/sh-127-assigned-to-ownership 2026-08-28 09:27:18 -03:00
Arthur Bassi
a299b8980c feat(work-orders): keep Assigned To open and name audit actors [SH-127]
Keep assignment ungated. Match AAP unassigned copy and name audit actors.
2026-08-28 09:19:43 -03:00
Alexandre Brandizzi
40ce66fbb3
fix(vendors): keep Company label visible after scroll (#150)
Some checks are pending
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): keep Company label visible after scroll

* test(vendors): align Add Vendor visual baseline with CI

* test(vendors): prove full label visibility after scroll

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-27 20:52:42 +00:00
Alexandre Brandizzi
7fdef2a46a
fix: classify duplicate vendor conflicts from parsed body (#149)
Some checks are pending
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-27 14:33:17 -04:00
Alexandre Brandizzi
7ec522e8ea
fix: complete SH-283 vendor QA paths (#148)
Some checks are pending
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-27 15:03:36 -03:00
Alexandre Brandizzi
3b1fe016fe
fix(vendors): clarify required company fields (#146)
Some checks are pending
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
* fix(vendors): clarify required company fields

* test(vendors): refresh company label snapshots

* refactor(vendors): isolate contact fields

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-27 13:01:53 -04:00
Arthur Bassi
305b926128 fix(uplifts): keep two-decimal NTE and expose required on reason fields 2026-08-27 11:59:25 -03:00
Arthur Bassi
ba2e3e37c7 feat(uplifts): align Reject/Revoke Cancel and required asterisk [SH-120] 2026-08-27 11:35:54 -03:00
Codex Review Integration
2b17de2212 fix(work-orders): confirm cleared vendor saves 2026-08-26 19:47:57 -03:00
Arthur Bassi
8d755bcb11 fix(work-orders): address PR review on toast feedback
Scope vendor and save toasts to successful assigned-vendor and slide-over saves.
Bind patch success callbacks per operation instead of shared mutate observers.
2026-08-26 19:30:29 -03:00
Arthur Bassi
5a0e907067 feat(work-orders): add consistent save/delete toast feedback
Cancel WO and vendor assignment toast after a successful board PATCH.
2026-08-26 18:42:56 -03:00
Alexandre Brandizzi
d908b7e1da
[SH-117] Give work-order board indicators accessible names (#137)
* fix(work-orders): give board indicators accessible names

Two work-order indicators conveyed their state visually only.

The carried-over pill rendered a bare number whose sole description was a
title attribute. It sits beside the reschedule pill, which also renders as a
small number, so the two counters were indistinguishable without a mouse.

Past Due drove a box shadow, a tint and an icon colour, while the control kept
the fixed name "Due Date". The state read by colour alone and never reached
assistive technology.

- Carried-over pill takes the reschedule pill's shape: an accessible name plus
  a tooltip, so both counters are identifiable.
- Due Date announces the past-due state, on the Emergency dialog control and on
  the standard date popover.
- Past-due is passed separately from `highlight`, which is also raised
  transiently to draw attention to a row and is not durable state to announce.

* fix: associate past-due status with date control

---------

Co-authored-by: Alexandre Brandizzi <alexandre.naime@luby.com.br>
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-26 18:10:29 -03:00
Alexandre Brandizzi
338cc17b8a
fix(vendors): remove duplicate company heading (#139)
* fix(vendors): remove duplicate company heading

* test(vendors): align detail baseline with CI

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-26 16:45:06 +00:00
Arthur Bassi
50764b707d fix(work-orders): restore blank alphanumeric WO number on create
Allow blank SH-provisional WO numbers and refresh the wizard visual baseline.
2026-08-26 08:20:18 -03:00
Arthur Bassi
3a85c8c9e3 fix(work-orders): require type and 11-digit WO number on create
Wizard step 1 cannot continue without type and a numeric WO number.
Remove the Mark as Add-On checkbox from the create wizard.
2026-08-25 22:51:29 -03:00
Arthur Bassi
61fbad7e1b fix(work-orders): stop sending customer on create
AccountId is resolved from Location on the server.
Create UI matches AAP: required Site, optional Service, no Account picker.
2026-08-25 22:26:01 -03:00
Arthur Bassi
4f16b6a76f fix(work-orders): trust only JWT org_scope for account list
Ignore stored AuthUser.orgScope so a scoped token cannot open
the unscoped account picker via localStorage.
2026-08-25 21:31:18 -03:00
Arthur Bassi
2bff57fd02 Merge branch 'fix/sh-221-board-create-customer' of https://github.com/Sea-Haven-Industries/shoc-frontend-new into fix/sh-221-board-create-customer 2026-08-25 21:11:38 -03:00
Arthur Bassi
b240cc8c79 fix(work-orders): gate account picker to org-wide scope
Hide GetAccountList and skip client customer on create unless
org_scope is all, so scoped users cannot read another tenant name.
2026-08-25 21:10:12 -03:00
Arthur Bassi
367e7f8a10
Merge branch 'dev' into fix/sh-221-board-create-customer 2026-08-25 21:09:52 -03:00
Alexandre Brandizzi
8fa37cf430
fix(vendors): display company contact fallbacks (#135)
Some checks are pending
CI / ci (push) Waiting to run
CI / governance (push) Waiting to run
CI / visual-regression (push) Waiting to run
Deploy / deploy (push) Waiting to run
Co-authored-by: Codex Review Integration <codex-review@local.invalid>
2026-08-25 20:03:18 -04:00
Arthur Bassi
800671030f fix(work-orders): address review and CI for account on create
Search accounts on the server and show the missing-account wizard hint.
Split site-dialog state so the maintainability line cap passes.
2026-08-25 18:46:10 -03:00
Arthur Bassi
1714da6e37 fix: send customer on board work-order create
Org-wide Admin create needs exact Accounts.Name so SH-221 can stamp AccountId.
2026-08-25 18:19:06 -03:00
Arthur Bassi
f0e420c7af Merge remote-tracking branch 'origin/dev' into feat/sh-117-wo-type-indicators
# Conflicts:
#	e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-filters.png
2026-08-25 17:49:50 -03:00
Arthur Bassi
a4df91d901 docs(work-orders): clarify Extra Docs Aveta is an explicit PATCH 2026-08-25 15:45:48 -03:00
Arthur Bassi
0a2544fae4 fix(work-orders): persist Extra Docs Aveta category round-trip
Keep Extra uploads uncategorized until the dispatcher picks Aveta.
Drive the shield from hasAvetaDocument after reopen.
2026-08-25 15:11:25 -03:00
Arthur Bassi
b317cdc718 test(work-orders): cover search page sync after a shrinking mutation 2026-08-25 14:10:28 -03:00
Arthur Bassi
35d34866af Merge branch 'feat/sh-165-board-pagination-perf' of https://github.com/Sea-Haven-Industries/shoc-frontend-new into feat/sh-165-board-pagination-perf 2026-08-25 13:58:51 -03:00
Arthur Bassi
24c09ff103 fix(work-orders): sync search page when the result set shrinks 2026-08-25 13:57:56 -03:00
Arthur Bassi
838d79c2dd fix(work-orders): follow Aveta draft on Extra Docs while editing
Extras treated a persisted false as authoritative, so unsaved Aveta
toggles never reached the overlay. Refresh the filters visual baseline
for the Aveta Compliance section.
2026-08-25 13:36:38 -03:00
Arthur Bassi
b47167bb2b Merge branch 'feat/sh-117-wo-type-indicators' of https://github.com/Sea-Haven-Industries/shoc-frontend-new into feat/sh-117-wo-type-indicators 2026-08-25 12:04:33 -03:00
Arthur Bassi
5dfb2fb1c1 fix(work-orders): require explicit Aveta Extra Docs category 2026-08-25 12:03:36 -03:00
Arthur Bassi
e8a90a2a30
Merge branch 'dev' into feat/sh-117-wo-type-indicators 2026-08-25 12:02:28 -03:00
Arthur Bassi
7feea529a4
Merge branch 'dev' into feat/sh-165-board-pagination-perf 2026-08-25 12:01:26 -03:00
Alexandre Brandizzi
e8aff83786
Merge branch 'dev' into fix/ab/sh-182-remove-trade-arrows 2026-08-25 11:49:15 -03:00
Arthur Bassi
34c1e6d182 fix(work-orders): unblock pager e2e and refresh visual baselines 2026-08-25 09:23:47 -03:00
Arthur Bassi
bcb54568b7 test(work-orders): expect header result count in dispatcher layout (SH-165) 2026-08-24 18:46:05 -03:00
Arthur Bassi
4782d2e3b0 fix(work-orders): paginate board and search without loading the full dataset (SH-165) 2026-08-24 18:38:32 -03:00
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
17ad0e5098 fix(work-orders): extract completed vendor dialog to pass maintainability 2026-08-24 12:14:21 -03:00
Arthur Bassi
eeb415951c fix(work-orders): restore CI build and visual baselines
Fix the wizard TypeScript props and refresh Work Orders screenshots from CI.
2026-08-24 12:07:02 -03:00
Arthur Bassi
d9d6334f57 fix(work-orders): lock completed status and legacy detail
Keep Flag, comments, and extra docs writable after completion, and hide the completed status menu.
2026-08-24 12:06:42 -03:00
Arthur Bassi
260fe6c654 fix(work-orders): drop slide-over edit actions after complete
Exit edit mode and refuse core Save when status becomes Completed; hide the footer even if unsaved.
2026-08-24 12:06:42 -03:00
Arthur Bassi
18d80a3c47 feat(work-orders): lock completed work orders with confirmation (SH-115)
Keep flag, comments, and extra docs mutable; require Mark as Complete confirmation.
2026-08-24 12:06:40 -03:00