diff -r e952c8a31a2b -r c622fa18eb32 server/src/app/Http/Controllers/Api/DocumentController.php --- a/server/src/app/Http/Controllers/Api/DocumentController.php Thu Oct 20 12:54:07 2016 +0530 +++ b/server/src/app/Http/Controllers/Api/DocumentController.php Thu Oct 20 12:56:24 2016 +0530 @@ -31,10 +31,27 @@ $perPage = intval($request->input('perpage', config('corpusparole.documents_per_page'))); $filters = []; - $languages = $request->input('language', []); + + $languages = CorpusFilterManager::prepareLanguages($request->input('language', [])); if(!empty($languages)) { - $filters['language'] = CorpusFilterManager::prepareLanguages($languages); + $filters['language'] = $languages; + } + + $location = CorpusFilterManager::prepareLocation($request->input('location', '')); + if(!empty($location)) { + $filters['location'] = $location; } + + $themes = CorpusFilterManager::prepareTheme($request->input('theme', [])); + if(!empty($themes)) { + $filters['themes'] = $themes; + } + + $discourses = CorpusFilterManager::prepareDiscourse($request->input('discourse', [])); + if(!empty($discourses)) { + $filters['discourses'] = $discourses; + } + $sort = $request->input('sort', null); $paginator = $this->documentRepository->paginate($filters, $perPage, config('corpusparole.pagination_page_param'), null, $sort);