Commit graph

143 commits

Author SHA1 Message Date
Codex Review Integration
4e54aa7cfe chore(work-orders): remove ticket keys from completion docs 2026-09-16 16:56:26 -03:00
Codex Review Integration
09636ef590 fix(work-orders): complete the work order when its completion document is generated (SH-341)
Generating or uploading the completion document now moves a closable work
order to Completed without the manual confirmation, as SH-115 requires. The
SH-114 closability gate is evaluated on the row the server returned after the
document save; Save draft, Not required, Past Due, Completed and Canceled rows
are never auto-completed. The follow-up status patch uses that row's
rowVersion so it does not conflict with the document save.
2026-09-16 11:43:33 -03:00
Arthur Bassi
fc3e7591dc
fix(work-orders): add Unscheduled option to Advanced Filters Date range (#181)
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 dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
* fix(work-orders): add Unscheduled option to Advanced Filters Date range

* fix(work-orders): page unscheduled results server-side

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-09-15 19:11:35 -03:00
Arthur Bassi
c7aec49f05 fix(work-orders): keep completion freeze on live registry edits 2026-09-10 18:47:32 -03:00
Arthur Bassi
99c758872a fix(work-orders): extract helpers to satisfy governance complexity 2026-09-10 18:15:02 -03:00
Arthur Bassi
116f65ca48 feat(work-orders): consume completion freeze snapshot on the board
Prefer FrozenSite, FrozenCompany, and FrozenPoc on Completed rows.
2026-09-10 15:41:01 -03:00
Arthur Bassi
1fdecdd45d Merge remote-tracking branch 'origin/dev' into feat/SH-186-schedule-clear 2026-09-09 18:18:11 -03:00
Arthur Bassi
15de3fca0a Merge remote-tracking branch 'origin/dev' into feat/SH-186-schedule-clear 2026-09-09 17:47:37 -03:00
Arthur Bassi
eab83f6562 Merge branch 'dev' into feat/SH-171-wo-documents 2026-09-09 17:46:10 -03:00
Arthur Bassi
c71d9482ec feat(work-orders): align Schedule On clear with shared demotion path
Board Clear uses empty-week patch; slide-over Save derives Pending via mergeAutoSchedulePatch.
2026-09-09 15:44:49 -03:00
Arthur Bassi
6c765e8b42 feat(work-orders): align Extra Docs accept and 50MB limits 2026-09-08 11:27:52 -03:00
Arthur Bassi
74e5c58e5d fix(work-orders): restore completion media uploads over HTTP/1.1
Use XHR for media progress so Ky does not stream the body on HTTP/1.1
(Vite proxy), and keep completion vs extra tiles from mixing after upload.
2026-09-07 15:19:39 -03:00
Arthur Bassi
f51f6bd493 chore(work-orders): keep type/severity audit rules after merging origin/dev 2026-09-04 16:41:42 -03:00
Arthur Bassi
b0c58958ae
Merge branch 'dev' into feat/SH-169-wo-inline-lifecycle 2026-09-04 14:47:38 -03:00
Arthur Bassi
3ed8600beb fix(work-orders): promote dated pre-schedule picks to Scheduled
Align create, wizard, and board status patches with AAP maybeAutoSchedule.
Include the previous status in audit copy when the API sends it.
2026-09-04 14:31:08 -03:00
Arthur Bassi
b8349783a7 chore(work-orders): keep carry-over display and local board row-order 2026-09-04 13:46:04 -03:00
Arthur Bassi
27ddeb2903 feat(work-orders): align inline type correction with the board AAP
Keep type correction on the board: Type & severity, SEV toast, and audit copy.
2026-09-03 16:30:10 -03:00
Arthur Bassi
3a8f41a444 fix(work-orders): keep explicit wizard status picks on dated drafts
Derive Scheduled or Pending only when the patch touches schedule fields, matching the board path.
2026-09-03 14:42:19 -03:00
Arthur Bassi
9fc67516ca fix(work-orders): derive lifecycle status only when the schedule patch changes 2026-09-03 13:35:26 -03:00
Arthur Bassi
ddd83ffec1 fix(work-orders): skip canceled keyboard reorder and persist destination-week order 2026-09-03 13:34:28 -03:00
Arthur Bassi
c2d1add79c fix(work-orders): persist AAP auto-schedule on a single board patch
Merge derived status once so dated rows cannot stay Pending or Incomplete.
Create and wizard demote Scheduled when there is no concrete date.
2026-09-03 11:13:24 -03:00
Arthur Bassi
9cc9bc4dfb feat(work-orders): align inline lifecycle transitions with AAP
Use the prototype status list and gates on the board and wizard.
Auto-derive Scheduled or Pending from a concrete schedule date.
2026-09-02 15:11:31 -03:00
Arthur Bassi
dc178340de feat(work-orders): persist board row order locally and support keyboard reorder
Keep same-day WO order across refresh and sign-out in the same browser.
Add keyboard reorder on the row grip.
2026-09-02 11:07:27 -03:00
Arthur Bassi
bc1e7a1fa2 fix(work-orders): keep carry-over rows in day reorder and one-char search 2026-09-02 09:47:34 -03:00
Arthur Bassi
08e00c213d
Merge branch 'dev' into feat/sh-167-wo-board-carry-over 2026-09-02 09:32:58 -03:00
Arthur Bassi
426889427c feat(work-orders): show carry-over pill and map day-tab for prior-week WOs
Keep source week visible and map weekday tabs without rewriting schedule.
2026-09-01 14:16:52 -03:00
Arthur Bassi
7e1dcb7a36 fix(work-orders): toast after assigned-to save on the board
Show the save toast only after the board PATCH succeeds.
2026-09-01 10:20:38 -03:00
Arthur Bassi
55a6ff03b1 merge(dev): keep Linux CI New WO visual baseline
The only conflict was wo-new.png (Type and schedule). Appt Time is on a later step, so origin/dev's Assigned To screenshot is the correct combined UI.
2026-08-31 15:11:43 -03:00
Arthur Bassi
fb54414ade fix(work-orders): parse start-only appointment times and refresh visual baselines 2026-08-28 11:46:54 -03:00
Arthur Bassi
8bb126b1a3 feat(work-orders): make appointment time optional in create flows
Allow empty Appt Time in wizard, table, and slide-over without blocking
create or complete. Omit appointment fields without vendorId so create
does not hit DispatchRequired.
2026-08-28 11:05:43 -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
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
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
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
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
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
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
5dfb2fb1c1 fix(work-orders): require explicit Aveta Extra Docs category 2026-08-25 12:03:36 -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
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
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
Arthur Bassi
eca04bcaa8 chore(work-orders): merge origin/dev into advanced filter branch
Keep SH-244 query-param tests alongside the WO type filter union from dev.
2026-08-21 12:35:57 -03:00
Arthur Bassi
93ab14abf3 feat(work-orders): add SH-244 advanced filter fields and AAP indicator styles 2026-08-20 18:34:29 -03:00