Skip to content

HDPI-7770: review case flag request changes - #2459

Open
sadmanrahh wants to merge 11 commits into
HDPI-7656-RSREFlagsfrom
HDPI-7770-review-case-flag-request
Open

HDPI-7770: review case flag request changes#2459
sadmanrahh wants to merge 11 commits into
HDPI-7656-RSREFlagsfrom
HDPI-7770-review-case-flag-request

Conversation

@sadmanrahh

Copy link
Copy Markdown
Contributor

Jira link

See HDPI-7770

Change description

Implements the Review Case Flag Request Work Allocation task

Testing done

Manual testing local and preview

Security Vulnerability Assessment

CVE Suppression: Are there any CVEs present in the codebase (either newly introduced or pre-existing) that are being intentionally suppressed or ignored by this commit?

  • Yes
  • No

Checklist

  • commit messages are meaningful and follow good commit message guidelines
  • README and other documentation has been updated / added (if needed)
  • tests have been updated / new tests has been added (if needed)
  • Does this PR introduce a breaking change

PCS checklist

  • New functional test classes carry the gating annotations (@EnabledIfEnvironmentVariable(named = "CCD_ENABLED", ...) + shutter guard) unless they must run on unlabelled PRs (HDPI-8084)
  • Infrastructure / chart / suppression changes have a second pair of eyes from the service admins (HDPI-8153)

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

CCD diff summary

👉 Full report: https://github.com/hmcts/pcs-api/actions/runs/32954803561?check_suite_focus=true

AuthorisationCaseState.json

UserRoleCaseStateIDCRUD
+[CLAIMANTSOLICITOR]
+ALL_FINAL_ORDERS_ISSUED
+CRU
+citizen
+ALL_FINAL_ORDERS_ISSUED
+CRU
+[CLAIMANTSOLICITOR]
+BREATHING_SPACE
+CRU
+citizen
+BREATHING_SPACE
+CRU
+[CLAIMANTSOLICITOR]
+CASE_ISSUED
+CRU
+citizen
+CASE_ISSUED
+CRU
+[CLAIMANTSOLICITOR]
+CASE_PROGRESSION
+CRU
+citizen
+CASE_PROGRESSION
+CRU
+[CLAIMANTSOLICITOR]
+CASE_STAYED
+CRU
+citizen
+CASE_STAYED
+CRU
+[CLAIMANTSOLICITOR]
+DECISION_OUTCOME
+CRU
+citizen
+DECISION_OUTCOME
+CRU
+[CLAIMANTSOLICITOR]
+HEARING_READINESS
+CRU
+citizen
+HEARING_READINESS
+CRU
+[CLAIMANTSOLICITOR]
+JUDICIAL_REFERRAL
+CRU
+citizen
+JUDICIAL_REFERRAL
+CRU
+[CLAIMANTSOLICITOR]
+PENDING_CASE_ISSUED
+CRU
+[CLAIMANTSOLICITOR]
+PREPARE_FOR_HEARING_CONDUCT_HEARING
+CRU
+citizen
+PREPARE_FOR_HEARING_CONDUCT_HEARING
+CRU

[DEFENDANT]

PENDING_CASE_ISSUED

-R 
+CRU

CaseField.json

MinRegularExpressionMaxSearchableHintTextFieldTypeParameterLabelIDFieldType
+
+
+
+
+
+PartySupport
+Party support
+partySupport
+Collection
+
+
+
+
+
+PartySupport
+Requested support
+supportReviewFlags
+Collection

AuthorisationCaseEvent/AuthorisationCaseEvent.json

