diff --git a/api/src/org/labkey/api/audit/AbstractAuditTypeProvider.java b/api/src/org/labkey/api/audit/AbstractAuditTypeProvider.java index 488691bd02c..9d573cc1536 100644 --- a/api/src/org/labkey/api/audit/AbstractAuditTypeProvider.java +++ b/api/src/org/labkey/api/audit/AbstractAuditTypeProvider.java @@ -29,6 +29,7 @@ import org.labkey.api.data.DbSchema; import org.labkey.api.data.DbSchemaType; import org.labkey.api.data.DbScope; +import org.labkey.api.data.MultiChoice; import org.labkey.api.data.MutableColumnInfo; import org.labkey.api.data.Table; import org.labkey.api.data.TableInfo; @@ -377,6 +378,12 @@ else if (value instanceof Date date) String formatted = DateUtil.toISO(date); stringMap.put(entry.getKey(), formatted); } + else if (value instanceof java.sql.Array arr) + { + // GitHub Issue 1073: Updating a List MVTC field shows array in audit for values with quotes + var arrayVal = MultiChoice.Converter.getInstance().convert(MultiChoice.Array.class, arr); + stringMap.put(entry.getKey(), PageFlowUtil.joinValuesToStringForExport(arrayVal)); + } else stringMap.put(entry.getKey(), value == null ? null : value.toString()); } diff --git a/list/src/org/labkey/list/model/ListManager.java b/list/src/org/labkey/list/model/ListManager.java index 9637309e819..f65e898963c 100644 --- a/list/src/org/labkey/list/model/ListManager.java +++ b/list/src/org/labkey/list/model/ListManager.java @@ -1219,7 +1219,7 @@ String formatAuditItem(ListDefinitionImpl list, User user, Map p if (null != ti) { - Map recordChangedMap = new CaseInsensitiveHashMap<>(); + Map recordChangedMap = new CaseInsensitiveHashMap<>(); Set reserved = list.getDomain().getDomainKind().getReservedPropertyNames(list.getDomain(), user); // Match props to columns @@ -1241,7 +1241,7 @@ String formatAuditItem(ListDefinitionImpl list, User user, Map p continue; ColumnInfo col = ti.getColumn(FieldKey.fromParts(baseKey)); - String value = Objects.toString(entry.getValue(), ""); + Object value = entry.getValue(); String key = null; if (null != col)