Commit Graph

28175 Commits

Author SHA1 Message Date
Pau Pérez Fabregat
914e6d5f21 Merge pull request #7196 from Matt-Yorkley/deprecations-uniq
Deprecations: certain uses of #uniq
2021-03-25 12:12:36 +01:00
Pau Pérez Fabregat
26bd6f0f17 Merge pull request #7205 from Matt-Yorkley/deprecations-3
Deprecations 3
2021-03-25 12:11:30 +01:00
Pau Pérez Fabregat
9397922902 Merge pull request #7206 from openfoodfoundation/transifex
Transifex
2021-03-25 11:33:08 +01:00
Pau Perez
ead1ab31b4 Fix multiple N+1 on /admin/customers.json
This (should) considerably improve traces like
https://app.datadoghq.com/apm/trace/917632173599137280?spanID=3163385094622710144&env=production&sort=time&colorBy=service&spanViewType=metadata&graphType=flamegraph&shouldShowLegend=true
by fixing the following 3 N+1s

```
user: root
GET /admin/customers.json?enterprise_id=4
USE eager loading detected
  Customer => [:enterprise]
  Add to your query: .includes([:enterprise])
Call stack
  /usr/src/app/app/serializers/api/admin/customer_with_calculated_balance_serializer.rb:24:in `balance_value'
  /usr/src/app/app/serializers/api/admin/customer_with_calculated_balance_serializer.rb:9:in `balance'
  /usr/src/app/app/controllers/admin/customers_controller.rb:20:in `block (2 levels) in index'
  /usr/src/app/app/controllers/admin/customers_controller.rb:17:in `index'

user: root
GET /admin/customers.json?enterprise_id=4
USE eager loading detected
  Spree::Address => [:state]
  Add to your query: .includes([:state])
Call stack
  /usr/src/app/app/serializers/api/address_serializer.rb:14:in `state_name'
  /usr/src/app/app/controllers/admin/customers_controller.rb:20:in `block (2 levels) in index'
  /usr/src/app/app/controllers/admin/customers_controller.rb:17:in `index'

user: root
GET /admin/customers.json?enterprise_id=4
USE eager loading detected
  Spree::Address => [:country]
  Add to your query: .includes([:country])
Call stack
  /usr/src/app/app/serializers/api/address_serializer.rb:10:in `country_name'
  /usr/src/app/app/controllers/admin/customers_controller.rb:20:in `block (2 levels) in index'
  /usr/src/app/app/controllers/admin/customers_controller.rb:17:in `index'
```