UserRoleCaseEventIDCRUD
+[CLAIMANTSOLICITOR]
+manageSupport
+CRU
+[DEFENDANTSOLICITOR]
+manageSupport
+CRU
+[DEFENDANT]
+manageSupport
+CRU
+caseworker-pcs-solicitor
+manageSupport
+CRU
+circuit-judge
+manageSupport
+R
+citizen
+manageSupport
+CRU
+ctsc
+manageSupport
+R
+ctsc-team-leader
+manageSupport
+R
+fee-paid-judge
+manageSupport
+R
+hearing-centre-admin
+manageSupport
+R
+hearing-centre-team-leader
+manageSupport
+R
+judge
+manageSupport
+R
+leadership-judge
+manageSupport
+R
+wlu-admin
+manageSupport
+R
+wlu-team-leader
+manageSupport
+R
+[CLAIMANTSOLICITOR]
+requestSupport
+CRU
+[DEFENDANTSOLICITOR]
+requestSupport
+CRU
+[DEFENDANT]
+requestSupport
+CRU
+caseworker-pcs-solicitor
+requestSupport
+CRU
+circuit-judge
+requestSupport
+R
+citizen
+requestSupport
+CRU
+ctsc
+requestSupport
+R
+ctsc-team-leader
+requestSupport
+R
+fee-paid-judge
+requestSupport
+R
+hearing-centre-admin
+requestSupport
+R
+hearing-centre-team-leader
+requestSupport
+R
+judge
+requestSupport
+R
+leadership-judge
+requestSupport
+R
+wlu-admin
+requestSupport
+R
+wlu-team-leader
+requestSupport
+R
+circuit-judge
+reviewSupportRequest
+R
+ctsc
+reviewSupportRequest
+CRU
+ctsc-team-leader
+reviewSupportRequest
+CRU
+fee-paid-judge
+reviewSupportRequest
+R
+hearing-centre-admin
+reviewSupportRequest
+CRU
+hearing-centre-team-leader
+reviewSupportRequest
+CRU
+judge
+reviewSupportRequest
+R
+leadership-judge
+reviewSupportRequest
+R
+wlu-admin
+reviewSupportRequest
+CRU
+wlu-team-leader
+reviewSupportRequest
+CRU

AuthorisationCaseField/wlu-team-leader.json

UserRoleCaseFieldIDCRUD
+wlu-team-leader
+flagLauncherExternal
+R
+wlu-team-leader
+partySupport
+RD
+wlu-team-leader
+supportReviewFlags
+CRUD

wlu-team-leader

flagLauncherInternal

-R 
+CRU

AuthorisationCaseField/wlu-admin.json

UserRoleCaseFieldIDCRUD
+wlu-admin
+partySupport
+RD
+wlu-admin
+supportReviewFlags
+CRUD

AuthorisationCaseField/leadership-judge.json

UserRoleCaseFieldIDCRUD
+leadership-judge
+partySupport
+RD
+leadership-judge
+supportReviewFlags
+RD

AuthorisationCaseField/judge.json

UserRoleCaseFieldIDCRUD
+judge
+partySupport
+RD
+judge
+supportReviewFlags
+RD

AuthorisationCaseField/hearing-centre-team-leader.json

UserRoleCaseFieldIDCRUD
+hearing-centre-team-leader
+caseworkerCaseFlag-lineSeparator
+CR
+hearing-centre-team-leader
+flagLauncherExternal
+R
+hearing-centre-team-leader
+flagLauncherInternal
+CRU
+hearing-centre-team-leader
+partySupport
+RD
+hearing-centre-team-leader
+supportReviewFlags
+CRUD

AuthorisationCaseField/hearing-centre-admin.json

UserRoleCaseFieldIDCRUD
+hearing-centre-admin
+partySupport
+RD
+hearing-centre-admin
+supportReviewFlags
+CRUD

AuthorisationCaseField/fee-paid-judge.json

UserRoleCaseFieldIDCRUD
+fee-paid-judge
+partySupport
+RD
+fee-paid-judge
+supportReviewFlags
+RD

AuthorisationCaseField/ctsc.json

UserRoleCaseFieldIDCRUD
+ctsc
+partySupport
+RD
+ctsc
+supportReviewFlags
+CRUD

AuthorisationCaseField/ctsc-team-leader.json

