Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 6bae1ca

Browse files
SORMAS-Foundation#3005 - Parse yes/no values on import rather than during form building
1 parent c8f3c87 commit 6bae1ca

2 files changed

Lines changed: 10 additions & 16 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/campaigndata/CampaignFormBuilder.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ private float calculateComponentWidth(CampaignFormElementType type, List<Campaig
272272
private <T extends Field<?>> void setFieldValue(T field, CampaignFormElementType type, Object value) {
273273
switch (type) {
274274
case YES_NO:
275-
((NullableOptionGroup) field).setValue(Sets.newHashSet(getYesNoValue(value)));
275+
((NullableOptionGroup) field).setValue(Sets.newHashSet(value));
276276
break;
277277
case TEXT:
278278
case NUMBER:
@@ -352,19 +352,4 @@ public void resetFormValues() {
352352
});
353353
}
354354

355-
private Boolean getYesNoValue(Object value) {
356-
if (value instanceof Boolean) {
357-
return (Boolean) value;
358-
}
359-
360-
if ("yes".equals(value)) {
361-
return true;
362-
}
363-
if ("no".equals(value)) {
364-
return false;
365-
}
366-
367-
return null;
368-
}
369-
370355
}

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/importer/CampaignFormDataImporter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,15 @@ private void insertImportRowIntoData(CampaignFormDataDto campaignFormData, Strin
238238
continue;
239239
}
240240

241+
// Convert yes/no values to true/false
242+
if (CampaignFormElementType.YES_NO.toString().equals(existingFormElement.get().getType())) {
243+
if ("yes".equals(formEntry.getValue())) {
244+
formEntry.setValue(true);
245+
} else if ("no".equals(formEntry.getValue())) {
246+
formEntry.setValue(false);
247+
}
248+
}
249+
241250
if (Objects.nonNull(campaignFormData.getFormValues())) {
242251
List<CampaignFormDataEntry> currentElementFormValues = campaignFormData.getFormValues();
243252
currentElementFormValues.add(formEntry);

0 commit comments

Comments
 (0)