From 7b5e8fa603b98ce41f493dc4642523d0bb48335b Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 19 Aug 2016 11:30:20 +1000 Subject: [PATCH] Rename API field properties to supplied_properties --- .../darkswarm/filters/properties.js.coffee | 12 ++++-------- .../darkswarm/filters/properties_of.js.coffee | 2 +- .../templates/partials/enterprise_details.html.haml | 2 +- app/serializers/api/enterprise_serializer.rb | 4 ++-- app/views/producers/_fat.html.haml | 2 +- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/app/assets/javascripts/darkswarm/filters/properties.js.coffee b/app/assets/javascripts/darkswarm/filters/properties.js.coffee index 51b02e6634..dab89a4c08 100644 --- a/app/assets/javascripts/darkswarm/filters/properties.js.coffee +++ b/app/assets/javascripts/darkswarm/filters/properties.js.coffee @@ -1,5 +1,5 @@ -Darkswarm.filter 'properties', ()-> - # Filter anything that responds to object.properties +Darkswarm.filter 'properties', -> + # Filter anything that responds to object.supplied_properties (objects, ids) -> objects ||= [] ids ?= [] @@ -7,10 +7,6 @@ Darkswarm.filter 'properties', ()-> # No properties selected, pass all objects through. objects else - objects.filter (obj)-> - properties = obj.properties - # Combine object properties with supplied properties, if they exist. - # properties = properties.concat obj.supplied_properties if obj.supplied_properties - # Match property array. - properties.some (property)-> + objects.filter (obj) -> + obj.supplied_properties.some (property) -> property.id in ids diff --git a/app/assets/javascripts/darkswarm/filters/properties_of.js.coffee b/app/assets/javascripts/darkswarm/filters/properties_of.js.coffee index 4ab8c94bfd..a40e1ff9c3 100644 --- a/app/assets/javascripts/darkswarm/filters/properties_of.js.coffee +++ b/app/assets/javascripts/darkswarm/filters/properties_of.js.coffee @@ -2,6 +2,6 @@ Darkswarm.filter 'propertiesOf', -> (objects)-> properties = {} for object in objects - for property in object.properties + for property in object.supplied_properties properties[property.id] = property properties diff --git a/app/assets/javascripts/templates/partials/enterprise_details.html.haml b/app/assets/javascripts/templates/partials/enterprise_details.html.haml index 46a37050e2..c454312f18 100644 --- a/app/assets/javascripts/templates/partials/enterprise_details.html.haml +++ b/app/assets/javascripts/templates/partials/enterprise_details.html.haml @@ -10,7 +10,7 @@ %span.filter-shopfront.property-selectors.pad-top %ul.inline-block - %li{"ng-repeat" => "property in enterprise.properties"} + %li{"ng-repeat" => "property in enterprise.supplied_properties"} %a.button.tiny{"ng-bind" => "property.presentation"} .about-container.pad-top diff --git a/app/serializers/api/enterprise_serializer.rb b/app/serializers/api/enterprise_serializer.rb index d30c2d8677..a742b91d63 100644 --- a/app/serializers/api/enterprise_serializer.rb +++ b/app/serializers/api/enterprise_serializer.rb @@ -21,7 +21,7 @@ end class Api::UncachedEnterpriseSerializer < ActiveModel::Serializer attributes :orders_close_at, :active - has_many :properties, serializer: Api::PropertySerializer + has_many :supplied_properties, serializer: Api::PropertySerializer def orders_close_at options[:data].earliest_closing_times[object.id] @@ -31,7 +31,7 @@ class Api::UncachedEnterpriseSerializer < ActiveModel::Serializer options[:data].active_distributors.andand.include? object end - def properties + def supplied_properties # This results in 3 queries per enterprise product_properties = Spree::Property.applied_by(object) producer_properties = object.properties diff --git a/app/views/producers/_fat.html.haml b/app/views/producers/_fat.html.haml index 28ed0c985f..8d68a2b84f 100644 --- a/app/views/producers/_fat.html.haml +++ b/app/views/producers/_fat.html.haml @@ -21,7 +21,7 @@ %render-svg{path: "{{taxon.icon}}"} %span{"ng-bind" => "::taxon.name"} %div - %span.fat-properties{"ng-repeat" => "property in producer.properties"} + %span.fat-properties{"ng-repeat" => "property in producer.supplied_properties"} %span{"ng-bind" => "property.presentation"} %div.show-for-medium-up{"ng-if" => "producer.supplied_taxons.length==0"}