UserRoleCaseFieldIDCRUD
+ctsc-team-leader
+flagLauncherExternal
+R
+ctsc-team-leader
+partySupport
+RD
+ctsc-team-leader
+supportReviewFlags
+CRUD

ctsc-team-leader

flagLauncherInternal

-R 
+CRU

AuthorisationCaseField/citizen.json

UserRoleCaseFieldIDCRUD
+citizen
+Case details
+R
+citizen
+Case parties
+R
+citizen
+Claimant details
+R
+citizen
+Defendant details
+R
+citizen
+Demotion of tenancy
+R
+citizen
+Documents you've uploaded
+R
+citizen
+Notice
+R
+citizen
+Occupation contract or licence
+R
+citizen
+Prohibited conduct standard contract
+R
+citizen
+Rent arrears
+R
+citizen
+Required Documents
+R
+citizen
+Summary
+R
+citizen
+Suspension of right to buy
+R
+citizen
+Tenancy or occupation contract or licence
+R
+citizen
+Underlessee or mortgagee
+R
+citizen
+caseNameHmctsInternal
+R
+citizen
+caseTitleMarkdown
+R
+citizen
+claimantNames
+R
+citizen
+confirmEvictionSummaryMarkup
+R
+citizen
+confirmEvictionSummaryMarkupLabel
+R
+citizen
+dashboardData
+R
+citizen
+dateIssuedString
+R
+citizen
+defendantNames
+R
+citizen
+featureFlags
+R
+citizen
+flagLauncherExternal
+CRU
+citizen
+nextStepsMarkdown
+R
+citizen
+nextStepsMarkdownLabel
+R
+citizen
+partySupport
+CRUD
+citizen
+postCode
+R
+citizen
+summaryLegalRepresentativeMarkdown
+R
+citizen
+summaryLegalRepresentativeMarkdownLabel
+R

AuthorisationCaseField/circuit-judge.json

UserRoleCaseFieldIDCRUD
+circuit-judge
+partySupport
+RD
+circuit-judge
+supportReviewFlags
+RD

AuthorisationCaseField/caseworker-pcs-solicitor.json

UserRoleCaseFieldIDCRUD
+caseworker-pcs-solicitor
+flagLauncherExternal
+CRU
+caseworker-pcs-solicitor
+partySupport
+CRUD

AuthorisationCaseField/DEFENDANTSOLICITOR.json

UserRoleCaseFieldIDCRUD
+[DEFENDANTSOLICITOR]
+partySupport
+CRUD

AuthorisationCaseField/DEFENDANT.json

UserRoleCaseFieldIDCRUD
+[DEFENDANT]
+flagLauncherExternal
+CRU
+[DEFENDANT]
+partySupport
+CRUD

AuthorisationCaseField/CLAIMANTSOLICITOR.json

UserRoleCaseFieldIDCRUD
+[CLAIMANTSOLICITOR]
+caseNameHmctsInternal
+R
+[CLAIMANTSOLICITOR]
+caseTitleMarkdown
+R
+[CLAIMANTSOLICITOR]
+claimantNames
+R
+[CLAIMANTSOLICITOR]
+dashboardData
+R
+[CLAIMANTSOLICITOR]
+dateIssuedString
+R
+[CLAIMANTSOLICITOR]
+defendantNames
+R
+[CLAIMANTSOLICITOR]
+featureFlags
+R
+[CLAIMANTSOLICITOR]
+nextStepsMarkdown
+R
+[CLAIMANTSOLICITOR]
+nextStepsMarkdownLabel
+R
+[CLAIMANTSOLICITOR]
+partySupport
+CRUD
+[CLAIMANTSOLICITOR]
+postCode
+R

CaseEvent/reviewSupportRequest.json

