From 74e8320ff9a67261e0723f19ee018cf87b5cb32a Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Sun, 17 Feb 2019 22:46:27 -0500 Subject: [PATCH] EntityRef: Fix caching filter option lists The filters objects were getting cloned instead of passed by reference, which prevented loadEntityRefFilterOptions() from saving the list for reuse. --- js/Common.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/js/Common.js b/js/Common.js index 7561cc2ee8..63ae3a6eb4 100644 --- a/js/Common.js +++ b/js/Common.js @@ -712,9 +712,8 @@ if (!CRM.vars) CRM.vars = {}; filters = CRM.config.entityRef.filters[entity] || [], params = $.extend({params: {}}, $el.data('api-params') || {}).params, result = []; - $.each(filters, function() { - var filter = $.extend({type: 'select', 'attributes': {}, entity: entity}, this); - $.extend(this, filter); + _.each(filters, function(filter) { + _.defaults(filter, {type: 'select', 'attributes': {}, entity: entity}); if (!params[filter.key]) { // Filter out options if params don't match its condition if (filter.condition && !_.isMatch(params, _.pick(filter.condition, _.keys(params)))) { -- 2.25.1