Matt-Yorkley
28ebb303af
Simplify order interface
2021-06-06 20:17:03 +01:00
Matt-Yorkley
38811b5a28
Add Bugsnag message if legacy taxes are used
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
52452f7939
Update default tax calculator
...
Line items, shipments and fees can now all be calculated in the same way when applying 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
a22cc96ea5
Simplify DefaultTax calculator
...
This logic is handled in TaxRate and doesn't need to be duplicated here.
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
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
Matt-Yorkley
67264c047f
Delete dead code #editable_by?
...
This is junk Spree code from 2010. 11 years old! The method that previous called this was removed long ago...
2021-06-04 17:10:50 +01:00
Matt-Yorkley
34eaf6f0f2
DRY shipment updating
2021-06-04 17:10:50 +01:00
Matt-Yorkley
8405a7672d
Bring in shipment updating
2021-06-04 17:10:50 +01:00
Matt-Yorkley
66a3246a23
Move order updating
2021-06-04 17:10:50 +01:00
Matt-Yorkley
34482f6710
Bring OrderContents#update_cart from Spree 2.2
2021-06-04 17:10:50 +01:00
Matt-Yorkley
f550d1e9f3
Bring Order#ensure_updated_shipments from Spree 2.2
2021-06-04 17:10:50 +01:00
Andy Brett
d197b81351
Merge pull request #7606 from luisramos0/deprecation
...
[Rails 6.1] Fix deprecation warning in rails 6.0
2021-06-04 07:42:50 -07:00
Andy Brett
f70c1f0644
Merge pull request #7611 from luisramos0/rails61_arel
...
[Rails 6.1] Adapt code to circunvent security constraint on rails 6.1
2021-06-04 07:36:23 -07:00
Matt-Yorkley
7d38bec26d
Remove Spree::Config[:allow_ssl_in_development_and_test]
...
Unconditionally disables forced https-redirects in dev and test
2021-06-03 20:52:09 +01:00
Matt-Yorkley
74f27544f7
Merge pull request #7647 from andrewpbrett/default-country-codes
...
Use correct default country code
2021-05-25 11:21:34 +02:00
Luis Ramos
a1ac4e85ed
Replace update_attributes with update
2021-05-19 09:54:25 -07:00
Luis Ramos
341f6c9f62
Now that adjustment.update! has been renamed to adjustment.update_adjustment! we can use AR's update! on adjustment
2021-05-19 09:54:25 -07:00
Luis Ramos
b2e97fe1d2
Rename order.update! to order.update_order! and adjustment.update! to adjustment.update_adjustment!
2021-05-19 09:54:22 -07:00
Andy Brett
7df2915fbd
add DefaultCountry service
2021-05-18 12:44:53 -07:00
Matt-Yorkley
5dd24623f7
Merge pull request #7479 from Matt-Yorkley/payment-callbacks
...
Update Payment after_save callback
2021-05-18 16:19:29 +02:00
Matt-Yorkley
a2862e604c
Find relevant payment that matches the payment intent, not the last payment
2021-05-16 23:00:31 +01:00
Matt-Yorkley
81aac442f2
Improve conditional in raise_if_not_in_capture_state
2021-05-16 20:11:45 +01:00
Matt-Yorkley
e686a4f627
Move raising of errors when payment intent state != "requires_capture" out of PaymentIntentValidator service
...
When we're fetching the payment intent via PaymentIntentValidator in StripeSCA#purhcase (to capture it), we want it to fail loudly if it's not in "requires_capture" state. We're now also re-using the same PaymentIntentValidator service to check if payment processing was *successful*, in which case we need it *not* to fail loudly if the state == "succeeded", eg != "requires_capture".
2021-05-16 12:19:04 +01:00
Matt-Yorkley
99cf23df26
Merge pull request #7530 from Matt-Yorkley/email-after-commit
...
Email after commit
2021-05-12 21:22:55 +02:00