You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Spree frontend checkout process, when user is checking out a order, and he/she is at any state of the order(let's say address), then user fill the address details and click the continue button to proceed to next checkout state but if user reloads the page just after clicking the continue button. the current checkout state page is being loaded(address page) againg rather than loading the next checkout state page.
Expected Behavior
When we continue the process and reload just after continue, the frontend should redirect us to order's updated the checkout state page(in the below video it should render confirm page) as it is already done in backend and user must be redirected to the confirm page .
Actual Behavior
When we continue the process and reload just after we click continue(for processing order to next state) the frontend should also update the checkout state to confirm ( for reference ) as it is already done in backend but the user is not redirected to confirm page.
For refrence:- please check the linked video
Possible Fix
When user clicks on continue the Post request goes to checkout_controller.rb's update action in frontend. we need to make sure if the update request get's executed first, before the reload (get request for old state).
Steps to Reproduce
Start creating an order.
Reload the page just after you click continue(for processing order to next state) at any state of checkout process
You'll be redirected back to the same page instead of updated state.
Check out the state changes now for the same order in the admin panel the current state will be shown updated.
Shopping.Cart.-.Spree.Demo.Site.1.mp4
Your Environment
Version used: spree 4.6, rails 6.1.7.4 and ruby 3.0.2
Gemfile and Gemfile.lock as text in a Gist:
git_source(:github) { |repo| "[https://github.com/#{repo}.git"](https://github.com/#{repo}.git%22) }
ruby '3.0.2'
Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
# gem 'rails', '~> 7.0', '= 7.0.5.1'
gem 'rails', '~> 6.1', '>= 6.1.7.4'
# Use postgresql as the database for Active Record
gem 'pg', '~> 1.1'
# Use Puma as the app server
gem 'puma', '~> 5.0'
Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', '~> 5.0'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
gem 'bcrypt', '~> 3.1.7'
# Use Active Storage variant
gem 'image_processing', '~> 1.2'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.4', require: false
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', '>= 4.1.0'
# Display performance information such as SQL time and flame graphs for each request in your browser.
# Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md
gem 'rack-mini-profiler', '~> 2.0'
gem 'listen', '~> 3.3'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 3.26'
gem 'selenium-webdriver', '>= 4.0.0.rc1'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'
end
Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
#spree gems
gem 'spree', '= 4.6.0'
gem 'spree_sample', '= 4.6.0'
gem 'spree_emails', '= 4.6.0'
gem 'spree_frontend', '= 4.6.0'
gem 'spree_backend', '= 4.6.0'
gem 'spree_gateway', '~> 3.10'
gem 'spree_auth_devise', '= 4.5.0'
gem 'deface'```
The text was updated successfully, but these errors were encountered:
Context
In Spree frontend checkout process, when user is checking out a order, and he/she is at any state of the order(let's say address), then user fill the address details and click the continue button to proceed to next checkout state but if user reloads the page just after clicking the continue button. the current checkout state page is being loaded(address page) againg rather than loading the next checkout state page.
Expected Behavior
When we continue the process and reload just after continue, the frontend should redirect us to order's updated the checkout state page(in the below video it should render confirm page) as it is already done in backend and user must be redirected to the confirm page .
Actual Behavior
When we continue the process and reload just after we click continue(for processing order to next state) the frontend should also update the checkout state to confirm ( for reference ) as it is already done in backend but the user is not redirected to confirm page.
For refrence:- please check the linked video
Possible Fix
When user clicks on continue the Post request goes to checkout_controller.rb's update action in frontend. we need to make sure if the update request get's executed first, before the reload (get request for old state).
Steps to Reproduce
Shopping.Cart.-.Spree.Demo.Site.1.mp4
Your Environment
The text was updated successfully, but these errors were encountered: