Switch Taxons input over to category selection on BPE, clean up interface

This commit is contained in:
Rob H
2014-08-08 10:54:10 +10:00
parent 1e68052711
commit 32c8b9cdcd
8 changed files with 144 additions and 105 deletions

View File

@@ -11,7 +11,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", [
unit: {name: "Unit", visible: true}
price: {name: "Price", visible: true}
on_hand: {name: "On Hand", visible: true}
taxons: {name: "Taxons", visible: false}
category: {name: "Category", visible: false}
available_on: {name: "Available On", visible: false}
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
@@ -328,7 +328,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", [
$scope.displaySuccess = ->
$scope.setMessage $scope.updateStatusMessage, "Changes Saved.",
$scope.setMessage $scope.updateStatusMessage, "Changes saved.",
color: "green"
, 3000
@@ -394,8 +394,8 @@ filterSubmitProducts = (productsToFilter) ->
if product.hasOwnProperty("on_hand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_hand = product.on_hand
hasUpdatableProperty = true
if product.hasOwnProperty("taxon_ids")
filteredProduct.taxon_ids = product.taxon_ids
if product.hasOwnProperty("category")
filteredProduct.primary_taxon_id = product.category
hasUpdatableProperty = true
if product.hasOwnProperty("available_on")
filteredProduct.available_on = product.available_on

View File

@@ -4,10 +4,10 @@ angular.module("ofn.admin").directive "ofnTaxonAutocomplete", (Taxons) ->
link: (scope,element,attrs,ngModel) ->
setTimeout ->
element.select2
placeholder: Spree.translations.taxon_placeholder
multiple: true
placeholder: "Category"
multiple: false
initSelection: (element, callback) ->
callback Taxons.findByIDs(element.val())
callback Taxons.findByID(scope.product.category)
query: (query) ->
query.callback { results: Taxons.findByTerm(query.term) }
formatResult: (taxon) ->

View File

@@ -3,6 +3,11 @@ angular.module("ofn.admin").factory "Taxons", (taxons, $filter) ->
constructor: ->
@taxons = taxons
# For finding a single Taxon
findByID: (id) ->
$filter('filter')(@taxons, {id: id}, true)[0]
# For finding multiple Taxons represented by comma delimited string
findByIDs: (ids) ->
taxon for taxon in @taxons when taxon.id.toString() in ids.split(",")