Pau Pérez Fabregat
42e26f3328
Merge pull request #7708 from andrewpbrett/payment-states
...
Add `requires_authorization` Payment state
2021-06-18 17:04:03 +02:00
Pau Pérez Fabregat
4ecbf51b33
Merge pull request #7802 from Matt-Yorkley/confirmation-mails
...
Add a delay on sending order confirmation emails
2021-06-18 12:27:24 +02:00
Pau Pérez Fabregat
db993652c4
Merge branch 'master' into payment-states
2021-06-18 12:20:26 +02:00
Luis Ramos
e52937c113
Use rubocop auto correct to add frozen string literal to all files
...
This is an unsafe auto corection, we will need to trust our build here
2021-06-17 23:07:26 +01:00
Luis Ramos
a253228b96
Add some rubocop disable commands in the code to avoid future wrong rubocop auto corrections
2021-06-17 22:26:54 +01:00
Andy Brett
b41302d5d8
update state transitions for new requires_authorization state
2021-06-17 14:23:59 -07:00
Andy Brett
dc1a24339c
update can_resend_auth_email
2021-06-17 14:23:59 -07:00
Andy Brett
527f4e2cb3
move payment to requires_authorization if cvv_result is present
2021-06-17 14:23:59 -07:00
Andy Brett
31738ceb49
rename and consolidate authorization? methods
2021-06-17 14:23:59 -07:00
Andy Brett
674ca3026b
change states after failure/requiring auth
2021-06-17 14:23:58 -07:00
Andy Brett
a3d9f1f3cc
create requires_authorization payment state and migration
2021-06-17 14:23:58 -07:00
Luis Ramos
23627c5453
Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
...
9290 issues fixed
2021-06-17 22:19:26 +01:00
Pau Pérez Fabregat
a8efbffca6
Merge pull request #7429 from Matt-Yorkley/adjustments-taxrate
...
[Adjustments] TaxRate changes
2021-06-17 11:51:01 +02:00
Matt-Yorkley
bb848811e6
Add a delay on sending order confirmation emails
...
There's a race condition here that means the order's address is not always present when the email is first sent, but it *is* present shortly after. The fix in this commit is a temporary solution.
2021-06-17 09:35:25 +01:00
Matt-Yorkley
8753076dcd
Merge pull request #7737 from luisramos0/ruby273
...
Upgrade to ruby 2.7.3
2021-06-15 21:07:38 +02:00
Matt-Yorkley
937cede9b8
Fix tax adjustment label
...
:amount is actually a property on the TaxRate object itself that refers to the rate (eg 10% expressed as 0.10), and is not the same as the adjustment amount being passed in to this method (eg: $4.28)
2021-06-10 17:16:45 +01:00
Maikel
6caae9e886
Merge pull request #7694 from coopdevs/split-confirm-order-job
...
Split ConfirmOrderJob to avoid blocking DJ worker
2021-06-09 14:11:10 +10:00
Matt-Yorkley
15b386bce3
Set :execute_threed option to explicitly handle 3DS responses
2021-06-07 22:48:54 +01:00
Matt-Yorkley
3544b7de7a
Remove Stripe Decorator
...
The method being overridden here is the same in the upstream
2021-06-07 20:44:58 +01:00
Matt-Yorkley
9e1d8ab369
Introduce legacy tax handing in Order::Updater whenever order totals change
...
This will remove legacy tax adjustments, recalculate any relevant taxes for items in the order and re-apply them in non-legacy tax adjustments
2021-06-06 20:20:41 +01:00
Matt-Yorkley
28ebb303af
Simplify order interface
2021-06-06 20:17:03 +01:00
Matt-Yorkley
c84f9e56fb
Tax enterprise fee adjustments when calling #recreate_all_fees!
2021-06-06 20:17:03 +01:00
Matt-Yorkley
a31487a86d
Clear any legacy taxes when applying tax to an order
...
#create_tax_charge! adds tax (adjustments) to all taxable items on an order. If an order order has legacy taxes (lump-sum tax adjustments on the order object), we remove them here before re-applying taxes (using the new setup).
2021-06-06 20:16:03 +01:00
Matt-Yorkley
84a40e6ae0
Improve Order#enterpise_fee_tax
2021-06-06 20:16:03 +01:00
Matt-Yorkley
2de442f44d
Move taxing of enterprise fees to TaxRate
2021-06-06 20:16:03 +01:00
Matt-Yorkley
d450aff607
Update Order#create_tax_charge!
...
TaxRate#adjust now handles individual items instead of the whole order 🎉 We can use this elsewhere too, for example to re-apply taxes on a single line item, we can do: Spree::TaxRate.adjust(order, [line_item])
2021-06-06 20:16:03 +01:00
Matt-Yorkley
f92c082df8
Refactor tax adjustment create_label method
2021-06-06 20:16:03 +01:00
Matt-Yorkley
d69f714032
Bring in changes to TaxRate#adjust
2021-06-06 20:16:03 +01:00
Matt-Yorkley
50d0952dd5
Bring in TaxRate#potentially_applicable method and add eager-loading
2021-06-06 20:16:03 +01:00
Luis Ramos
5629dfbe09
Fix warning: deprecated Object#=~ is called
2021-06-04 22:42:27 +01:00
Luis Ramos
c22799bda1
Replace gsub! with gsub so that strings are not modified
2021-06-04 22:42:22 +01:00
Matt-Yorkley
3222d4980d
Improve comment on #ensure_updated_shipments
2021-06-04 17:10:50 +01:00
Matt-Yorkley
e246eed99d
Move #restart_chceckout_flow out of Order class
2021-06-04 17:10:50 +01:00
Matt-Yorkley
b69d61dd77
Remove #order_update! call from method used in order after_save callbacks
...
This method gets called twice every time we save a completed order, calling order_update! twice...
2021-06-04 17:10:50 +01:00
Matt-Yorkley
2d76c2730a
Update shipment updating
2021-06-04 17:10:50 +01:00
Matt-Yorkley
0cfe7fdc45
Move required logic into OrderContents and improve spec
2021-06-04 17:10:50 +01:00
Matt-Yorkley
f5c08baabb
Use OrderContents in LineItemsController and move enterprise fee updating logic
2021-06-04 17:10:50 +01:00
Matt-Yorkley
67df6728f6
Fix Order line items association definition
...
Populating the cart was throwing an "Association Mismatch" error D:
2021-06-04 17:10:50 +01:00
Matt-Yorkley
0178cd7530
Adapt OrderContents to allow use with frontend cart service and updating :max_quantity
...
The cart service and it's surrounding logic is a bit messy, as it jumps through hoops to add extra logic for the :max_quantity attribute used with the "group buy" feature.
This is the last bit of code where an order's line items could be changed where we were not using OrderContents.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
7af5e8931f
Adapt OrderContents for use with BulkLineItemsController#update
2021-06-04 17:10:50 +01:00
Matt-Yorkley
9045cc7d65
Use OrderContents in CartService for removing line items from cart
2021-06-04 17:10:50 +01:00
Matt-Yorkley
5ff8436c1a
Adapt OrderContents#remove to allow deleting line item without passing a quantity
2021-06-04 17:10:50 +01:00
Matt-Yorkley
423c140670
Remove pointless currency code in Order and CartService
...
The currency will always be the currency of the variant, there's no need to pass this value around.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
e8ef183623
Delete dead code Order#set_variant_attributes
2021-06-04 17:10:50 +01:00
Matt-Yorkley
632f4228f0
Bring in line item fetching refactor
2021-06-04 17:10:50 +01:00
Matt-Yorkley
1268cb565c
Extract method
2021-06-04 17:10:50 +01:00
Matt-Yorkley
03fc63ad14
Remove #order_update! from line item after_save callback
2021-06-04 17:10:50 +01:00
Matt-Yorkley
a124141537
Move Shipment#line_items to private
2021-06-04 17:10:50 +01:00
Matt-Yorkley
0fabb5bc2f
Don't pluck variant_ids multiple times (once for each line item)
2021-06-04 17:10:50 +01:00
Matt-Yorkley
1fff81c214
Remove call to OrderInventory#verify
...
This already gets called in after_save and after_destroy in Spree::LineItem.
2021-06-04 17:10:50 +01:00