luisramos0
3fcf286516
Extract PostCheckoutActions from checkout controller
2020-03-02 17:30:12 +00:00
luisramos0
19042e0d37
Make checkout controller able to receive a redirect from stripe with a payment_intent as parameter
2020-03-02 17:30:12 +00:00
luisramos0
e3ffe8fe6b
Add Checkout Stripe redirect logic to get users redirected to stripe authentication pages provided by the stripe API
2020-03-02 17:30:12 +00:00
luisramos0
d91578ab80
Rename checkout payment redirect to checkout paypal redirect
2020-03-02 17:30:12 +00:00
luisramos0
873dcc373f
Small refactoring to make next commit easier
2020-03-02 17:30:12 +00:00
luisramos0
b41de52012
Moved checkout services into a specific folder under app/services
2020-02-05 14:49:17 +00:00
luisramos0
214eb43122
Add frozen string literal magic comment
2020-02-05 14:49:17 +00:00
luisramos0
6ce50a5fa5
Extract paypal redirect logic to service class
2020-02-05 14:49:17 +00:00
luisramos0
4fbd2cfa52
Extract UserDefaultAddress logic into separate class to take more 30 lines out of CheckoutController
2020-02-05 14:49:17 +00:00
luisramos0
383b28e170
Add order and current_user to checkout_form_data_adapter where they are required
...
Also re-add order.state condition to update_result: in some tests, the order state is complete but no completion data (completed?) is present
2020-02-05 14:49:17 +00:00
luisramos0
bf55a15f81
Extract checkout params adaptation logic into a service class
2020-02-05 14:49:17 +00:00
luisramos0
43a6798db2
Move methods around in checkout controller into a more logical organisation: first the filters code and then support code for the update action
2020-02-05 14:49:17 +00:00
luisramos0
06d6579486
Refactor construct_saved_card_attributes to fix rubocop issues
2020-02-05 14:49:17 +00:00
luisramos0
76df526002
Remove dead code from construct_saved_card_attributes
2020-02-05 14:49:17 +00:00
luisramos0
06569ea24c
Refactor load_order to fix rubocop issues
2020-02-05 14:49:17 +00:00
luisramos0
25431f851b
Refactor object_params to fix rubocop issues
2020-02-05 14:49:17 +00:00
luisramos0
bab2420bb3
Break up default address methods to fix rubocop issues
2020-02-05 14:49:17 +00:00
luisramos0
0b2acb3a76
Extracted two methods from checkout_workflow to fix rubocop issues
2020-02-05 14:49:17 +00:00
luisramos0
27db9e604f
Extract respond_to_update_succeeded from update_succeeded
2020-02-05 14:49:17 +00:00
luisramos0
c4e58ebb9e
Extract update_succeeded from checkout#update
2020-02-05 14:49:17 +00:00
luisramos0
9a0ee254af
Extract checkout_workflow from checkout#update
2020-02-05 14:49:17 +00:00
luisramos0
5ce3e1e0d2
Fix some rubocop issues in checkout controller
2020-02-05 14:49:17 +00:00
luisramos0
4b345d928c
Remove old code to detect Phantom Fees, no bugsnag events detected at all
2020-02-05 14:49:17 +00:00
luisramos0
52b1e6c71a
Move all logic required in Spree::CheckoutController to CheckoutController
2020-02-05 14:49:17 +00:00
Maikel Linke
bd67d63b63
Restore payment error feedback
2020-01-23 16:20:07 +11:00
Maikel Linke
6763012ee9
Rescue unknown checkout errors
2020-01-23 16:20:07 +11:00
Maikel Linke
50093c325a
Move checkout locking to its own service
...
It gives this complex logic more space and allows for better structure
and more comments at the right places.
2019-11-19 18:18:01 +11:00
Maikel Linke
df2306cf82
Lock variants during checkout to avoid race condition
...
It was possible that several people bought the same variant even though
there wasn't enough stock for everybody. That resulted in negative
stock.
2019-11-19 18:18:01 +11:00
luisramos0
fb65c64c68
Keep the ship_address clearing logic (this time reusing the OrderUpdate method) thus making the restart_checkout process work for these cases (because order.ship_address is not empty)
...
OrderUpdater#shipping_address_from_distributor uses order.address_from_distributor to set order.ship_address when order is not delivery: this will clear the ship address as it was done previously without setting an empty address like Spree::Address.default
2019-09-09 22:05:20 +01:00
luisramos0
cc7461e692
Remove clear_ship_address from checkout_controller because it is setting an empty address on order.ship_address which is breaking the reset_checkout process in some cases.
...
This logic is already repeated in the before_save hook in the OrderUpdater where the distributor address is put into the ship_address on order.finalize
In cases the order is not to be finalized we keep the ship_address sent from the client as we may need it to make the order workflow work properly
2019-09-09 17:48:17 +01:00
luisramos0
8efd69c3d1
Remove unnecessary checkout registration code, it's not used in OFN
2019-07-08 12:57:17 +01:00
luisramos0
02b9fca620
Remove unused spree checkout and spree cart routes
2019-06-18 10:49:19 +01:00
luisramos0
56db90f49e
Remove unused checkout controller update action and order controller populate action
...
Additionally, remove routes of these actions as well as routes already defined in routes.rb (checkout and cart)
2019-06-18 10:47:34 +01:00
luisramos0
86b0d71c7e
Result of rubocop auto-correct and rebuilding rubocop_manual_todo
2019-05-28 12:57:29 +01:00
luisramos0
4a67acf954
Removing a few rubocop warnings
2019-05-28 12:55:17 +01:00
luisramos0
d602375ac7
Redirect user to cart page if some item in the order is unavailable
2019-04-13 20:31:05 +01:00
luisramos0
6fc3562a73
Merge branch 'master' into 2-0-stable-dec-18th
2018-12-18 23:32:45 +00:00
luisramos0
4f4fc00549
Improve code, specs and comments in the shipping_method selection process in the checkout controller
2018-12-09 20:05:10 +00:00
luisramos0
7a8c65b3ea
In the checkout controller update process, grab shipping_method_id from form data and inject it in the order when the order workflow gets to delivery (which is when the order gets shipments created)
2018-11-30 10:46:31 +00:00
luisramos0
c032401eb0
Refactor checkout controller update method
2018-11-30 10:45:42 +00:00
Pau Perez
453b2a99de
Rename redundant #restart_checkout to #call
2018-11-23 12:05:39 +01:00
Pau Perez
3b681a59ba
Move controller tests to service class tests
2018-11-23 12:04:42 +01:00
Pau Perez
a62a2cb52f
Extract #restart_checkout to a service
2018-11-23 12:04:42 +01:00
Maikel Linke
561a73e911
Pass on redirect path instead of URL
...
Fixes https://github.com/openfoodfoundation/openfoodnetwork/issues/2376
The checkout doesn't deal with absolute URLs since
fc2cc09ea5 .
2018-06-14 16:49:52 +10:00
Pau Perez
6593dea4f6
Auto correct Rubocop's Layout/EmptyLinesAroundMethodBody cop
2018-04-09 18:47:17 +02:00
Pau Perez
3161fa3801
Auto correct Rubocop's Layout/EmptyLinesAroundExceptionHandlingKeywords cop
2018-04-09 18:47:17 +02:00
Rob Harrington
4a0dab3608
Renaming LastUsedAddress as AddressFinder
2018-02-09 14:43:59 +11:00
Rob Harrington
1b72b7258d
Refactoring LastUsedAddress to take customers or users
2018-02-09 14:43:58 +11:00
Rob Harrington
1fcbf6b44d
Clear shipping_method_id from order when restarting checkout
...
If the order is allowed to retain a shipping_method_id, then subsequent
saves of the order will cause a new shipment to be initialised. Seems to
only happen for delivery shipping methods. This is undesirable because
fees for the new shipment will appear in the checkout summary, which is
not smart enough to recognise existing shipment fees and adjust the order
total accordingly.
2017-10-13 12:53:35 +11:00
Rob Harrington
c031b0e52b
Clear shipments and payments after failed payment at checkout
2017-10-13 12:53:35 +11:00