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
7b1faf0bac
Merged PR 2382: missing import
...
missing import
Related work items: #23780
2026-06-10 12:41:04 +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
Robert Bond
d0cae0fff1
Merged PR 2368: case stage ROW updates and case closed variants and adv search fix
...
Related work items: #23551 , #23555 , #23559
2026-06-03 12:44:59 +00:00
Robert Bond
a9be19b901
Merged PR 2367: updated description and welsh
...
updated description and welsh
Related work items: #23551
2026-06-02 14:46:55 +00:00
Robert Bond
da07b4873e
Merged PR 2365: update welsh case stage
...
update welsh case stage
Related work items: #23359
2026-06-02 12:40:08 +00:00
Robert Bond
4ced5d0f42
Merged PR 2363: updated status and welsh
...
updated status and welsh
Related work items: #23319 , #23359
2026-06-02 08:34:51 +00:00
Robert Bond
18a05d4be8
Merged PR 2357: dashboards in admin for appeals and lpa
...
dashboards in admin for appeals and lpa
Related work items: #23527
2026-05-29 16:35:27 +00:00
Robert Bond
b71a93076b
Merged PR 2352: adjusted query to only show published
...
adjusted query to only show published
Related work items: #23447
2026-05-28 11:02:18 +00:00
Robert Bond
3f2b8807e7
Merged PR 2351: fix csp by making it server side
...
Related work items: #23447
2026-05-28 10:41:11 +00:00
Robert Bond
24cd7000f7
Merged PR 2350: added in count on case status dropdown
...
added in count on case status dropdown
Related work items: #23447
2026-05-28 09:02:30 +00:00
Robert Bond
905c82f598
Merged PR 2349: updated dropdown to show all new case stages
...
updated dropdown to show all new case stages
Related work items: #23447
2026-05-28 07:05:06 +00:00
Robert Bond
26e8464d46
Merged PR 2348: corrected welsh version of representations period
...
corrected welsh version of representations period
Related work items: #23319
2026-05-27 14:29:20 +00:00
Robert Bond
1df5573fce
Merged PR 2346: updated close status on non val
...
updated close status on non val
Related work items: #23365
2026-05-26 16:11:48 +00:00
Robert Bond
25485d73ed
Merged PR 2345: typo
...
typo
Related work items: #23365
2026-05-26 14:57:34 +00:00
Robert Bond
6d8d56d745
Merged PR 2343: update to non val
...
Related work items: #23365
2026-05-26 13:42:09 +00:00
Robert Bond
f6bbaa5c1d
Merged PR 2342: ammend case status and descriptions per bugs
...
ammend case status and descriptions per bugs
Related work items: #23319 , #23357 , #23359 , #23365 , #23394
2026-05-26 07:50:33 +00:00
Robert Bond
4f3e3f5183
Merged PR 2338: updated welsh translation
...
updated welsh translation
Related work items: #23319
2026-05-21 12:28:36 +00:00
Robert Bond
a6cc030612
Merged PR 2333: updated welsh link on events tab
...
updated welsh link on events tab
Related work items: #22423
2026-05-19 15:26:33 +00:00
Robert Bond
2e98be3b65
Merged PR 2331: updated welsh text
...
updated welsh text
Related work items: #23094
2026-05-19 05:23:14 +00:00
Robert Bond
149238dd4e
Merged PR 2330: welsh translation update and reps and site visit fix
...
welsh translation update and reps and site visit fix
Related work items: #23087 , #23088
2026-05-18 12:18:03 +00:00
Robert Bond
b6bd543527
Merged PR 2329: welsh link for events
...
welsh link for events
Related work items: #23054
2026-05-18 08:50:58 +00:00
Robert Bond
5967665138
Merged PR 2325: missing welsh translations on search results
...
missing welsh translations on search results
Related work items: #23044
2026-05-15 15:08:53 +00:00
Robert Bond
9860f47cbe
Merged PR 2324: updated status message for case started/case in progrsss
...
updated status message for case started/case in progrsss
Related work items: #23064
2026-05-15 13:14:23 +00:00
Robert Bond
5bf1393020
Merged PR 2322: removed the ? on event
...
removed the ? on event
Related work items: #23063
2026-05-15 10:33:01 +00:00
Robert Bond
5a8fd73bfd
Merged PR 2321: updated welsh status on search results and status tab descriptions
...
updated welsh status on search results and status tab descriptions
Related work items: #23044 , #23045
2026-05-14 15:03:36 +00:00
Robert Bond
c2ae6964f9
Merged PR 2318: auth stabilisation: extract shared myportal auth guard helper
...
auth stabilisation: extract shared myportal auth guard helper
ntroduces a small shared SSR helper (resolveMyPortalAuthContext) to standardize common myportal auth/session guards (session presence, session user identity, and pinsUser cookie) with preserved reason-coded diagnostics and signin redirect behavior. Migrates exactly two loaders (pages/myportal/searchresults.js, pages/myportal/addresssearchresults.js) to use the helper while keeping loader-specific UPSTREAM_FAILURE and CONTACT_LOOKUP_FAILED logic unchanged.
Related work items: #23020
2026-05-14 10:38:45 +00:00
Robert Bond
4fb62a6773
Merged PR 2317: Auth stabilisation: add reason-coded guards to MyPortal loaders
...
Adds incremental auth/session hardening across myportal loader paths (loadMyPortalAppealPage, searchresults, addresssearchresults) with explicit guard ordering and reason-coded diagnostics for missing session, missing session identity, missing cookie identity, contact/account lookup failures, and upstream dependency failures. Includes targeted Phase22 loader guard tests and keeps redirect behaviour policy unchanged.
Related work items: #23020
2026-05-14 10:27:12 +00:00
Robert Bond
d0b2fd077a
Merged PR 2315: Auth stabilistatiion and hardening
...
Related work items: #23020
2026-05-14 08:55:49 +00:00
Robert Bond
d295a507ac
Merged PR 2303: updated company name to pinswg_companyname
...
updated company name to pinswg_companyname
Related work items: #22774
2026-05-11 10:47:39 +00:00
Robert Bond
4f90c9a058
Merged PR 2302: updated text as per vickis request
...
updated text as per vickis request
Related work items: #22987
2026-05-11 09:52:19 +00:00
Robert Bond
0b02acf035
Merged PR 2300: updated final comments matching string
...
updated final comments matching string
Related work items: #22842
2026-05-08 10:31:27 +00:00
Robert Bond
12a28a4be0
Merged PR 2296: added in statuscode and summary description
...
added in statuscode and summary description
Related work items: #22612 , #22616
2026-05-07 10:20:28 +00:00
Robert Bond
1a2c3ede3b
Merged PR 2295: resolved lint warnings
...
resolved lint warnings
Related work items: #22873
2026-05-05 17:13:53 +00:00
Robert Bond
46a0e0b185
Merged PR 2291: reps array refactor and update and tests
...
reps array refactor and update and tests
Related work items: #22873
2026-05-05 10:16:27 +00:00
Robert Bond
0ff2d69ba6
Merged PR 2290: add guard rail to check for locale and ensure verify request is language spec...
...
add guard rail to check for locale and ensure verify request is language specific
Related work items: #22303
2026-05-05 08:25:17 +00:00
Robert Bond
d2e88b57d8
Merged PR 2288: add in company name for appellant and autofill agent details in new appeal
...
add in company name for appellant and autofill agent details in new appeal
Related work items: #22842
2026-04-30 16:25:03 +00:00
Robert Bond
b596374c3c
Merged PR 2286: allowed LPAs to make statements
...
allowed LPAs to make statements
Related work items: #22848
2026-04-30 09:15:53 +00:00
Robert Bond
9140476a2a
Merged PR 2285: tweak to live link
...
tweak to live link
Related work items: #22423
2026-04-29 17:03:50 +00:00
Robert Bond
baf5b1838d
Merged PR 2283: Data driven status pages from CRM
...
Related work items: #22805
2026-04-29 15:29:54 +00:00
Robert Bond
1fd192b870
Merged PR 2282: replaced deadlineextensiuondate
...
replaced deadlineextensiuondate
Related work items: #22783
2026-04-29 08:02:29 +00:00
Robert Bond
8b187742af
Merged PR 2281: update logic for reps arr take isAppellant from capacity selection not type o...
...
update logic for reps arr take isAppellant from capacity selection not type of involvement
Related work items: #22835
2026-04-28 16:07:35 +00:00
Robert Bond
421adafca3
Merged PR 2280: fix in place for app error
...
fix in place for app error
Related work items: #22834
2026-04-28 15:48:32 +00:00
Robert Bond
a25ab433a6
Merged PR 2279: passed in case customer email in search and update rep logic to stop non owne...
...
passed in case customer email in search and update rep logic to stop non owners rasing reps on other owners cases
Related work items: #22095
2026-04-28 12:00:12 +00:00
Robert Bond
843e6adee6
Merged PR 2278: mocked design for status tab
...
mocked design for status tab
Related work items: #22805
2026-04-28 09:36:48 +00:00
Robert Bond
b2945790b1
Merged PR 2274: case deadline and watch stream on results
...
case deadline and wat
Related work items: #22423 , #22783
2026-04-27 13:07:46 +00:00