From aa468140ac5d145500c96bf3b82de10e13fa618e Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 13 Jun 2013 12:29:34 +1000 Subject: [PATCH 01/10] Move save/process button to side on checkout pages --- app/overrides/move_save_checkout_button.rb | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 app/overrides/move_save_checkout_button.rb diff --git a/app/overrides/move_save_checkout_button.rb b/app/overrides/move_save_checkout_button.rb new file mode 100644 index 0000000000..07b918b819 --- /dev/null +++ b/app/overrides/move_save_checkout_button.rb @@ -0,0 +1,28 @@ + +# Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages +Deface::Override.new(:virtual_path => "spree/checkout/edit", + :insert_after => "[data-hook='checkout_summary_box']", + :text => '
+ <%= submit_tag @order.state == "payment" ? "Process My Order" : t(:save_and_continue), + :class => "continue button primary large", + :form=> "checkout_form_#{@order.state}" %> + +
', + :name => "add_new_save_checkout_button") + +# Remove the old button from each partial +Deface::Override.new(:virtual_path => "spree/checkout/_address", + :remove => "[data-hook='buttons']", + :name => "remove_save_checkout_button", + :original => '7633572669c527863fea8033e487babd2373ec09') + +Deface::Override.new(:virtual_path => "spree/checkout/_delivery", + :remove => "[data-hook='buttons']", + :name => "remove_save_checkout_button", + :original => '7633572669c527863fea8033e487babd2373ec09') + +Deface::Override.new(:virtual_path => "spree/checkout/_payment", + :remove => "[data-hook='buttons']", + :name => "remove_save_checkout_button", + :original => '312bd1fc045d5bde88f37b41b89ff3ca08beb950') + From 203232de27144aeb76c2e6827438ba39deb41961 Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 13 Jun 2013 12:30:35 +1000 Subject: [PATCH 02/10] Disable as this has now been incorporated into move_save_checkout_button --- app/overrides/replace_checkout_payment_button.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/overrides/replace_checkout_payment_button.rb b/app/overrides/replace_checkout_payment_button.rb index cbc8e9c875..12a6f74b20 100644 --- a/app/overrides/replace_checkout_payment_button.rb +++ b/app/overrides/replace_checkout_payment_button.rb @@ -2,4 +2,5 @@ Deface::Override.new(:virtual_path => "spree/checkout/_payment", :replace => "code[erb-loud]:contains('submit_tag t(:save_and_continue)')", :text => "<%= submit_tag 'Process My Order', :class => 'continue button primary' %>", :name => "replace_checkout_payment_button", - :original => 'ce2043a01931b3bc16b045302ebb0e0bb9150b67') \ No newline at end of file + :original => 'ce2043a01931b3bc16b045302ebb0e0bb9150b67', + :disabled => true) From 50b5d13e1f5e51817a21d85865c4a9e8d347797f Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 28 Jun 2013 17:53:39 +1000 Subject: [PATCH 03/10] Add javascript to hide new save button if not supported (not yet tested on old browsers) --- app/overrides/move_save_checkout_button.rb | 14 +++++++++++++- app/overrides/replace_checkout_payment_button.rb | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/overrides/move_save_checkout_button.rb b/app/overrides/move_save_checkout_button.rb index 07b918b819..2a9607b6aa 100644 --- a/app/overrides/move_save_checkout_button.rb +++ b/app/overrides/move_save_checkout_button.rb @@ -2,7 +2,7 @@ # Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages Deface::Override.new(:virtual_path => "spree/checkout/edit", :insert_after => "[data-hook='checkout_summary_box']", - :text => '
+ :text => '
<%= submit_tag @order.state == "payment" ? "Process My Order" : t(:save_and_continue), :class => "continue button primary large", :form=> "checkout_form_#{@order.state}" %> @@ -11,6 +11,7 @@ Deface::Override.new(:virtual_path => "spree/checkout/edit", :name => "add_new_save_checkout_button") # Remove the old button from each partial +=begin Deface::Override.new(:virtual_path => "spree/checkout/_address", :remove => "[data-hook='buttons']", :name => "remove_save_checkout_button", @@ -25,4 +26,15 @@ Deface::Override.new(:virtual_path => "spree/checkout/_payment", :remove => "[data-hook='buttons']", :name => "remove_save_checkout_button", :original => '312bd1fc045d5bde88f37b41b89ff3ca08beb950') +=end +Deface::Override.new(:virtual_path => "spree/checkout/edit", + :insert_after => "#checkout", + :text => '', + :name => "hide_new_save_checkout_button") \ No newline at end of file diff --git a/app/overrides/replace_checkout_payment_button.rb b/app/overrides/replace_checkout_payment_button.rb index 12a6f74b20..295a73c14b 100644 --- a/app/overrides/replace_checkout_payment_button.rb +++ b/app/overrides/replace_checkout_payment_button.rb @@ -3,4 +3,4 @@ Deface::Override.new(:virtual_path => "spree/checkout/_payment", :text => "<%= submit_tag 'Process My Order', :class => 'continue button primary' %>", :name => "replace_checkout_payment_button", :original => 'ce2043a01931b3bc16b045302ebb0e0bb9150b67', - :disabled => true) + :disabled => false) From 8df0f30b4f15108d0416f124378d24873812cf08 Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 5 Jul 2013 16:08:26 +1000 Subject: [PATCH 04/10] Move override into .deface format, and removed unecessary bits --- app/overrides/move_save_checkout_button.rb | 22 ++++++++++++++----- ...d_new_save_checkout_button.html.erb.deface | 17 ++++++++++++++ 2 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface diff --git a/app/overrides/move_save_checkout_button.rb b/app/overrides/move_save_checkout_button.rb index 2a9607b6aa..46d32c8113 100644 --- a/app/overrides/move_save_checkout_button.rb +++ b/app/overrides/move_save_checkout_button.rb @@ -1,14 +1,22 @@ - +=begin # Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages Deface::Override.new(:virtual_path => "spree/checkout/edit", :insert_after => "[data-hook='checkout_summary_box']", - :text => '
+ :text => '', - :name => "add_new_save_checkout_button") + :name => "add_new_save_checkout_button", + :disabled => true) + =end # Remove the old button from each partial =begin @@ -28,13 +36,15 @@ Deface::Override.new(:virtual_path => "spree/checkout/_payment", :original => '312bd1fc045d5bde88f37b41b89ff3ca08beb950') =end +#Hide +=begin Deface::Override.new(:virtual_path => "spree/checkout/edit", :insert_after => "#checkout", :text => '', - :name => "hide_new_save_checkout_button") \ No newline at end of file + :name => "hide_new_save_checkout_button") +=end \ No newline at end of file diff --git a/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface b/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface new file mode 100644 index 0000000000..cb966b8075 --- /dev/null +++ b/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface @@ -0,0 +1,17 @@ + + +<% # Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages %> + + \ No newline at end of file From 050b8840766c9fd3dd5d55c4f7a8c0069c0e9b41 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 16 Jul 2013 17:00:04 +1000 Subject: [PATCH 05/10] remove old-style deface file in favour of new .deface format --- app/overrides/move_save_checkout_button.rb | 50 ---------------------- 1 file changed, 50 deletions(-) delete mode 100644 app/overrides/move_save_checkout_button.rb diff --git a/app/overrides/move_save_checkout_button.rb b/app/overrides/move_save_checkout_button.rb deleted file mode 100644 index 46d32c8113..0000000000 --- a/app/overrides/move_save_checkout_button.rb +++ /dev/null @@ -1,50 +0,0 @@ -=begin -# Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages -Deface::Override.new(:virtual_path => "spree/checkout/edit", - :insert_after => "[data-hook='checkout_summary_box']", - :text => '', - :name => "add_new_save_checkout_button", - :disabled => true) - =end - -# Remove the old button from each partial -=begin -Deface::Override.new(:virtual_path => "spree/checkout/_address", - :remove => "[data-hook='buttons']", - :name => "remove_save_checkout_button", - :original => '7633572669c527863fea8033e487babd2373ec09') - -Deface::Override.new(:virtual_path => "spree/checkout/_delivery", - :remove => "[data-hook='buttons']", - :name => "remove_save_checkout_button", - :original => '7633572669c527863fea8033e487babd2373ec09') - -Deface::Override.new(:virtual_path => "spree/checkout/_payment", - :remove => "[data-hook='buttons']", - :name => "remove_save_checkout_button", - :original => '312bd1fc045d5bde88f37b41b89ff3ca08beb950') -=end - -#Hide -=begin -Deface::Override.new(:virtual_path => "spree/checkout/edit", - :insert_after => "#checkout", - :text => '', - :name => "hide_new_save_checkout_button") -=end \ No newline at end of file From 0a25dfc679d54df5044ebd839f54bf9e91c34afb Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 16 Jul 2013 17:01:12 +1000 Subject: [PATCH 06/10] remove disabled flag --- app/overrides/replace_checkout_payment_button.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/overrides/replace_checkout_payment_button.rb b/app/overrides/replace_checkout_payment_button.rb index 295a73c14b..06a3c95e9f 100644 --- a/app/overrides/replace_checkout_payment_button.rb +++ b/app/overrides/replace_checkout_payment_button.rb @@ -2,5 +2,4 @@ Deface::Override.new(:virtual_path => "spree/checkout/_payment", :replace => "code[erb-loud]:contains('submit_tag t(:save_and_continue)')", :text => "<%= submit_tag 'Process My Order', :class => 'continue button primary' %>", :name => "replace_checkout_payment_button", - :original => 'ce2043a01931b3bc16b045302ebb0e0bb9150b67', - :disabled => false) + :original => 'ce2043a01931b3bc16b045302ebb0e0bb9150b67') From 46043f22370575208a0ceb04d8db748029676216 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 16 Jul 2013 17:02:06 +1000 Subject: [PATCH 07/10] click new 'Save and Continue' button --- spec/features/consumer/checkout_spec.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spec/features/consumer/checkout_spec.rb b/spec/features/consumer/checkout_spec.rb index 24dae83677..4e6d9314df 100644 --- a/spec/features/consumer/checkout_spec.rb +++ b/spec/features/consumer/checkout_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" feature %q{ As a consumer - I want select a distributor for collection + I want to select a distributor for collection So that I can pick up orders from the closest possible location } do include AuthenticationWorkflow @@ -134,14 +134,17 @@ feature %q{ page.should have_selector "select#order_distributor_id option[value='#{@distributor_alternative.id}']" - click_button 'Save and Continue' + #click_button 'Save and Continue' + page.find('#add_new_save_checkout_button input[type=submit]').click # -- Checkout: Delivery page.should have_selector 'label', :text => "Delivery $3.00" - click_button 'Save and Continue' + #click_button 'Save and Continue' + page.find('#add_new_save_checkout_button input[type=submit]').click # -- Checkout: Payment - click_button 'Process My Order' + #click_button 'Process My Order' + page.find('#add_new_save_checkout_button input[type=submit]').click # -- Checkout: Order complete page.should have_content('Your order has been processed successfully') From 15c454a0f1930756742ce2cd3a83e64c66666d7b Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 19 Jul 2013 17:04:04 +1000 Subject: [PATCH 08/10] move style to stylesheet --- app/assets/stylesheets/store/openfoodweb.css.scss | 8 ++++++++ .../edit/add_new_save_checkout_button.html.erb.deface | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/store/openfoodweb.css.scss b/app/assets/stylesheets/store/openfoodweb.css.scss index bf08508f82..000cc557a7 100644 --- a/app/assets/stylesheets/store/openfoodweb.css.scss +++ b/app/assets/stylesheets/store/openfoodweb.css.scss @@ -231,6 +231,14 @@ div#eft-payment-alert { border: 2px solid red; } +/* Large 'Save and Continue/Process My Order' button under Order Summary on the checkout pages */ +#add_new_save_checkout_button { + display:none; + margin-top: 30px; + padding-top:10px; + border-top: 1px solid #d9d9db; +} + /* Cleared div for clearing previous floating elements */ div.cleared { clear: both; diff --git a/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface b/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface index cb966b8075..b93315a26a 100644 --- a/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface +++ b/app/overrides/spree/checkout/edit/add_new_save_checkout_button.html.erb.deface @@ -3,8 +3,7 @@ <% # Add a new 'Save and Continue/Process My Order' button under Order Summary on the checkout pages %> -