Skip to content

Commit 89fa37f

Browse files
sergiupacurariuLevente GalSergiuPacurariu
authored
Feature 13253 create survey tokens pages (#13275)
* #13195 Create a Survey request document to a case Person's * #13193 Send a survey request email to a case person's email * #13193 Send a survey request email to a case person's email - fix code formatting * #13193 Send a survey request email to a case person's email - fixed arch tests * #13193 Send a survey request email to a case person's email - fix merge issues * #13193 Send a survey request email to a case person's email - add token into the generated document * #13253 - Create Survey tokens pages * #13253 - Create Survey tokens pages * #13253 - Create Survey tokens pages: fix response received checkbox alignment * #13253 - Create Survey tokens pages - changes after review * #13253 - Create Survey tokens pages - changes after review --------- Co-authored-by: Levente Gal <levente.gal.ext@vitagroup.ag> Co-authored-by: SergiuPacurariu <sergiu.pacurariu@she.ro>
1 parent 5cb10e8 commit 89fa37f

32 files changed

+667
-58
lines changed

sormas-api/src/main/java/de/symeda/sormas/api/document/DocumentFacade.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,6 @@ public interface DocumentFacade {
4444
byte[] getContent(String uuid) throws IOException;
4545

4646
void cleanupDeletedDocuments();
47+
48+
void deleteDocumentFromAllRelations(String documentUuid);
4749
}

sormas-api/src/main/java/de/symeda/sormas/api/document/DocumentRelatedEntityType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public enum DocumentRelatedEntityType {
2222
CONTACT,
2323
ACTION,
2424
EVENT,
25-
TRAVEL_ENTRY;
25+
TRAVEL_ENTRY,
26+
SURVEY;
2627

2728
@Override
2829
public String toString() {

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Captions.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2700,15 +2700,20 @@ public interface Captions {
27002700
String surveyNewSurvey = "surveyNewSurvey";
27012701
String surveySend = "surveySend";
27022702
String surveySurveyList = "surveySurveyList";
2703+
String surveySurveyTokenList = "surveySurveyTokenList";
27032704
String SurveyToken = "SurveyToken";
2705+
String SurveyToken_assignedCaseUuid = "SurveyToken.assignedCaseUuid";
27042706
String SurveyToken_assignmentDate = "SurveyToken.assignmentDate";
2705-
String SurveyToken_caseAssignedTo = "SurveyToken.caseAssignedTo";
27062707
String SurveyToken_generatedDocument = "SurveyToken.generatedDocument";
27072708
String SurveyToken_recipientEmail = "SurveyToken.recipientEmail";
27082709
String SurveyToken_responseReceived = "SurveyToken.responseReceived";
2710+
String SurveyToken_responseReceivedDate = "SurveyToken.responseReceivedDate";
27092711
String SurveyToken_survey = "SurveyToken.survey";
27102712
String SurveyToken_token = "SurveyToken.token";
27112713
String SurveyToken_uuid = "SurveyToken.uuid";
2714+
String surveyTokenDeleteSurveyToken = "surveyTokenDeleteSurveyToken";
2715+
String surveyTokenFilterResponseReceived = "surveyTokenFilterResponseReceived";
2716+
String surveyTokenFilterTokenNotAssigned = "surveyTokenFilterTokenNotAssigned";
27122717
String symptomJournalOptionsButton = "symptomJournalOptionsButton";
27132718
String Symptoms = "Symptoms";
27142719
String Symptoms_abdominalPain = "Symptoms.abdominalPain";
@@ -3258,6 +3263,7 @@ public interface Captions {
32583263
String View_statistics = "View.statistics";
32593264
String View_statistics_database_export = "View.statistics.database-export";
32603265
String View_surveys = "View.surveys";
3266+
String View_surveys_surveyTokens = "View.surveys.surveyTokens";
32613267
String View_tasks = "View.tasks";
32623268
String View_tasks_archive = "View.tasks.archive";
32633269
String View_tasks_sub = "View.tasks.sub";

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,6 +1559,8 @@ public interface Strings {
15591559
String messageSurveyNoEmailTemplate = "messageSurveyNoEmailTemplate";
15601560
String messageSurveyNoTokens = "messageSurveyNoTokens";
15611561
String messageSurveySaved = "messageSurveySaved";
1562+
String messageSurveyTokenDelete = "messageSurveyTokenDelete";
1563+
String messageSurveyTokenSaved = "messageSurveyTokenSaved";
15621564
String messageSymptomsHint = "messageSymptomsHint";
15631565
String messageSymptomsVisitHint = "messageSymptomsVisitHint";
15641566
String messageSyncUsersFromAuthProviderConfigurationError = "messageSyncUsersFromAuthProviderConfigurationError";
@@ -1809,6 +1811,7 @@ public interface Strings {
18091811
String promptSurveyAssignedTo = "promptSurveyAssignedTo";
18101812
String promptSurveyFreeTextSearch = "promptSurveyFreeTextSearch";
18111813
String promptSurveyResponseStatus = "promptSurveyResponseStatus";
1814+
String promptSurveyTokenFreeTextSearch = "promptSurveyTokenFreeTextSearch";
18121815
String promptTaskDateFrom = "promptTaskDateFrom";
18131816
String promptTaskDateTo = "promptTaskDateTo";
18141817
String promptTaskDateType = "promptTaskDateType";

sormas-api/src/main/java/de/symeda/sormas/api/survey/SurveyTokenCriteria.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,25 @@
1616
package de.symeda.sormas.api.survey;
1717

1818
import de.symeda.sormas.api.caze.CaseReferenceDto;
19+
import de.symeda.sormas.api.utils.IgnoreForUrl;
1920
import de.symeda.sormas.api.utils.criteria.BaseCriteria;
2021

2122
public class SurveyTokenCriteria extends BaseCriteria {
2223

2324
private static final long serialVersionUID = 4551275234176171493L;
2425

26+
public static final String FREE_TEXT = "freeText";
27+
public static final String RESPONSE_RECEIVED = "responseReceived";
28+
public static final String TOKEN_NOT_ASSIGNED = "tokenNotAssigned";
29+
2530
private SurveyReferenceDto survey;
26-
private String tokenLike;
31+
private String freeText;
2732
private String token;
2833
private CaseReferenceDto caseAssignedTo;
34+
private Boolean responseReceived;
35+
private Boolean tokenNotAssigned;
2936

37+
@IgnoreForUrl
3038
public SurveyReferenceDto getSurvey() {
3139
return survey;
3240
}
@@ -40,12 +48,12 @@ public SurveyTokenCriteria survey(SurveyReferenceDto survey) {
4048
return this;
4149
}
4250

43-
public String getTokenLike() {
44-
return tokenLike;
51+
public String getFreeText() {
52+
return freeText;
4553
}
4654

47-
public void setTokenLike(String tokenLike) {
48-
this.tokenLike = tokenLike;
55+
public void setFreeText(String freeText) {
56+
this.freeText = freeText;
4957
}
5058

5159
public String getToken() {
@@ -57,7 +65,7 @@ public void setToken(String token) {
5765
}
5866

5967
public SurveyTokenCriteria tokenLike(String tokenLike) {
60-
setTokenLike(tokenLike);
68+
setFreeText(tokenLike);
6169
return this;
6270
}
6371

@@ -73,4 +81,20 @@ public SurveyTokenCriteria caseAssignedTo(CaseReferenceDto caseAssignedTo) {
7381
setCaseAssignedTo(caseAssignedTo);
7482
return this;
7583
}
84+
85+
public Boolean getResponseReceived() {
86+
return responseReceived;
87+
}
88+
89+
public void setResponseReceived(Boolean responseReceived) {
90+
this.responseReceived = responseReceived;
91+
}
92+
93+
public Boolean getTokenNotAssigned() {
94+
return tokenNotAssigned;
95+
}
96+
97+
public void setTokenNotAssigned(Boolean tokenNotAssigned) {
98+
this.tokenNotAssigned = tokenNotAssigned;
99+
}
76100
}

sormas-api/src/main/java/de/symeda/sormas/api/survey/SurveyTokenDto.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class SurveyTokenDto extends EntityDto {
4343
public static final String RECIPIENT_EMAIL = "recipientEmail";
4444
public static final String GENERATED_DOCUMENT = "generatedDocument";
4545
public static final String RESPONSE_RECEIVED = "responseReceived";
46+
public static final String RESPONSE_RECEIVED_DATE = "responseReceivedDate";
4647

4748
@NotNull(message = Validations.requiredField)
4849
private SurveyReferenceDto survey;
@@ -55,6 +56,7 @@ public class SurveyTokenDto extends EntityDto {
5556
private String recipientEmail;
5657
private DocumentReferenceDto generatedDocument;
5758
private boolean responseReceived;
59+
private Date responseReceivedDate;
5860

5961
public static SurveyTokenDto build() {
6062
SurveyTokenDto token = new SurveyTokenDto();
@@ -126,4 +128,16 @@ public boolean isResponseReceived() {
126128
public void setResponseReceived(boolean responseReceived) {
127129
this.responseReceived = responseReceived;
128130
}
131+
132+
public Date getResponseReceivedDate() {
133+
return responseReceivedDate;
134+
}
135+
136+
public void setResponseReceivedDate(Date responseReceivedDate) {
137+
this.responseReceivedDate = responseReceivedDate;
138+
}
139+
140+
public SurveyTokenReferenceDto toReference() {
141+
return new SurveyTokenReferenceDto(getUuid());
142+
}
129143
}

sormas-api/src/main/java/de/symeda/sormas/api/survey/SurveyTokenFacade.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,8 @@ public interface SurveyTokenFacade {
4444
String getSurveyTokenResponsesImportTemplateFileName();
4545

4646
SurveyTokenDto getBySurveyAndToken(SurveyReferenceDto survey, String token);
47+
48+
boolean exists(String uuid);
49+
50+
SurveyTokenReferenceDto getReferenceByUuid(String uuid);
4751
}

sormas-api/src/main/java/de/symeda/sormas/api/survey/SurveyTokenIndexDto.java

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,44 +17,57 @@
1717

1818
import java.util.Date;
1919

20-
import de.symeda.sormas.api.caze.CaseReferenceDto;
2120
import de.symeda.sormas.api.utils.pseudonymization.PseudonymizableIndexDto;
2221

2322
public class SurveyTokenIndexDto extends PseudonymizableIndexDto {
2423

24+
public static final String I18N_PREFIX = "SurveyToken";
2525
private static final long serialVersionUID = 4358173798026207265L;
2626

27+
public static final String TOKEN = "token";
28+
public static final String ASSIGNED_CASE_UUID = "assignedCaseUuid";
29+
public static final String ASSIGNEMENT_DATE = "assignmentDate";
30+
public static final String RESPONSE_RECEIVED = "responseReceived";
31+
public static final String RESPONSE_RECEIVED_DATE = "responseReceivedDate";
32+
2733
private final String surveyUuid;
2834
private final String surveyName;
2935
private final String token;
30-
private final CaseReferenceDto caseAssignedTo;
36+
private final String assignedCaseUuid;
3137
private final Date assignmentDate;
3238
private final String recipientEmail;
3339
private final Boolean responseReceived;
40+
private final Date responseReceivedDate;
3441
private final String generatedDocumentUuid;
3542
private final String generatedDocumentName;
3643
private final String generatedDocumentMimeType;
3744

3845
public SurveyTokenIndexDto(
39-
String uuid,
40-
String surveyUuid,
41-
String surveyName,
42-
String token,
43-
CaseReferenceDto caseAssignedTo,
44-
Date assignmentDate,
45-
String recipientEmail, Boolean responseReceived, String generatedDocumentUuid, String generatedDocumentName, String generatedDocumentMimeType) {
46+
String uuid,
47+
String surveyUuid,
48+
String surveyName,
49+
String token,
50+
String assignedCaseUuid,
51+
Date assignmentDate,
52+
String recipientEmail,
53+
Boolean responseReceived,
54+
String generatedDocumentUuid,
55+
String generatedDocumentName,
56+
String generatedDocumentMimeType,
57+
Date generatedDocumentDate) {
4658
super(uuid);
4759
this.surveyUuid = surveyUuid;
4860
this.surveyName = surveyName;
4961
this.token = token;
50-
this.caseAssignedTo = caseAssignedTo;
62+
this.assignedCaseUuid = assignedCaseUuid;
5163
this.assignmentDate = assignmentDate;
5264
this.recipientEmail = recipientEmail;
53-
this.responseReceived = responseReceived;
54-
this.generatedDocumentUuid = generatedDocumentUuid;
55-
this.generatedDocumentName = generatedDocumentName;
56-
this.generatedDocumentMimeType = generatedDocumentMimeType;
57-
}
65+
this.responseReceived = responseReceived;
66+
this.generatedDocumentUuid = generatedDocumentUuid;
67+
this.generatedDocumentName = generatedDocumentName;
68+
this.generatedDocumentMimeType = generatedDocumentMimeType;
69+
this.responseReceivedDate = generatedDocumentDate;
70+
}
5871

5972
public String getSurveyUuid() {
6073
return surveyUuid;
@@ -68,8 +81,8 @@ public String getToken() {
6881
return token;
6982
}
7083

71-
public CaseReferenceDto getCaseAssignedTo() {
72-
return caseAssignedTo;
84+
public String getAssignedCaseUuid() {
85+
return assignedCaseUuid;
7386
}
7487

7588
public Date getAssignmentDate() {
@@ -99,4 +112,8 @@ public String getGeneratedDocumentName() {
99112
public String getGeneratedDocumentMimeType() {
100113
return generatedDocumentMimeType;
101114
}
115+
116+
public Date getResponseReceivedDate() {
117+
return responseReceivedDate;
118+
}
102119
}

sormas-api/src/main/java/de/symeda/sormas/api/survey/SurveyTokenReferenceDto.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ public class SurveyTokenReferenceDto extends ReferenceDto {
2121

2222
private static final long serialVersionUID = -8524526281454532572L;
2323

24+
public SurveyTokenReferenceDto(String uuid) {
25+
super(uuid);
26+
}
27+
2428
public SurveyTokenReferenceDto(String uuid, String caption) {
2529
super(uuid, caption);
2630
}

sormas-api/src/main/java/de/symeda/sormas/api/user/UserRight.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ public enum UserRight {
298298
SURVEY_TOKEN_VIEW(UserRightGroup.SURVEY, UserRight._SURVEY_VIEW),
299299
SURVEY_TOKEN_CREATE(UserRightGroup.SURVEY, UserRight._SURVEY_TOKEN_VIEW),
300300
SURVEY_TOKEN_EDIT(UserRightGroup.SURVEY, UserRight._SURVEY_TOKEN_VIEW),
301-
SURVEY_TOKEN_DELETE(UserRightGroup.SURVEY, UserRight._SURVEY_TOKEN_VIEW),
301+
SURVEY_TOKEN_DELETE(UserRightGroup.SURVEY, UserRight._SURVEY_TOKEN_VIEW, UserRight._DOCUMENT_DELETE),
302302
SURVEY_TOKEN_IMPORT(UserRightGroup.SURVEY, UserRight._SURVEY_TOKEN_VIEW),
303303

304304
OUTBREAK_VIEW(UserRightGroup.CONFIGURATION),

0 commit comments

Comments
 (0)