From 3ce8abe46e861726ad022bbbce19f6f00097f518 Mon Sep 17 00:00:00 2001 From: Curtis Castrapel Date: Tue, 13 Nov 2018 14:33:17 -0800 Subject: [PATCH] Left outer join on domains tables to avoid missing results --- lemur/authorities/service.py | 2 ++ lemur/certificates/service.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lemur/authorities/service.py b/lemur/authorities/service.py index 1d35ad49..024cb42a 100644 --- a/lemur/authorities/service.py +++ b/lemur/authorities/service.py @@ -178,6 +178,8 @@ def render(args): terms = filt.split(';') if 'active' in filt: query = query.filter(Authority.active == truthiness(terms[1])) + elif 'cn' in filt: + query = query.join(Authority.active == truthiness(terms[1])) else: query = database.filter(query, Authority, terms) diff --git a/lemur/certificates/service.py b/lemur/certificates/service.py index eb8b5d37..20a59e11 100644 --- a/lemur/certificates/service.py +++ b/lemur/certificates/service.py @@ -333,7 +333,7 @@ def render(args): elif 'id' in terms: query = query.filter(Certificate.id == cast(terms[1], Integer)) elif 'name' in terms: - query = query.join(certificate_associations).join(Domain).filter( + query = query.outerjoin(certificate_associations).outerjoin(Domain).filter( or_( Certificate.name.ilike(term), Domain.name.ilike(term),