From b59a1cc232fa4ba7e314938632f261121733dc60 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Wed, 21 Sep 2016 12:08:26 +1000 Subject: [PATCH] Using true/false instead of YES/NO for address defaults and billing same as shipping --- .../checkout/checkout_controller.js.coffee | 6 +++--- .../darkswarm/services/checkout.js.coffee | 6 +++--- app/controllers/checkout_controller.rb | 4 ++-- app/views/checkout/_billing.html.haml | 2 +- app/views/checkout/_shipping.html.haml | 4 ++-- .../checkout/_shipping_ship_address.html.haml | 2 +- .../checkout/checkout_controller_spec.js.coffee | 6 +++--- .../darkswarm/services/checkout_spec.js.coffee | 16 ++++++++-------- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/assets/javascripts/darkswarm/controllers/checkout/checkout_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/checkout/checkout_controller.js.coffee index da5cb974e4..d9ec0ea985 100644 --- a/app/assets/javascripts/darkswarm/controllers/checkout/checkout_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/checkout/checkout_controller.js.coffee @@ -12,15 +12,15 @@ Darkswarm.controller "CheckoutCtrl", ($scope, storage, Checkout, CurrentUser, Cu storage.bind $scope, "Checkout.ship_address_same_as_billing", storeName: "#{prefix}_sameasbilling" - defaultValue: 'YES' + defaultValue: true storage.bind $scope, "Checkout.default_bill_address", storeName: "#{prefix}_defaultasbilladdress" - defaultValue: 'NO' + defaultValue: false storage.bind $scope, "Checkout.default_ship_address", storeName: "#{prefix}_defaultasshipaddress" - defaultValue: 'NO' + defaultValue: false $scope.order = Checkout.order # Ordering is important $scope.secrets = Checkout.secrets diff --git a/app/assets/javascripts/darkswarm/services/checkout.js.coffee b/app/assets/javascripts/darkswarm/services/checkout.js.coffee index 82aaa19d62..a4225f4eff 100644 --- a/app/assets/javascripts/darkswarm/services/checkout.js.coffee +++ b/app/assets/javascripts/darkswarm/services/checkout.js.coffee @@ -3,9 +3,9 @@ Darkswarm.factory 'Checkout', (CurrentOrder, ShippingMethods, PaymentMethods, $h errors: {} secrets: {} order: CurrentOrder.order - ship_address_same_as_billing: 'YES' - default_bill_address: 'NO' - default_ship_address: 'NO' + ship_address_same_as_billing: true + default_bill_address: false + default_ship_address: false submit: -> Loading.message = t 'submitting_order' diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index 02a842cf2b..8d855a7f85 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -62,7 +62,7 @@ class CheckoutController < Spree::CheckoutController private def set_default_bill_address - if params[:order][:default_bill_address] == 'YES' + if params[:order][:default_bill_address] new_bill_address = @order.bill_address.clone.attributes user_bill_address_id = spree_current_user.bill_address.andand.id @@ -75,7 +75,7 @@ class CheckoutController < Spree::CheckoutController end def set_default_ship_address - if params[:order][:default_ship_address] == 'YES' + if params[:order][:default_ship_address] new_ship_address = @order.ship_address.clone.attributes user_ship_address_id = spree_current_user.ship_address.andand.id diff --git a/app/views/checkout/_billing.html.haml b/app/views/checkout/_billing.html.haml index 9e24c986b9..bd590d63a5 100644 --- a/app/views/checkout/_billing.html.haml +++ b/app/views/checkout/_billing.html.haml @@ -16,7 +16,7 @@ - if spree_current_user .small-12.columns %label - %input{type: :checkbox, "ng-model" => "Checkout.default_bill_address", "ng-true-value" => "'YES'", "ng-false-value" => "'NO'"} + %input{type: :checkbox, "ng-model" => "Checkout.default_bill_address"} = t :checkout_default_bill_address = f.fields_for :bill_address, @order.bill_address do |ba| diff --git a/app/views/checkout/_shipping.html.haml b/app/views/checkout/_shipping.html.haml index d976e80352..4e6e63d666 100644 --- a/app/views/checkout/_shipping.html.haml +++ b/app/views/checkout/_shipping.html.haml @@ -30,12 +30,12 @@ = "{{ fieldErrors('order.shipping_method_id') }}" %label{"ng-if" => "Checkout.requireShipAddress()"} - %input{type: :checkbox, "ng-model" => "Checkout.ship_address_same_as_billing", "ng-true-value" => "'YES'", "ng-false-value" => "'NO'"} + %input{type: :checkbox, "ng-model" => "Checkout.ship_address_same_as_billing"} = t :checkout_address_same - if spree_current_user %label{"ng-if" => "Checkout.requireShipAddress()"} - %input{type: :checkbox, "ng-model" => "Checkout.default_ship_address", "ng-true-value" => "'YES'", "ng-false-value" => "'NO'"} + %input{type: :checkbox, "ng-model" => "Checkout.default_ship_address"} = t :checkout_default_ship_address .small-12.columns.medium-6.columns.large-6.columns diff --git a/app/views/checkout/_shipping_ship_address.html.haml b/app/views/checkout/_shipping_ship_address.html.haml index 9cddc6380b..fa87eef2ff 100644 --- a/app/views/checkout/_shipping_ship_address.html.haml +++ b/app/views/checkout/_shipping_ship_address.html.haml @@ -1,6 +1,6 @@ .small-12.columns #ship_address{"ng-if" => "Checkout.requireShipAddress()"} - %div.visible{"ng-if" => "Checkout.ship_address_same_as_billing === 'NO'"} + %div.visible{"ng-if" => "!Checkout.ship_address_same_as_billing"} .row .small-6.columns = validated_input "First Name", "order.ship_address.firstname", "ofn-focus" => "accordion['shipping']" diff --git a/spec/javascripts/unit/darkswarm/controllers/checkout/checkout_controller_spec.js.coffee b/spec/javascripts/unit/darkswarm/controllers/checkout/checkout_controller_spec.js.coffee index b2c36b000a..3f5546649b 100644 --- a/spec/javascripts/unit/darkswarm/controllers/checkout/checkout_controller_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/controllers/checkout/checkout_controller_spec.js.coffee @@ -62,9 +62,9 @@ describe "CheckoutCtrl", -> field = scope.fieldsToBind[0] expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.order.#{field}", {storeName: "#{prefix}_#{field}"}) - expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.ship_address_same_as_billing", {storeName: "#{prefix}_sameasbilling", defaultValue: 'YES'}) - expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.default_bill_address", {storeName: "#{prefix}_defaultasbilladdress", defaultValue: 'NO'}) - expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.default_ship_address", {storeName: "#{prefix}_defaultasshipaddress", defaultValue: 'NO'}) + expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.ship_address_same_as_billing", {storeName: "#{prefix}_sameasbilling", defaultValue: true}) + expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.default_bill_address", {storeName: "#{prefix}_defaultasbilladdress", defaultValue: false}) + expect(storage.bind).toHaveBeenCalledWith(scope, "Checkout.default_ship_address", {storeName: "#{prefix}_defaultasshipaddress", defaultValue: false}) it "it can retrieve data from localstorage", -> diff --git a/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee b/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee index 03b7e96b16..78fd10f054 100644 --- a/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/services/checkout_spec.js.coffee @@ -126,20 +126,20 @@ describe 'Checkout service', -> expect(Checkout.preprocess().ship_address).toBe(undefined) it "munges the order attributes to clone ship address from bill address", -> - Checkout.ship_address_same_as_billing = 'NO' + Checkout.ship_address_same_as_billing = false expect(Checkout.preprocess().ship_address_attributes).toEqual(orderData.ship_address) - Checkout.ship_address_same_as_billing = 'YES' + Checkout.ship_address_same_as_billing = true expect(Checkout.preprocess().ship_address_attributes).toEqual(orderData.bill_address) it "munges the default as billing address and shipping address", -> - expect(Checkout.preprocess().default_bill_address).toEqual('NO') - expect(Checkout.preprocess().default_ship_address).toEqual('NO') + expect(Checkout.preprocess().default_bill_address).toEqual(false) + expect(Checkout.preprocess().default_ship_address).toEqual(false) - Checkout.default_bill_address = 'YES' - Checkout.default_ship_address = 'YES' + Checkout.default_bill_address = true + Checkout.default_ship_address = true - expect(Checkout.preprocess().default_bill_address).toEqual('YES') - expect(Checkout.preprocess().default_ship_address).toEqual('YES') + expect(Checkout.preprocess().default_bill_address).toEqual(true) + expect(Checkout.preprocess().default_ship_address).toEqual(true) it "creates attributes for card fields", -> source_attributes = Checkout.preprocess().payments_attributes[0].source_attributes