CallBackURLAboutToStartEventDescriptionEndButtonLabelIDNamePostConditionStatePreConditionState(s)PublishShowEventNotesShowSummary
+http://localhost:3206/callbacks/about-to-start?eventId=reviewSupportRequest
+To review requested support
+Submit
+reviewSupportRequest
+Review support request
+*
+ALL_FINAL_ORDERS_ISSUED;BREATHING_SPACE;CASE_ISSUED;CASE_PROGRESSION;CASE_STAYED;DECISION_OUTCOME;HEARING_READINESS;JUDICIAL_REFERRAL;PENDING_CASE_ISSUED;PREPARE_FOR_HEARING_CONDUCT_HEARING
+N
+N
+Y

CaseEvent/requestSupport.json

DescriptionEndButtonLabelIDNamePostConditionStatePreConditionState(s)PublishShowEventNotesShowSummary
+To request support
+Submit
+requestSupport
+Request support
+*
+ALL_FINAL_ORDERS_ISSUED;BREATHING_SPACE;CASE_ISSUED;CASE_PROGRESSION;CASE_STAYED;DECISION_OUTCOME;HEARING_READINESS;JUDICIAL_REFERRAL;PENDING_CASE_ISSUED;PREPARE_FOR_HEARING_CONDUCT_HEARING
+N
+N
+Y

CaseEvent/manageSupport.json

DescriptionEndButtonLabelIDNamePostConditionStatePreConditionState(s)PublishShowEventNotesShowSummary
+To manage support
+Submit
+manageSupport
+Manage support
+*
+ALL_FINAL_ORDERS_ISSUED;BREATHING_SPACE;CASE_ISSUED;CASE_PROGRESSION;CASE_STAYED;DECISION_OUTCOME;HEARING_READINESS;JUDICIAL_REFERRAL;PENDING_CASE_ISSUED;PREPARE_FOR_HEARING_CONDUCT_HEARING
+N
+N
+Y

ComplexTypes/4_Party.json

RetainHiddenValueFieldTypeParameterListElementCodeIDFieldTypeElementLabel
+Y
+
+partyFlagsExternal
+Party
+Flags
+Party Flags (external)
-Y
-
-defendantFlagsExternal
-Party
-Flags
-Party Flags (external)

ComplexTypes/PartySupport.json

ElementLabelFieldTypeIDListElementCodeRetainHiddenValue
+Support
+Flags
+PartySupport
+supportFlags
+Y

CaseEventToFields/reviewSupportRequest.json

CaseEventIDCaseFieldIDDisplayContextPageColumnNumberPageDisplayOrderPageFieldDisplayOrderPageIDPageLabel
+reviewSupportRequest
+caseworkerCaseFlag-lineSeparator
+READONLY
+1
+1
+1
+caseworkerCaseFlag
+Review support request
+reviewSupportRequest
+flagLauncherInternal
+OPTIONAL
+#ARGUMENT(UPDATE,VERSION2.1)
+1
+1
+4
+caseworkerCaseFlag
+Review support request
+Y
+reviewSupportRequest
+supportReviewFlags
+OPTIONAL
+[STATE]="NEVER_SHOW"
+1
+1
+2
+caseworkerCaseFlag
+Review support request
+Y
+Y

CaseEventToFields/requestSupport.json

CaseEventIDCaseFieldIDDisplayContextDisplayContextParameterPageColumnNumberPageDisplayOrderPageFieldDisplayOrderPageIDPageLabelShowSummaryChangeOption
+requestSupport
+flagLauncherExternal
+OPTIONAL
+#ARGUMENT(CREATE,EXTERNAL)
+1
+1
+3
+externalCaseFlag
+Request support
+Y
+requestSupport
+partySupport
+OPTIONAL
+[STATE]="NEVER_SHOW"
+1
+1
+1
+externalCaseFlag
+Request support
+Y
+Y

CaseEventToFields/manageSupport.json

