def searchResults(self, REQUEST=None, check_perms=False, **kw): enabled = False if self.enabled: # need to also check if it is a search result we care about # using EL for if getESOnlyIndexes().intersection(kw.keys()): enabled = True if not enabled: if check_perms: return self.catalogtool._old_searchResults(REQUEST, **kw) else: return self.catalogtool._old_unrestrictedSearchResults( REQUEST, **kw) if isinstance(REQUEST, dict): query = REQUEST.copy() else: query = {} query.update(kw) if check_perms: show_inactive = query.get('show_inactive', False) if isinstance(REQUEST, dict) and not show_inactive: show_inactive = 'show_inactive' in REQUEST user = _getAuthenticatedUser(self.catalogtool) query['allowedRolesAndUsers'] = \ self.catalogtool._listAllowedRolesAndUsers(user) if not show_inactive and not _checkPermission( AccessInactivePortalContent, self.catalogtool): query['effectiveRange'] = DateTime() orig_query = query.copy() logger.debug('Running query: %s' % repr(orig_query)) try: results = self.search(query) return results except Exception: logger.error( 'Error running Query: {0!r}'.format(orig_query), exc_info=True) return self.catalogtool._old_searchResults(REQUEST, **kw)