From a137c93282ba48a62c456ded462f238eb3d2a0e9 Mon Sep 17 00:00:00 2001
From: Tanner Prestegard <tanner.prestegard@ligo.org>
Date: Tue, 9 Apr 2019 08:22:31 -0500
Subject: [PATCH] Properly apply label filters to superevent searches from the
 API

---
 gracedb/api/v1/superevents/filters.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gracedb/api/v1/superevents/filters.py b/gracedb/api/v1/superevents/filters.py
index 2a73d42b5..cb6a15306 100644
--- a/gracedb/api/v1/superevents/filters.py
+++ b/gracedb/api/v1/superevents/filters.py
@@ -6,6 +6,7 @@ from django.http import HttpResponseBadRequest
 
 from rest_framework import filters, exceptions
 
+from search.query.labels import filter_for_labels
 from search.query.superevents import parseSupereventQuery
 
 # Set up logger
@@ -35,10 +36,12 @@ class SupereventSearchFilter(filters.SearchFilter):
         # Do filtering
         try:
             filter_params = parseSupereventQuery(query)
+            qs = queryset.filter(filter_params)
+            qs = filter_for_labels(qs, query).distinct()
         except ParseException as e:
             raise exceptions.ParseError('Invalid query')
 
-        return queryset.filter(filter_params)
+        return qs
 
 
 class SupereventOrderingFilter(filters.OrderingFilter):
-- 
GitLab