From 84dcf8461044d017d3720466e0399bee062ddf76 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 1 Jun 2022 08:47:22 -0400 Subject: [PATCH] SearchKit - Remove confusing extra joins between Contact & relationshipCache The option to use RelationshipCache as a base entity was added in #23066 but a side-effect was the addition of some confusing extra join options. Before: Selecting Contact as the base entity, there are 3 joins available to "Contact Related Contact" After: Only one join available to related contacts. --- .../ang/crmSearchAdmin/crmSearchAdmin.component.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/search_kit/ang/crmSearchAdmin/crmSearchAdmin.component.js b/ext/search_kit/ang/crmSearchAdmin/crmSearchAdmin.component.js index 53a30ef8c1..96132bd8a3 100644 --- a/ext/search_kit/ang/crmSearchAdmin/crmSearchAdmin.component.js +++ b/ext/search_kit/ang/crmSearchAdmin/crmSearchAdmin.component.js @@ -239,8 +239,12 @@ function addEntityJoins(entity, stack, baseEntity) { return _.transform(CRM.crmSearchAdmin.joins[entity], function(joinEntities, join) { var num = 0; - // Add all joins that don't just point directly back to the original entity - if (!(baseEntity === join.entity && !join.multi)) { + if ( + // Exclude joins that singly point back to the original entity + !(baseEntity === join.entity && !join.multi) && + // Exclude joins to bridge tables + !searchMeta.getEntity(join.entity).bridge + ) { do { appendJoin(joinEntities, join, ++num, stack, entity); } while (addNum((stack ? stack + '_' : '') + join.alias, num) in existingJoins); -- 2.25.1