diff --git a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee index 51df3bb2e7..50a45ae3d7 100644 --- a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee +++ b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee @@ -17,6 +17,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, ] $scope.page = 1 $scope.per_page = $scope.per_page_options[0].id + $scope.filterByVariantId = null searchThrough = ["order_distributor_name", "order_bill_address_phone", "order_bill_address_firstname", @@ -36,6 +37,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $scope.query = '' $scope.startDate = undefined $scope.endDate = undefined + $scope.filterByVariantId = null event = new CustomEvent('flatpickr:clear') window.dispatchEvent(event) @@ -68,6 +70,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, RequestMonitor.load LineItems.index( "q[#{searchThrough}]": $scope.query, + "q[variant_id_eq]": $scope.filterByVariantId if $scope.filterByVariantId, "q[order_state_not_eq]": "canceled", "q[order_shipment_state_not_eq]": "shipped", "q[order_completed_at_not_null]": "true", @@ -176,6 +179,9 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $scope.setSelectedUnitsVariant = (unitsProduct,unitsVariant) -> $scope.selectedUnitsProduct = unitsProduct $scope.selectedUnitsVariant = unitsVariant + $scope.filterByVariantId = unitsVariant.id + $scope.page = 1 + $scope.refreshData() $scope.getLineItemScale = (lineItem) -> if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume") diff --git a/app/assets/javascripts/admin/line_items/filters/variant_filter.js.coffee b/app/assets/javascripts/admin/line_items/filters/variant_filter.js.coffee deleted file mode 100644 index 8ddcf667e7..0000000000 --- a/app/assets/javascripts/admin/line_items/filters/variant_filter.js.coffee +++ /dev/null @@ -1,6 +0,0 @@ -angular.module("admin.lineItems").filter "variantFilter", -> - return (lineItems,selectedUnitsProduct,selectedUnitsVariant,sharedResource) -> - filtered = [] - filtered.push lineItem for lineItem in lineItems when (angular.equals(selectedUnitsProduct,{}) || - (lineItem.units_product.id == selectedUnitsProduct.id && (sharedResource || lineItem.units_variant.id == selectedUnitsVariant.id ) ) ) - filtered diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml index 3ca93cfc81..e722459903 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -166,7 +166,7 @@ = "#{t('admin.price')} (#{Spree::Money.currency_symbol})" %th.actions - %tr.line_item{ ng: { repeat: "line_item in filteredLineItems = ( line_items | variantFilter:selectedUnitsProduct:selectedUnitsVariant:sharedResource | orderBy:sorting.predicate:sorting.reverse )", 'class-even' => "'even'", 'class-odd' => "'odd'", attr: { id: "li_{{line_item.id}}" } } } + %tr.line_item{ ng: { repeat: "line_item in filteredLineItems = ( line_items | orderBy:sorting.predicate:sorting.reverse )", 'class-even' => "'even'", 'class-odd' => "'odd'", attr: { id: "li_{{line_item.id}}" } } } %td.bulk %input{ :type => "checkbox", :name => 'bulk', 'ng-model' => 'line_item.checked', 'ignore-dirty' => true } %td.order_no{ 'ng-show' => 'columns.order_no.visible' } {{ line_item.order.number }}