Pau Pérez Fabregat
db993652c4
Merge branch 'master' into payment-states
2021-06-18 12:20:26 +02:00
Luis Ramos
5a05a21dad
Revert to false so strings can be mutated in this class
2021-06-17 23:07:54 +01:00
Luis Ramos
755222a35d
Revert to false so strings can be mutated in this class
2021-06-17 23:07:35 +01: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
Andy Brett
b41302d5d8
update state transitions for new requires_authorization state
2021-06-17 14:23:59 -07:00
Andy Brett
dd0375aed4
clear authorization url after failing the payment
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
690cbe3ad3
Merge pull request #7468 from mkllnk/6328-tos-tracking
...
6328 tos tracking
2021-06-10 19:48:13 +02:00
Andy Brett
2b66d270c0
Merge pull request #7704 from coopdevs/drop-master-variant-leftovers
...
Drop product.price from /api/order_cycles/:id/products
2021-06-09 08:20:44 -07:00
Andy Brett
e0cdf4ff49
refactor to TOS service
2021-06-09 14:06:54 +10:00
Matt-Yorkley
bfea47802e
Move fee tax call outside of lock and simplify order updating
2021-06-06 20:18:05 +01:00
Matt-Yorkley
c84f9e56fb
Tax enterprise fee adjustments when calling #recreate_all_fees!
2021-06-06 20:17:03 +01:00
Matt-Yorkley
510f74f654
Update OrderTaxAdjustmentsFetcher
...
Taxes on Enterprise Fees are now recorded in proper tax adjustments, so they don't need special treatment.
2021-06-06 20:16:03 +01:00
Matt-Yorkley
38ce9eb0c4
Update line item removal in CartService when the line item doesn't exist
2021-06-04 17:10:50 +01:00
Matt-Yorkley
3b52b173e8
Delete more dead code in CartService
2021-06-04 17:10:50 +01:00
Matt-Yorkley
b8ccee5f30
Simplify use of #to_i in variant data hash
2021-06-04 17:10:50 +01:00
Matt-Yorkley
a883b2cf63
Remove dead code CartService#cart_remove
2021-06-04 17:10:50 +01:00
Matt-Yorkley
398d4b2612
Tidy up public interface of CartService
...
We don't need this extra hash to be passed around
2021-06-04 17:10:50 +01:00
Matt-Yorkley
4a7c0e8297
Remove variant early if we're deleting them and they're already loaded
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
cb92231835
Clarify behavior via variable names
...
This is a small semantic thing to clarify that we're not adding to / incrementing the quantity here, we're setting it to the given value. In other places where we change line items on an order we are actually adding the given value to the existing quantity.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6e8fd3c3f8
Simplify CartService interface
...
There's only one place this method is called, and the "overwrite" argument is always explicitly true. It doesn't need to be there if it's mandatory.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6451ef173c
Use OrderContents when removing line items with soft-deleted variants in CartService
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
c1c69b00b4
Update order explicitly in OrderSyncer
2021-06-04 17:10:50 +01:00
Matt-Yorkley
c55e47f6af
Remove superfluous updates in OrderFeesHandler
2021-06-04 17:10:50 +01:00
Matt-Yorkley
eb59b691d8
Move hash parsing outside of order lock
2021-06-04 17:10:50 +01: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
Pau Perez
dfe83e5c51
Do not return master variant in api/ocs/products
...
`product.master` seems to always be `null` on
/api/v0/order_cycles/:id/products JSON response. That's because the
first of the underlying AR relation,
`order_cycle.variants_distributed_by(distributor)`, does not include
master variants. They are not in OC exchanges.
2021-06-04 12:10:52 +02: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
Matt-Yorkley
3dc3581e6b
Ensure Mail configs are applied when the app starts
...
Previously we only set these part-way through deployment, so the values could be out of sync between our ENV vars and Spree::Config (which itself is a mix of both cached values and database-persisted values).
2021-05-23 23:05:16 +01: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
e73584fef7
remove setters from DefaultCountry service
2021-05-19 09:42:52 -07:00
Andy Brett
7df2915fbd
add DefaultCountry service
2021-05-18 12:44:53 -07:00
Matt-Yorkley
794216713a
Ensure payment is processed if order is in completed state
2021-05-16 23:03:07 +01: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
8429da3d2a
Remove unused argument from ProcessPaymentIntent
2021-05-16 22:19:01 +01:00
Matt-Yorkley
2e63cd8116
Add explanatory comment on payment processing flow
2021-05-16 20:11:45 +01:00
Matt-Yorkley
52e0d84238
Reload in-memory payment before checking it's new state
...
The state should have changed in the database if the payment was processed successfully, and the memoized version here will not know that without a reload.
2021-05-16 20:11:45 +01:00
Matt-Yorkley
5725535715
Fix payment state checking
2021-05-16 20:11:45 +01:00
Matt-Yorkley
fd021d4778
Refactor payment intent status checking and return "ok" if the payment has already been processed successfully in a previous request
...
If the page is reloaded after the payment has already gone through, we can skip the processing and give a non-error response; the payment is already completed and Stripe's response confirms it was successful.
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
Luis Ramos
3f020ec855
Circunvent security contraint on rails 61
2021-05-14 00:13:38 +01:00
Luis Ramos
3d2155b60e
Use Arel.sql to curcunvent security restriction on rails 6.1
2021-05-13 23:55:08 +01:00
Viktor Smari
6a342ae368
Ransack.search is deprecated. Use .ransack instead
...
https://github.com/activerecord-hackery/ransack/pull/975
2021-05-09 01:05:37 +02:00
Pau Perez
9a63f38790
I18n-ize error messages.
2021-05-06 16:34:29 +02:00