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
Matt-Yorkley
148349f0f3
Ignore potential error where default tax rate is nil
...
If the current tax rates are badly *misconfigured*, and an included-tax rate is being applied but a *default* rate does not exist (there are validations to stop this case from occurring, see DefaultTaxZoneValidator), this line can throw an error. This situation will not actually arise in production, but can happen fairly easily in dev or with staging data when switching datasets, and when it does it's kind of annoying.
Note: the logic in the check here is still good; if there's no default tax rate we check if the order's tax zone matches the zone for the current tax rate, which is correct.
2021-06-17 12:47:41 +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
Andy Brett
87692b06e6
remove deprecated update_attributes method call
2021-06-14 15:13:51 -07: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
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