Commit Graph

453 Commits

Author SHA1 Message Date
d254affc8b case 4720 - restricted roles get filtered work order items in report data, rendering and export
Opening a work order filters it for restricted users (TechRestricted,
SubContractor, SubContractorRestricted): only items they are scheduled on, and
on those only their own labour, travel and scheduling, and for some roles no
parts, units, expenses etc. Report data, rendering and export went through
WorkOrderGetPartialAsync, which filtered nothing for child types (security
review F27). Two causes:
- the partial fetch now applies the same filtering: the item only if the user
  is scheduled on it (checked in the database), then its details filtered; the
  existing per-item filtering moved unchanged into RemoveRestrictedUserItemDetails
  so both fetches share it;
- BizObjectFactory created WorkOrderBiz with UserType.Service for everyone, so
  in these paths a subcontractor was never treated as one; it now passes the
  user's real type (only the subcontractor flags depend on it).

Checked: report data for a restricted subcontractor on work order 1 went from
the whole item with parts to none; scheduled on an item, it gets the item
without parts or other users' labour. Full suite: 111 passed, 5 skipped, the
same 2 known failures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:27:59 -07:00
bd4494abac case 4712 - customer contacts reach only their own customer's work orders
Step 2 of 4712 (security review F13). The customer work-order rights checked
only tag-based feature switches, never which customer a work order belongs to.
New UserBiz.CustomerContactOwnsCustomerAsync (own customer, or for a head
office contact a customer of its head office), used by:
- workorder/customer/{id}: another customer's work order is not found (404);
- customer work order report (-100): exactly one work order, which must be the
  contact's (the renderer used every id it was given);
- work order attachment list and download for contacts; other attachment types
  are refused to contacts (the customer screens show them only on work orders).

Checked: other customer's work order 404 (was 200); report on another's or on
two work orders not found; own customer report still accepted (202).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:52:31 -07:00
e394b98882 case 4615 2024-10-23 23:10:16 +00:00
7b341fe8f5 case 4615 2024-10-23 22:05:28 +00:00
de98e3568c case 4496 2023-03-24 17:15:03 +00:00
d615c1d7b0 case 4494 2023-03-22 00:02:46 +00:00
749dbdff66 case 4492 2023-03-21 23:23:54 +00:00
184a58e8df case 4388 2023-01-24 23:01:13 +00:00
3abe0c0379 case 4341 2022-12-13 22:49:47 +00:00
b090c1040d case 4341 2022-12-13 22:17:39 +00:00
052e2b1fde case 4244 2022-11-14 18:38:42 +00:00
c1ac0c5ed8 case 4240 2022-11-10 20:14:11 +00:00
ea57e4ff80 case 4232 2022-11-03 18:33:59 +00:00
50dc598244 case 4232 2022-11-03 18:12:15 +00:00
460af91bf4 case 4224 2022-10-27 22:02:47 +00:00
98b6978d13 case 4192 2022-09-28 19:13:20 +00:00
a929188658 Added delay in batch job processing 2022-09-27 17:45:44 +00:00
aa03db0aef 8.0.3 release 2022-08-16 02:45:32 +00:00
f9616cd118 2022-08-15 23:00:50 +00:00
dd5ba52a86 2022-07-12 19:43:44 +00:00
ec5d0120dd 2022-07-12 00:32:03 +00:00
322721e838 2022-07-11 21:32:12 +00:00
c49b5acd53 2022-07-11 21:21:12 +00:00
58d3516cc4 2022-07-09 00:04:48 +00:00
196e02e1e5 2022-07-08 23:57:34 +00:00
b1fc5223e2 2022-07-08 18:53:50 +00:00
bb231437d0 2022-07-08 18:48:02 +00:00
c5ced2da86 case 4132 2022-03-10 17:35:25 +00:00
8b5a8e323a Fixed bug updating status breaks concurrency token for header so can't update it 2022-03-09 18:04:21 +00:00
6b05c9aaca 2022-03-08 20:45:29 +00:00
082484c7a2 2022-03-08 20:33:40 +00:00
6b988f1732 2022-03-08 19:13:58 +00:00
6f09698476 2022-02-11 18:42:53 +00:00
16f9ac727c 2022-02-11 18:21:55 +00:00
9ca0a68af6 2022-02-10 20:23:27 +00:00
c89deec279 2022-02-08 00:21:34 +00:00
bcd5715ed2 2022-02-07 20:56:31 +00:00
c125036686 2022-01-25 01:00:10 +00:00
b16560116b 2022-01-23 22:25:31 +00:00
c7d85751dc 2022-01-23 19:43:49 +00:00
88d6ad0e03 case 4056 2021-12-31 18:33:05 +00:00
2df3525b07 case 4051 2021-12-31 00:47:22 +00:00
f144f5bd18 case 4038 2021-12-30 18:57:07 +00:00
e8ad7901ec 2021-12-30 15:11:45 +00:00
1645b7d667 2021-12-29 23:10:00 +00:00
5255145cd0 2021-12-29 20:41:28 +00:00
04062df1e1 2021-12-29 19:35:41 +00:00
075747b5b9 2021-12-28 00:44:27 +00:00
d5c025d3c7 2021-12-23 23:49:00 +00:00
d20a0afbdb 2021-12-23 23:13:08 +00:00