From 3fb870a3e608c7cde683a583853bf84e7e020bbd Mon Sep 17 00:00:00 2001 From: Richard Watkins Date: Thu, 15 Nov 2018 11:25:07 +0000 Subject: [PATCH 1/4] added routes and bumped version --- .../shift_commerce/reviews_controller.rb | 29 +++++++++++++++++++ config/routes.rb | 3 ++ lib/shift_commerce/version.rb | 2 +- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 app/controllers/shift_commerce/reviews_controller.rb diff --git a/app/controllers/shift_commerce/reviews_controller.rb b/app/controllers/shift_commerce/reviews_controller.rb new file mode 100644 index 0000000..ff7f4db --- /dev/null +++ b/app/controllers/shift_commerce/reviews_controller.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true +module ShiftCommerce + class ReviewsController < ApplicationController + BAZAARVOICE_SHARED_SECRET = ENV.fetch('BAZAARVOICE_SHARED_SECRET', false).freeze + + skip_before_action :verify_authenticity_token, only: [:generate_bazaarvoice_javascript] + skip_around_action :capture_surrogate_keys, only: [:generate_bazaarvoice_javascript], raise: false + before_action :authenticate_account!, only: [:new] + + def new + end + + def generate_bazaarvoice_javascript + unless BAZAARVOICE_SHARED_SECRET.present? && current_account && current_account.id + return head :ok, content_type: 'text/javascript' + end + + timestamp = Time.now.strftime('%Y%m%d') + user_string = "date=#{timestamp}&maxage=2&userid=#{current_account.id}" + + @user_token = Digest::MD5.hexdigest(BAZAARVOICE_SHARED_SECRET + user_string) + user_string.unpack("H*").first + + response.headers['Cache-Control'] = 'private, max-age=3600' + + respond_to { |format| format.js } + end + end +end + diff --git a/config/routes.rb b/config/routes.rb index 48dcdd9..dedf9b9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,7 @@ Rails.application.routes.draw do get "static_pages/:id", to: "static_pages#show", as: :pages get "bundles/:id", to: "bundles#show", as: :bundles + get "bazaarvoice_submit", to: "reviews#generate_bazaarvoice_javascript" + get "products/:product_id/reviews/new", to: "reviews#new", as: :new_product_review + post "products/:product_id/reviews", to: "reviews#create", as: :product_reviews end diff --git a/lib/shift_commerce/version.rb b/lib/shift_commerce/version.rb index bdf9e6c..921868b 100644 --- a/lib/shift_commerce/version.rb +++ b/lib/shift_commerce/version.rb @@ -1,3 +1,3 @@ module ShiftCommerce - VERSION = '0.6.11' + VERSION = '0.6.12' end From 52b0f3d5bb461e46fbe6c025e7d43bc40b458dae Mon Sep 17 00:00:00 2001 From: Richard Watkins Date: Thu, 15 Nov 2018 11:31:53 +0000 Subject: [PATCH 2/4] add dummy controller --- spec/dummy/app/controllers/reviews_controller.rb | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 spec/dummy/app/controllers/reviews_controller.rb diff --git a/spec/dummy/app/controllers/reviews_controller.rb b/spec/dummy/app/controllers/reviews_controller.rb new file mode 100644 index 0000000..7312a9e --- /dev/null +++ b/spec/dummy/app/controllers/reviews_controller.rb @@ -0,0 +1,2 @@ +class ReviewsController < ShiftCommerce::ReviewsController +end \ No newline at end of file From 3bed8f1733cdc3f8e055da90b3faf0b36ea9599c Mon Sep 17 00:00:00 2001 From: Richard Watkins Date: Thu, 15 Nov 2018 12:36:12 +0000 Subject: [PATCH 3/4] moved bazaar voice to site --- .../shift_commerce/reviews_controller.rb | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/app/controllers/shift_commerce/reviews_controller.rb b/app/controllers/shift_commerce/reviews_controller.rb index ff7f4db..d3f94f3 100644 --- a/app/controllers/shift_commerce/reviews_controller.rb +++ b/app/controllers/shift_commerce/reviews_controller.rb @@ -1,29 +1,10 @@ # frozen_string_literal: true module ShiftCommerce class ReviewsController < ApplicationController - BAZAARVOICE_SHARED_SECRET = ENV.fetch('BAZAARVOICE_SHARED_SECRET', false).freeze - - skip_before_action :verify_authenticity_token, only: [:generate_bazaarvoice_javascript] - skip_around_action :capture_surrogate_keys, only: [:generate_bazaarvoice_javascript], raise: false before_action :authenticate_account!, only: [:new] def new end - - def generate_bazaarvoice_javascript - unless BAZAARVOICE_SHARED_SECRET.present? && current_account && current_account.id - return head :ok, content_type: 'text/javascript' - end - - timestamp = Time.now.strftime('%Y%m%d') - user_string = "date=#{timestamp}&maxage=2&userid=#{current_account.id}" - - @user_token = Digest::MD5.hexdigest(BAZAARVOICE_SHARED_SECRET + user_string) + user_string.unpack("H*").first - - response.headers['Cache-Control'] = 'private, max-age=3600' - - respond_to { |format| format.js } - end end end From 86108e53dcdbe6837ff4a8fd44228c9661bb1562 Mon Sep 17 00:00:00 2001 From: Richard Watkins Date: Fri, 30 Nov 2018 08:44:00 +0000 Subject: [PATCH 4/4] removed route that will be in matalan-rails-site --- config/routes.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index dedf9b9..f009f41 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,6 @@ Rails.application.routes.draw do get "static_pages/:id", to: "static_pages#show", as: :pages get "bundles/:id", to: "bundles#show", as: :bundles - get "bazaarvoice_submit", to: "reviews#generate_bazaarvoice_javascript" get "products/:product_id/reviews/new", to: "reviews#new", as: :new_product_review post "products/:product_id/reviews", to: "reviews#create", as: :product_reviews end