diff --git a/app/models/spree/order_decorator.rb b/app/models/spree/order_decorator.rb index 81efb2dc0d..e78c5686d5 100644 --- a/app/models/spree/order_decorator.rb +++ b/app/models/spree/order_decorator.rb @@ -20,9 +20,11 @@ Spree::Order.class_eval do go_to_state :delivery go_to_state :payment, :if => lambda { |order| # Fix for #2191 - if order.shipping_method.andand.require_ship_address and order.ship_address - order.create_shipment! - order.update_totals + if order.shipping_method.andand.require_ship_address and + if order.ship_address.andand.valid? + order.create_shipment! + order.update_totals + end end order.payment_required? } diff --git a/app/views/shop/checkout/_form.html.haml b/app/views/shop/checkout/_form.html.haml index a433b16e81..6213cbf3ac 100644 --- a/app/views/shop/checkout/_form.html.haml +++ b/app/views/shop/checkout/_form.html.haml @@ -12,7 +12,7 @@ = f.text_field :email = f.fields_for :bill_address, @order.bill_address do |ba| .large-6.columns - = ba.text_field :phone + = ba.text_field :phone, "ng-model" => "order.bill_address.phone" = f.fields_for :bill_address, @order.bill_address do |ba| .row .large-6.columns @@ -99,6 +99,7 @@ = sa.hidden_field :zipcode, "ng-value" => "order.bill_address.zipcode" = sa.hidden_field :firstname, "ng-value" => "order.bill_address.firstname" = sa.hidden_field :lastname, "ng-value" => "order.bill_address.lastname" + = sa.hidden_field :phone, "ng-value" => "order.bill_address.phone" %fieldset#payment %legend Payment Details