Refactoring the way we default shipping_method_id

This commit is contained in:
Will Marshall
2014-03-05 15:49:47 +11:00
parent 3c108d3366
commit 7d0fdead7a
2 changed files with 6 additions and 9 deletions

View File

@@ -5,6 +5,11 @@ angular.module("Checkout").controller "CheckoutCtrl", ($scope, $rootScope, order
$scope.same_as_billing = true
$scope.order = order
# Our shipping_methods comes through as a hash like so: {id: requires_shipping_address}
# Here we default to the first shipping method if none is selected
$scope.order.shipping_method_id ||= Object.keys(order.shipping_methods)[0]
$scope.require_ship_address = $scope.order.shipping_methods[$scope.order.shipping_method_id]
$scope.shippingMethodChanged = ->

View File

@@ -1,13 +1,5 @@
object current_order
attributes :id, :email
# Default to the first shipping method if none selected
# We don't want to do this on the order, BUT
# We can't set checked="checked" as Angular ignores it
# So we default the value in the JSON representation of the order
node :shipping_method_id do
current_order.shipping_method_id || current_order.distributor.shipping_methods.first.andand.id
end
attributes :id, :email, :shipping_method_id
child current_order.bill_address => :bill_address do
attributes :phone, :firstname, :lastname, :address1, :address2, :city, :country_id, :state_id, :zipcode