When fetching products for variant overrides admin, fetch all overridable products

This commit is contained in:
Rohan Mitchell
2015-02-04 10:16:34 +11:00
parent a7bb04b890
commit 22f6ece83f
3 changed files with 27 additions and 9 deletions

View File

@@ -17,7 +17,7 @@ angular.module("ofn.admin").controller "AdminVariantOverridesCtrl", ($scope, $ti
$scope.fetchProducts = ->
url = "/api/products/distributable?page=::page::;per_page=100"
url = "/api/products/overridable?page=::page::;per_page=100"
PagedFetcher.fetch url, (data) => $scope.addProducts data.products

View File

@@ -17,21 +17,25 @@ Spree::Api::ProductsController.class_eval do
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
render_paged_products @products
end
def distributable
producers = OpenFoodNetwork::Permissions.new(current_api_user).
order_cycle_enterprises.is_primary_producer.by_name
@products = Spree::Product.scoped.
merge(product_scope).
where(supplier_id: producers).
by_producer.by_name.
ransack(params[:q]).result.
page(params[:page]).per(params[:per_page])
@products = paged_products_for_producers producers
render text: { products: ActiveModel::ArraySerializer.new(@products, each_serializer: Spree::Api::ProductSerializer), pages: @products.num_pages }.to_json
render_paged_products @products
end
def overridable
producers = OpenFoodNetwork::Permissions.new(current_api_user).
variant_override_producers.by_name
@products = paged_products_for_producers producers
render_paged_products @products
end
def soft_delete
@@ -60,4 +64,17 @@ Spree::Api::ProductsController.class_eval do
scope.includes(:master)
end
def paged_products_for_producers(producers)
Spree::Product.scoped.
merge(product_scope).
where(supplier_id: producers).
by_producer.by_name.
ransack(params[:q]).result.
page(params[:page]).per(params[:per_page])
end
def render_paged_products(products)
render text: { products: ActiveModel::ArraySerializer.new(products, each_serializer: Spree::Api::ProductSerializer), pages: products.num_pages }.to_json
end
end

View File

@@ -142,6 +142,7 @@ Spree::Core::Engine.routes.prepend do
get :managed
get :bulk_products
get :distributable
get :overridable
end
delete :soft_delete