diff --git a/server/campaigns/campaign_handler.coffee b/server/campaigns/campaign_handler.coffee index 6b40def2e..de5e06181 100644 --- a/server/campaigns/campaign_handler.coffee +++ b/server/campaigns/campaign_handler.coffee @@ -39,7 +39,13 @@ CampaignHandler = class CampaignHandler extends Handler get: (req, res) -> return @sendForbiddenError(res) if not @hasAccess(req) # We don't have normal text search or anything set up to make /db/campaign work, so we'll just give them all campaigns, no problem. - q = @modelClass.find {} + query = {} + projection = {} + if @modelClass.schema.uses_coco_translation_coverage and req.query.view is 'i18n-coverage' + query = i18nCoverage: {$exists: true} + if req.query.project + projection[field] = 1 for field in req.query.project.split(',') + q = @modelClass.find query, projection q.exec (err, documents) => return @sendDatabaseError(res, err) if err documents = (@formatEntity(req, doc) for doc in documents)