Merge "Add filter for status on recordsets"

This commit is contained in:
Jenkins 2015-05-28 19:45:47 +00:00 committed by Gerrit Code Review
commit 19e86a0f06
1 changed files with 12 additions and 1 deletions

View File

@ -59,7 +59,7 @@ class RecordSetsController(rest.RestController):
params, self.SORT_KEYS)
# Extract any filter params.
accepted_filters = ('name', 'type', 'ttl', 'data', )
accepted_filters = ('name', 'type', 'ttl', 'data', 'status', )
criterion = self._apply_filter_params(
params, accepted_filters, {})
@ -68,6 +68,7 @@ class RecordSetsController(rest.RestController):
# Data must be filtered separately, through the Records table
recordsets_with_data = set()
data = criterion.pop('data', None)
status = criterion.pop('status', None)
# Retrieve recordsets
recordsets = self.central_api.find_recordsets(
@ -88,6 +89,16 @@ class RecordSetsController(rest.RestController):
recordsets = new_rsets
# 'status' filter param: only return recordsets with matching status
if status:
new_rsets = RecordSetList()
for recordset in recordsets:
if recordset.status == status:
new_rsets.append(recordset)
recordsets = new_rsets
return DesignateAdapter.render('API_v2', recordsets, request=request)
@pecan.expose(template='json:', content_type='application/json')