From eae01bb8c498c33f082dd91a94b07d433a686a2a Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 8 Feb 2023 17:05:01 -0600 Subject: [PATCH] update to not make a possible-value field be a record-link if it has a chip too. --- .../backend/core/instances/QInstanceEnricher.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java index ddee6abb..37d0af53 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java @@ -327,7 +327,7 @@ public class QInstanceEnricher // and that PVS exists in the instance // // and it's a table-type PVS and the table name is set // // and it's a valid table in the instance, and the table is in some app // - // and the field doesn't have a LINK adornment // + // and the field doesn't (already) have a LINK or CHIP adornment // // then add a link-to-record-from-table adornment to the field. // ////////////////////////////////////////////////////////////////////////// if(StringUtils.hasContent(field.getPossibleValueSourceName())) @@ -340,7 +340,15 @@ public class QInstanceEnricher { if(qInstance.getTable(tableName) != null && doesAnyAppHaveTable(tableName)) { - if(field.getAdornments() == null || field.getAdornments().stream().noneMatch(a -> AdornmentType.LINK.equals(a.getType()))) + boolean hasLinkAdornment = false; + boolean hasChipAdornment = false; + if(field.getAdornments() != null) + { + hasLinkAdornment = field.getAdornments().stream().anyMatch(a -> AdornmentType.LINK.equals(a.getType())); + hasChipAdornment = field.getAdornments().stream().anyMatch(a -> AdornmentType.CHIP.equals(a.getType())); + } + + if(!hasLinkAdornment && !hasChipAdornment) { field.withFieldAdornment(new FieldAdornment().withType(AdornmentType.LINK) .withValue(AdornmentType.LinkValues.TO_RECORD_FROM_TABLE, tableName));