Fetch managed products via OpenFoodNetwork::Permissions

This commit is contained in:
Rohan Mitchell
2014-09-01 09:42:50 +10:00
parent 66f20a6b8a
commit e0645dfbd9
2 changed files with 11 additions and 1 deletions

View File

@@ -1,3 +1,5 @@
require 'open_food_network/permissions'
Spree::Api::ProductsController.class_eval do
def managed
authorize! :admin, Spree::Product
@@ -8,7 +10,11 @@ Spree::Api::ProductsController.class_eval do
end
def bulk_products
@products = product_scope.ransack(params[:q]).result.managed_by(current_api_user).page(params[:page]).per(params[:per_page])
@products = OpenFoodNetwork::Permissions.new(current_api_user).managed_products.
merge(product_scope).
ransack(params[:q]).result.
page(params[:page]).per(params[:per_page])
render text: { products: ActiveModel::ArraySerializer.new(@products, each_serializer: Spree::Api::ProductSerializer), pages: @products.num_pages }.to_json
end

View File

@@ -18,6 +18,10 @@ module OpenFoodNetwork
order_cycle.exchanges.to_enterprises(enterprises).from_enterprises(enterprises)
end
def managed_products
Spree::Product.managed_by(@user)
end
private