diff --git a/api/src/org/labkey/api/exp/PropertyColumn.java b/api/src/org/labkey/api/exp/PropertyColumn.java index d898bbe324b..56abb6bbfb6 100644 --- a/api/src/org/labkey/api/exp/PropertyColumn.java +++ b/api/src/org/labkey/api/exp/PropertyColumn.java @@ -43,6 +43,7 @@ import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.Supplier; @@ -184,10 +185,17 @@ public static void copyAttributes( if (user != null && ((pd.getLookupSchema() != null && pd.getLookupQuery() != null) || pd.getConceptURI() != null)) { + var lookupCf = cf; + // Issue 52504: Use proper container filter for lookups - var _cf = pd.isLookup() ? QueryService.get().getContainerFilterForLookups(container, user) : cf; + if (pd.isLookup()) + { + var _cf = QueryService.get().getContainerFilterForLookups(container, user); + if (_cf != null) + lookupCf = _cf; + } - to.setFk(PdLookupForeignKey.create(to.getParentTable().getUserSchema(), user, container, pd, _cf)); + to.setFk(PdLookupForeignKey.create(to.getParentTable().getUserSchema(), user, container, pd, lookupCf)); } to.setDefaultValueType(pd.getDefaultValueTypeEnum());