From 668b03762674b0f6d9b76ffc8a8e3e1e18ed6203 Mon Sep 17 00:00:00 2001 From: Karnaiah Pesula Date: Tue, 7 Jul 2026 10:20:58 +0200 Subject: [PATCH 1/2] Fixed the active and readonly boolean fields as string representation. The active and readonly fields now shows "Yes" or "No" instead of "true" or "false". --- .../CustomizableFieldsGrid.java | 123 +++++++++--------- 1 file changed, 65 insertions(+), 58 deletions(-) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/configuration/customizablefield/CustomizableFieldsGrid.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/configuration/customizablefield/CustomizableFieldsGrid.java index 76a05b58ab8..67a1a6bb095 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/configuration/customizablefield/CustomizableFieldsGrid.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/configuration/customizablefield/CustomizableFieldsGrid.java @@ -24,6 +24,7 @@ import de.symeda.sormas.api.i18n.Captions; import de.symeda.sormas.api.i18n.I18nProperties; import de.symeda.sormas.ui.ControllerProvider; +import de.symeda.sormas.ui.utils.BooleanRenderer; import de.symeda.sormas.ui.utils.FilteredGrid; import de.symeda.sormas.ui.utils.ShowDetailsListener; @@ -31,65 +32,71 @@ * Grid for displaying and managing customizable field metadata. */ @SuppressWarnings({ - "java:S110", // suppress sonar too many parents warning - "java:S2160" // suppress missing equals + "java:S110", // suppress sonar too many parents warning + "java:S2160" // suppress missing equals }) public class CustomizableFieldsGrid extends FilteredGrid { - private static final long serialVersionUID = 1L; - - private static final String CLONE_COLUMN_ID = "clone"; - private static final String TOGGLE_ACTIVE_COLUMN_ID = "toggleActive"; - private static final String DELETE_COLUMN_ID = "delete"; - - public CustomizableFieldsGrid(CustomizableFieldMetadataCriteria criteria) { - - super(CustomizableFieldMetadataDto.class); - setSizeFull(); - - setLazyDataProvider( - FacadeProvider.getCustomizableFieldMetadataFacade()::getIndexList, - FacadeProvider.getCustomizableFieldMetadataFacade()::count); - setCriteria(criteria); - - setColumns( - CustomizableFieldMetadataDto.NAME, - CustomizableFieldMetadataDto.CONTEXT_CLASS, - CustomizableFieldMetadataDto.UI_GROUP, - CustomizableFieldMetadataDto.FIELD_TYPE, - CustomizableFieldMetadataDto.ACTIVE, - CustomizableFieldMetadataDto.READ_ONLY); - - addEditColumn(e -> ControllerProvider.getCustomizableFieldsController().editField(e.getUuid())); - - addColumn(e -> VaadinIcons.COPY.getHtml(), new HtmlRenderer()).setId(CLONE_COLUMN_ID) - .setCaption(I18nProperties.getCaption(Captions.actionClone)) - .setSortable(false) - .setWidth(40); - - addColumn(e -> e.isActive() ? VaadinIcons.CLOSE.getHtml() : VaadinIcons.CHECK.getHtml(), new HtmlRenderer()).setId(TOGGLE_ACTIVE_COLUMN_ID) - .setCaption(I18nProperties.getCaption(Captions.actionEnable) + "/" + I18nProperties.getCaption(Captions.actionDisable)) - .setSortable(false) - .setWidth(55); - - addColumn(e -> VaadinIcons.TRASH.getHtml(), new HtmlRenderer()).setId(DELETE_COLUMN_ID) - .setCaption(I18nProperties.getCaption(Captions.actionDelete)) - .setSortable(false) - .setWidth(40); - - addItemClickListener( - new ShowDetailsListener<>(CLONE_COLUMN_ID, false, e -> ControllerProvider.getCustomizableFieldsController().cloneField(e))); - addItemClickListener( - new ShowDetailsListener<>(TOGGLE_ACTIVE_COLUMN_ID, false, e -> ControllerProvider.getCustomizableFieldsController().toggleActive(e))); - addItemClickListener( - new ShowDetailsListener<>(DELETE_COLUMN_ID, false, e -> ControllerProvider.getCustomizableFieldsController().deleteField(e.getUuid(), this))); - - for (Column column : getColumns()) { - column.setCaption(I18nProperties.getPrefixCaption(CustomizableFieldMetadataDto.I18N_PREFIX, column.getId(), column.getCaption())); - } - } - - public void reload() { - getDataProvider().refreshAll(); - } + private static final long serialVersionUID = 1L; + + private static final String CLONE_COLUMN_ID = "clone"; + private static final String TOGGLE_ACTIVE_COLUMN_ID = "toggleActive"; + private static final String DELETE_COLUMN_ID = "delete"; + + public CustomizableFieldsGrid(CustomizableFieldMetadataCriteria criteria) { + + super(CustomizableFieldMetadataDto.class); + setSizeFull(); + + setLazyDataProvider( + FacadeProvider.getCustomizableFieldMetadataFacade()::getIndexList, + FacadeProvider.getCustomizableFieldMetadataFacade()::count); + setCriteria(criteria); + + setColumns( + CustomizableFieldMetadataDto.NAME, + CustomizableFieldMetadataDto.CONTEXT_CLASS, + CustomizableFieldMetadataDto.UI_GROUP, + CustomizableFieldMetadataDto.FIELD_TYPE, + CustomizableFieldMetadataDto.ACTIVE, + CustomizableFieldMetadataDto.READ_ONLY); + + ((Column) getColumn(CustomizableFieldMetadataDto.READ_ONLY)).setRenderer(new BooleanRenderer()); + ((Column) getColumn(CustomizableFieldMetadataDto.ACTIVE)).setRenderer(new BooleanRenderer()); + + addEditColumn(e -> ControllerProvider.getCustomizableFieldsController().editField(e.getUuid())); + + addColumn(e -> VaadinIcons.COPY.getHtml(), new HtmlRenderer()).setId(CLONE_COLUMN_ID) + .setCaption(I18nProperties.getCaption(Captions.actionClone)) + .setSortable(false) + .setWidth(40); + + addColumn(e -> e.isActive() ? VaadinIcons.CLOSE.getHtml() : VaadinIcons.CHECK.getHtml(), new HtmlRenderer()).setId(TOGGLE_ACTIVE_COLUMN_ID) + .setCaption(I18nProperties.getCaption(Captions.actionEnable) + "/" + I18nProperties.getCaption(Captions.actionDisable)) + .setSortable(false) + .setWidth(55); + + addColumn(e -> VaadinIcons.TRASH.getHtml(), new HtmlRenderer()).setId(DELETE_COLUMN_ID) + .setCaption(I18nProperties.getCaption(Captions.actionDelete)) + .setSortable(false) + .setWidth(40); + + addItemClickListener( + new ShowDetailsListener<>(CLONE_COLUMN_ID, false, e -> ControllerProvider.getCustomizableFieldsController().cloneField(e))); + addItemClickListener( + new ShowDetailsListener<>(TOGGLE_ACTIVE_COLUMN_ID, false, e -> ControllerProvider.getCustomizableFieldsController().toggleActive(e))); + addItemClickListener( + new ShowDetailsListener<>( + DELETE_COLUMN_ID, + false, + e -> ControllerProvider.getCustomizableFieldsController().deleteField(e.getUuid(), this))); + + for (Column column : getColumns()) { + column.setCaption(I18nProperties.getPrefixCaption(CustomizableFieldMetadataDto.I18N_PREFIX, column.getId(), column.getCaption())); + } + } + + public void reload() { + getDataProvider().refreshAll(); + } } From cc027e118e936c15ae828893f4bbd1d8159b8138 Mon Sep 17 00:00:00 2001 From: Karnaiah Pesula Date: Tue, 7 Jul 2026 11:38:45 +0200 Subject: [PATCH 2/2] fixed the prophylaxis prescribed boolean value as string representation --- .../java/de/symeda/sormas/ui/contact/AbstractContactGrid.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/contact/AbstractContactGrid.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/contact/AbstractContactGrid.java index 75a8b90ae9a..4e5270e6bae 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/contact/AbstractContactGrid.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/contact/AbstractContactGrid.java @@ -47,6 +47,7 @@ import de.symeda.sormas.ui.ControllerProvider; import de.symeda.sormas.ui.UiUtil; import de.symeda.sormas.ui.ViewModelProviders; +import de.symeda.sormas.ui.utils.BooleanRenderer; import de.symeda.sormas.ui.utils.CssStyles; import de.symeda.sormas.ui.utils.DateFormatHelper; import de.symeda.sormas.ui.utils.FieldAccessColumnStyleGenerator; @@ -184,6 +185,7 @@ protected void initColumns() { ((Column) getColumn(ContactIndexDto.UUID)).setRenderer(new UuidRenderer()); ((Column) getColumn(ContactIndexDto.PERSON_UUID)).setRenderer(new UuidRenderer()); ((Column) getColumn(ContactIndexDto.FOLLOW_UP_UNTIL)).setRenderer(new DateRenderer(DateFormatHelper.getDateFormat())); + ((Column) getColumn(ContactIndexDto.PROPHYLAXIS_PRESCRIBED)).setRenderer(new BooleanRenderer()); if (!FacadeProvider.getConfigFacade().isExternalJournalActive()) { getColumn(ContactIndexDto.SYMPTOM_JOURNAL_STATUS).setHidden(true);