Luis Ramos
f34f693620
Merge branch 'master' into 3-0-stable-may-22
2020-05-22 22:54:19 +01:00
Luis Ramos
35824c7aa1
Rename restartCheckout to order_checkout_restart to make it follow service naming convention
2020-05-15 19:29:37 +01:00
Luis Ramos
839b373b5c
Merge branch 'master' into 3-0-stable-Apr28
2020-04-28 13:40:19 +01:00
Luis Ramos
ab16931d70
Merge pull request #5257 from luisramos0/stripe_sca_payments_last
...
StripeSCA - reuse better method to fetch last payment of an order to avoid nasty bugs in the future
2020-04-27 18:34:35 +01:00
Luis Ramos
d482cccefe
Use OrderPaymentFinder methods instead of payments.last and payments.pending.last
2020-04-23 16:08:10 +10:00
Luis Ramos
59f56cb0f6
Remove before delivery method in checkout controller, this differentiator is never used in OFN, only in Spree frontend code
2020-04-09 17:32:28 +01:00
Luis Ramos
384ca310a3
Merge branch 'master' into 3-0-stable-apr3
2020-04-03 18:26:26 +01:00
Luis Ramos
c3d25bf163
Make checkout controller send bugsnag alerts on every checkout problem
...
There are two new situations here: we will see order.errors after update_attributes fails but before order restart; and we will see how often the order is not complete when the workflow finishes (maybe none)
2020-04-01 12:03:39 +01:00
Luis Ramos
b898ce1ae1
Make checkout controller add flash error if order contains any type of error
...
Here we add translations for a particular case where the credit card expiry date is in the past
2020-04-01 12:03:39 +01:00
Pau Pérez Fabregat
b323364661
Merge pull request #5035 from luisramos0/strong_params_checkout
...
[Spree 2.1] Implement strong params in checkout controller
2020-03-25 09:46:53 +01:00
Luis Ramos
2c453359c1
Extract permitted params into a specific service
2020-03-21 16:49:26 +00:00
Luis Ramos
1d9a6edefb
Permit params in checkout controller before we adapt them to bypass issues with permitting added attributes like source CreditCard
2020-03-21 16:30:20 +00:00
Luis Ramos
5ae2e6865c
Add one more needed permitted attribute to checkout controller
2020-03-21 16:30:20 +00:00
Luis Ramos
d7cccd4143
Add guard clause in checkout_controller for empty params[:order]
2020-03-21 16:30:20 +00:00
Luis Ramos
5af27bb14e
Make checkout controller handle strong parameters
2020-03-21 16:30:20 +00:00
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