This popped up after improving the balances calculation. Now, that it's
fast, it's clear that are more performance problems on that endpoint.
We'll see if there are any left after this.
2021-03-25 11:19:00 +01:00
Maikel Linke
49eaee05a2 Deactivate cop Naming/PredicateName
It picked up matcher helpers in specs like `have_in_cart` which is a
useful name here.
2021-03-25 18:10:57 +11:00
Maikel Linke
ffb4ba5ef5 Style numeric predicate use with Rubocop 2021-03-25 18:07:11 +11:00
Maikel Linke
852147bf45 Update Rubocop todo lists 2021-03-25 17:59:59 +11:00
Maikel Linke
853b250afa Disable Rubocop suggestions to avoid noise 2021-03-25 17:44:46 +11:00
Maikel Linke
74fce2d2f1 Disable new Rubo-Cops
We have enough violations already. Let's add them as we see fit and
avoid the warnings for now.
2021-03-25 17:41:45 +11:00
Maikel Linke
f2103e923f Update Rails version for Rubocop 2021-03-25 17:41:05 +11:00
Maikel Linke
0133cb4d22 Update deprecated Rubocop option 2021-03-25 17:40:09 +11:00
dependabot[bot]
33ca13ca8e Bump karma from 0.13.22 to 6.3.1
Bumps [karma](https://github.com/karma-runner/karma) from 0.13.22 to 6.3.1.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v0.13.22...v6.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-25 05:50:48 +00:00
dependabot[bot]
04400e0289 Bump rubocop from 1.11.0 to 1.12.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.11.0...v1.12.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-25 05:26:45 +00:00
Maikel Linke
4d242af007 Use pessimistic locking processing Stripe payment
We used pessimistic locking around the `update` action already but when
Stripe redirects back to us we complete the payment in the `edit` action.
2021-03-25 15:17:30 +11:00
Maikel Linke
9fabca134a Fix and re-activate concurrency spec 2021-03-25 14:35:45 +11:00
Maikel Linke
af5ac2a25e Extend test coverage of CheckoutController
I'm covering the interaction with Stripe here to test for error cases in
the future.
2021-03-25 14:35:45 +11:00
Transifex-Openfoodnetwork
ac4903ef67 Updating translations for config/locales/pt_BR.yml 2021-03-25 06:28:47 +11:00
Matt-Yorkley
ba3984104b Replace deprecated #alias_method_chain in Spree::Product 2021-03-24 17:51:22 +00:00
Matt-Yorkley
0ab43d23f9 Replace deprecated reloading by passing true to an association
object.relation(true) -> object.relation.reload
2021-03-24 17:51:22 +00:00
Matt-Yorkley
26ed44412f Update #validates definitions
Where the presence of an object is being validated and that object comes from an *association*, we should use `validates :object, presence: true` instead of `validates :object_id, presence: true`.

This does not apply in the same way to validations on uniqueness of certain attributes, such as `validates :object_id, uniqueness...`
2021-03-24 15:43:09 +00:00
Matt-Yorkley
ec088c3a60 Merge pull request #7161 from openfoodfoundation/dependabot/bundler/oauth2-1.4.7
Bump oauth2 from 1.4.4 to 1.4.7
2021-03-24 13:35:32 +01:00
Matt-Yorkley
932adb533c Merge pull request #7184 from Matt-Yorkley/deprecation-errors-set
Update deprecated errors.set syntax
2021-03-24 13:17:55 +01:00
Matt-Yorkley
f1e4612c05 Update deprecated uses of #uniq
Enumerable#uniq is fine (eg calling #uniq on an Array object), but now using #uniq on an ActiveRecord::Relation is deprecated in favour of #distinct (which modifies the query itself, as opposed to iterating over the results of the query).
2021-03-24 11:42:24 +00:00
Guido Oliveira
6f340174d3 fix content moving when cart is open 2021-03-24 08:29:37 -03:00
Maikel Linke
b27ecb3465 Replace ActiveMerchant's deprecated gateway_mode
It's now just called `mode`. This avoids the warning:

  ../app/models/spree/gateway.rb:31:in `provider': Base#gateway_mode is deprecated in favor of Base#mode and will be removed in a future version
2021-03-24 15:27:44 +11:00
Andy Brett
1cb9504a2c Merge pull request #7187 from luisramos0/uniq
[Rails 5.2] Relation#Uniq is deprecated, distinct is recommended instead
2021-03-23 20:52:47 -07:00
Andy Brett
024efafa39 Merge pull request #7190 from luisramos0/more_spec_syntax
[rails 5.2] Fix more spec syntax
2021-03-23 20:52:31 -07:00
Andy Brett
28ad3a5f1d Merge pull request #7186 from luisramos0/tax_rate_validation_fix
[Rails 5.2] Fix tax_category validation to work in rails 5.2
2021-03-23 20:52:13 -07:00
Andy Brett
8080c09469 Merge pull request #7189 from luisramos0/inv_item_fix
[Rails 5.2] Fix validation problem in inventory items
2021-03-23 20:51:53 -07:00
Luis Ramos
e2df8937e5 Fix rspec syntax in bulk items controller 2021-03-23 22:00:50 +00:00
Luis Ramos
5549054325 Fix rspec syntax in line items controller 2021-03-23 21:55:58 +00:00
Luis Ramos
b14646ff50 Fix rspec syntax in checkout controller 2021-03-23 21:48:52 +00:00
Luis Ramos
7c8c720976 Fix rspec syntax to work with rails 5.2 2021-03-23 21:41:03 +00:00
Luis Ramos
b3d10cfb60 Fix validation of inventory item 2021-03-23 21:22:03 +00:00
Luis Ramos
c2364b3528 Relation#Uniq is deprecated, distinct is recommended instead 2021-03-23 20:57:58 +00:00
Luis Ramos
708c99fe9b Fix validation to work in rails 5.2 2021-03-23 20:33:04 +00:00
Matt-Yorkley
5f4e3c75c7 Update deprecated errors.set syntax
DEPRECATION WARNING: ActiveModel::Errors#set is deprecated and will be removed in Rails 5.1. Use model.errors.add(:preferred_discount_amount, ["has an invalid format. Please enter a number."]) instead. (called from block (2 levels) in localize_number at /home/runner/work/openfoodnetwork/openfoodnetwork/lib/spree/localized_number.rb:38)
2021-03-23 20:11:59 +00:00
Matt-Yorkley
5840b0e33c Adapt adjustment interface for payment's adjustment being singular
Payments only have one adjustment, all other adjustable objects have adjustments (plural).
2021-03-23 18:19:37 +00:00
Matt-Yorkley
e237727ba2 Migrate payment fee adjustments to payment objects 2021-03-23 18:19:37 +00:00
Matt-Yorkley
5d1d72b36b Update Admin::OrdersHelper#order_adjustments_for_display 2021-03-23 18:19:37 +00:00
Matt-Yorkley
21e0c36f4f Update order totals after deleting shipments and payments 2021-03-23 18:19:06 +00:00
Matt-Yorkley
5a7792bebc Update Checkout Restart spec 2021-03-23 18:19:06 +00:00
Matt-Yorkley
3294b33431 Update Payment spec 2021-03-23 18:19:06 +00:00
Matt-Yorkley
2ccaf80013 Update EnterpriseFeeSummary report scopes 2021-03-23 18:19:06 +00:00
Matt-Yorkley
242ccc4fb3 Update OrderAdjustmentsFetcher 2021-03-23 18:18:36 +00:00
Matt-Yorkley
8abfd7c3f3 Update Checkout spec 2021-03-23 18:17:50 +00:00
Matt-Yorkley
cb179c794b Update Paypal spec 2021-03-23 18:17:50 +00:00
Matt-Yorkley
a0e6b64e98 Update Order serializer 2021-03-23 18:17:50 +00:00
Matt-Yorkley
a42651d543 Update Payment fee adjustment 2021-03-23 18:17:50 +00:00
Matt-Yorkley
525fef14b1 Merge pull request #6974 from Matt-Yorkley/adjustments-line-item-fees
[Adjustments] Update line item enteprise fees
2021-03-23 19:06:02 +01:00