mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-14 23:47:48 +00:00
Load producers of all or selected order cycles into shop
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
Darkswarm.filter 'products', (Matcher)->
|
||||
(products, text)->
|
||||
Darkswarm.filter 'products', (Matcher) ->
|
||||
(products, text) ->
|
||||
products ||= []
|
||||
text ?= ""
|
||||
products.filter (product)=>
|
||||
products.filter (product) =>
|
||||
propertiesToMatch = [product.name, product.supplier.name, product.primary_taxon.name]
|
||||
Matcher.match propertiesToMatch, text
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
Darkswarm.factory 'Dereferencer', ->
|
||||
new class Dereferencer
|
||||
dereference: (array, data) ->
|
||||
if array
|
||||
for object, i in array
|
||||
key = undefined
|
||||
key = object.id if object
|
||||
array[i] = data[key]
|
||||
@dereference_from(array, array, data)
|
||||
|
||||
dereference_from: (source, target, data) ->
|
||||
unreferenced = []
|
||||
if source && target
|
||||
for object, i in source
|
||||
key = if object then object.id else undefined
|
||||
if data.hasOwnProperty(key)
|
||||
target[i] = data[key]
|
||||
else
|
||||
delete target[i]
|
||||
unreferenced[i] = source[i]
|
||||
unreferenced
|
||||
|
||||
@@ -23,18 +23,14 @@ Darkswarm.factory 'Enterprises', (enterprises, CurrentHub, Taxons, Dereferencer,
|
||||
@dereferenceEnterprise enterprise
|
||||
|
||||
dereferenceEnterprise: (enterprise) ->
|
||||
# keep a backup of enterprise ids
|
||||
# keep unreferenced enterprise ids
|
||||
# in case we dereference again after adding more enterprises
|
||||
if enterprise.hub_references
|
||||
enterprise.hubs = enterprise.hub_references.slice()
|
||||
else
|
||||
enterprise.hub_references = enterprise.hubs.slice()
|
||||
if enterprise.producer_references
|
||||
enterprise.producers = enterprise.producer_references.slice()
|
||||
else
|
||||
enterprise.producer_references = enterprise.producers.slice()
|
||||
Dereferencer.dereference enterprise.hubs, @enterprises_by_id
|
||||
Dereferencer.dereference enterprise.producers, @enterprises_by_id
|
||||
hubs = enterprise.unreferenced_hubs || enterprise.hubs
|
||||
enterprise.unreferenced_hubs =
|
||||
Dereferencer.dereference_from hubs, enterprise.hubs, @enterprises_by_id
|
||||
producers = enterprise.unreferenced_producers || enterprise.producers
|
||||
enterprise.unreferenced_producers =
|
||||
Dereferencer.dereference_from producers, enterprise.producers, @enterprises_by_id
|
||||
|
||||
dereferenceTaxons: ->
|
||||
for enterprise in @enterprises
|
||||
|
||||
Reference in New Issue
Block a user