robbond
034b59a981
ITHC: enforce representation blob proxy ownership and admin access
2026-10-26 16:17:52 +00:00
robbond
37aeb03509
ITHC: protect administrative representation unlock endpoint
2026-10-26 15:27:10 +00:00
robbond
0daeb783b9
Stage 3: enforce blob deletion ownership and add admin representation deletion
...
Also repairs two stale Phase 21 fixtures:
- Supplies a valid PDF to exercise the upload dependency-failure path.
- Injects getPersonalAccount into the representation-involvement VM fixture.
2026-10-26 14:39:22 +00:00
Robert Bond
c9e7743782
Merged PR 2586: update text for reps showing
...
update text for reps showing
Related work items: #24650
2026-08-25 15:20:56 +00:00
Robert Bond
6bf5918387
Merged PR 2585: added text before make reps button
...
added text before make reps button
Related work items: #24650
2026-08-25 09:01:11 +00:00
Robert Bond
6ba1e16f9a
Merged PR 2573: added link to footer
...
added link to footer
Related work items: #24649
2026-08-18 15:17:25 +00:00
Robert Bond
6cce7d05f1
Merged PR 2572: overlay link to guidance
...
overlay link to guidance
Related work items: #24650
2026-08-18 15:02:36 +00:00
Robert Bond
478fa91004
Merged PR 2558: updated link on awaiting submission view allin welsh
...
updated link on awaiting submission view allin welsh
Related work items: #24389
2026-08-12 13:58:07 +00:00
Robert Bond
5813d409bc
Merged PR 2557: removed field
...
removed field
Related work items: #24554
2026-08-11 09:26:07 +00:00
Robert Bond
71035a054f
Merged PR 2556: updated welsh translation
...
updated welsh translation
Related work items: #24389
2026-08-11 09:13:22 +00:00
Robert Bond
c2c4690b9b
Merged PR 2555: missing slash in welsh url for case link
...
missing slash in welsh url for case link
Related work items: #24389
2026-08-10 13:11:18 +00:00
Robert Bond
90e8cacf67
Merged PR 2537: adjusted back button on first page of reopend rep
...
adjusted back button on first page of reopend rep
Related work items: #24488
2026-08-04 10:42:07 +00:00
Robert Bond
75e9cf820d
Merged PR 2513: updated translation
...
updated translation
Related work items: #24396
2026-07-24 12:01:36 +00:00
Robert Bond
1258985882
Merged PR 2504: amend paths for reps to exclude long titles
...
amend paths for reps to exclude long titles
Related work items: #24279
2026-07-22 15:51:27 +00:00
Robert Bond
02507f298c
Merged PR 2501: welsh updates for ministerial decision
...
welsh updates for ministerial decision
Related work items: #24335
2026-07-22 12:35:30 +00:00
Robert Bond
f5bdf6a7b0
Merged PR 2493: updated ministerial decision and removed inspectors decision for sips
...
updated ministerial decision and removed inspectors decision for sips
Related work items: #24335
2026-07-21 11:36:22 +00:00
Robert Bond
f80752ab6a
Merged PR 2491: delimit event name for welsh >>>
...
delimit event name for welsh >>>
Related work items: #24302
2026-07-20 16:03:48 +00:00
Robert Bond
b01d789bb8
Merged PR 2490: eia to aea for welsh in tab and subheadings
...
eia to aea for welsh in tab and subheadings
Related work items: #24269
2026-07-20 15:10:18 +00:00
Robert Bond
bbf205a45f
Merged PR 2489: added in additonal dates
...
added in additonal dates
Related work items: #24318
2026-07-20 10:05:14 +00:00
Robert Bond
ec046944c0
Merged PR 2488: fixed welsh breadcrumb link
...
fixed welsh breadcrumb link
Related work items: #24328
2026-07-20 06:51:48 +00:00
Robert Bond
579026b6cc
Merged PR 2486: adjsuted references to pinswg_eiarequired fields to pinswg_sipseiarequired
...
adjsuted references to pinswg_eiarequired fields to pinswg_sipseiarequired
Related work items: #24261
2026-07-17 11:52:55 +00:00
Robert Bond
2e9f90211c
Merged PR 2485: updated welsh translations
...
Related work items: #24314
2026-07-16 16:17:02 +00:00
Robert Bond
7a54f3df71
Merged PR 2482: updated submission examination display logic
...
updated submission examination display logic
Related work items: #24306
2026-07-16 05:05:57 +00:00
Robert Bond
a850399cb1
Merged PR 2481: updated labels and added welsh language description
...
updated labels and added welsh language description
Related work items: #24302
2026-07-15 17:15:55 +00:00
Robert Bond
e2897e511f
Merged PR 2480: update status from page load not state
...
update status from page load not state
Related work items: #24297
2026-07-15 16:43:43 +00:00
Robert Bond
95486f0164
Merged PR 2476: added check for inactive case deadlines
...
added check for inactive case deadlines
Related work items: #24297
2026-07-15 12:41:10 +00:00
Robert Bond
b00a2c0733
Merged PR 2475: updated file location for consultations to be correct ticket number not title
...
updated file location for consultations to be correct ticket number not title
Related work items: #24279
2026-07-14 16:13:11 +00:00
Robert Bond
d7a73b7b0b
Merged PR 2473: added in the dates on summary tabs
...
added in the dates on summary tabs
Related work items: #24258 , #24259 , #24263 , #24269
2026-07-14 10:40:54 +00:00
Robert Bond
bab0c26515
Merged PR 2468: tweaked button link to use caseref
...
tweaked button link to use caseref
Related work items: #24199
2026-07-09 11:59:31 +00:00
Robert Bond
9ac88bbbde
Merged PR 2452: updated csp and params
...
updated csp and params
Related work items: #23879
2026-07-03 04:50:47 +00:00
Robert Bond
79e6dfade9
Merged PR 2451: included dynamic legend on enlarged map
...
included dynamic legend on enlarged map
Related work items: #23879
2026-07-02 16:12:23 +00:00
Robert Bond
e864049bec
Merged PR 2449: language helper
...
Related work items: #23754
2026-07-01 11:29:15 +00:00
Robert Bond
ff699735c7
Merged PR 2442: remove lodash dependecies on _.has
...
Related work items: #23754
2026-06-29 13:08:06 +00:00
Robert Bond
7b6af58065
Merged PR 2441: electricity shouldnt be showing reps available
...
electricity shouldnt be showing reps available
Related work items: #24008
2026-06-29 08:39:39 +00:00
Robert Bond
001c7ad6fa
Merged PR 2436: adjsuted condition to include pinswg_startdate in showrepbutton
...
adjsuted condition to include pinswg_startdate in showrepbutton
Related work items: #23998
2026-06-25 14:47:05 +00:00
Robert Bond
5483c4cdf2
Merged PR 2426: added var to summary map and welsh translatioins
...
added var to summary map and welsh translatioins
Related work items: #23879
2026-06-24 17:10:22 +00:00
Robert Bond
c98bbfc321
Merged PR 2424: varibale for dmw mapping version
...
varibale for dmw mapping version
Related work items: #23879
2026-06-24 14:43:08 +00:00
Robert Bond
6d0bc35612
Merged PR 2420: added welsh translations of api endpoints
...
added welsh translations of api endpoints
Related work items: #23879
2026-06-23 10:38:24 +00:00
Robert Bond
d7bb1acb10
Merged PR 2414: welsh version of contact us and heading for rep heading for IP rep type
...
welsh version of contact us and heading for rep heading for IP rep type
Related work items: #23484 , #23910
2026-06-22 12:44:36 +00:00
Robert Bond
e195e09429
Merged PR 2407: Extract representation entry specialist rules to domain policy
...
Extract representation entry specialist rules to domain policy
Related work items: #23754
2026-06-19 11:21:17 +00:00
Robert Bond
be68b987a1
Merged PR 2405: Representation Entry Policy discovery and wrapper
...
Related work items: #23754
2026-06-19 08:19:56 +00:00
Robert Bond
475aa965b4
Merged PR 2395: helpers for dashboard domain layer
...
Related work items: #23754
2026-06-17 16:06:09 +00:00
Robert Bond
ca244e5de1
Merged PR 2392: updated project types for new sub grid
...
updated project types for new sub grid
Related work items: #23752
2026-06-16 17:44:04 +00:00
Robert Bond
1e14fbc709
Merged PR 2387: update welsh translations for new appeal pdf
...
update welsh translations for new appeal pdf
Related work items: #23562
2026-06-15 12:03:28 +00:00
Robert Bond
3297fe4f16
Merged PR 2384: updated pdf to show correct lang prefs on appeal pdf
...
updated pdf to show correct lang prefs on appeal pdf
Related work items: #23562
2026-06-11 10:51:38 +00:00
Robert Bond
c6e42fc314
Merged PR 2381: ROW case stage updates
...
Related work items: #23564 , #23779 , #23780
2026-06-10 10:12:11 +00:00
Robert Bond
7e47340326
Merged PR 2377: added enlarge map view on dnsapplication list
...
added enlarge map view on dnsapplication list
Related work items: #23774
2026-06-09 10:04:32 +00:00
Robert Bond
c39e4bcc9a
Merged PR 2375: update representation policy
...
## Summary
Introduces a new `representation-policy` domain boundary and incrementally extracts low-risk representation entry policy logic while preserving existing behaviour.
This PR intentionally stops before extracting ROW and Advert entry rules because characterization uncovered behavioural differences between consumers that require a separate business decision.
## What Changed
Added:
```text
lib/domain/representation-policy/
```
Including:
- `resolveRepresentationWindow(...)`
- `isRepresentationWindowOpen(...)`
- `isRepresentationWindowClosed(...)`
- `canShowRepresentationButtonForAppealType(...)`
- `canStartHouseholderRepresentation(...)`
- `canStartCpoRepresentation(...)`
Updated consumers:
```text
components/case/summary/utils/representationEntry.js
components/search/repsonresults.js
```
## Extracted Behaviour
### Representation Window Calculation
Centralised shared representation window logic and adopted it in both consumers.
### Appeal Type Entry Gating
Centralised excluded appeal-type logic while preserving existing behaviour.
### Householder Rule
Centralised Householder (`846040004`) entry rule.
Preserved behaviour:
```text
Householder representations can only be started by LPAs.
```
### CPO Rule
Centralised CPO (`846040019`) entry rule.
Preserved behaviour using:
```text
pinswg_startdate
pinswg_statementduedate
```
No fallback date broadening introduced.
## Characterization Added
### ROW (`846040015`)
Documented:
- hearing vs non-hearing behaviour
- specialist-process field behaviour
- date gating
- appeal-type coercion behaviour
### Advert (`846040018`)
Documented:
- LPA/non-LPA behaviour
- specialist-process behaviour
- appeal-type coercion behaviour
## Important Findings
### ROW Divergence
Summary and Search consumers currently behave differently when only:
```text
pinswg_speacialistcaseprocess
```
exists.
### Advert Divergence
Summary and Search consumers currently use different specialist-process resolution paths.
### CRM Compatibility
Both fields remain in production use and must be preserved:
```text
pinswg_specialistcaseprocess
pinswg_speacialistcaseprocess
```
## Documentation
Added:
```text
lib/domain/representation-policy/README.md
```
Documenting:
- ownership
- non-goals
- CRM compatibility requirements
- ROW divergence
- Advert divergence
- future extraction constraints
## Validation
Executed during the slice series:
```bash
node tests/phase22/representation-window.test.cjs
node tests/phase22/representation-appeal-type-entry-gating.test.cjs
node tests/phase22/representation-householder-entry-rule.test.cjs
node tests/phase22/representation-cpo-entry-rule.test.cjs
node tests/phase22/representation-row-entry-rule.test.cjs
node tests/phase22/representation-advert-entry-rule.test.cjs
npm run lint
```
All passing.
## Out of Scope
No changes to:
- submission/finalisation
- uploads
- dashboards
- CRM/OData queries
- API routes
- Redux state
- translations
- blocked-message rendering
- CTA l...
2026-06-08 10:51:02 +00:00
Robert Bond
9595ad86df
Merged PR 2374: addeding domain layer extrraction
...
# Summary
This PR introduces a **Case Lifecycle Domain Boundary** to centralize lifecycle decision logic and reduce coupling within the appeals application.
The work is **behaviour-preserving** and introduces no intentional changes to business rules, CRM integrations, translations, dashboards, API routes, or user-facing functionality.
## What was added
New lifecycle boundary:
```text
lib/domain/case-lifecycle/
```
Key responsibilities extracted:
- Specialist process normalization
- Appeal type mapping
- Specialist process stage override mapping
- Stage case-type resolution
- Stage catalogue lookup
- Closed-case status recognition
- Lifecycle stage index resolution
- Lifecycle stage status assignment
## Behaviour preserved
Characterization tests were added before each extraction to preserve:
- Appeal type mapping and aliases
- Specialist process handling
- Lifecycle stage progression
- Closed-case handling
- Status assignment (`complete`, `in-progress`, `not-started`)
- Existing ROW behaviour
- Existing `statuscode` lifecycle semantics
Closed-case recognition remains unchanged for:
```text
1000
5
6
846040013
846040059
846040060
```
## Documentation
Added:
```text
lib/domain/case-lifecycle/README.md
```
Documenting:
- Boundary ownership
- Non-goals
- Lifecycle invariants
- Known architectural constraints
- Future extraction roadmap
## Testing
Added lifecycle characterization coverage for:
- Stage wrapper behaviour
- Specialist process normalization
- Appeal type mapping
- Specialist process stage mapping
- Stage case-type resolution
- Stage catalogue lookup
- Progress behaviour
- Closed-case status handling
- Stage index resolution
- Stage status assignment
## Validation
- Lifecycle characterization tests passed
- `npm run lint` passed with no errors
## Out of Scope
No changes to:
- Stage catalogue ownership
- Representation eligibility
- Dashboard calculations
- CRM/OData queries
- API routes
- Redux state
- EN/CY translations
- Event visibility logic
## Risk
**Low risk**
The refactor was delivered through small, characterization-first slices with no functional changes intended.
Related work items: #23527
2026-06-08 09:34:30 +00:00
Robert Bond
2262f3ab74
Merged PR 2369: added dns sips case close message and in welsh
...
added dns sips case close message and in welsh
Related work items: #23555
2026-06-03 14:48:58 +00:00