Add count variants endpoint and use it instead of loading exchange products

This commit is contained in:
luisramos0
2019-11-19 11:04:05 +00:00
parent d5e42ee1e5
commit 00478cc57c
4 changed files with 35 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $controller, $location, Enterprise, OrderCycle, ocInstance) ->
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $controller, $location, Enterprise, OrderCycle, ExchangeProduct, ocInstance) ->
$controller('AdminOrderCycleExchangesCtrl', {$scope: $scope, ocInstance: ocInstance, $location: $location})
$scope.view = 'incoming'
@@ -9,18 +9,11 @@ angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($
enterprise = $scope.enterprises[exchange.enterprise_id]
return enterprise.numVariants if enterprise.numVariants?
$scope.loadExchangeProducts(exchange)
return unless enterprise.supplied_products?
enterprise.numVariants = $scope.countVariants(enterprise.supplied_products)
$scope.countVariants = (products) ->
return 0 unless products
numVariants = 0
for product in products
numVariants += product.variants.length
numVariants
enterprise.numVariants = 0
params = { exchange_id: exchange.id, enterprise_id: exchange.enterprise_id, order_cycle_id: $scope.order_cycle.id, incoming: true}
ExchangeProduct.countVariants params, (variants_count) ->
enterprise.numVariants = variants_count
return enterprise.numVariants
$scope.addSupplier = ($event) ->
$event.preventDefault()

View File

@@ -1,8 +1,7 @@
angular.module('admin.orderCycles').factory('ExchangeProduct', ($resource) ->
ExchangeProductResource = $resource('/api/exchanges/:exchange_id/products.json', {}, {
'index':
method: 'GET'
isArray: true
'index': { method: 'GET' }
'variant_count': { method: 'GET', params: { action_name: "variant_count" }}
})
{
ExchangeProductResource: ExchangeProductResource
@@ -12,4 +11,8 @@ angular.module('admin.orderCycles').factory('ExchangeProduct', ($resource) ->
ExchangeProductResource.index params, (data) =>
@loaded = true
(callback || angular.noop)(data.products)
countVariants: (params={}, callback=null) ->
ExchangeProductResource.variant_count params, (data) =>
(callback || angular.noop)(data.count)
})