Matt-Yorkley
6d2521bf5f
Remove Spree.user_class
...
This construct was previously used in Spree to switch out the user class with a dummy class during certain tests. We don't use this any more, so it's just mess.
🔥
2021-12-10 18:18:20 +00:00
Matt-Yorkley
87fe341b5b
Remove dead code: Order#backordered?
2021-12-05 15:17:27 +00:00
Luis Azcuaga
e8fd89a6d2
Run rubocop over existing todo
2021-10-25 21:28:28 -05:00
Nihal M. Kelanthodika
82d9b041c9
Remove unnecessary spaces and newlines
2021-10-06 15:06:57 +05:30
Nihal
7eb0c6c33c
Add module to set unused ship, bill address fields
2021-10-06 15:06:56 +05:30
Nihal
5f1a326a05
Add before_validation callback to set unused addressed fields in customer, order, user, subscription, enterprise_group
2021-10-06 15:06:56 +05:30
Adrien Chauve
45eefb627d
Fix sorting orders by total in admin/ via api/v0/orders
2021-10-01 18:32:59 +02:00
Maikel
9affc6a945
Merge pull request #8108 from Matt-Yorkley/andand
...
Remove `andand` gem
2021-09-10 15:06:00 +10:00
Maikel Linke
e013d81e3d
Simplify safe navigation operator use < and []
2021-09-10 14:40:46 +10:00
Andy Brett
069cb043ee
Merge pull request #8148 from jibees/5236-remove-incomplete-orders-from-admin-interface-2
...
Only shows order that actually have at least one line_item V2
2021-09-09 16:49:30 -07:00
Matt-Yorkley
1d5077061e
Remove andand
...
This old gem implemented some functionality for handling nils which is no longer needed, as it's provided natively by Ruby with the &. operator.
2021-09-08 14:28:31 +01:00
Matt-Yorkley
b53371d870
Fix not_empty scope
2021-09-08 12:14:53 +01:00
Jean-Baptiste Bellet
0ec35b1f0d
Only shows order that actually have at least one line_item
...
Filter inside the API to shows only orders that have at least one line items
2021-09-07 17:25:46 +02:00
Matt-Yorkley
b4278aabbf
Merge branch 'master' into 8009-handling-shipping-adress
2021-09-07 09:44:49 +02:00
Matt-Yorkley
71412f8d4b
Update validations
2021-09-06 14:22:28 +01:00
Matt-Yorkley
c3b52ef00a
Remove payments validation
2021-09-06 14:19:35 +01:00
Matt-Yorkley
cfee804339
Improve concern loading
...
It shouldn't need `require` or `prepend`
2021-09-06 14:19:13 +01:00
Matt-Yorkley
e3e53b1504
Ensure feature toggle works for non-logged-in users
2021-09-05 22:39:47 +01:00
Matt-Yorkley
3fc0278776
Whitelist searchable attributes on primary models
2021-09-02 14:06:15 +01:00
Jean-Baptiste Bellet
a1438f91e9
Display error on email (triggered by advance_order_state method)
2021-08-31 11:00:54 +02:00
Matt-Yorkley
5fb3943634
Validate payment object exists before advancing from payment to confirmation
2021-08-12 12:53:45 +01:00
Matt-Yorkley
6c885f0f42
Declare validations together
2021-08-12 12:53:45 +01:00
Matt-Yorkley
055c6b78af
Add order confirmation step to checkout flow
2021-08-11 15:53:01 +01:00
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
Andy Brett
b41302d5d8
update state transitions for new requires_authorization state
2021-06-17 14:23:59 -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
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
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
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
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
9045cc7d65
Use OrderContents in CartService for removing line items from cart
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
f550d1e9f3
Bring Order#ensure_updated_shipments from Spree 2.2
2021-06-04 17:10:50 +01:00
Pau Perez
74a8b3038a
Split ConfirmOrderJob to avoid blocking a worker
...
This unties this two email notifications so that they are picked up by
a DJ worker independently. This should avoid the blocking the worker experiences (remember we
still have a single one in all instances) when waiting between the two
deliveries. See the flamegraph:
https://app.datadoghq.com/apm/traces?end=1622015605459&paused=true&query=env%3Aproduction%20service%3Adelayed_job%20operation_name%3Adelayed_job%20resource_name%3AConfirmOrderJob%20%40duration%3A%3E%3D5s&start=1622009898303&streamTraces=true&trace=AQAAAXmngbg_woqc_QAAAABBWG1uZ2IwVkFBRHVDbWJkN25QTUVuY28&traceID=2916038355421570548&spanID=2005781139590273685 .
Overall, both operations may take longer but other jobs can be processed
in between. Also, if any of the two fails, the other won't be affected.
2021-06-01 11:43:00 +02: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
Matt-Yorkley
574d78403d
Merge pull request #7433 from coopdevs/raise-on-failed-customer-creation
...
Notify Bugsnag if customer fails to be created
2021-04-27 12:42:39 +02:00