Commit Graph

242 Commits

Author SHA1 Message Date
Andy Brett
9d33b36799 Merge pull request #7024 from Matt-Yorkley/dead-code-auto-capture
DCOTW: Spree::Config[:auto_capture]
2021-03-17 09:31:00 -07:00
Matt-Yorkley
e78fb784c6 Merge pull request #7042 from coopdevs/fix-money-object-deprecation-warnings
Fix money object deprecation warnings
2021-03-16 14:30:51 +01:00
Matt-Yorkley
7bc63e6e81 Re-add db2fog
Turns out it works with Rails 5
2021-03-11 12:23:00 +00:00
Matt-Yorkley
304da48d50 Remove dual boot 2021-03-11 12:19:54 +00:00
Pau Perez
9c642e2957 Use the instance currency as Money's default 2021-03-09 09:00:37 +01:00
Pau Perez
41011ce28a Fix Money deprecation warning w/ :default_currency
This removes the deprecation warning:

```
[WARNING] The default currency will change from `USD` to `nil` in the
next major release. Make sure to set it explicitly using
`Money.default_currency=` to avoid potential issues
```
2021-03-08 13:03:00 +01:00
Pau Perez
ccfb6ae26e Fix Money deprecation warning with :rounding_mode
This removes the deprecation warning:

```
[WARNING] The default rounding mode will change from `ROUND_HALF_EVEN`
to `ROUND_HALF_UP` in the next major release. Set it explicitly using
`Money.rounding_mode=` to avoid potential problems.
```

by specifying the default rounding mode at boot time so that it's only
set once for the whole app. See
https://github.com/RubyMoney/money#rounding for details.
2021-03-08 13:03:00 +01:00
Matt-Yorkley
365700615a Remove dead code: Spree::Config.auto_capture
We set this value to `true` unconditionally in an initializer, and then check the value in various places via Spree::Config. It's never false, and it's not configurable, so we can just drop it and remove the related conditionals. 🔥
2021-03-05 16:03:07 +00:00
Pau Perez
ed41888ba4 Set up Bullet for development and testing
This will log any N+1 it finds, pointing to the line causing it and
a way to solve it, aka. which `#includes` to add. Like so

```
web_1     | GET /admin/order_cycles.json?ams_prefix=index&q%5Borders_close_at_gt%5D=Sun+Jan+31+2021+00:00:00+GMT%2B0100+(Central+European+Standard+Time)
web_1     | USE eager loading detected
web_1     |   OrderCycle => [:coordinator]
web_1     |   Add to your query: .includes([:coordinator])
web_1     | Call stack
web_1     |   /usr/src/app/app/serializers/api/admin/index_order_cycle_serializer.rb:41:in `coordinator'
web_1     |   /usr/src/app/app/controllers/spree/admin/base_controller.rb:98:in `render_as_json'
web_1     |   /usr/src/app/app/controllers/admin/order_cycles_controller.rb:17:in `block (2 levels) in index'
web_1     |   /usr/src/app/app/controllers/admin/order_cycles_controller.rb:14:in `index'
web_1     |   bin/rails:4:in `require'
web_1     |   bin/rails:4:in `<main>'
```

We gave a try at Bullet long ago and abandoned it because it's not
a silver bullet (pun intended) due to false positives. However, it's
pretty clear that this won't happen often; we have endless N+1 still to fix.

I recently experienced how, relying on Bullet made it just extra 30s to fix
additional N+1s other than the one I was fixing. Usually, finding the
culprit line takes me more of 30min.
2021-03-03 13:50:03 +01: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
2413afa355 Update patch with warning 2021-02-18 10:57:03 +00:00
Matt-Yorkley
c8ff745471 Patch paperclip bug 2021-02-18 10:42:57 +00:00
Maikel Linke
29d7596b4e Remove dead code needed for Rails 3
This was initially added to allow unprivileged database users to run the
app but Rails 4 contains that patch already.

References:

  b70edd542
  719c45b40
