Commit Graph

18650 Commits

Author SHA1 Message Date
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
Luis Ramos
d06c1fa665 Update Gemfile_next.lock 2021-01-14 23:44:09 +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
Maikel
52b417877a Merge pull request #6660 from openfoodfoundation/dependabot/bundler/webmock-3.11.1
Bump webmock from 3.11.0 to 3.11.1
2021-01-15 09:52:10 +11:00
Andy Brett
7ca81f45d0 Merge pull request #6641 from Matt-Yorkley/shipping-method-soft-deletion
Ensure ShippingMethod is correctly using soft-deletion
2021-01-14 11:53:19 -08:00
Andy Brett
18dcbbd892 Merge pull request #6613 from Matt-Yorkley/variant-override-serialization
Don't serialize all variant override objects where they are not needed
2021-01-14 10:59:11 -08:00
Andy Brett
81ea71af94 Merge pull request #6652 from jibees/6651-remove-trailing-asterisk-on-non-mandatory-field
remove asterisk on 'display as' field unit value for a product
2021-01-14 10:09:15 -08:00
Pau Pérez Fabregat
929ae82e00 Merge pull request #6574 from Matt-Yorkley/bye-bye-spree-paypal
Bye Bye Spree Paypal
2021-01-14 18:16:44 +01:00
Pau Pérez Fabregat
9689fe2edf Merge pull request #6384 from andrewpbrett/fix-product-descriptions
correctly display '&' and ' ' in product descriptions
2021-01-14 17:00:16 +01: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
Pau Pérez Fabregat
9db4f9be15 Merge pull request #6634 from Matt-Yorkley/jobs-cleanup
Jobs cleanup
2021-01-14 10:08:15 +01:00
Pau Pérez Fabregat
85e932274d Merge pull request #6442 from luisramos0/rails5-dualboot
Rails 5 upgrade with dualboot
2021-01-14 10:00:54 +01:00
Maikel
168958311a Merge pull request #6656 from Matt-Yorkley/payment-identifier
Fix payment identifier generation
2021-01-14 17:34:38 +11:00
Maikel
fbda1fffd7 Merge pull request #6653 from Matt-Yorkley/dead-code-available-payment
Dead code: #has_available_payment
2021-01-14 17:33:07 +11:00
Maikel
50472d18e0 Merge pull request #6642 from coopdevs/doc-customer-serializer
Doc customer serializer
2021-01-14 17:28:34 +11:00
Maikel
14842f52fc Merge pull request #6633 from Matt-Yorkley/inverse-of
Adding inverse_of
2021-01-14 17:25:51 +11:00
dependabot[bot]
3cee999032 Bump webmock from 3.11.0 to 3.11.1
Bumps [webmock](https://github.com/bblimke/webmock) from 3.11.0 to 3.11.1.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.11.0...v3.11.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-14 05:42:02 +00:00
Andy Brett
08d9ef5832 rename spec file; add test for nil content 2021-01-13 21:01:12 -08:00
Andy Brett
bbd7fd0350 handle nil product descriptions 2021-01-13 20:57:27 -08:00
Matt-Yorkley
5f2dc38241 Merge pull request #6098 from brymut/item-counter-fix
Fix #5989 Item counter accepts higher amount than available stock
2021-01-13 22:33:08 +01:00
Andy Brett
c29d57b54e Merge pull request #6369 from Matt-Yorkley/broken-variants
Fix variant data inconsistencies
2021-01-13 11:10:44 -08:00
Pau Pérez Fabregat
6e48607760 Merge pull request #6629 from jibees/6199-alignment-readyfor-ipad
6199 adjust alignment on the Order Cycle component on ipad
2021-01-13 19:20:14 +01:00
Matt-Yorkley
9633ddf7ce Add test for variant override symbol and tooltip 2021-01-13 18:19:16 +00:00
Matt-Yorkley
18c9e16303 Fix payment identifier generation
Upstream fix from Spree 2.2.

See: 4e747187d7
2021-01-13 17:37:22 +00:00
Matt-Yorkley
8d338a06f3 Delete dead code #has_available_payment
This is removed in Spree 2.2, as it serves no purpose.

See: 0617bdce30
2021-01-13 15:48:02 +00:00
Pau Perez
acd4dddf1b Doc how balance_value works
[skip ci]
2021-01-13 12:50:41 +01:00
Jean-Baptiste Bellet
dcbf02bc47 remove asterisk on 'display as' field unit value for a product
as it's not a mandatory field
2021-01-13 11:30:08 +01:00
Pau Pérez Fabregat
0b686bbd32 Merge pull request #6366 from coopdevs/fix-customer-balance-n+1
Fix customer balance n+1
2021-01-13 10:25:47 +01:00
Andy Brett
f633f1809f Merge pull request #6646 from openfoodfoundation/dependabot/bundler/shoulda-matchers-4.5.0
Bump shoulda-matchers from 4.4.1 to 4.5.0
2021-01-12 09:07:39 -08:00
Andy Brett
667bc08f05 Merge pull request #6647 from openfoodfoundation/dependabot/bundler/rubocop-1.8.1
Bump rubocop from 1.8.0 to 1.8.1
2021-01-12 09:05:26 -08:00
dependabot[bot]
735c3ce022 Bump rubocop from 1.8.0 to 1.8.1
Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v1.8.0...v1.8.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-12 05:47:39 +00:00
dependabot[bot]
c635c0f541 Bump shoulda-matchers from 4.4.1 to 4.5.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v4.4.1...v4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-12 05:46:41 +00:00
Andy Brett
67e5825739 add specs for content sanitizer 2021-01-11 21:34:59 -08:00
Andy Brett
5723a79409 check for content.present? 2021-01-11 21:21:24 -08:00
Matt-Yorkley
46ff247bc9 Ensure ShippingMethod#destroy is using soft-deletion
25f5c2daf8

We've already applied some of the changes in this commit during previous Spree upgrade work, but there were a couple of bits missing.
2021-01-11 15:46:38 +00:00
Pau Perez
33c72ecab0 Defend from nil BETA_TESTERS var 2021-01-11 15:55:34 +01:00
Pau Perez
dfed20d634 Consider awaiting_return, returned in balance
These states are reached when the order is complete and shipped. An
admin can create a new return authorization, which will set the order in
`awaiting_return` state. It's only after, when we call
`return_authorization#receive` that the return authorization moves to
`received` state and the order to `returned`.

You can do so from the UI by editing the return authorization and
clicking on Receive. However, we didn't find any order in such state in
UK, FR and AU. The UX is quite obfuscated. That must be why no users
clicked on it.

The `returned` state cannot count for the balance as is, since some of
the products are returned to the shop. That's enough for now.
2021-01-11 15:50:19 +01:00
Pau Perez
aa3fc71626 Consider resumed & payment orders in balance
These order states are already taken care of because they fall in the
`WHEN state IS NOT NULL` case.
2021-01-11 15:50:19 +01:00
Pau Perez
5018e88a34 Consider all states prior to checkout in balance 2021-01-11 15:50:19 +01:00
Pau Perez
398467e7ed Hide new balance impl. under feature toggle
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.

It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
2e9bae0ea5 Move relation includes out of query object
This query object is meant to be reusable but those includes are
context-specific and will likely not be needed when reusing the query
elsewhere. If we keep them there, chances are next dev might not notice
it and will introduce a performance regression.
2021-01-11 15:50:19 +01:00
Pau Perez
46d997406a Filter out cart orders when fetching customers
We only care about non-cart orders and skipping carts, saves PostgreSQL
query planner to go through thousands of records in production use cases
(my food hub).

We go from

```sql
 ->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12049.45 rows=152002 width=15) (actual time=0.015..11.703 rows=13867 loops=1)
```

to

```sql
->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12429.46 rows=10802 width=15) (actual time=0.025..17.705 rows=9954 loops=1)
```
2021-01-11 15:50:19 +01:00
Pau Perez
539c5d067a Update order payment_total when voiding a payment
As is, `payment_total` is only increased after successfully processing
a payment and never updated. This inconsistency breaks
`CustomerWithBalance` which relies on it.

Needless to say that if we keep this denormalized column, we better make
it consistent. I investigated current Spree's master branch (709e686cc0)
and they also realized it was broken. Now `Payment` runs the following
from the `after_save` `update_order` callback.

```rb
order.updater.update_payment_total if completed? || void?
```

I also took the chance to rearrange tests a bit.
2021-01-11 15:50:19 +01:00
Pau Perez
04930877dd Test that payment_total is stored after payment
CustomerWithBalance totally relies on `spree_orders.payment_total` so we
better cover it with tests.
2021-01-11 15:50:19 +01:00
Pau Perez
93cdca85c6 Return 0 balance when the customer has no orders 2021-01-11 15:50:19 +01:00
Pau Perez
96a91969c9 Extract balance-specific serializer
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Pau Perez
9d0dd968b1 Test customer balance query with guest orders
Guest orders also have an associated customer record that is created
by Spree::Order#ensure_customer at checkout. Subsequent orders will use
that one due to Spree::Order#associate_customer.
2021-01-11 15:50:19 +01:00