Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
508d500
HDPI-7308: select document screen
sadmanrahh Jun 29, 2026
47e4dd3
HDPI-7308: update grants
sadmanrahh Jun 30, 2026
44077db
Merge branch 'master' into HDPI-7308-select-doc-screen
sadmanrahh Jun 30, 2026
ef94710
HDPI-7308: fix select doc screen
sadmanrahh Jun 30, 2026
727b677
HDPI-7308: add radiobuttons
sadmanrahh Jun 30, 2026
f49a099
HDPI-7308: checkstyle fix
sadmanrahh Jun 30, 2026
01dd3b6
HDPI-7308: radiobutton fix
sadmanrahh Jun 30, 2026
040d642
HDPI-7308: radiobutton fix
sadmanrahh Jun 30, 2026
6047d0f
HDPI-7308: radiobutton fix
sadmanrahh Jul 1, 2026
af43416
HDPI-7308: radiobutton fix 2
sadmanrahh Jul 1, 2026
e6f054b
HDPI-7308: radiobutton fix 3
sadmanrahh Jul 1, 2026
183d5b9
HDPI-7308: radiobutton with question working
sadmanrahh Jul 1, 2026
145df1f
HDPI-7308: radiobutton
sadmanrahh Jul 1, 2026
1e5623b
HDPI-7308: second question working
sadmanrahh Jul 1, 2026
265e23b
HDPI-7308: select second question working
sadmanrahh Jul 1, 2026
fa83e1b
HDPI-7308: radiobutton fixed
sadmanrahh Jul 1, 2026
21272cb
HDPI-7308: page header fixed
sadmanrahh Jul 1, 2026
b0b507d
HDPI-7308: make amend visible for judges
sadmanrahh Jul 2, 2026
2c6a8d7
HDPI-7308: fix error handling
sadmanrahh Jul 2, 2026
60127aa
HDPI-7308: refactor to enum
sadmanrahh Jul 2, 2026
1d5a9c2
HDPI-7308: add tests
sadmanrahh Jul 2, 2026
ea4c96f
HDPI-7308: resolve pr comments
sadmanrahh Jul 2, 2026
519663a
HDPI-7308: uncategorisedDocuments fix
sadmanrahh Jul 3, 2026
6e8e41a
HDPI-7308: Resolve Merge Conflicts
sadmanrahh Jul 3, 2026
9d9932b
HDPI-7308: Fix JsonNaming
sadmanrahh Jul 3, 2026
139c6dd
HDPI-7308: add not null constraint
sadmanrahh Jul 3, 2026
008923d
Merge branch 'master' into HDPI-7308-select-doc-screen
ArunabhaChowdhury Jul 6, 2026
6152dfd
HDPI-7308: fix UI
sadmanrahh Jul 7, 2026
4fe7b9f
Merge branch 'master' into HDPI-7308-select-doc-screen
sadmanrahh Jul 7, 2026
bc00c75
Merge branch 'master' into HDPI-7308-select-doc-screen
srinijg Jul 8, 2026
bb3acff
Merge branch 'master' into HDPI-7308-select-doc-screen
srinijg Jul 13, 2026
ab13b58
HDPI-7308: fix pipeline
sadmanrahh Jul 13, 2026
5a32d1d
HDPI-7308: fix unit test
sadmanrahh Jul 13, 2026
7198744
Merge branch 'master' into HDPI-7308-select-doc-screen
srinijg Jul 13, 2026
9b7d30b
Merge branch 'master' into HDPI-7308-select-doc-screen
srinijg Jul 14, 2026
606ff49
Hdpi 7308 automation (#2169)
srinijg Jul 15, 2026
58d25ce
Merge branch 'master' into HDPI-7308-select-doc-screen
sadmanrahh Jul 16, 2026
e5b049b
HDPI-7308: Add feature flag control to event
scottstewart-sl Jul 16, 2026
153403f
Bumping chart version/ fixing aliases
hmcts-jenkins-j-to-z[bot] Jul 16, 2026
615d056
Merge branch 'master' into HDPI-7308-select-doc-screen
scottstewart-sl Jul 16, 2026
24c5d49
Merge branch 'master' into HDPI-7308-select-doc-screen
scottstewart-sl Jul 17, 2026
93a66c5
HDPI-6454:WIP
libanAbdirahman1 Jul 17, 2026
e03982f
HDPI-6454:Adding migration script and document removal service
libanAbdirahman1 Jul 17, 2026
a28e4db
HDPI-6454:Updating document views to filter out documents flagged for…
libanAbdirahman1 Jul 17, 2026
6560d4e
user update
srinijg Jul 17, 2026
ff68a58
Merge branch 'master' into HDPI-7308-select-doc-screen
srinijg Jul 17, 2026
dc481c8
HDPI-6454:Adding and updating existing tests
libanAbdirahman1 Jul 17, 2026
26e69af
user update
srinijg Jul 17, 2026
d2797a2
Merge remote-tracking branch 'origin/master' into HDPI-7308-select-do…
srinijg Jul 17, 2026
3f12312
Merge remote-tracking branch 'origin/HDPI-7308-select-doc-screen' int…
libanAbdirahman1 Jul 17, 2026
2184ee0
HDPI-6454:Minor refactoring
libanAbdirahman1 Jul 17, 2026
a298112
HDPI-6454:Removing dead code
libanAbdirahman1 Jul 20, 2026
488a117
Merge remote-tracking branch 'origin' into HDPI-6454-Caseworker-remov…
libanAbdirahman1 Jul 20, 2026
9cdc13c
Merge remote-tracking branch 'origin' into HDPI-6454-Caseworker-remov…
libanAbdirahman1 Jul 20, 2026
1d482ec
HDPI-6454:Fixing sonar issue with exclusion
libanAbdirahman1 Jul 20, 2026
49a15ed
HDPI-6454:Adding feature flag to event & updating confirmation page
libanAbdirahman1 Jul 20, 2026
28f0781
Merge remote-tracking branch 'origin' into HDPI-6454-Caseworker-remov…
libanAbdirahman1 Jul 20, 2026
ee03012
Merge remote-tracking branch 'origin' into HDPI-6454-Caseworker-remov…
libanAbdirahman1 Jul 21, 2026
259f46e
HDPI-6454:Renaming service & adding new allowed states to remove docu…
libanAbdirahman1 Jul 21, 2026
94bfebb
Merge remote-tracking branch 'origin' into HDPI-6454-Caseworker-remov…
libanAbdirahman1 Jul 22, 2026
535a4de
HDPI-6454:Updating migration script number post update with master
libanAbdirahman1 Jul 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,9 @@ sonarqube {
"**/model/**," +
"**/uk/gov/hmcts/reform/pcs/testingsupport/**/*.java"
property "sonar.cpd.exclusions", "**/uk/gov/hmcts/reform/pcs/ccd/domain/enforcetheorder/warrant/StatementOfTruthDetails.java," +
"**/uk/gov/hmcts/reform/pcs/ccd/domain/genapp/*.java,"
"**/uk/gov/hmcts/reform/pcs/ccd/domain/genapp/*.java," +
"**/uk/gov/hmcts/reform/pcs/ccd/domain/documentamend/DocumentAmendDetails.java," +
"**/uk/gov/hmcts/reform/pcs/ccd/domain/documentremoval/DocumentRemovalDetails.java,"
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package uk.gov.hmcts.reform.pcs.ccd.accesscontrol;

import uk.gov.hmcts.reform.pcs.ccd.domain.State;

public final class ManageDocumentStates {

public static final State[] MANAGE_DOCUMENT_STATES = {
State.PENDING_CASE_ISSUED,
State.CASE_ISSUED,
State.CASE_PROGRESSION,
State.CASE_STAYED,
State.BREATHING_SPACE,
State.JUDICIAL_REFERRAL,
State.HEARING_READINESS,
State.PREPARE_FOR_HEARING_CONDUCT_HEARING,
State.DECISION_OUTCOME,
State.ALL_FINAL_ORDERS_ISSUED
};

private ManageDocumentStates() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package uk.gov.hmcts.reform.pcs.ccd.domain;

import uk.gov.hmcts.ccd.sdk.type.YesOrNo;

public interface DocumentSelectionDetails {

CaseFileCategory getSelectedFolder();

void setPropertyAddressSummary(String propertyAddressSummary);

void setEmptyForCategory(CaseFileCategory category, YesOrNo empty);

void setSelectedFolderId(String id);

void setSelectedFolderLabel(String label);

void setSelectedDocumentId(String id);

void setSelectedDocumentFileName(String fileName);
}
32 changes: 32 additions & 0 deletions src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/PCSCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
import uk.gov.hmcts.reform.pcs.ccd.domain.dashboard.DashboardData;
import uk.gov.hmcts.reform.pcs.ccd.domain.documentupload.DocumentUploadDetails;
import uk.gov.hmcts.reform.pcs.ccd.domain.documentamend.DocumentAmendDetails;
import uk.gov.hmcts.reform.pcs.ccd.domain.documentremoval.DocumentRemovalDetails;
import uk.gov.hmcts.reform.pcs.ccd.domain.documentupload.DocumentUploadDetails;
import uk.gov.hmcts.reform.pcs.ccd.domain.enforcetheorder.EnforcementOrder;
import uk.gov.hmcts.reform.pcs.ccd.domain.genapp.CitizenGenAppRequest;
import uk.gov.hmcts.reform.pcs.ccd.domain.genapp.GeneralApplication;
Expand Down Expand Up @@ -486,6 +488,36 @@ public class PCSCase {
@JsonUnwrapped(prefix = "documentAmend_")
private DocumentAmendDetails documentAmendDetails;

@JsonUnwrapped(prefix = "documentRemoval_")
private DocumentRemovalDetails documentRemovalDetails;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList statementsOfCaseDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList propertyDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList evidenceDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList hearingDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList ordersAndNoticeOfHearingsDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList applicationsDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList appealsDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList correspondenceDocuments;

@CCD(searchable = false, typeOverride = DynamicRadioList)
private DynamicList uncategorisedDocuments;

@CCD(
label = "Are you planning to make an application at the same time as your claim?",
hint = "After you’ve submitted your claim, there will be instructions on how to make an application"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package uk.gov.hmcts.reform.pcs.ccd.domain.documentamend;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
Expand All @@ -10,10 +11,9 @@
import lombok.NoArgsConstructor;
import uk.gov.hmcts.ccd.sdk.api.CCD;
import uk.gov.hmcts.reform.pcs.ccd.domain.CaseFileCategory;
import uk.gov.hmcts.ccd.sdk.type.DynamicList;
import uk.gov.hmcts.ccd.sdk.type.YesOrNo;
import uk.gov.hmcts.reform.pcs.ccd.domain.DocumentSelectionDetails;

import static uk.gov.hmcts.ccd.sdk.type.FieldType.DynamicRadioList;
import static uk.gov.hmcts.ccd.sdk.type.FieldType.FixedList;

@Builder
Expand All @@ -22,7 +22,7 @@
@AllArgsConstructor
@JsonInclude(Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.UpperCamelCaseStrategy.class)
public class DocumentAmendDetails {
public class DocumentAmendDetails implements DocumentSelectionDetails {

@CCD(
label = "Which folder is the document in?",
Expand All @@ -35,69 +35,6 @@ public class DocumentAmendDetails {
@CCD(searchable = false)
private String propertyAddressSummary;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList statementsOfCaseDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList propertyDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList evidenceDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList hearingDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList ordersAndNoticeOfHearingsDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList applicationsDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList appealsDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList correspondenceDocuments;

@CCD(
label = "Which document do you want to amend?",
searchable = false,
typeOverride = DynamicRadioList
)
private DynamicList uncategorisedDocuments;

@CCD(searchable = false)
private YesOrNo statementsOfCaseEmpty;

Expand Down Expand Up @@ -136,4 +73,20 @@ public class DocumentAmendDetails {

@CCD(searchable = false)
private String selectedDocumentFileName;

@JsonIgnore
@Override
public void setEmptyForCategory(CaseFileCategory category, YesOrNo empty) {
switch (category) {
case STATEMENTS_OF_CASE -> statementsOfCaseEmpty = empty;
case PROPERTY_DOCUMENTS -> propertyDocumentsEmpty = empty;
case EVIDENCE -> evidenceEmpty = empty;
case HEARING_DOCUMENTS -> hearingDocumentsEmpty = empty;
case ORDERS_AND_NOTICE_OF_HEARINGS -> ordersAndNoticeOfHearingsEmpty = empty;
case APPLICATIONS -> applicationsEmpty = empty;
case APPEALS -> appealsEmpty = empty;
case CORRESPONDENCE -> correspondenceEmpty = empty;
case UNCATEGORISED_DOCUMENTS -> uncategorisedDocumentsEmpty = empty;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
package uk.gov.hmcts.reform.pcs.ccd.domain.documentremoval;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import uk.gov.hmcts.ccd.sdk.api.CCD;
import uk.gov.hmcts.ccd.sdk.type.YesOrNo;
import uk.gov.hmcts.reform.pcs.ccd.domain.CaseFileCategory;
import uk.gov.hmcts.reform.pcs.ccd.domain.DocumentSelectionDetails;

import static uk.gov.hmcts.ccd.sdk.type.FieldType.FixedList;
import static uk.gov.hmcts.ccd.sdk.type.FieldType.TextArea;

@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.UpperCamelCaseStrategy.class)
public class DocumentRemovalDetails implements DocumentSelectionDetails {

@CCD(
label = "Which folder is the document in?",
searchable = false,
typeOverride = FixedList,
typeParameterOverride = "CaseFileCategory"
)
private CaseFileCategory selectedFolder;

@CCD(searchable = false)
private String propertyAddressSummary;

@CCD(searchable = false)
private YesOrNo statementsOfCaseEmpty;

@CCD(searchable = false)
private YesOrNo propertyDocumentsEmpty;

@CCD(searchable = false)
private YesOrNo evidenceEmpty;

@CCD(searchable = false)
private YesOrNo hearingDocumentsEmpty;

@CCD(searchable = false)
private YesOrNo ordersAndNoticeOfHearingsEmpty;

@CCD(searchable = false)
private YesOrNo applicationsEmpty;

@CCD(searchable = false)
private YesOrNo appealsEmpty;

@CCD(searchable = false)
private YesOrNo correspondenceEmpty;

@CCD(searchable = false)
private YesOrNo uncategorisedDocumentsEmpty;

@CCD(searchable = false)
private String selectedFolderId;

@CCD(searchable = false)
private String selectedFolderLabel;

@CCD(searchable = false)
private String selectedDocumentId;

@CCD(searchable = false)
private String selectedDocumentFileName;

@CCD(searchable = false, typeOverride = TextArea)
private String statementsOfCaseReason;

@CCD(searchable = false, typeOverride = TextArea)
private String propertyDocumentsReason;

@CCD(searchable = false, typeOverride = TextArea)
private String evidenceReason;

@CCD(searchable = false, typeOverride = TextArea)
private String hearingDocumentsReason;

@CCD(searchable = false, typeOverride = TextArea)
private String ordersAndNoticeOfHearingsReason;

@CCD(searchable = false, typeOverride = TextArea)
private String applicationsReason;

@CCD(searchable = false, typeOverride = TextArea)
private String appealsReason;

@CCD(searchable = false, typeOverride = TextArea)
private String correspondenceReason;

@CCD(searchable = false, typeOverride = TextArea)
private String uncategorisedDocumentsReason;

@JsonIgnore
@Override
public void setEmptyForCategory(CaseFileCategory category, YesOrNo empty) {
switch (category) {
case STATEMENTS_OF_CASE -> statementsOfCaseEmpty = empty;
case PROPERTY_DOCUMENTS -> propertyDocumentsEmpty = empty;
case EVIDENCE -> evidenceEmpty = empty;
case HEARING_DOCUMENTS -> hearingDocumentsEmpty = empty;
case ORDERS_AND_NOTICE_OF_HEARINGS -> ordersAndNoticeOfHearingsEmpty = empty;
case APPLICATIONS -> applicationsEmpty = empty;
case APPEALS -> appealsEmpty = empty;
case CORRESPONDENCE -> correspondenceEmpty = empty;
case UNCATEGORISED_DOCUMENTS -> uncategorisedDocumentsEmpty = empty;
}
}

@JsonIgnore
public String getReasonForCategory(CaseFileCategory category) {
return switch (category) {
case STATEMENTS_OF_CASE -> statementsOfCaseReason;
case PROPERTY_DOCUMENTS -> propertyDocumentsReason;
case EVIDENCE -> evidenceReason;
case HEARING_DOCUMENTS -> hearingDocumentsReason;
case ORDERS_AND_NOTICE_OF_HEARINGS -> ordersAndNoticeOfHearingsReason;
case APPLICATIONS -> applicationsReason;
case APPEALS -> appealsReason;
case CORRESPONDENCE -> correspondenceReason;
case UNCATEGORISED_DOCUMENTS -> uncategorisedDocumentsReason;
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import uk.gov.hmcts.reform.pcs.ccd.entity.respondpossessionclaim.DefendantResponseEntity;

import java.time.Instant;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
Expand Down Expand Up @@ -103,6 +104,12 @@ public class DocumentEntity {
@JoinColumn(name = "counter_claim_id")
private CounterClaimEntity counterClaim;

private boolean removed;

private String removalReason;

private LocalDateTime removedAt;

@PrePersist
void prePersist() {
if (submittedDate == null) {
Expand Down
Loading
Loading