From b38eab11eb53edc4178666fb9da6edc1ead86654 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley Date: Thu, 17 Nov 2016 14:46:00 +0000 Subject: [PATCH] Fixed frontend HTML display --- .../javascripts/templates/product_modal.html.haml | 5 ++--- app/serializers/api/product_serializer.rb | 11 +++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/templates/product_modal.html.haml b/app/assets/javascripts/templates/product_modal.html.haml index 8eeab88a0f..f0c77c44c0 100644 --- a/app/assets/javascripts/templates/product_modal.html.haml +++ b/app/assets/javascripts/templates/product_modal.html.haml @@ -14,10 +14,9 @@ .filter-shopfront.property-selectors.inline-block %filter-selector{ 'selector-set' => "productPropertySelectors", objects: "[product] | propertiesWithValuesOf" } - %div{"ng-if" => "product.description"} + %div{"ng-if" => "product.description_html"} %hr - %p.text-small{"ng-bind" => "::product.description"} - {{product.description}} + %p.text-small{"ng-bind-html" => "product.description_html"} %hr .columns.small-12.large-6 diff --git a/app/serializers/api/product_serializer.rb b/app/serializers/api/product_serializer.rb index 1e612f59f5..7b371c5be1 100644 --- a/app/serializers/api/product_serializer.rb +++ b/app/serializers/api/product_serializer.rb @@ -37,7 +37,7 @@ class Api::CachedProductSerializer < ActiveModel::Serializer include ActionView::Helpers::SanitizeHelper attributes :id, :name, :permalink - attributes :on_demand, :group_buy, :notes, :description + attributes :on_demand, :group_buy, :notes, :description, :description_html attributes :properties_with_values has_many :variants, serializer: Api::VariantSerializer @@ -49,8 +49,15 @@ class Api::CachedProductSerializer < ActiveModel::Serializer has_many :images, serializer: Api::ImageSerializer has_one :supplier, serializer: Api::IdSerializer + #return an unformatted descripton def description - sanitize(object.description, options = {tags: "p, b, strong, em, i"}).html_safe + strip_tags object.description + end + + #return a sanitized html description + def description_html + d = sanitize(object.description, options = {tags: "p, b, strong, em, i"}) + d.to_s.html_safe end def properties_with_values