CaseEventIDCaseFieldIDDisplayContextDisplayContextParameterPageColumnNumberPageDisplayOrderPageFieldDisplayOrderPageIDPageLabelShowSummaryChangeOption
+manageSupport
+flagLauncherExternal
+OPTIONAL
+#ARGUMENT(UPDATE,EXTERNAL)
+1
+1
+3
+externalCaseFlag
+Manage support
+Y
+manageSupport
+partySupport
+OPTIONAL
+[STATE]="NEVER_SHOW"
+1
+1
+1
+externalCaseFlag
+Manage support
+Y
+Y

CaseTypeTab/93_supportcitizen.json

CaseFieldIDChannelDisplayContextParameterTabDisplayOrderTabFieldDisplayOrderTabIDTabLabelTabShowConditionUserRole
+flagLauncherExternal
+CaseWorker
+#ARGUMENT(READ,EXTERNAL)
+93
+1
+supportcitizen
+Support
+[STATE]!="AWAITING_SUBMISSION_TO_HMCTS"
+citizen
+partySupport
+CaseWorker
+#ARGUMENT(Flags)
+flagLauncherExternal!=""
+93
+2
+supportcitizen
+Support
+

CaseTypeTab/92_supportcaseworker-pcs-solicitor.json

CaseFieldIDChannelDisplayContextParameterTabDisplayOrderTabFieldDisplayOrderTabIDTabLabelTabShowConditionUserRole
+flagLauncherExternal
+CaseWorker
+#ARGUMENT(READ,EXTERNAL)
+92
+1
+supportcaseworker-pcs-solicitor
+Support
+[STATE]!="AWAITING_SUBMISSION_TO_HMCTS"
+caseworker-pcs-solicitor
+partySupport
+CaseWorker
+#ARGUMENT(Flags)
+flagLauncherExternal!=""
+92
+2
+supportcaseworker-pcs-solicitor
+Support
+

CaseTypeTab/91_support[DEFENDANT].json

CaseFieldIDChannelDisplayContextParameterTabDisplayOrderTabFieldDisplayOrderTabIDTabLabelTabShowConditionUserRole
+flagLauncherExternal
+CaseWorker
+#ARGUMENT(READ,EXTERNAL)
+91
+1
+support[DEFENDANT]
+Support
+[STATE]!="AWAITING_SUBMISSION_TO_HMCTS"
+[DEFENDANT]
+partySupport
+CaseWorker
+#ARGUMENT(Flags)
+flagLauncherExternal!=""
+91
+2
+support[DEFENDANT]
+Support
+

Comment thread src/main/resources/dmn/wa-task-completion-possession_service.dmn Outdated
Comment thread src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/CaseFlagService.java Outdated
@marianadpereira marianadpereira added enable_e2e_test Currently used to test the common e2e test call enable_e2e_regression For running regression suite labels Aug 24, 2026
@hmcts-jenkins-j-to-z

Copy link
Copy Markdown
Contributor

Plan Result (aat)

No changes. Your infrastructure matches the configuration.

@hmcts-jenkins-j-to-z

Copy link
Copy Markdown
Contributor

Plan Result (prod)

No changes. Your infrastructure matches the configuration.

}
}

createReviewCaseFlagRequestTask(caseReference, requestedFlags);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the flags coming into this method actually flag requests ? I'm not very familiar with the flag logic here but the comment on saveReasonableAdjustmentFlags(...) suggests that this mergePartyFlags(...) method is used for caseworker flags

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. mergePartyFlags() is used by the internal Manage/ Create case flags flow, so treating those incoming party flags as support requests is too broad. I've removed the ReviewCaseFlagRequest task creation from this method. The review-request task creation remains on the actual requested flag flow instead.

Comment thread featureFlags/flags.json Outdated
"release-1.3-enabled": true,
"wales-make-a-claim-enabled": true,
"caseworker-wa-enabled": false
"caseworker-wa-enabled": true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this intended to be changed to true? Just double checking

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes just temporarily enabled to test caseworker WA, will change it back to false before merging

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is only for local dev anyway, so you don't need to commit it to control feature flags in preview.

@sadmanrahh
sadmanrahh changed the base branch from master to HDPI-7656-RSREFlags August 26, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants