Matt-Yorkley
2ac4ace3e8
Fix params issues in UserPasswordsController
2021-03-11 12:19:54 +00:00
Matt-Yorkley
dcecfaea87
Fix params issues in OrderCyclescontroller spec
2021-03-11 12:19:54 +00:00
Matt-Yorkley
31df28b348
Fix params mangling in Api::ProductController
2021-03-11 12:19:54 +00:00
Matt-Yorkley
f28cd4a4e5
Adapt checkout FormDataAdapter
2021-03-11 12:06:00 +00:00
Matt-Yorkley
dcf982c1c3
Fix params mangling issues in SubscriptionsController
2021-03-11 12:06:00 +00:00
Matt-Yorkley
af8d497433
Fix handling of params in variant overrides bulk update actions
2021-03-11 12:06:00 +00:00
Matt-Yorkley
7bf4f88034
Fix params issues in Api::TaxonsController
2021-03-11 12:06:00 +00:00
Matt-Yorkley
0f1142b5c4
Fix more broken specs related to accessing params hash
2021-03-11 12:06:00 +00:00
Matt-Yorkley
ed09db6003
Fix broken specs related to accessing params hash
2021-03-11 12:06:00 +00:00
Matt-Yorkley
c5a47b51a6
Update order totals during CheckoutController#update
2021-03-11 11:20:01 +00:00
Matt-Yorkley
4c64aaed77
Remove callbacks in Adjustment that call order.update!
2021-03-11 11:20:01 +00:00
Matt-Yorkley
791a47d170
Merge pull request #6858 from Matt-Yorkley/adjustments-shipping-cost
...
[Adjustments] Move shipping adjustment from order to shipment
2021-03-11 12:17:14 +01:00
Matt-Yorkley
945605e3a8
Rename Shipment #adjustment to #fee_adjustment for clarity
2021-03-04 14:27:02 +00:00
Matt-Yorkley
833aae23e5
Update admin adjustments controller
2021-03-04 14:27:02 +00:00
Andy Brett
a02065b66f
allow access to payments tab for canceled orders
2021-03-01 19:51:50 -08:00
Andy Brett
ee351d91a9
show authorization links in separate table
2021-02-26 07:44:08 -08:00
Matt-Yorkley
d92de62a0b
I guess this was committed by mistake
2021-02-25 12:56:07 +00:00
Matt-Yorkley
9852470ef6
Merge pull request #6913 from Matt-Yorkley/rails-5-backports
...
Rails 5 backports
2021-02-23 11:55:31 +01:00
Matt-Yorkley
0e3429dc35
Merge pull request #6758 from Matt-Yorkley/enterprise-fees-refactor
...
Enterprise fees refactor
2021-02-22 17:59:18 +01:00
Matt-Yorkley
40eab5f73c
Use params.dig in TaxonsController
2021-02-19 12:12:20 +00:00
Matt-Yorkley
ba81bd8395
Remove after_action callback in Admin:OrdersController
2021-02-19 11:17:59 +00:00
Matt-Yorkley
5c5d687c9b
Remove hacks for working around closed adjustments
...
The enterprise fees are recreated and the shipping and payment fees are updated. The rest of the deleted code is not necessary (eg #with_open_adjustments). Everything else that needs to happen here is already done automatically (eg updating order totals).
2021-02-19 11:17:59 +00:00
Maikel Linke
5b94049620
Whitelist params for several settings for Rails 5
...
Rails 5 is a bit stricter and Spree's Config#set method doesn't work
with a Parameters object.
2021-02-19 14:20:15 +11:00
Matt-Yorkley
c47902d932
Fix params in Admin::EnterprisesController#register
2021-02-18 15:04:09 +00:00
Matt-Yorkley
76009c259f
Ensure encodable object in StripeAccountsController
...
Fixes:
```
Admin::StripeAccountsController#connect redirects to Stripe Authorization url constructed OAuth
Failure/Error: url_params = { state: JWT.encode(payload, key, 'HS256'), scope: "read_write" }
JSON::GeneratorError:
only generation of JSON objects or arrays allowed
# ./app/controllers/admin/stripe_accounts_controller.rb:8:in `connect'
# ./spec/controllers/admin/stripe_accounts_controller_spec.rb:18:in `block (3 levels) in <top (required)>'
```
2021-02-18 13:51:01 +00:00
Matt-Yorkley
3976f8ef89
Use params.dig when traversing nested params in passwords controllers
2021-02-18 13:05:16 +00:00
Matt-Yorkley
a8009d044b
Use permit in StripeAccountsController
2021-02-18 12:20:29 +00:00
Matt-Yorkley
1535c680f5
Fix direct params access in StripeAccountsController
2021-02-18 12:20:28 +00:00
Matt-Yorkley
7230d2767c
Add concern for accessing raw params hash
2021-02-18 11:02:22 +00:00
Andy Brett
f463af327c
Merge pull request #6808 from andrewpbrett/authorize-payment-links
...
Allow a customer to perform further action for a Stripe payment if needed (#4181 )
2021-02-17 10:17:51 -08:00
Pau Pérez Fabregat
16140b7b0b
Merge pull request #6843 from Matt-Yorkley/tax-rates-double-take
...
Also soft-delete tax rates when changing `included_in_price`
2021-02-17 09:41:07 +01:00
Andy Brett
c851705d5a
reload order's new state after processing payment
2021-02-12 13:36:17 -08:00
Andy Brett
0a7396eb1c
Merge pull request #6713 from andrewpbrett/sca-subs-emails
...
Send emails when subscription payments require SCA auth
2021-02-12 08:23:32 -08:00
Pau Perez
e2853b9afb
Do not load order twice
...
The controller already does so, then, we can pass it to the service and
avoid that extra round-trip to the DB and save some memory. Spree::Order
is a rather bulky object (God object code smell perhaps) and it'll
surely make a difference.
2021-02-11 11:04:21 +01:00
Andy Brett
891874995b
refactor ProcessPaymentIntent to service
2021-02-10 11:22:29 -08:00
Andy Brett
9104ca72a9
refactor to descriptive method authorization_action_required?
2021-02-10 09:36:35 -08:00
Matt-Yorkley
ff549fb62e
Also soft-delete tax rates when changing included_in_price
...
We need to do this when the included_in_price boolean changes as well, for the same reasons.
2021-02-09 17:26:16 +00:00
Maikel
173cf9e536
Merge pull request #6565 from Matt-Yorkley/adjustments-inclusive
...
[Adjustments] Improve inclusive/additional tax recording
2021-02-08 09:38:31 +11:00
Matt-Yorkley
9851c9a762
Merge pull request #6678 from Matt-Yorkley/soft-deprecate-tax-rates
...
Introduce soft-deprecation strategy when modifying tax rates
2021-02-05 13:16:40 +01:00
Pau Pérez Fabregat
4b892d408e
Merge pull request #6809 from andrewpbrett/remove-bogus-providers
...
Remove "Bogus" payment providers from staging and production
2021-02-04 21:09:16 +01:00
Pau Pérez Fabregat
f6e6b6041c
Merge pull request #6734 from coopdevs/disable-ui-mail-settings
...
Disable mail methods form so no one can edit
2021-02-04 17:57:32 +01:00
Pau Pérez Fabregat
76fa63fd71
Merge pull request #6789 from coopdevs/authorize-only-changed-vos
...
Authorize only changed vos
2021-02-04 15:22:50 +01:00
Andy Brett
51630ac77b
remove "Bogus" payment providers from staging and production
2021-02-03 14:03:13 -08:00
Andy Brett
6e735739a5
after customer auth + redirect, process payment and clear cvv_response_message
2021-02-03 09:50:37 -08:00
Pau Pérez Fabregat
fbab5120f1
Merge pull request #6771 from Matt-Yorkley/touch-updated-at
...
Touch updated_at column when updating records via #update_column
2021-02-03 09:33:37 +01:00
Pau Perez
aef0d28dd1
Do not load unmodified VOs from DB
...
Closes #6727 .
This avoids the authorization of all the VOs of the hub, which will go
through VOs that may have become invalid due to their underlying product
not belonging to the supplier the hub has permissions with (or any other
data integrity issue).
This is utterly confusing for the user who is only given a generic error
and doesn't understand what's wrong with the particular VO they changed,
while it may be fine after all. What's more, this often results in
a customer support request, which then may end up with a dev finding out
which VO is broken.
Also, there's no point in loading them from DB if the users didn't touch
them.
2021-02-02 15:39:23 +01:00
Pau Pérez Fabregat
d48aa4a73f
Merge pull request #6748 from coopdevs/dont-fetch-vos-with-deleted-variant
...
Do not fetch VOs with deleted variant
2021-02-02 15:38:29 +01:00
Pau Perez
20b9ac89b8
Fix missing translation
...
The used key doesn't exist.
2021-02-01 18:45:02 +01:00
Pau Perez
0ee1e2cd72
Eager load taggings related to variant overrides
...
This removes an N+1 with taggings but doesn't solve the one with tags.
Using `includes(taggings: :base_tags)` based on
47da5036de/lib/acts_as_taggable_on/taggable.rb (L83-L84)
wasn't enough to solve it and I got to stop here. This is scope-creeping
too much.
2021-02-01 16:38:40 +01:00
Pau Perez
ee4f2a7b02
Remove N+1 on variants and products
...
We get from an initial INNER JOIN with variants and products to fetch
the variant overrides + N queries like:
```sql
SELECT "spree_variants".* FROM "spree_variants" WHERE
"spree_variants"."deleted_at" IS NULL AND "spree_variants"."id" = $1
LIMIT 1 [["id", 1545]]
SELECT "spree_products".* FROM "spree_products" WHERE
"spree_products"."id" = $1 LIMIT 1 [["id", 604]]
```
to the same initial INNER JOIN + just 2 queries like:
```sql
SELECT "spree_variants".* FROM "spree_variants" WHERE
"spree_variants"."deleted_at" IS NULL AND "spree_variants"."id" IN
(1551, 1554)
SELECT "spree_products".* FROM "spree_products" WHERE
"spree_products"."deleted_at" IS NULL AND "spree_products"."id" IN (606,
607)
```
2021-02-01 16:38:40 +01:00