Commit 64577e79450ddeb7674bec87a10decf445b414d4
1 parent
e9a85337
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
changing api parameter categories_ids by category_ids
Showing
2 changed files
with
11 additions
and
4 deletions
Show diff stats
lib/noosfero/api/helpers.rb
| ... | ... | @@ -143,9 +143,6 @@ require 'grape' |
| 143 | 143 | else |
| 144 | 144 | articles = articles.published |
| 145 | 145 | end |
| 146 | - if params[:categories_ids] | |
| 147 | - articles = articles.joins(:categories).where('category_id in (?)', params[:categories_ids]) | |
| 148 | - end | |
| 149 | 146 | articles |
| 150 | 147 | end |
| 151 | 148 | |
| ... | ... | @@ -248,6 +245,15 @@ require 'grape' |
| 248 | 245 | end |
| 249 | 246 | end |
| 250 | 247 | |
| 248 | + def by_categories(scope, params) | |
| 249 | + category_ids = params[:category_ids] | |
| 250 | + if category_ids.nil? | |
| 251 | + scope | |
| 252 | + else | |
| 253 | + scope.joins(:categories).where(:categories => {:id => category_ids}) | |
| 254 | + end | |
| 255 | + end | |
| 256 | + | |
| 251 | 257 | def select_filtered_collection_of(object, method, params) |
| 252 | 258 | conditions = make_conditions_with_parameter(params) |
| 253 | 259 | order = make_order_with_parameters(object,method,params) |
| ... | ... | @@ -257,6 +263,7 @@ require 'grape' |
| 257 | 263 | |
| 258 | 264 | objects = object.send(method) |
| 259 | 265 | objects = by_reference(objects, params) |
| 266 | + objects = by_categories(objects, params) | |
| 260 | 267 | |
| 261 | 268 | objects = objects.where(conditions).where(timestamp).page(page_number).per_page(per_page).reorder(order) |
| 262 | 269 | ... | ... |
test/unit/api/articles_test.rb
| ... | ... | @@ -546,7 +546,7 @@ class ArticlesTest < ActiveSupport::TestCase |
| 546 | 546 | e2.categories << c2 |
| 547 | 547 | e1.save! |
| 548 | 548 | e2.save! |
| 549 | - params['categories_ids[]']=c1.id | |
| 549 | + params['category_ids[]']=c1.id | |
| 550 | 550 | params['content_type']='Event' |
| 551 | 551 | get "api/v1/communities/#{co.id}/articles?#{params.to_query}" |
| 552 | 552 | json = JSON.parse(last_response.body) | ... | ... |