2021-02-18 16:18:54 +11:00
Jean-Baptiste Bellet
d97b46cd5b add new feature for beta testers: unit_price
The aim of this "feature toggle" is to enable the unit price display for each product/variants.
By default activate on both development and staging environment.
2021-02-16 15:26:21 +01:00
Pau Perez
14cee0e45d Add new Feature class to toggle based on a closure
This enables toggling features as best fits us in each case. With this
new approach we can then toggle :customer_balance to an entire instance,
which is what we want in France.
2021-02-04 10:20:54 +01:00
Pau Pérez Fabregat
9fe2cb1a30 Merge pull request #6681 from luisramos0/css
[Rails 5] Make the app work in rails 5
2021-01-27 12:08:27 +01:00
Andy Brett
0e7f4b2f14 Merge pull request #6537 from mkllnk/simplify-mail-config
Simplify mail config
2021-01-21 10:59:43 -08:00
Pau Perez
ba018df9c5 Pass request_queuing setting to Rack middleware
It turns out that this setting belongs to the Rack middleware Datadog
comes with to track requests (See
e4c430a174/docs/GettingStarted.md (rack)).

The way to pass this option to it is through `configuration[:rack]`
where the `TraceMiddleware` will read it from. See
f57aefe60a/lib/ddtrace/contrib/rack/middlewares.rb (L215-L217)
and
f57aefe60a/lib/ddtrace/contrib/rack/middlewares.rb (L30-L43).
2021-01-20 10:58:07 +01:00
Andy Brett
89ce850da6 Merge pull request #6703 from openfoodfoundation/fix-datadog-init
Revert "Enable request queuing tracking in Datadog"
2021-01-19 18:39:21 -08:00
Luis Ramos
7c9024101b Some css fixes to make it all work in rails 5 2021-01-15 23:26:37 +00:00
Luis Ramos
209e2f20c5 Add rails 5 version for js template helpers 2021-01-15 00:23:37 +00:00
Luis Ramos
bc2d966e5f Remove commented code 2021-01-15 00:22:20 +00:00
Luis Ramos
874da929d3 Disable db2fog in rails 5, it doesnt work, we need to find an alternative for rails 5 2021-01-15 00:21:28 +00:00
Luis Ramos
02a1116fff Remove cache intrumentation
It doesnt work in rails 5 and apparently it was introduced to debug already deleted products cache in staging

See this commit that introduced it 10a79d5a65
2021-01-14 23:45:05 +00:00
Maikel
d16bfbad93 Merge pull request #6662 from luisramos0/action_dispatch
First rails 5 upgrade PR with dual boot: remove action_dispatch/request if on rails 5 so we can boot the app in rails 5
2021-01-15 10:17:05 +11:00
Luis Ramos
82b2777cb3 Remove action_dispatch/request if on rails 5 so we can boot the app in rails 5 2021-01-14 09:48:59 +00:00
Maikel Linke
be229c9002 Simplify email config by removing unused option
Spree used to give you more options to configure ActionMailer but our
setup is much simpler. We can remove unused code.

The removed option was never used by OFN and defaulted to true. We don't
need a database migration because the value isn't set in the database.
2021-01-14 12:05:41 +11:00
Pau Perez
e83a3ff76d Revert "Enable request queuing tracking in Datadog"
This reverts commit 91e5276140.
2021-01-12 10:56:11 +01:00
Matt-Yorkley
f9f830e0e1 Bring in Paypal certificates hack via new initializer 2021-01-09 13:26:30 +00:00
Pau Pérez Fabregat
27e83392bf Merge pull request #6536 from coopdevs/enable-new-customer-balance-to-core-team
Enable new customer balance for the beta testers
2021-01-08 11:24:23 +01:00
Pau Perez
91e5276140 Enable request queuing tracking in Datadog
Request queuing is critical to understand whether our app servers are
able to cope with all the traffic or requests pile up in Nginx queues.
I find the article
https://www.speedshop.co/2015/07/29/scaling-ruby-apps-to-1000-rpm.html
incredibly enlightening on this topic. Thanks @nateberkopec ❤️.

