Skip to content

Commit 315cdac

Browse files
committed
✨ Added new section to be able to distinguish among different survey responses
1 parent d198be3 commit 315cdac

4 files changed

Lines changed: 25 additions & 3 deletions

File tree

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2942,6 +2942,7 @@ public interface Captions {
29422942
String surveyResponseField = "surveyResponseField";
29432943
String surveyResponseIgnoreField = "surveyResponseIgnoreField";
29442944
String surveyResponseKeyName = "surveyResponseKeyName";
2945+
String surveyResponseGeneralInfo = "surveyResponseGeneralInfo";
29452946
String surveyResponseMetadata = "surveyResponseMetadata";
29462947
String surveyResponsePatchDictionary = "surveyResponsePatchDictionary";
29472948
String surveyResponseProcessingResult = "surveyResponseProcessingResult";

sormas-api/src/main/resources/captions.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3775,6 +3775,7 @@ surveyResponseFailureCause=Failure Cause
37753775
surveyResponseDescription=Description
37763776
surveyResponseCaseLink=Case
37773777
surveyResponseApplied=Applied
3778+
surveyResponseGeneralInfo=External Message General Info
37783779
surveyResponseMetadata=Metadata
37793780
surveyResponsePatchDictionary=Patch Dictionary
37803781
surveyResponseExcludedFieldsDictionary=Ignored fields Dictionary

sormas-api/src/main/resources/enum.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2541,6 +2541,7 @@ ExternalMessageStatus.UNCLEAR=Unclear
25412541
# ExternalMessageType
25422542
ExternalMessageType.LAB_MESSAGE=Lab message
25432543
ExternalMessageType.PHYSICIANS_REPORT=Physician's report
2544+
ExternalMessageType.SURVEY_RESPONSE=Survey response
25442545

25452546
# ShareRequestDataType
25462547
ShareRequestDataType.CASE = Case

sormas-ui/src/main/java/de/symeda/sormas/ui/externalmessage/surveyresponse/SurveyResponseDetailsWindow.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,21 @@ public SurveyResponseDetailsWindow(ExternalMessageDto externalMessage, Runnable
6565
ExternalMessageSurveyResponseRequest request = latest.getRequest();
6666
ExternalMessageSurveyResponseResult result = latest.getResult();
6767

68+
// --- External Message General Info section ---
69+
Label generalInfoHeading = new Label(I18nProperties.getCaption(Captions.surveyResponseGeneralInfo));
70+
CssStyles.style(generalInfoHeading, CssStyles.H3);
71+
layout.addComponent(generalInfoHeading);
72+
73+
addReadOnlyField(layout, "UUID", externalMessage.getUuid());
74+
addReadOnlyField(
75+
layout,
76+
I18nProperties.getPrefixCaption(ExternalMessageDto.I18N_PREFIX, ExternalMessageDto.DISEASE),
77+
toStringOrEmpty(externalMessage.getDisease()));
78+
addReadOnlyField(
79+
layout,
80+
I18nProperties.getPrefixCaption(ExternalMessageDto.I18N_PREFIX, ExternalMessageDto.STATUS),
81+
toStringOrEmpty(externalMessage.getStatus()));
82+
6883
// --- Metadata section ---
6984
Label metadataHeading = new Label(I18nProperties.getCaption(Captions.surveyResponseMetadata));
7085
CssStyles.style(metadataHeading, CssStyles.H3);
@@ -73,9 +88,9 @@ public SurveyResponseDetailsWindow(ExternalMessageDto externalMessage, Runnable
7388
addReadOnlyField(layout, "External Survey ID", request.getExternalSurveyId());
7489
addReadOnlyField(layout, "Token", request.getToken());
7590
addReadOnlyField(layout, "Respondent ID", request.getExternalRespondentId());
76-
addReadOnlyField(layout, "Response Received", request.getResponseReceivedDate() != null ? request.getResponseReceivedDate().toString() : "");
77-
addReadOnlyField(layout, "Replacement Strategy", request.getReplacementStrategy() != null ? request.getReplacementStrategy().name() : "");
78-
addReadOnlyField(layout, "Empty Value Behavior", request.getEmptyValueBehavior() != null ? request.getEmptyValueBehavior().name() : "");
91+
addReadOnlyField(layout, "Response Received", toStringOrEmpty(request.getResponseReceivedDate()));
92+
addReadOnlyField(layout, "Replacement Strategy", toStringOrEmpty(request.getReplacementStrategy()));
93+
addReadOnlyField(layout, "Empty Value Behavior", toStringOrEmpty(request.getEmptyValueBehavior()));
7994
addReadOnlyField(layout, "Patched in Case of Failures", String.valueOf(request.isPatchedInCaseOfFailures()));
8095

8196
// --- Patch Dictionary section ---
@@ -197,6 +212,10 @@ public SurveyResponseDetailsWindow(ExternalMessageDto externalMessage, Runnable
197212
UI.getCurrent().addWindow(window);
198213
}
199214

215+
private static String toStringOrEmpty(Object value) {
216+
return value != null ? value.toString() : "";
217+
}
218+
200219
private void addReadOnlyField(VerticalLayout layout, String caption, String value) {
201220
Label label = new Label(value != null ? value : "");
202221
label.setCaption(caption);

0 commit comments

Comments
 (0)