This requires
https://github.com/openfoodfoundation/ofn-install/pull/689.
2020-12-18 17:33:11 +01:00
Pau Perez
6f8967f002 Enable new customer balance for the core team
This enables the use of the new customer balance implementation to
whatever users we specify in the BETA_TESTERS env var through
ofn-install.

This var is meant to contain the user emails that will log in such as
personal accounts (I have an account with admin access to my hub) or
superadmin accounts used by the core team. This way can gather early
feedback ourselves while not releasing the new logic to users.
2020-12-16 11:09:54 +01:00
Matt-Yorkley
7408c45980 Merge pull request #6297 from openfoodfoundation/rails-4-1
[Rails 4.1] Merge Rails 4.1 branch into master
2020-12-01 10:56:08 +01:00
Pau Pérez Fabregat
f0a052b65b Merge pull request #6357 from Matt-Yorkley/secret-key-base
Update secret key base
2020-11-27 17:32:14 +01:00
Matt-Yorkley
1ab62fddcb Patch Paranoia#delete to resolve ActiveRecord::ConnectionAdapters::NullTransaction errors
Patches Paranoia gem to fix a conflict with transactions in Rspec: https://github.com/rubysherpas/paranoia/issues/274

Example error:
```
Failure/Error: order.line_items.first.variant.tap(&:delete)
NoMethodError:
       undefined method `state' for #<ActiveRecord::ConnectionAdapters::NullTransaction:0x0000564117dddd18>
```
2020-11-27 14:00:29 +00:00
Matt-Yorkley
1e8d400534 Add Paranoia#delete (original) 2020-11-27 14:00:29 +00:00
Matt-Yorkley
91908a0e4c Switch from state_machine to state_machines gem
The old version is completely unmaintained and does not work with Rails 4.2
2020-11-27 14:00:28 +00:00
Luis Ramos
ecb29ec830 Add state machine patch to fix error with state machine
See here for details: https://github.com/pluginaweek/state_machine/issues/251#issuecomment-32133267
2020-11-27 13:59:46 +00:00
Matt-Yorkley
1cad631bdb Replace secret_token and update comments
`secret_token` is apparently still called directly in other places...
2020-11-11 01:30:52 +00:00
Matt-Yorkley
03d49c7987 Update secret key base
`secret_token` is no longer used in Rails 4+
2020-11-10 20:46:15 +00:00
Matt-Yorkley
a802fe29be Fix typo in initializer 2020-11-10 00:07:06 +00:00
Luis Ramos
88ac5dc955 Fix rubocop issues by refactoring code 2020-11-10 00:03:34 +00:00
Matt-Yorkley
d8f9dead8b Merge pull request #6270 from Matt-Yorkley/paperclip-handlers
Remove Paperclip URL handlers
2020-11-05 18:29:20 +01:00
Luis Ramos
bd4da3b5ce Merge pull request #6247 from cillian/deep-munge-issue
Patch Rails :deep_munge issue so empty array parameters don't get converted to nil
2020-11-05 13:25:39 +00:00
Matt-Yorkley
3170db9532 Remove Paperclip URL handlers
See ofn-security issue #33 for details.
2020-11-04 16:49:01 +00:00
Luis Ramos
a51645f316 Remove deleted file 2020-11-04 12:15:45 +00:00
Luis Ramos
bfeebccbc5 Load Spree engine before configuring it 2020-11-04 12:15:45 +00:00
Luis Ramos
451d8488d9 Run rubocop -a 2020-11-04 12:15:45 +00:00
Luis Ramos
bcca2eee9d Bring user and ability related files from spree_core 2020-11-04 12:15:45 +00:00
Cillian O'Ruanaidh
ea3c456d3b Patch Rails :deep_munge issue so empty array parameters don't get converted to nil
Before people were unable to remove coordinator fees from an order cycle because Rails was converting the empty :coordinator_fee_ids array paramter into nil. This issue was introduced to Rails in v4.0.0.beta1 and isn't fixed until v5.0.0.beta1

Another way to fix this could be to do something like 'params[:coordinator_fee_ids] ||= []' but it seems like this issue could problems in other parts of the app so a more general fix might be better.

Fixes #6224
2020-10-30 11:12:36 +00:00