Compare commits

...

1003 Commits

Author SHA1 Message Date
Jean-Baptiste Bellet
b17d3e447c Avoid using exception but simply errors attribute contained in object 2023-03-14 15:56:16 +01:00
Jean-Baptiste Bellet
2ae4234015 Sort each array to ensure the order
and then expect the right values.
2023-03-14 09:38:31 +01:00
binarygit
20874dec98 Replace angular for when adding a new unregistered manager to an enterprise
Co-Authored-By: David Cook <david@redcliffs.net>
2023-03-14 09:37:57 +01:00
Jean-Baptiste Bellet
288cd367bc Add I18N to all reflexes 2023-03-13 21:12:00 +01:00
Jean-Baptiste Bellet
68902021ab Delete manager invitation controller 2023-03-13 21:12:00 +01:00
Jean-Baptiste Bellet
7f9c578fca Create a concern for manager invitations
Can be used elsewhere
2023-03-13 21:12:00 +01:00
Jean-Baptiste Bellet
782c9150a2 Move $locationProvider configuration to another file
Actually the `config()` method of `admin_ofn` file did not run on `/admin/enterprises/*` pages for an unknown reason

Now those two files have the same configuration
2023-03-13 21:12:00 +01:00
binarygit
447b040020 Replace what's this tooltips
There are tooltips here that don't have a what's this?
There are many angular directives/methods being used that I haven't
looked into
Every select box is using select2
2023-03-13 21:12:00 +01:00
jibees
6bdb89d090 Merge pull request #10551 from openfoodfoundation/dependabot/bundler/rubocop-1.48.1
Bump rubocop from 1.48.0 to 1.48.1
2023-03-13 16:16:56 +01:00
jibees
a63531c8c2 Merge pull request #10549 from openfoodfoundation/dependabot/bundler/ddtrace-1.10.1
Bump ddtrace from 1.10.0 to 1.10.1
2023-03-13 16:15:06 +01:00
jibees
de2a15e3e1 Merge pull request #10548 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.4
Bump @floating-ui/dom from 1.2.3 to 1.2.4
2023-03-13 16:14:00 +01:00
dependabot[bot]
e5f5d42d59 Bump rubocop from 1.48.0 to 1.48.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.48.0 to 1.48.1.
- [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.48.0...v1.48.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 10:05:22 +00:00
dependabot[bot]
f23de206d9 Bump ddtrace from 1.10.0 to 1.10.1
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 10:03:01 +00:00
dependabot[bot]
729bcdf291 Bump @floating-ui/dom from 1.2.3 to 1.2.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.4/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 09:58:49 +00:00
Maikel Linke
62d0ce290a Update translations 2023-03-10 11:42:36 +11:00
jibees
96ead52fcc Merge pull request #10536 from openfoodfoundation/dependabot/bundler/rack-2.2.6.3
Bump rack from 2.2.6.2 to 2.2.6.3
2023-03-09 14:55:19 +01:00
dependabot[bot]
ff708952ab Bump rack from 2.2.6.2 to 2.2.6.3
Bumps [rack](https://github.com/rack/rack) from 2.2.6.2 to 2.2.6.3.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.6.2...v2.2.6.3)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-09 02:40:19 +00:00
Konrad
2daa49406a Merge pull request #10506 from jibees/9868-product-import-empty-variant-names-recorded-differently-leads-to-variant-duplication
Product import: consider `display_name` with `null` or `empty` as value as equal
2023-03-08 16:58:32 +01:00
Konrad
125bc3d14b Merge pull request #10514 from jibees/9292-changes-to-incomingoutgoing-products-lists-triggering-failed-to-update-order-cycle-error
Do not update `estimate_price` of a variant that is not available for the shop on OrderCycle update
2023-03-08 15:45:11 +01:00
Rachel Arnould
02300d6bb6 Merge pull request #10496 from rioug/10479-split-checkout-fix-user-blocked-at-step1
[split checkout] Fix bug preventing user from reaching payment step
2023-03-08 15:44:50 +01:00
Rachel Arnould
aba3968bca Merge pull request #10447 from jibees/9148-no-bulk-delete-possible-on-bom-when-orders-have-multiple-items
Admin, BOM: can bulk delete line items of an order
2023-03-08 14:56:25 +01:00
Gaetan Craig-Riou
23c4298519 Fix bug when in specific scenario user couldn't proceed to payment step
When using a "pick up" shipping method, with a user who doesn't have a shipping address it was impossible to proceed to the payment step because shipping address was invalid.

To fix this, we ensure that "ship_address_same_as_billing" parameter is set to true when using a "pick up" shipping method.

use distributor address when shipping method doesn't require a ship address ; in doing this we follow the same logic as the legacy checkout
2023-03-08 10:49:37 +01:00
Rachel Arnould
d7047bb4cc Merge pull request #10513 from jibees/10505-add-shopper-comment-to-order-detail-summary
SplitCheckout: Display special_instructions of the order as emphasized text if present on summary page
2023-03-08 10:30:40 +01:00
Rachel Arnould
1ce029d8e4 Merge pull request #10497 from jibees/10495-split-checkout-label-of-checkbox-save-card-for-future-use-is-clickable-but-not-active
SplitCheckout: Make label clickable to check/uncheck checkbox on step 2
2023-03-08 10:20:00 +01:00
jibees
eb7d20d74d Merge pull request #10530 from mkllnk/flaky-service-spec
Stabilise spec with deterministic order
2023-03-08 09:04:29 +01:00
Maikel Linke
c4ba1e6616 Stabilise spec with deterministic order
The ids were returned in random order before.
2023-03-08 13:14:40 +11:00
Maikel
f97ccb4203 Merge pull request #10525 from openfoodfoundation/dependabot/bundler/ddtrace-1.10.0
Bump ddtrace from 1.9.0 to 1.10.0
2023-03-08 12:09:04 +11:00
Maikel
df8283661d Merge pull request #10487 from mkllnk/time-spec
Prepare caching spec for Rails 7
2023-03-08 11:37:44 +11:00
Maikel
d9ee56b4a5 Merge pull request #10524 from mkllnk/dfc-urls
Configure host for dfc_provider engine globally
2023-03-08 11:13:48 +11:00
dependabot[bot]
2230a1f179 Bump ddtrace from 1.9.0 to 1.10.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 09:58:38 +00:00
Maikel Linke
a9c8d9f304 Configure host for dfc_provider engine globally
Passing the parameter all the time was pretty inconvenient.
2023-03-07 16:39:02 +11:00
Jean-Baptiste Bellet
a7644f8e8b Update spec: can edit OC even if variant in subscription has been deleted 2023-03-06 17:12:09 +01:00
jibees
5dd2737811 Merge pull request #10517 from openfoodfoundation/dependabot/bundler/rubocop-1.48.0
Bump rubocop from 1.47.0 to 1.48.0
2023-03-06 15:23:25 +01:00
Jean-Baptiste Bellet
d9b534b829 + update spec as well 2023-03-06 14:52:32 +01:00
dependabot[bot]
a78768c291 Bump rubocop from 1.47.0 to 1.48.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.47.0 to 1.48.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.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 10:02:43 +00:00
Maikel
b9a7ff903f Merge pull request #10494 from filipefurtad0/test_xlsx_reports
Adds coverage for CSV and XLSX file download
2023-03-06 15:00:56 +11:00
Maikel
fc6b61fc87 Merge pull request #10503 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.3
Bump @floating-ui/dom from 1.2.1 to 1.2.3
2023-03-06 11:52:38 +11:00
Jean-Baptiste Bellet
131772f7b2 Variant can be "not available": next and don't update its estimate price 2023-03-03 15:07:10 +01:00
Jean-Baptiste Bellet
440e776e3a fee_calculator can be retrieved outside subscription_line_items iteration 2023-03-03 15:05:07 +01:00
filipefurtad0
56b9c28955 Splits test cases into respective context blocks
Reduces code
2023-03-03 11:39:03 +00:00
Jean-Baptiste Bellet
c34942dbf0 Display special_instructions of order as emphasized text if present
+ update spec as well
2023-03-03 11:12:11 +01:00
Jean-Baptiste Bellet
2814b1f399 Update all locales with the latest Transifex translations 2023-03-03 09:35:40 +01:00
Konrad
0e13e5408f Merge pull request #10467 from abdellani/fix_hub_supplier_can_control_shipping_payment_method
limit users who can update shipping/payment method of an order cycle
2023-03-03 09:27:37 +01:00
Maikel Linke
12906d1e13 Explicitely touch instead of noop save
When calling `save!` without changing any attributes then Rails doesn't
always touch other records because nothing changed. So I changed the
spec to `touch` explicitely and it turns out that everything passes.

Tada, our code seems correct and it was only the spec which seemed
broken in Rails 7.
2023-03-03 12:51:12 +11:00
Maikel Linke
103bc50bdc Make spec robust on very fast computers
I didn't observe it but if the spec code would run within the same
millisecond then we wouldn't be able to observe a change to
`updated_at`. Time travel solves this potential problem.
2023-03-03 12:51:12 +11:00
Maikel Linke
b6cccc2e1d Mark broken specs, possible broken caching
I found this because Rails 7 converts timestamps to database precision
straight away. While we may have some broken logic in the code, most of
these cases may just be broken spec code. Watch this space.
2023-03-03 12:34:55 +11:00
Maikel Linke
918e583d01 Account for Rails 7 rounding in time spec
Storing a timestamp to the database has less accuracy than a Ruby Time
object. So `updated_at` changes after being written and loaded from the
database. Rails 7 accounts for that by rounding it in the model already
before it's written to the database. That made one spec fail.
2023-03-03 12:34:55 +11:00
Maikel
6371f7eff6 Merge pull request #10474 from abdellani/fix-customer-can-checkout-non-matching-shipping-and-product-categories
Fix: Customers can checkout with non-matching shipping and product categories
2023-03-03 11:27:11 +11:00
Filipe
60bea89f5c Merge pull request #10135 from abdellani/fix_when_user_deletes_a_shipping_method_existing_orders_are_updated_with_a_random_shipping_method
Fix When user deletes a shipping method existing orders are updated with a random shipping method
2023-03-02 20:03:59 +00:00
Jean-Baptiste Bellet
7b8ccccdc3 display_name can actually be null or empty: consider them as equal 2023-03-02 17:15:57 +01:00
jibees
f88689e45f Merge pull request #10469 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.6
Bump sidekiq from 7.0.5 to 7.0.6
2023-03-02 15:32:17 +01:00
jibees
1c1a7ffe9b Merge pull request #10444 from openfoodfoundation/dependabot/bundler/devise-i18n-1.10.3
Bump devise-i18n from 1.10.2 to 1.10.3
2023-03-02 15:30:01 +01:00
dependabot[bot]
0cae069769 Bump @floating-ui/dom from 1.2.1 to 1.2.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.1 to 1.2.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.3/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 12:45:36 +00:00
jibees
0aa11581af Merge pull request #10502 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-7.3.0
Bump @hotwired/turbo from 7.2.5 to 7.3.0
2023-03-02 13:44:20 +01:00
dependabot[bot]
4d72c807ea Bump devise-i18n from 1.10.2 to 1.10.3
Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.10.2 to 1.10.3.
- [Release notes](https://github.com/tigrish/devise-i18n/releases)
- [Changelog](https://github.com/tigrish/devise-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tigrish/devise-i18n/compare/v1.10.2...v1.10.3)

---
updated-dependencies:
- dependency-name: devise-i18n
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 12:43:57 +00:00
dependabot[bot]
f182712188 Bump sidekiq from 7.0.5 to 7.0.6
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/sidekiq/sidekiq/releases)
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.0.5...v7.0.6)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 12:43:45 +00:00
jibees
1171577d5d Merge pull request #10489 from openfoodfoundation/dependabot/bundler/sidekiq-scheduler-5.0.2
Bump sidekiq-scheduler from 5.0.1 to 5.0.2
2023-03-02 13:42:54 +01:00
jibees
d05522c21c Merge pull request #10472 from openfoodfoundation/dependabot/bundler/omniauth_openid_connect-0.6.1
Bump omniauth_openid_connect from 0.6.0 to 0.6.1
2023-03-02 13:42:37 +01:00
jibees
cbdb3c2834 Merge pull request #10504 from openfoodfoundation/dependabot/bundler/rubocop-1.47.0
Bump rubocop from 1.46.0 to 1.47.0
2023-03-02 11:12:46 +01:00
dependabot[bot]
87c3165a24 Bump rubocop from 1.46.0 to 1.47.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.46.0 to 1.47.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.46.0...v1.47.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 10:02:09 +00:00
dependabot[bot]
81e96298b5 Bump @hotwired/turbo from 7.2.5 to 7.3.0
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 7.2.5 to 7.3.0.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v7.2.5...v7.3.0)

---
updated-dependencies:
- dependency-name: "@hotwired/turbo"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 09:57:36 +00:00
filipefurtad0
b99383185b Adds coverage for PDF file download 2023-03-01 14:32:35 +00:00
filipefurtad0
66485e2e16 Adds coverage for XLSX file download 2023-03-01 14:32:35 +00:00
filipefurtad0
c1b60d88d6 Adds coverage for CSV file download 2023-03-01 14:32:28 +00:00
dependabot[bot]
b734067785 Bump omniauth_openid_connect from 0.6.0 to 0.6.1
Bumps [omniauth_openid_connect](https://github.com/m0n9oose/omniauth_openid_connect) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/m0n9oose/omniauth_openid_connect/releases)
- [Changelog](https://github.com/omniauth/omniauth_openid_connect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/m0n9oose/omniauth_openid_connect/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: omniauth_openid_connect
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 14:22:38 +00:00
jibees
e7bf912a23 Merge pull request #10490 from openfoodfoundation/dependabot/bundler/puma-6.1.1
Bump puma from 6.1.0 to 6.1.1
2023-03-01 15:14:57 +01:00
jibees
b07a0fca50 Merge pull request #10498 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.8.0
Bump knapsack_pro from 3.7.0 to 3.8.0
2023-03-01 11:01:37 +01:00
Mohamed ABDELLANI
348f806bbe remove load_shipping_methods 2023-03-01 10:53:03 +01:00
Mohamed ABDELLANI
89037e160c Update app/controllers/concerns/checkout_callbacks.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-03-01 10:51:27 +01:00
Mohamed ABDELLANI
eab8e2be6c load exclusively the shipping methods that support all the shipping categories of the line items 2023-03-01 10:51:27 +01:00
dependabot[bot]
d146684acb Bump knapsack_pro from 3.7.0 to 3.8.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.7.0...v3.8.0)

---
updated-dependencies:
- dependency-name: knapsack_pro
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 09:13:38 +00:00
Jean-Baptiste Bellet
08e23023b3 Make label clickable to check/uncheck checkbox 2023-03-01 08:46:33 +01:00
Maikel
c3fe399f0c Merge pull request #10476 from mkllnk/flaky-index-spec
Stabilise flaky spec with defined enterprise order
2023-03-01 10:05:44 +11:00
Maikel
182e5bd0ee Merge pull request #10493 from jibees/10492-background-reports-background_reports-breaks-pdf-and-xlsx-file-download
Reports, `background_reports` feature toggle activated: Force writing file in binary mode
2023-03-01 10:00:11 +11:00
Maikel
bccee0698f Merge pull request #10332 from jibees/8901-allow-product-description-to-show-images-in-the-shopfront
Shopfront: Allow product description with formatting and `<img />`
2023-03-01 09:56:41 +11:00
Konrad
11928859bc Merge pull request #10438 from jibees/10133-update-column-dropdown-everywhere
Redesign old columns dropdown component to match the design of the new one
2023-02-28 20:22:00 +01:00
Konrad
6a0b9cbb76 Merge pull request #10459 from openfoodfoundation/dependabot/bundler/stripe-8.3.0
Bump stripe from 8.0.0 to 8.3.0
2023-02-28 19:22:50 +01:00
Jean-Baptiste Bellet
075e295fc2 Force writing file in binary mode
```
/Users/jibees/dev/openfoodnetwork/app/jobs/report_job.rb:22:in `write': "\\xFE" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
from /Users/jibees/dev/openfoodnetwork/app/jobs/report_job.rb:22:in `write'
from /Users/jibees/dev/openfoodnetwork/app/jobs/report_job.rb:8:in `perform'
```
2023-02-28 15:30:14 +01:00
jibees
151f96f673 Merge pull request #10486 from mkllnk/i18n-spec
Remove unused Spree translation checker
2023-02-28 14:28:39 +01:00
dependabot[bot]
2d7c593fe6 Bump sidekiq-scheduler from 5.0.1 to 5.0.2
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/sidekiq-scheduler/sidekiq-scheduler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: sidekiq-scheduler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 10:52:14 +00:00
dependabot[bot]
5cded5ba8d Bump puma from 6.1.0 to 6.1.1
Bumps [puma](https://github.com/puma/puma) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.1.0...v6.1.1)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 09:57:59 +00:00
Maikel Linke
4f15b5a65b Specify raised error in spec and avoid warning
Before it said:

```
WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<RuntimeError: Cannot use t(".legacy_translation") shortcut because path is not available>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`.
```
2023-02-28 15:44:18 +11:00
Maikel Linke
bf1cbe615f Remove unused Spree translation checker
If we wanted similar functionality in the future then we would implement
it differently. At the moment, it's just unused code.
2023-02-28 15:44:18 +11:00
Maikel
890ab6796e Merge pull request #10413 from mkllnk/reports-params
Fix background processing of Enterprise Fee Summary report
2023-02-28 13:07:59 +11:00
Maikel Linke
10aa7730e5 Rename user var again for clarity 2023-02-28 12:50:55 +11:00
Maikel Linke
116e844004 Stabilise flaky spec with defined enterprise order 2023-02-28 12:42:55 +11:00
Maikel Linke
16289a62f1 Rename test vars for clarity 2023-02-28 12:42:55 +11:00
Maikel Linke
e9fa360d61 Take test setup as granted and simplify 2023-02-28 12:42:55 +11:00
Maikel Linke
e6eb9412d9 Simplify owner selection in spec
Instead of knowing the input id generated by select2, we now rely on the
fact that the owner is in the fifth column. Both could change but this
is less code.
2023-02-28 12:42:55 +11:00
Maikel Linke
401210ef44 DRY and clarify test case 2023-02-28 12:42:55 +11:00
Maikel Linke
f484518ee5 Remove unused test enterprise 2023-02-28 12:42:55 +11:00
Mohamed ABDELLANI
066c7bb449 promote OrderManagement::Stock::Estimator.calculate_cost to a public method 2023-02-27 17:49:54 +01:00
jibees
165fb59f64 Merge pull request #10482 from anansilva/10044-fix-activemodel-errors-deprecation-warning
Fix deprecation warning when accessing model errors
2023-02-27 17:29:33 +01:00
Filipe
42bc9d7f82 Merge pull request #10477 from mkllnk/js-specs
Remove old test setup code of feature specs
2023-02-27 15:54:40 +00:00
Mohamed ABDELLANI
25d8ce1737 fix shipping methods related tests 2023-02-27 15:56:14 +01:00
jibees
f8dce4053a Merge pull request #10473 from openfoodfoundation/dependabot/bundler/rubocop-1.46.0
Bump rubocop from 1.45.1 to 1.46.0
2023-02-27 15:36:53 +01:00
dependabot[bot]
c93945a111 Bump rubocop from 1.45.1 to 1.46.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.45.1 to 1.46.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.45.1...v1.46.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 14:26:22 +00:00
jibees
30b2f9164e Merge pull request #10484 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.18.0
Bump rubocop-rails from 2.17.4 to 2.18.0
2023-02-27 15:21:54 +01:00
Jean-Baptiste Bellet
c83dac58a3 Confirm line items deletion that doesn't trigger an order cancelation 2023-02-27 11:09:59 +01:00
dependabot[bot]
f355f1ccfb Bump rubocop-rails from 2.17.4 to 2.18.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.17.4 to 2.18.0.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.17.4...v2.18.0)

---
updated-dependencies:
- dependency-name: rubocop-rails
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 09:57:28 +00:00
Jean-Baptiste Bellet
166e2f525e New design uses lowercase for component title
and specify clicking inside the dropdown
2023-02-27 09:56:48 +01:00
Ana Nunes da Silva
d70c34fbd0 fix deprecation warning when accessing model errors 2023-02-26 21:04:16 +00:00
Konrad
27630a4304 Merge pull request #10442 from mkllnk/enterprise-fee-summary-report
Report deleted fees in Enterprise Fee Summary
2023-02-26 19:28:01 +01:00
Maikel Linke
953ff2bd08 Remove more unused spec helpers 2023-02-24 15:31:18 +11:00
Maikel Linke
d7fa508b60 Remove unused matcher have_flash_message 2023-02-24 15:19:54 +11:00
Maikel Linke
815cef16cc Remove browser test config from unit tests
Mailer specs still use Capybara but they don't use Javascript and don't
need this config.
2023-02-24 15:17:49 +11:00
Maikel Linke
3d5584e47c Update outdated comment 2023-02-24 15:10:46 +11:00
Maikel Linke
cb64361096 Remove old feature spec tag
Nowadays all system specs are run in a real browser.
2023-02-24 15:10:19 +11:00
Maikel Linke
bba41177b4 Remove old test setup code of feature specs
The `js: true` tag was only used in feature specs. Some system specs
still contain that tag but they don't require this file. So it's dead
code.
2023-02-24 15:04:03 +11:00
Maikel Linke
800ccf5037 Remove unused method 2023-02-24 10:40:09 +11:00
Maikel Linke
8c7b4f73f7 Detect transaction fee even if fee name is missing
The Enterprise Fee Summary report is not always providing a fee name.
While that may be a bug on its own, we handle that gracefully now.
2023-02-24 10:40:09 +11:00
Maikel Linke
8b0c4ee0ac Add unit test for failing Enterprise Fee Summary
I observed this data but I'm unsure about the root cause. It could be
that the SQL query fetching this data needs tweaking to return the fee
name in this case or it could be that it's not available (deleted).

In any case, I thought I document what's happening and make this
summarizer more robust before looking into the query.
2023-02-24 10:40:09 +11:00
Filipe
3ffe39d467 Merge pull request #10448 from vviekk/viv/10009
Fixing Enterprise creation submit button behavior
2023-02-23 16:00:53 +00:00
vviekk
956ed826a1 Adding test 2023-02-23 20:02:02 +05:30
Mohamed ABDELLANI
13383316af fix tests 2023-02-23 08:11:11 +01:00
Mohamed ABDELLANI
28f0d69540 Update app/services/order_cycle_form.rb
Co-authored-by: David Cook <david@redcliffs.net>
2023-02-23 07:22:49 +01:00
Mohamed ABDELLANI
e705aa51bd fix existing tests: OrderCycleForm expects an instance of Spree::User (and not an Enterprise) 2023-02-23 07:12:47 +01:00
Mohamed ABDELLANI
a7e6760028 limit users who can update shipping/payment method of an order cycle 2023-02-23 07:09:49 +01:00
David Cook
06d370a8ac Update all locales with the latest Transifex translations 2023-02-23 13:00:36 +11:00
David Cook
013533f7de Merge pull request #10397 from openfoodfoundation/dependabot/bundler/roo-2.10.0
Bump roo from 2.9.0 to 2.10.0
2023-02-23 10:53:50 +11:00
David Cook
d199dea5eb Style fix: Layout/EmptyLines 2023-02-23 10:12:06 +11:00
David Cook
084211f52a Add comments 2023-02-23 10:10:32 +11:00
Filipe
604fd75cff Merge pull request #10247 from abdellani/sales_tax_totals_by_order
sales tax totals by order report
2023-02-22 20:03:45 +00:00
Konrad
8b89c8d7e0 Merge pull request #10451 from cyrillefr/Sort-properly-date-chronologically-and-not-lexicographically
Sort correctly in Bulk Order Managment
2023-02-22 14:39:03 +01:00
cyrillefr
e4845f4165 Add a spec for sorting in Bulk Order management 2023-02-20 21:43:05 +01:00
cyrillefr
c015b2066f Sort correctly in Bulk Order Managment
Converting date to utc + iso8601 format is
    sufficient to ensure proper sorting.
2023-02-20 21:41:58 +01:00
Konrad
f7f49377b4 Merge pull request #10297 from cyrillefr/convert-admin-order-cancellation-workflow-to-stimulus-reflex
Convert admin order cancellation workflow to stimulus reflex
2023-02-20 21:38:33 +01:00
Mohamed ABDELLANI
960dd81b76 remove customer id filter 2023-02-20 14:58:51 +01:00
Mohamed ABDELLANI
dda61d17ee delegate distributor && order_cycle to the order in the OrderFeesHandler 2023-02-20 14:19:08 +01:00
Mohamed ABDELLANI
8ff197457e test accessing the Sales Tax Report By Order using different roles 2023-02-20 14:19:08 +01:00
Mohamed ABDELLANI
c43834915d sales_tax_totals_by_order report 2023-02-20 14:19:08 +01:00
Filipe
10d8e80c45 Merge pull request #10420 from anansilva/9311-remove-code-generating-receipts
Remove code generating receipts
2023-02-20 12:44:13 +00:00
Mohamed ABDELLANI
0738133e99 Update spec/system/admin/order_spec.rb
Co-authored-by: Filipe <49817236+filipefurtad0@users.noreply.github.com>
2023-02-20 09:55:29 +01:00
Mohamed ABDELLANI
15c241295e recreate the shipping rate that refers to the original shipping method if distributor no longer support it 2023-02-20 09:55:22 +01:00
jibees
4e2430ea58 Merge pull request #10454 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.5
Bump sidekiq from 7.0.4 to 7.0.5
2023-02-17 14:57:42 +01:00
dependabot[bot]
4661b47ede Bump stripe from 8.0.0 to 8.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 8.0.0 to 8.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v8.0.0...v8.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-17 10:04:03 +00:00
Maikel Linke
e2ea4d21f4 Update translations 2023-02-17 14:12:24 +11:00
Filipe
2f0e00370b Merge pull request #10385 from rioug/10350-BUU-read-only-product-list-take-2
New product page, add missing column and handle formatting
2023-02-16 18:41:05 +00:00
dependabot[bot]
45da8fddf1 Bump sidekiq from 7.0.4 to 7.0.5
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/sidekiq/sidekiq/releases)
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.0.4...v7.0.5)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 18:29:21 +00:00
Filipe
b91bb8961f Merge pull request #10434 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.4
Upgrade sidekiq from 6.5.8 to 7.0.4 (incl new metrics tab)
2023-02-16 18:18:17 +00:00
Filipe
5e3b0cf47c Merge pull request #10433 from openfoodfoundation/dependabot/npm_and_yarn/rails/webpacker-5.4.4
Bump @rails/webpacker from 5.4.3 to 5.4.4
2023-02-16 18:05:13 +00:00
Filipe
ba46756cba Merge pull request #10445 from cyrillefr/Remov-I18nt-keys-from-automated-tests#9499
Remov i18nt keys from automated tests#9499
2023-02-16 17:51:08 +00:00
Filipe
f6c9246e20 Merge pull request #10343 from jibees/9538-track-404-errors-in-bugsnag
Notify bugsnag on 404 errors
2023-02-16 17:45:41 +00:00
Konrad
11e9329b97 Merge pull request #10351 from rioug/9874-order-cycle-creation-fix-needless-warning-and-data-loss
Order cycle creation, fix needless warning and add warning to prevent data loss
2023-02-16 16:08:37 +01:00
Rachel Arnould
1a7598d96d Merge pull request #10428 from jibees/9145-Splitcheckout,-add-error-message-when-no-shipping-methods-are-available-to-the-customer
SplitCheckout: improve error messages in flash banner to improve user experience
2023-02-16 15:33:12 +01:00
Jean-Baptiste Bellet
2eec3d625a Notify bugsnag on 404 errors 2023-02-16 13:45:42 +00:00
cyrillefr
ba30606052 Remove I18n keys from consumer specs 2023-02-16 14:33:17 +01:00
cyrillefr
f6f62515b5 Remove I18n keys in system admin specs 2023-02-16 14:33:09 +01:00
cyrillefr
a75892ccc1 Remove I18n keys in support specs 2023-02-16 14:28:14 +01:00
cyrillefr
0082653170 Remove I18n keys in service specs 2023-02-16 14:28:14 +01:00
cyrillefr
cc0b23c0bd Remove I18n keys in request specs 2023-02-16 14:28:14 +01:00
cyrillefr
b3ad5aeaca Remove I18n keys in model specs 2023-02-16 14:28:14 +01:00
cyrillefr
ffe9756f50 Removes I18n keys in mailer specs 2023-02-16 14:27:21 +01:00
dependabot[bot]
40eb5e320b Bump @rails/webpacker from 5.4.3 to 5.4.4
Bumps [@rails/webpacker](https://github.com/rails/webpacker) from 5.4.3 to 5.4.4.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/v5.4.4/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v5.4.3...v5.4.4)

---
updated-dependencies:
- dependency-name: "@rails/webpacker"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 11:06:29 +00:00
jibees
4e4a392a8c Merge pull request #10443 from openfoodfoundation/dependabot/npm_and_yarn/cable_ready-5.0.0-pre10
Bump cable_ready from 5.0.0-pre9 to 5.0.0-pre10
2023-02-16 12:00:48 +01:00
Filipe
e3fa933699 Merge pull request #10381 from anansilva/8229-listing-orders-payment-state-cancelled-order
Update payment (cash/EFF) state on cancelled order
2023-02-15 12:06:38 +00:00
Jean-Baptiste Bellet
e5ca8b0ee1 Delete selected line items even if does not lead to order cancellation 2023-02-15 11:49:53 +01:00
Jean-Baptiste Bellet
cf8d9c6d07 Improve spec when deleting all items of an order
- Order1 has two line items
 - Check other Order2 does not change its state
 - Prepare context for the second spec: delete one line item of an order that does not trigger any order cancellation
2023-02-15 11:38:04 +01:00
cyrillefr
78a6317c84 Remove I18n keys in reports lib specs 2023-02-15 11:08:19 +01:00
cyrillefr
fa57e37467 Remove I18n keys in User ctrllers spec 2023-02-15 11:08:19 +01:00
cyrillefr
7c24f6b26f Remove I18n keys from Pay/Stripe/Chkout Ctrllers spec 2023-02-15 11:08:19 +01:00
cyrillefr
f9f6abf740 Remove I18n keys from Api Ctrllers spec 2023-02-15 11:08:19 +01:00
cyrillefr
e6c0dd95c4 Remive I18n keys in Admin ctrller specs 2023-02-15 11:08:19 +01:00
dependabot[bot]
ade2eda638 Bump cable_ready from 5.0.0-pre9 to 5.0.0-pre10
Bumps [cable_ready](https://github.com/stimulusreflex/cable_ready) from 5.0.0-pre9 to 5.0.0-pre10.
- [Release notes](https://github.com/stimulusreflex/cable_ready/releases)
- [Changelog](https://github.com/stimulusreflex/cable_ready/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusreflex/cable_ready/commits)

---
updated-dependencies:
- dependency-name: cable_ready
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 09:57:26 +00:00
Jean-Baptiste Bellet
0a3d362282 Still improve error message for Billing address
```
"Bill" is a person's name, and I don't know his address
```

;)
2023-02-15 10:07:59 +01:00
Jean-Baptiste Bellet
08fb496f55 Don't need to show any ship_address errors if no ship selected nor
if the ship_address is the same than the billing one
2023-02-15 09:52:24 +01:00
Jean-Baptiste Bellet
4cea7b1957 Improve error message, and use the same than the view 2023-02-15 09:52:24 +01:00
Jean-Baptiste Bellet
88607a3dce Improve bill address error message
"(Street + House number)" instead of "address1"
and "postcode" instead of "zipcode"
2023-02-15 09:52:24 +01:00
Jean-Baptiste Bellet
a39598d049 Reorder error messages to improve readability
tbs;
2023-02-15 09:52:10 +01:00
Jean-Baptiste Bellet
9a03023b6b Replace bill_address phone by Customer phone to improve readability
TBS;
2023-02-15 09:44:26 +01:00
vviekk
2091eff671 Fixing Enterprise creation submit button behavior 2023-02-15 12:42:59 +05:30
David Cook
d3e0ff269f Remove unsupported config
In Sidekiq v7, this field is not recognised and gets passed through to Redis, which also doesn't recognise it and crashes.

It was added to avoid filling up Redis on dev, but it's actually a Sidekiq pro option which needs to be defined on jobs, so I guess it never worked.
2023-02-15 12:22:41 +11:00
Gaetan Craig-Riou
eb67340c52 Simplify usage of UnsavedChangesController
Remove the need to manually bind handleSubmit to onSubmit event
2023-02-15 10:51:23 +11:00
Gaetan Craig-Riou
75ed68c9cb UnsavedChangesController, automatically add onChange event handler to form elements 2023-02-15 10:30:52 +11:00
Maikel
255fc64fdb Merge pull request #10383 from filipefurtad0/add_pagination_BOM_spec
Adds a spec on BOM pagination
2023-02-15 09:38:43 +11:00
Ana Nunes da Silva
40bc53c16b Delete receipt printing preferences (migration) 2023-02-14 21:29:27 +00:00
Ana Nunes da Silva
6de1fdc4ff Remove jquery-1.8.0.js
Some js tests fail because they are dependant on jquery and we removed
jquery-1.8.0.js. Adding jquery2 to application_spec.js instead.
2023-02-14 21:28:53 +00:00
Jean-Baptiste Bellet
d9eb97bd05 As we are in transition, angularjs dropdown component use both css classes
And we should specify a bit the height of the component since it's used in different context
2023-02-14 16:15:44 +01:00
Jean-Baptiste Bellet
28286a4c3e Slightly change classes and markup to make dropdown use the new style
ie. `.ofn-drop-down-v2`
2023-02-14 16:15:44 +01:00
Jean-Baptiste Bellet
6ec219031d Avoid to specifically use a label component for menu_item
Then, add `label` CSS rule inside `menu_item` component
2023-02-14 15:47:55 +01:00
filipefurtad0
c84ec148db Adds a spec on BOM pagination
Adds coverage on bottom section of pagination

Extracts order line item creation to before block

Removes disabled option when asserting on button 2
2023-02-14 12:04:38 +00:00
jibees
eeb059ae17 Merge pull request #10435 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.119.1
Bump aws-sdk-s3 from 1.119.0 to 1.119.1
2023-02-14 12:29:58 +01:00
dependabot[bot]
7a5b7c4f64 Bump aws-sdk-s3 from 1.119.0 to 1.119.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.119.0 to 1.119.1.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 10:06:09 +00:00
dependabot[bot]
613c693774 Bump sidekiq from 6.5.8 to 7.0.4
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 6.5.8 to 7.0.4.
- [Release notes](https://github.com/sidekiq/sidekiq/releases)
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v6.5.8...v7.0.4)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 10:05:01 +00:00
Ana Nunes da Silva
696edac813 Remove qz gem dependency 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
f9817925aa Remove receipt printing translations 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
3e03988d93 Remove receipt printing settings 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
bb71b281d6 Remove print ticket links 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
cf519116ee Remove print ticket authorization 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
8dc50caaa8 Remove print ticket action 2023-02-14 08:08:20 +00:00
dependabot[bot]
f8c802ace4 Bump roo from 2.9.0 to 2.10.0
Bumps [roo](https://github.com/roo-rb/roo) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/roo-rb/roo/releases)
- [Changelog](https://github.com/roo-rb/roo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/roo-rb/roo/compare/v2.9.0...v2.10.0)

---
updated-dependencies:
- dependency-name: roo
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 02:59:25 +00:00
Maikel
9ea9ac99f9 Merge pull request #10356 from openfoodfoundation/dependabot/bundler/rspec-rails-6.0.1
Bump rspec-rails from 5.1.2 to 6.0.1
2023-02-14 13:57:38 +11:00
Gaetan Craig-Riou
1cf55cde4d Refactor column_value, to use a giant case
A giant case is more readable that the previous 'smart' solution.
It also disables a couple of Rubocop checks triggered by the giant case
2023-02-14 13:36:49 +11:00
Gaetan Craig-Riou
503e0ecba1 Fix category spec as per code review
- Use a hardcoded string for the expected categories (taxons), and fix
taxon step up to not use default taxon
- Fix constant typo
2023-02-14 13:36:12 +11:00
Maikel Linke
4aa6898ecb Reduce line length for easier reading 2023-02-14 12:33:29 +11:00
Maikel Linke
180434c5bd Avoid renaming params within report
I changed the used parameter names within the report so that we don't
have to rename the given parameter names when the report runs. This
avoids modifying the `params` object and therefore other problems.
2023-02-14 12:33:29 +11:00
Maikel Linke
7fe913713a Use same parameters for report job as for original
The Enterprise Fee Summary report modified the `params` object. So when
we pass the same `params` a second time to the report class it doesn't
find the same values. In some cases that would lead to a server error.

The next commit implements a better solution though.
2023-02-14 12:33:29 +11:00
Maikel
ecc2c7ba43 Merge pull request #10423 from mkllnk/suburbs
Remove unused suburbs table
2023-02-14 11:51:48 +11:00
Jean-Baptiste Bellet
32fc1eae61 Remove ship_address errors if shipping method isn't selected 2023-02-13 21:06:41 +01:00
Filipe
822f640997 Merge pull request #10427 from jibees/10417-flaky-rspec-specsystemadminproducts_specrb210
Fix flaky spec `spec/system/admin/products_spec.rb:210`
2023-02-13 16:39:21 +00:00
Filipe
2d0e64a7d3 Merge pull request #10426 from openfoodfoundation/dependabot/bundler/puma-6.1.0
Bump puma from 6.0.2 to 6.1.0
2023-02-13 15:08:25 +00:00
jibees
f5e1cbca08 Merge pull request #10321 from openfoodfoundation/dependabot/bundler/rails-6.1.7.2
Bump rails from 6.1.7 to 6.1.7.2
2023-02-13 14:12:39 +01:00
Jean-Baptiste Bellet
51272eef00 Actually, those two tests are in the same context
The diff is pretty hard to read, but i've put the two tests "removes it from the product list" and "keeps the line item on the order (admin)" under the same context and the same `before` block
2023-02-13 13:38:57 +01:00
dependabot[bot]
2f6a910a1c Bump rails from 6.1.7 to 6.1.7.2
Bumps [rails](https://github.com/rails/rails) from 6.1.7 to 6.1.7.2.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v6.1.7...v6.1.7.2)

---
updated-dependencies:
- dependency-name: rails
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 10:48:01 +00:00
jibees
9ca25df934 Merge pull request #10411 from mkllnk/paper_trail
Bump paper_trail from 12.1.0 to 12.3.0
2023-02-13 11:46:34 +01:00
Maikel Linke
a3e1193f28 Bump paper_trail from 12.1.0 to 12.3.0
No breaking changes but Rails 7 support.
2023-02-13 11:21:32 +01:00
jibees
889b132069 Merge pull request #10425 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.1
Bump @floating-ui/dom from 1.2.0 to 1.2.1
2023-02-13 11:18:09 +01:00
jibees
3e18445c36 Merge pull request #10424 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-1.4.1
Bump js-big-decimal from 1.3.15 to 1.4.1
2023-02-13 11:07:20 +01:00
dependabot[bot]
3c158cd061 Bump puma from 6.0.2 to 6.1.0
Bumps [puma](https://github.com/puma/puma) from 6.0.2 to 6.1.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.0.2...v6.1.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 10:05:55 +00:00
dependabot[bot]
c464f3a43d Bump @floating-ui/dom from 1.2.0 to 1.2.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.1/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 10:00:15 +00:00
dependabot[bot]
84be4aec7b Bump js-big-decimal from 1.3.15 to 1.4.1
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 1.3.15 to 1.4.1.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v1.3.15...v1.4.1)

---
updated-dependencies:
- dependency-name: js-big-decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 09:59:31 +00:00
jibees
d9d18b086c Merge pull request #10410 from mkllnk/api-customers-order
Sort customers by id on API v1
2023-02-13 10:41:13 +01:00
Maikel Linke
80f015912a Remove unused suburbs table
Once upon a time it was used to search for enterprises in a certain
suburb. But we let Google Maps do that these days and the feature was
removed in 2015.

* c4fb4a8510
2023-02-13 17:18:02 +11:00
Maikel
3b6202313a Merge pull request #10422 from mkllnk/flaky-karma-specs
Avoid side effects in Javascript specs leading to flakiness
2023-02-13 12:37:06 +11:00
Maikel Linke
d05bb508de Avoid flaky spec by avoiding variable name conflict
Specs were sharing the same variable and could influence each other.
2023-02-13 12:23:45 +11:00
Maikel Linke
02ba8c1bf5 Remove side-effect in JS specs via global var
The code used the global BulkProducts which was shared amongst a group
of specs. Some were resetting the `products` attribute, others weren't
and the product object of one spec was leaking into the next.

One spec was also referencing a wrong attribute and must have passed
accidentally.
2023-02-13 12:18:05 +11:00
Konrad
3c83b053ce Merge pull request #10406 from jibees/10402-error-when-no-shipping-info-has-been-selected-in-split-checkout
SplitCheckout: Fix an issue raised when first time checkout user submit form without selecting shipping method
2023-02-13 00:36:04 +01:00
Maikel
64032c9207 Merge pull request #10416 from filipefurtad0/flaky_footer_spec
Addresses flakyness on footer links spec
2023-02-13 10:12:47 +11:00
Maikel
dee797c427 Merge pull request #10414 from openfoodfoundation/dependabot/bundler/redis-4.8.1
Bump redis from 4.8.0 to 4.8.1
2023-02-13 10:10:41 +11:00
Filipe
68b60a11b0 Merge pull request #10418 from openfoodfoundation/readme-patch-1
Update README.md
2023-02-10 14:53:20 +00:00
Sigmund Petersen
3b8f2ee4b3 Update README.md 2023-02-10 13:06:18 +01:00
Sigmund Petersen
8c91e3d8fd Update README.md 2023-02-10 13:04:13 +01:00
Sigmund Petersen
045db5dd49 Merge pull request #10415 from openfoodfoundation/link_to_welcome_devs_board
Update README.md
2023-02-10 12:59:19 +01:00
Filipe
24e8c0f973 Update README.md
Updates footer link for the Welcome new developers board
2023-02-10 11:40:16 +00:00
filipefurtad0
761a6731db Sets conctext: asserts within the modal 2023-02-10 11:31:18 +00:00
filipefurtad0
b1ca2c90ce Replaces I18n.t() by visible string
Removes superfluous js: true
2023-02-10 11:11:10 +00:00
Filipe
cd3897db30 Update README.md
Updates the link to the Welcome new developers board
2023-02-10 10:54:25 +00:00
dependabot[bot]
f3ffeaf3b4 Bump redis from 4.8.0 to 4.8.1
Bumps [redis](https://github.com/redis/redis-rb) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/redis/redis-rb/releases)
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v4.8.0...v4.8.1)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-10 10:03:15 +00:00
Maikel
76c6b438b5 Merge pull request #10369 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-4.5.0
Bump jasmine-core from 2.4.1 to 4.5.0
2023-02-10 16:05:04 +11:00
Maikel Linke
a08c7f7823 Sort customers by id on API v1 2023-02-10 15:52:35 +11:00
dependabot[bot]
c9da3200eb Bump rspec-rails from 5.1.2 to 6.0.1
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 5.1.2 to 6.0.1.
- [Release notes](https://github.com/rspec/rspec-rails/releases)
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v5.1.2...v6.0.1)

---
updated-dependencies:
- dependency-name: rspec-rails
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-10 10:55:51 +11:00
Jean-Baptiste Bellet
b1d22f7982 Customer can be nil if first time they checkout 2023-02-09 17:11:11 +01:00
Jean-Baptiste Bellet
d65b1bb386 Fix various import issue: mock bugsnag 2023-02-09 16:50:40 +01:00
Jean-Baptiste Bellet
2633ee3606 Fix various import issue: taxons 2023-02-09 16:50:40 +01:00
Jean-Baptiste Bellet
4027eacc06 Fix various import issue: module('admin.enterprises') 2023-02-09 16:50:40 +01:00
Jean-Baptiste Bellet
236e77efd4 Fix various import: CurrentUser 2023-02-09 16:50:40 +01:00
Jean-Baptiste Bellet
a486a08bfc Fix various import issues: currentHub 2023-02-09 16:50:40 +01:00
dependabot[bot]
292338d467 Bump jasmine-core from 2.4.1 to 4.5.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 2.4.1 to 4.5.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v2.4.1...v4.5.0)

---
updated-dependencies:
- dependency-name: jasmine-core
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 16:50:40 +01:00
jibees
a3278ab6d3 Merge pull request #10404 from openfoodfoundation/dependabot/bundler/rubocop-1.45.1
Bump rubocop from 1.44.1 to 1.45.1
2023-02-09 10:15:34 +01:00
dependabot[bot]
416a2efea9 Bump rubocop from 1.44.1 to 1.45.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.44.1 to 1.45.1.
- [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.44.1...v1.45.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 09:03:13 +00:00
David Cook
4cf45dcfe1 Update translations 2023-02-09 13:54:29 +11:00
David Cook
0f06c86008 Merge pull request #10367 from openfoodfoundation/dependabot/npm_and_yarn/mrujs-0.10.1
Bump mrujs from 0.7.4 to 0.10.1
2023-02-09 12:11:18 +11:00
Rachel Arnould
f8cceef932 Merge pull request #10312 from openfoodfoundation/dependabot/bundler/gitlab-omniauth-openid-connect-0.10.1
Bump gitlab-omniauth-openid-connect from 0.10.0 to 0.10.1
2023-02-08 16:05:05 +01:00
Filipe
d5b0891a74 Merge pull request #10382 from jibees/clean-database-for-report_inverse_columns_logic-feature-toggle
Remove `report_inverse_columns_logic` from list of feature toggle
2023-02-08 12:39:25 +00:00
Filipe
81b4433b02 Merge pull request #10393 from mkllnk/ransack
Bump ransack from 2.4.2 to 2.6.0
2023-02-08 12:12:13 +00:00
jibees
b73d78c785 Merge pull request #10399 from openfoodfoundation/dependabot/bundler/bugsnag-6.25.2
Bump bugsnag from 6.25.1 to 6.25.2
2023-02-08 10:26:31 +01:00
jibees
b7b80509dc Merge pull request #10396 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.4
Bump prettier from 2.8.3 to 2.8.4
2023-02-08 10:24:48 +01:00
dependabot[bot]
57d36d2ff1 Bump bugsnag from 6.25.1 to 6.25.2
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.25.1 to 6.25.2.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.25.1...v6.25.2)

---
updated-dependencies:
- dependency-name: bugsnag
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 09:05:24 +00:00
dependabot[bot]
c38f1b88d3 Bump prettier from 2.8.3 to 2.8.4
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.3 to 2.8.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.3...2.8.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 09:02:06 +00:00
jibees
8c6a32100d Merge pull request #10388 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.3
Bump prettier from 2.7.1 to 2.8.3
2023-02-08 09:26:36 +01:00
jibees
559b953e16 Merge pull request #10387 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.0
Bump @floating-ui/dom from 1.1.1 to 1.2.0
2023-02-08 09:25:03 +01:00
Konrad
73d98bd1b4 Merge pull request #10322 from jibees/8027-performance-improvement-on-adminenterprises
For super admin, add pagination on `/admin/enterprises`
2023-02-08 09:04:41 +01:00
Gaetan Craig-Riou
fd278e0086 Fix bug when submitting form triggered a warning and potentially left submit button disable
jquery-ujs automatically disable submit button when submitting the form.
If one choose cancel on the leaving page warning, then the submit buttons
end up in a disable state, with no way to re enable them. This fix
prevent the warning from being triggered when submitting the form, so
we can't end up in the scenario described.
2023-02-08 16:28:41 +11:00
Maikel
66a29e58d2 Merge pull request #10340 from mkllnk/job-process-waiting
Wait only for report jobs within Puma workers
2023-02-08 14:26:43 +11:00
Gaetan Craig-Riou
313fdab346 Fix rubocop warnings 2023-02-08 12:04:05 +11:00
Gaetan Craig-Riou
722b04a211 Add missing collumns on new_products page
It also includes specs for ProductComponent
2023-02-08 12:04:05 +11:00
Maikel Linke
97b5a7f99c Bump ransack from 2.4.2 to 2.6.0
Preparing for Rails 7.
2023-02-08 11:16:25 +11:00
Maikel
0ca7319e32 Merge pull request #10391 from jibees/10390-current-master-not-in-prod-missing-pagination-from-orders-page
Orders page and BOM page: use the same pagination file
2023-02-08 11:15:31 +11:00
Jean-Baptiste Bellet
80ba228910 Partial is used in two different contexts: orders and line_items
Distinguish them by adding a local variable model that could either be `orders` or `line_items`
2023-02-07 18:10:29 +01:00
Filipe
0f203a474c Merge pull request #10375 from jibees/10363-bom-page-is-not-finding-or-displaying-name-email-or-order-number-for-some-orders
BOM: Ensure orders informations are loaded for each line items
2023-02-07 16:34:57 +00:00
cyrillefr
c37564eea7 Modify spec for orders bulk cancelling 2023-02-07 15:49:56 +01:00
cyrillefr
abf90b8437 Modify spec for orders 2023-02-07 15:40:40 +01:00
cyrillefr
1682f6788d Delete unused code
Delete now unused code for Angular style bulk orders cancelling
  - the Angular controller file
  - the bulk_cancel method from controller
  - the corresponding entry in route
2023-02-07 15:40:40 +01:00
jibees
10bacea861 Merge pull request #10389 from dacook/use-same-node-version-in-ci
Use .node-version in CI
2023-02-07 14:54:13 +01:00
Jean-Baptiste Bellet
237b0f03b5 Remove report_inverse_columns_logic from list of feature toggle
Co-Authored-By: Maikel <maikel@email.org.au>
2023-02-07 14:41:53 +01:00
Ana Nunes da Silva
f4980fa84d Update void payments to checkout on resumed order 2023-02-07 12:29:59 +00:00
Ana Nunes da Silva
c9e6d24eb0 Add :resume event in Spree::Payment 2023-02-07 12:27:15 +00:00
Ana Nunes da Silva
f2b407c194 Add :void scope in Spree::Payment 2023-02-07 12:27:15 +00:00
Ana Nunes da Silva
b48b3ad42b Update: Untaken cash payments to void on cancelled order 2023-02-07 12:27:07 +00:00
David Cook
af5e44e3f3 Use .node-version in CI
This ensures that all our automated tests are using the same version.
I'm not sure it matters what version Prettier runs on, but thought it should be the same.

This is a down-grade, but it's better to match the version in production. The next step will be to upgrade again for production.
2023-02-07 21:25:20 +11:00
dependabot[bot]
68acca2530 Bump prettier from 2.7.1 to 2.8.3
Bumps [prettier](https://github.com/prettier/prettier) from 2.7.1 to 2.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.7.1...2.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 09:02:25 +00:00
dependabot[bot]
180aabdb90 Bump @floating-ui/dom from 1.1.1 to 1.2.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.0/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 09:02:00 +00:00
Maikel
c82af88c48 Merge pull request #10371 from openfoodfoundation/dependabot/npm_and_yarn/karma-6.4.1
Bump karma from 6.3.20 to 6.4.1
2023-02-07 16:43:19 +11:00
Maikel
40eae3f84d Merge pull request #10378 from openfoodfoundation/dependabot/bundler/valid_email2-4.0.5
Bump valid_email2 from 4.0.4 to 4.0.5
2023-02-07 16:41:47 +11:00
cyrillefr
597e9eae2b Modify view to call Stimulus controller
- Also add call to a new Modal confirm component for
   handling of bulk orders cancellings
2023-02-06 19:47:36 +01:00
cyrillefr
332c95dec5 Modify actual modal confirm component
- Need to take into account some additional customn message
2023-02-06 19:47:36 +01:00
cyrillefr
7a967715aa Create Stimulus CancelOrder controller 2023-02-06 19:47:36 +01:00
cyrillefr
c302640644 Create a reflex that handles bulk orders cancelling 2023-02-06 19:47:36 +01:00
cyrillefr
ad0ffd2a64 Create a new service for orders bulk cancelling 2023-02-06 19:47:36 +01:00
Ana Nunes da Silva
8bd890f311 Add :checkout scope in Spree::Payment 2023-02-06 11:09:40 +00:00
dependabot[bot]
64e6bd8248 Bump mrujs from 0.7.4 to 0.10.1
Bumps [mrujs](https://github.com/ParamagicDev/mrujs) from 0.7.4 to 0.10.1.
- [Release notes](https://github.com/ParamagicDev/mrujs/releases)
- [Changelog](https://github.com/KonnorRogers/mrujs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ParamagicDev/mrujs/compare/v0.7.4...v0.10.1)

---
updated-dependencies:
- dependency-name: mrujs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 10:45:12 +00:00
jibees
e066e5ca74 Merge pull request #10370 from openfoodfoundation/dependabot/npm_and_yarn/jquery-ui-1.13.2
Bump jquery-ui from 1.13.0 to 1.13.2
2023-02-06 11:43:47 +01:00
jibees
9317cc41b9 Merge pull request #10379 from openfoodfoundation/dependabot/bundler/responders-3.1.0
Bump responders from 3.0.1 to 3.1.0
2023-02-06 11:34:19 +01:00
dependabot[bot]
1a35882fb6 Bump responders from 3.0.1 to 3.1.0
Bumps [responders](https://github.com/heartcombo/responders) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/heartcombo/responders/releases)
- [Changelog](https://github.com/heartcombo/responders/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heartcombo/responders/compare/v3.0.1...v3.1.0)

---
updated-dependencies:
- dependency-name: responders
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 09:08:09 +00:00
dependabot[bot]
ec3d7174de Bump valid_email2 from 4.0.4 to 4.0.5
Bumps [valid_email2](https://github.com/micke/valid_email2) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/micke/valid_email2/releases)
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v4.0.4...v4.0.5)

---
updated-dependencies:
- dependency-name: valid_email2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 09:01:57 +00:00
Maikel
207a3c9ea7 Merge pull request #10357 from openfoodfoundation/dependabot/bundler/webpacker-5.4.4
Bump webpacker from 5.4.3 to 5.4.4
2023-02-06 16:26:40 +11:00
Maikel
9ff8433a8d Merge pull request #10344 from filipefurtad0/update_orders_spec_II
Update orders spec ii
2023-02-06 14:32:14 +11:00
jibees
6549ad7d2a Merge pull request #10366 from dacook/node-version
Update Node version
2023-02-03 15:12:08 +01:00
jibees
7d1b71e640 Merge pull request #10300 from dacook/add-webpack-cli
Add required webpack package
2023-02-03 14:22:50 +01:00
Jean-Baptiste Bellet
bddd887dcd Load orders only if current line_items are loaded
+ update spec as well
2023-02-03 12:25:47 +01:00
Jean-Baptiste Bellet
d00e75de70 We should load orders that are linked to line_items displayed
This should not be related to any pagination, search or whatever: actually we consolidate line_items with order additional info based on line_items.order.id.
2023-02-03 11:40:07 +01:00
Jean-Baptiste Bellet
06cbc120f5 Pagination is actually linked to line_items and not orders
We display line_items as rows in BOM
2023-02-03 11:37:51 +01:00
dependabot[bot]
e91c4f1318 Bump karma from 6.3.20 to 6.4.1
Bumps [karma](https://github.com/karma-runner/karma) from 6.3.20 to 6.4.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/v6.3.20...v6.4.1)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 08:51:33 +00:00
jibees
428b8b0314 Merge pull request #10365 from dacook/webpack-config
Make webpack-cli a dev-only dependency
2023-02-03 09:49:43 +01:00
dependabot[bot]
7d5ddb9cf6 Bump jquery-ui from 1.13.0 to 1.13.2
Bumps [jquery-ui](https://github.com/jquery/jquery-ui) from 1.13.0 to 1.13.2.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.13.0...1.13.2)

---
updated-dependencies:
- dependency-name: jquery-ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 08:48:37 +00:00
jibees
cc5632fd14 Merge pull request #10364 from dacook/dependabot-update-js-packages
Allow Dependabot to update package.json
2023-02-03 09:46:05 +01:00
Jean-Baptiste Bellet
9b2ed8846c load_enterprise_set_on_index is used only in one action
so let's call it inside the action.
2023-02-03 09:15:07 +01:00
Jean-Baptiste Bellet
e18454c55a Add pagination on enterprises page for super admin
Enterprises are stored in `@enterprise_set` variables, and we iterate over to show the list of enterprises to super admin.

Previously, we used to use `Sets::EnterpriseSet.new(collection)` instead of creating set based on `@collection`: this leads to call the `collection` method twice, which was probably very time consuming. This commit fix also that.

+ use paginated enterprises loading on bulk update but without testing if the current user is an admin
2023-02-03 09:15:07 +01:00
David Cook
785350a089 Bump Node to v14.21.2
Currently our CI and servers do not respect this setting, only dev environments that have a Node version manager do.

I checked a few prod servers, and they use this version already so now I'm making it official. But we should aim to upgrade further, the current version is v19.

    WARNING: node-v14.21.2-darwin-x64 is in LTS Maintenance mode and nearing its end of life.
    It only receives *critical* security updates, *critical* bug fixes and documentation updates.
2023-02-03 16:17:28 +11:00
David Cook
ef4731022e Recommend Node version manager
I chose to combine this in the above section to reduce the length of the document.

Note that the OS-specific pages in the wiki should be updated after this.
2023-02-03 16:06:34 +11:00
David Cook
8adb8a5eaf Make webpack-cli a dev-only dependency
We shouldn't need this in production. According to the [readme](https://www.npmjs.com/package/webpack-cli) it's only a dev dependency.
2023-02-03 15:26:00 +11:00
David Cook
a0d1183fc0 Use yarn to install dependencies
`reviewdoc-action-prettier` is automatically running npm, but we use Yarn, which handles unmet dependencies differently. Let's make it consistent.

This caused the linter to fail when it didn't need to (https://github.com/openfoodfoundation/openfoodnetwork/pull/10300#issuecomment-1413004039).
2023-02-03 15:21:58 +11:00
David Cook
3b49ba4de1 Allow Dependabot to update package.json
As per the industry standard, all version numbers are specified in package.json, so Dependabot is allowed to suggest increases when a new version is released. This is the default.

Discussed in https://community.openfoodnetwork.org/t/javascript-dependency-management-with-package-json/2753
2023-02-03 14:48:18 +11:00
Jean-Baptiste Bellet
ef4c99bf49 Replace gitlab-omniauth-openid-connect by omniauth_openid_connect
```

All changes in this gem are now upstreamed in omniauth_openid_connect
gem v0.6.0 under the OmniAuth group: https://github.com/omniauth/omniauth_openid_connect.

In your Gemfile, replace the line:

gem 'gitlab-omniauth-openid-connect', '~> 0.10', require: 'omniauth_openid_connect'

With:

gem 'omniauth_openid_connect', '~> 0.6'

The gitlab-omniauth-openid-connect gem is no longer updated.
```

Allow upgrading omniauth_openid_connect gem

The pinned version is the most recent and I would be happy for
Dependabot to suggest newer versions when available.
2023-02-03 12:17:17 +11:00
dependabot[bot]
40d767928e Bump gitlab-omniauth-openid-connect from 0.10.0 to 0.10.1
Bumps [gitlab-omniauth-openid-connect](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect) from 0.10.0 to 0.10.1.
- [Release notes](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect/tags)
- [Commits](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect/compare/v0.10.0...v0.10.1)

---
updated-dependencies:
- dependency-name: gitlab-omniauth-openid-connect
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 12:16:15 +11:00
jibees
5e689b12fe Merge pull request #10345 from mkllnk/rspec-n
Enable RSpec's status file for --next-failure
2023-02-02 16:54:37 +01:00
jibees
518a029b59 Merge pull request #10353 from mkllnk/taggable
Bump acts-as-taggable-on from 8.1.0 to 9.0.1
2023-02-02 16:43:56 +01:00
jibees
2b14269dae Merge pull request #10359 from openfoodfoundation/dependabot/bundler/jwt-2.7.0
Bump jwt from 2.6.0 to 2.7.0
2023-02-02 16:42:35 +01:00
Jean-Baptiste Bellet
a463a39abc Update all locales with the latest Transifex translations 2023-02-02 16:11:57 +01:00
Filipe
99a0056d7f Merge pull request #10257 from rioug/9720-fix-imperial-weight-display-when-using-float-value
Fix decimal display for imperial weight on Cart, Order Confirmation page and Confirmation emails
2023-02-02 15:03:39 +00:00
Rachel Arnould
0973e79a91 Merge pull request #10274 from jibees/8905-convert-popup-to-flash-messages-
On `/cart` page, if consumer adds more quantity than available, use in-app flash message instead of native alert
2023-02-02 15:50:17 +01:00
Filipe
d0897ec677 Merge pull request #10248 from jibees/10117-reports-in-order-cycle-customer-totals-incorrect-sorting-when-lastname-first-letter-isnt-capitalized
Reports, Orders and fulfillment: Sort by customer lastname + firstname case insensitive
2023-02-02 14:39:10 +00:00
Jean-Baptiste Bellet
915174b513 Do not stack same flash messages
Very ugly in UI.
2023-02-02 15:28:35 +01:00
Jean-Baptiste Bellet
f5aae5f8b9 Remplace ouf of stock alert by Flash message 2023-02-02 15:28:35 +01:00
dependabot[bot]
e94fff0d69 Bump jwt from 2.6.0 to 2.7.0
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/jwt/ruby-jwt/releases)
- [Changelog](https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jwt/ruby-jwt/compare/v2.6.0...v2.7.0)

---
updated-dependencies:
- dependency-name: jwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 09:04:00 +00:00
David Cook
14189aef5c Use yarn to install dependencies
reviewdoc-action-prettier is automatically running npm, but that fails. We use yarn so maybe if we call it first, npm won't get called? Worth a try.
2023-02-02 11:51:13 +11:00
David Cook
6dc54fbd22 Add required webpack package
Webpack won't run and tells me I need to install the new package:

> The command moved into a separate package: @webpack-cli/serve

But the latest version depends on webpack 5, so should we install an older version? I couldn't get that working either.
2023-02-02 11:39:26 +11:00
Filipe
1e3f754f96 Merge pull request #10318 from dacook/10272-remove-currency-from-calculators
Remove unused currency from calculators
2023-02-01 13:49:51 +00:00
Filipe
095e520777 Merge pull request #10339 from mkllnk/ssl
Remove unnecessary SSL code
2023-02-01 13:06:26 +00:00
jibees
452b38fa36 Merge pull request #10355 from openfoodfoundation/dependabot/bundler/sidekiq-scheduler-5.0.1
Bump sidekiq-scheduler from 5.0.0 to 5.0.1
2023-02-01 10:58:15 +01:00
jibees
496bc9120a Merge pull request #10354 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-7.2.5
Bump @hotwired/turbo from 7.2.4 to 7.2.5
2023-02-01 10:51:37 +01:00
dependabot[bot]
a386d33197 Bump webpacker from 5.4.3 to 5.4.4
Bumps [webpacker](https://github.com/rails/webpacker) from 5.4.3 to 5.4.4.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v5.4.3...v5.4.4)

---
updated-dependencies:
- dependency-name: webpacker
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 09:13:05 +00:00
dependabot[bot]
762e27b015 Bump sidekiq-scheduler from 5.0.0 to 5.0.1
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/sidekiq-scheduler/sidekiq-scheduler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: sidekiq-scheduler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 09:03:29 +00:00
dependabot[bot]
29915cdbbd Bump @hotwired/turbo from 7.2.4 to 7.2.5
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 7.2.4 to 7.2.5.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v7.2.4...v7.2.5)

---
updated-dependencies:
- dependency-name: "@hotwired/turbo"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 09:01:50 +00:00
Gaetan Craig-Riou
5cfedddba4 UnsavedChanges controller, disabling submit button is now optional 2023-02-01 13:46:30 +11:00
David Cook
d5ae5c9af4 Revert "Bump rspec-rails from 5.1.2 to 6.0.1"
This reverts commit 1313b55531.

Because it also updates activemerchant. Dunno why, but it shouldn't have been merged (oops).
2023-02-01 12:16:32 +11:00
David Cook
01c6a8b9ec Merge pull request #9850 from openfoodfoundation/dependabot/bundler/rspec-rails-6.0.1
Bump rspec-rails from 5.1.2 to 6.0.1
2023-02-01 11:43:57 +11:00
Maikel Linke
44677fac87 Bump acts-as-taggable-on from 8.1.0 to 9.0.1 2023-02-01 11:41:14 +11:00
Maikel
dda85666e6 Merge pull request #10347 from openfoodfoundation/dependabot/bundler/ddtrace-1.9.0
Bump ddtrace from 1.8.0 to 1.9.0
2023-02-01 11:23:53 +11:00
Gaetan Craig-Riou
dd876dfd8d Order cycle form, disable the save and save and back button on page load
Buttons will be enabled once the form has been interacted with.
Update unsavedChanges stimulus controller to handle this. It should
still be generic enought that it can be reused.
2023-02-01 09:43:28 +11:00
Gaetan Craig-Riou
ef309c0fd0 Order cycle form, checkout options steps add user warning when leaving page and form has been changed
Add UnsavedChanges stimulus controller, it should be generic enough so
that it can reused somewhere else. It works with both 'beforeunload' event
and 'turbolinks:before-visit' when using turbo links.
2023-02-01 09:43:28 +11:00
Gaetan Craig-Riou
de97c59632 Order cycle exchange form, only set red border on pickup_time field if empty
The red border is set by setting pickup_time as $dirty, it then blocks next button and add leave page warning when it is not necessary, this is a fix for it.
2023-02-01 09:43:28 +11:00
filipefurtad0
5d4ab5c1f8 Adds the bang! when updating DB entries 2023-01-31 12:20:26 +00:00
dependabot[bot]
bf9cfd4990 Bump ddtrace from 1.8.0 to 1.9.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 09:03:18 +00:00
Maikel Linke
d3251dc03f Enable RSpec's status file for --next-failure
With this config, we can use `rspec -n` which is shorthand for:

  rspec --only-failures --fail-fast --order defined

This is much easier than running specs by line numbers.
2023-01-31 15:45:21 +11:00
Maikel Linke
d3b80b7fc9 Clarify expecting a hash, not keyword arguments
The syntax was ambiguous and nwer version of rspec-rails catch that.
2023-01-31 15:40:33 +11:00
David Cook
d9aa125903 Merge pull request #10305 from heroinedor/feature/docker-dev
Docker dev environment improvement
2023-01-31 10:52:37 +11:00
filipefurtad0
444d689f14 Adds ordering by order total 2023-01-30 20:12:38 +00:00
filipefurtad0
801ebe5819 Adds ordering by billing address name 2023-01-30 20:12:38 +00:00
filipefurtad0
7f4e5d3f2e Adds ordering by customer name 2023-01-30 20:12:38 +00:00
filipefurtad0
107bb3df66 Adds ordering by shipment state 2023-01-30 20:12:38 +00:00
filipefurtad0
dcbf2ae96b Removes assertions on the Loading element 2023-01-30 20:12:38 +00:00
filipefurtad0
f2c0a77641 Adds ordering by payment state 2023-01-30 18:39:51 +00:00
filipefurtad0
958a1bde9f Adds ordering by order state 2023-01-30 17:35:23 +00:00
filipefurtad0
cff06011f1 Fixes rubocop issues; Adds ordering by order number 2023-01-30 17:21:29 +00:00
filipefurtad0
0e878d8ce1 Sets context for filters; Adds context for ordering 2023-01-30 17:08:03 +00:00
Filipe
678c60c9b6 Merge pull request #10175 from abdellani/tax_totals_with_rates_by_producer_report
Tax Totals with Rates by Producer Report
2023-01-30 13:56:48 +00:00
jibees
83335cfab4 Merge pull request #10342 from openfoodfoundation/dependabot/bundler/redcarpet-3.6.0
Bump redcarpet from 3.5.1 to 3.6.0
2023-01-30 10:20:33 +01:00
jibees
a762aa6ff9 Merge pull request #10341 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.1.1
Bump @floating-ui/dom from 1.1.0 to 1.1.1
2023-01-30 10:14:38 +01:00
dependabot[bot]
6b1d6e33c0 Bump redcarpet from 3.5.1 to 3.6.0
Bumps [redcarpet](https://github.com/vmg/redcarpet) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/vmg/redcarpet/releases)
- [Changelog](https://github.com/vmg/redcarpet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vmg/redcarpet/compare/v3.5.1...v3.6.0)

---
updated-dependencies:
- dependency-name: redcarpet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 09:06:42 +00:00
dependabot[bot]
24d29c6949 Bump @floating-ui/dom from 1.1.0 to 1.1.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.1.1/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 09:01:33 +00:00
Maikel Linke
1609cc49e3 Wait only for report jobs within Puma workers
Otherwise a root Puma worker will try to wait for its other child
processes as well while they live a long time.
2023-01-30 16:28:59 +11:00
Maikel Linke
8c458c2d48 Remove outdated SSL setting from database 2023-01-30 14:32:31 +11:00
Maikel Linke
0fc108a8e6 Remove useless option to allow SSL
It's an outdated Spree setting. We always enforce SSL in production and
staging while development and test environments are running without SSL.
This setting didn't have any effect.
2023-01-30 14:19:37 +11:00
Maikel Linke
f888a0eb21 Remove unnecessary rack-ssl gem
Rails comes with ActionDispatch::SSL which is enabled in staging and
production. We don't need this ancient gem last updated in 2014.
2023-01-30 14:08:55 +11:00
filipefurtad0
994232f6d1 Adds pagination test on orders page 2023-01-28 17:50:28 +00:00
jibees
a97fb0f46b Merge pull request #10336 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.119.0
Bump aws-sdk-s3 from 1.118.0 to 1.119.0
2023-01-27 10:29:38 +01:00
dependabot[bot]
73c81e626c Bump aws-sdk-s3 from 1.118.0 to 1.119.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.118.0 to 1.119.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 09:08:25 +00:00
Maikel Linke
b35f9551eb Update translations 2023-01-27 17:12:37 +11:00
Maikel
4193cdb9f1 Merge pull request #10320 from dacook/remove-ie-warning
Remove unnecessary IE warning
2023-01-27 17:02:53 +11:00
David Cook
57678b7566 Remove IE warning
It brings me great pleasure to remove this. I've been waiting my whole career: IE is finally gone!!
2023-01-27 12:45:46 +11:00
Maikel
ee5f255fc9 Merge pull request #10326 from openfoodfoundation/dependabot/bundler/bootsnap-1.16.0
Bump bootsnap from 1.15.0 to 1.16.0
2023-01-27 12:10:52 +11:00
Maikel
408c2f7a04 Merge pull request #10325 from openfoodfoundation/dependabot/bundler/rubocop-1.44.1
Bump rubocop from 1.44.0 to 1.44.1
2023-01-27 11:59:21 +11:00
Jean-Baptiste Bellet
634a54e3f1 Add image in description as they are now authorized 2023-01-26 18:21:28 +01:00
Jean-Baptiste Bellet
8f519eaf21 Factorize expects and include testing html inside modal and in description 2023-01-26 18:21:28 +01:00
Jean-Baptiste Bellet
dd0957fa72 Remove test no related to consumer spec
Furthermore, this test is more about testing the text editor (itself) which is an external library
2023-01-26 18:21:28 +01:00
Jean-Baptiste Bellet
6d68460950 Factorize sanitizer options between edition and displaying
by using the same `app/services/content_scrubber.rb`
2023-01-26 18:21:27 +01:00
Jean-Baptiste Bellet
79320331c0 As we trust description_html (previously sanitized), direct use HTML
via the AngularsJS `bind-html` attribute.

This will display formatting and images.
2023-01-26 17:44:51 +01:00
Jean-Baptiste Bellet
85d9650903 Allow img (and its attributes) to be displayed in the shopfront 2023-01-26 17:42:32 +01:00
Jean-Baptiste Bellet
970b7b6738 Allow attributes src (and alt) to display image for product description
on admin ie. `/admin/products/bread/edit`
2023-01-26 17:42:09 +01:00
Filipe
1cfc13e66f Merge pull request #10208 from jibees/9424-calculator-provide-a-calculator-none
Admin: Include a "None" option for calculator type user in shipping method and payment method forms
2023-01-26 14:48:41 +00:00
dependabot[bot]
110c594353 Bump rubocop from 1.44.0 to 1.44.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.44.0 to 1.44.1.
- [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.44.0...v1.44.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 14:31:42 +00:00
dependabot[bot]
1748274e72 Bump bootsnap from 1.15.0 to 1.16.0
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/Shopify/bootsnap/releases)
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.15.0...v1.16.0)

---
updated-dependencies:
- dependency-name: bootsnap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 14:31:00 +00:00
Filipe
e6863f83fc Merge pull request #10328 from jibees/10327-flaky-specsystemconsumersplit_checkout_specrb486
SplitCheckout, Specs: fix errors count when submitting form with errors
2023-01-26 14:27:03 +00:00
jibees
e48ba1b5fa Specify assertions by grouping them into page section
Co-Authored-By: Filipe <49817236+filipefurtad0@users.noreply.github.com>
2023-01-26 15:06:00 +01:00
Jean-Baptiste Bellet
999440da0a Fix errors count when user submit the form
Since https://github.com/openfoodfoundation/openfoodnetwork/pull/10317 we are displaying the error message also in the flash message. For unknown reason, build didn't fail for that PR, but, as the PR adds some error message, we need to change the spec to reflect that change.

This PR separates error in checkout page itself, and errors in flash message banner.
2023-01-26 11:05:55 +01:00
Filipe
1ea7304549 Merge pull request #10276 from jibees/10250-split-checkout-responsiveness-is-broken-on-iphone
Split Checkout, increase input to 16px for small devices and iOS devices
2023-01-25 17:32:10 +00:00
Filipe
ad4670705e Merge pull request #10245 from jibees/10222-in-bom-dont-show-group-buy-info-if-equal-to-0
Admin, BOM: Don't display "group by size" if group by product value is actually null
2023-01-25 15:29:05 +00:00
Filipe
5e4afb765b Merge pull request #10307 from rioug/10271-add-mandatory-asterisk-in-business-detail
Add required asterisk in business details panel
2023-01-25 13:23:39 +00:00
Filipe
d2d9e318fc Merge pull request #10310 from openfoodfoundation/dependabot/bundler/sidekiq-scheduler-5.0.0
Bump sidekiq-scheduler from 4.0.3 to 5.0.0
2023-01-25 12:42:16 +00:00
Filipe
a2a1d8b7e2 Merge pull request #10264 from dacook/readonly-mail-settings
Update mail settings notice
2023-01-25 12:25:05 +00:00
Filipe
65d8337d3d Merge pull request #10319 from mkllnk/show-flash-until-closed-by-user
Show new flash messages until discarded by user
2023-01-25 12:19:45 +00:00
Filipe
7f3cf743f7 Merge pull request #10317 from mkllnk/9056-stuck-in-split-checkout
Display checkout error messages to user for convencience
2023-01-25 12:15:36 +00:00
Rachel Arnould
27e8d89325 Merge pull request #10313 from jibees/split-checkout-do-not-display-payment-method-instruction-if-empty
SplitCheckout: On step3, do not display payment method description if not present
2023-01-25 11:43:19 +01:00
Maikel Linke
882d7a1215 Simplify method according to style rules 2023-01-25 15:49:44 +11:00
Maikel Linke
cec9d2987e Name order attributes similar to other text
Rails' auto-generated names used in error messages were a bit cryptic
for users.
2023-01-25 15:49:44 +11:00
Maikel Linke
2bba38134e Show new flash messages until discarded by user
We currently have two mechanisms to display flash messages. The old one
through AngularJS and the new one with StimulusReflex.

The AngularJS directive showed flashes for 10 seconds. The
StimulusReflex controller showed them only for 3 seconds. But any time
based disappearance of error messages is problematic. There's important
information in there and some error messages can be long. It's also
possible that a request takes a while, the user leaves the computer and
comes back later. If we hide the flash automatically then the user may
have no idea what went wrong. They may even think that everything is
fine and their order went through.

I removed the time-based removal of flash messages from the new
StimulusReflex controller to address this problem. But I didn't touch
the AngularJS directive because it will be removed anyway. There may
also be many more messages that could be annoying if they didn't
disappear, for example a simple "login successful".

I personally think that flash messages that are not important to keep,
don't need to be shown in the first place. The best UX makes the success
obvious on the page. And success should be assumed.
2023-01-25 15:33:17 +11:00
David Cook
428b589357 Remove unused currency from calculators 2023-01-25 15:31:40 +11:00
Maikel Linke
ab7e1ac39f Display error messages to user for convencience
It will also help us to debug the application if the error is not
obvious.
2023-01-25 14:50:28 +11:00
Maikel Linke
0782447863 Drop superflous js flag from system spec 2023-01-25 14:50:28 +11:00
Maikel
1a71e55029 Merge pull request #10316 from openfoodfoundation/dependabot/npm_and_yarn/ua-parser-js-0.7.33
Bump ua-parser-js from 0.7.30 to 0.7.33
2023-01-25 14:42:03 +11:00
Jean-Baptiste Bellet
f082dfdb79 Move scheduler options to scheduler key in the sidekiq.yml
As requested by https://github.com/sidekiq-scheduler/sidekiq-scheduler/blob/v5.0.0.beta1/CHANGELOG.md#500beta1 and https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/412

```
[BREAKING CHANGE] Moves all sidekiq-scheduler config options under the scheduler key in the sidekiq.yml file #412

If you're migrating from v4 to v5, any sidekiq-scheduler config you may have in your sidekiq.yml should be moved under the scheduler key.
See #412 to see which are the config options that you need to move under the scheduler key.
```
2023-01-25 10:43:44 +11:00
dependabot[bot]
10060be300 Bump ua-parser-js from 0.7.30 to 0.7.33
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.30 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.30...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 23:05:42 +00:00
David Cook
6424b37e70 Merge pull request #10314 from jibees/upgrade-Brakeman-version
Upgrade brakeman to its latest version
2023-01-25 10:03:30 +11:00
Jean-Baptiste Bellet
ada164d29b Upgrade brakeman to its latest version 2023-01-24 16:23:15 +01:00
Gaetan Craig-Riou
8194ae1eae Add required asterisk in business details panel 2023-01-24 15:24:14 +01:00
Jean-Baptiste Bellet
64b7ccc2ba Do not display payment method description if not present
This avoid an empty section with `Instructions` title empty
2023-01-24 15:06:46 +01:00
Jean-Baptiste Bellet
3e8ec039f7 Increase input to 16px for small devices and iOS devices
This avoid that "zoom on input focus" on iOS devices
2023-01-24 12:05:09 +01:00
Filipe
f917027cb1 Merge pull request #10249 from jibees/10228-split-checkout-error-422-on-step-2-payment-update-highlighted-fields
SplitCheckout: Fix an issue that was sending unintentionally bad params for payment
2023-01-24 10:31:49 +00:00
jibees
5d7ab0973a Merge pull request #10311 from openfoodfoundation/dependabot/bundler/rubocop-1.44.0
Bump rubocop from 1.43.0 to 1.44.0
2023-01-24 10:45:18 +01:00
dependabot[bot]
ee07b81cd6 Bump rubocop from 1.43.0 to 1.44.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.43.0 to 1.44.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.43.0...v1.44.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 09:06:15 +00:00
dependabot[bot]
04e7b3b617 Bump sidekiq-scheduler from 4.0.3 to 5.0.0
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 4.0.3 to 5.0.0.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/sidekiq-scheduler/sidekiq-scheduler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v4.0.3...v5.0.0)

---
updated-dependencies:
- dependency-name: sidekiq-scheduler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 09:01:21 +00:00
Pipo Bimbo
118d3a9d8e separate log file for both steps of the tests 2023-01-24 08:50:33 +01:00
Maikel
2fc935e99c Merge pull request #10167 from openfoodfoundation/dependabot/bundler/ddtrace-1.8.0
Bump ddtrace from 0.54.1 to 1.8.0
2023-01-24 14:53:12 +11:00
Maikel
00d9c2836d Merge pull request #10309 from mkllnk/flaky-serializer-spec
Parse JSON to test ids separately and avoid flakiness
2023-01-24 14:32:20 +11:00
Maikel Linke
79887c0b44 Clarify array intend of array operation in spec 2023-01-24 14:17:46 +11:00
Maikel Linke
5b6a855dfe Clarify test result structure 2023-01-24 13:39:48 +11:00
Maikel Linke
d18d0ef6b1 Parse JSON to test variant and distributor ids
We looked at the whole JSON string before and sometimes a distributor id
would match a variant id which made the test flaky.
2023-01-24 11:51:44 +11:00
Maikel Linke
d37fa9fc5f Simplify spec structure without defining modules
Specs should test classes and modules independently and they should not
be in the same module. It also avoids indentation and accidental
namespace polution.
2023-01-24 11:41:06 +11:00
Filipe
7b14afbabe Merge pull request #10294 from abdellani/fix_invoice_print_spec
fix the pending invoice print spec
2023-01-23 19:06:36 +00:00
Filipe
bc788b6d60 Merge pull request #10243 from jibees/10242-change-how-orders-are-loaded-in-bom-+-filters
Admin, BOM: add pagination, remove date range filtering on first load
2023-01-23 17:48:05 +00:00
Jean-Baptiste Bellet
3247c32191 Be consistant and use data-paymentmethod-id attribute
as already used on other element
2023-01-23 17:48:54 +01:00
Jean-Baptiste Bellet
251ab2ac9a Payment method id attribute don't need to start with paymentmethod 2023-01-23 17:46:26 +01:00
jibees
dafe4b599f Merge pull request #10303 from mkllnk/webpacker-ignores-tmp-files
Ignore vi .swp files when webpack dev reloads page
2023-01-23 17:12:29 +01:00
Filipe
d7c99a9d8b Merge pull request #10275 from filipefurtad0/update_orders_spec
Updates system spec for orders page
2023-01-23 16:00:38 +00:00
Rachel Arnould
53fb906861 Merge pull request #10254 from jibees/10246-split-checkout-order-summary-page-design-changes
Split checkout: order summary page design changes
2023-01-23 15:52:06 +01:00
Pipo Bimbo
54acfbf7f2 documentation for docker on windows 2023-01-23 15:08:18 +01:00
Pipo Bimbo
5708fb04a5 switch from command scripts to powershell scripts 2023-01-23 14:15:16 +01:00
Pipo Bimbo
fa4ff7534b for windows and docker usage compatibilities, force certain files to use LF line endings, even on Windows 2023-01-23 14:10:41 +01:00
Pipo Bimbo
4bae28bbad removed node_modules folder mounting on docker because it is not possible to have node_modules files on Windows host used by yarn/npm process on docker container 2023-01-23 14:10:41 +01:00
Pipo Bimbo
e1b79db65e Set line endings to LF, even on Windows, for Shell scripts. Otherwise, execution within Docker fails. 2023-01-23 14:10:41 +01:00
Pipo Bimbo
d413a39c3c grep option -x does not work on windows installation due to EOL characters 2023-01-23 14:10:41 +01:00
Pipo Bimbo
d153adca9b docker server.bat files for use of docker on windows environment + documentation 2023-01-23 14:10:41 +01:00
Pipo Bimbo
38fe572943 Avoid spaces and line return around ruby version, especially for windows 2023-01-23 14:10:41 +01:00
Pipo Bimbo
ee1ad57c7f add docker build and seed scripts for windows 2023-01-23 14:10:41 +01:00
filipefurtad0
fa96f7339d Replaces URL with routing syntax 2023-01-23 11:35:53 +00:00
Sigmund Petersen
78bbb08666 Merge pull request #10301 from openfoodfoundation/update-getting-started
Docs: Suggest using SSH instead of HTTPS for cloning
2023-01-23 08:36:17 +01:00
Sigmund Petersen
e260112eb8 Merge pull request #10296 from filipefurtad0/add_no_sandbox_to_cuprite_settings
Sets no-sandbox option, for CI env.; increases timeout values
2023-01-23 08:34:09 +01:00
Maikel Linke
a91ece8f3b Replace outdated datadog config syntax 2023-01-23 16:40:36 +11:00
Jean-Baptiste Bellet
6327370401 Update datadog settings from 0.x to 1.x
Reference: https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#settings-have-been-renamed
2023-01-23 16:25:03 +11:00
Maikel Linke
b91b85febc Ignore vi .swp files when webpack dev reloads page
The webpack dev server watches assets and reloads the page when files
change on disk. I'm adding vi's temporary files to the ignore list.
2023-01-23 14:42:08 +11:00
Mohamed ABDELLANI
19df15d75b move item group instruction from db to rails 2023-01-21 18:40:27 +01:00
Mohamed ABDELLANI
92c4bd9eb7 introduces format_percentage in ReportRowBuilder#format_cell 2023-01-21 18:40:27 +01:00
Mohamed ABDELLANI
4822be532b test Sales Tax Totals By Producer 2023-01-21 18:40:27 +01:00
Mohamed ABDELLANI
c87c8ed0df subreport filtering partial 2023-01-21 18:39:33 +01:00
Mohamed ABDELLANI
f4a5130cb5 remove pending from tests 2023-01-21 08:35:12 +01:00
Mohamed ABDELLANI
8823b2ac89 add display_line_items_taxes to expected message in invoice view spec 2023-01-21 08:35:01 +01:00
Mohamed ABDELLANI
9bff2718c7 implement display_line_items_taxes to render included & added tax 2023-01-21 08:16:05 +01:00
filipefurtad0
7dc14cc35a Adds coverage for bulk pdf generation
and order cancelling
2023-01-20 18:31:33 +00:00
Mohamed ABDELLANI
a4f388336a remove duplicated test 2023-01-20 18:00:04 +01:00
Jean-Baptiste Bellet
370e476fc5 has:() relational pseudo class is not available for firefox
cf. https://caniuse.com/css-has

So be more generic, as the only `checkout-input` is for that checkbox for T&Cs
2023-01-20 15:37:52 +01:00
filipefurtad0
8bfb17144c Filters by order state 2023-01-20 13:56:40 +00:00
filipefurtad0
f984cd89c2 Filters by invoice number 2023-01-20 13:14:23 +00:00
filipefurtad0
336210b898 Tests shipping methods filtering 2023-01-20 13:10:18 +00:00
filipefurtad0
9323394eb7 Adds CI condition browser_options; sets timeouts to 60 2023-01-20 11:13:31 +00:00
jibees
895fc94a75 Merge pull request #10295 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.118.0
Bump aws-sdk-s3 from 1.117.2 to 1.118.0
2023-01-20 11:43:14 +01:00
jibees
aa725ec8a4 Merge pull request #10299 from openfoodfoundation/dependabot/bundler/globalid-1.0.1
Bump globalid from 1.0.0 to 1.0.1
2023-01-20 11:37:20 +01:00
dependabot[bot]
1313b55531 Bump rspec-rails from 5.1.2 to 6.0.1
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 5.1.2 to 6.0.1.
- [Release notes](https://github.com/rspec/rspec-rails/releases)
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v5.1.2...v6.0.1)

---
updated-dependencies:
- dependency-name: rspec-rails
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 10:33:08 +00:00
Sigmund Petersen
f921bbfe45 Merge pull request #10288 from openfoodfoundation/dependabot/bundler/rack-2.2.6.2
Bump rack from 2.2.4 to 2.2.6.2
2023-01-20 11:31:49 +01:00
Jean-Baptiste Bellet
f8b8e79725 Specify a bit when T&Cs label is longer that summary width
and therefore on two lines
2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
b559171d0e Put order summary footer into its own file _totals_footer.html.haml 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
3e7e0e4d81 Instead of adding inline style, create a CSS rule 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
c5d94d372f Remove unnecessary within block 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
c99ec38c85 By default, we reject all adjustements with amount equal to 0 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
37f359542e Remove bold on firstname+lastname 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
21b74386f9 Introduce mobile view for summary step 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
53c701e04c In fact, it seems likely to be strictly less. 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
ef572668d5 Let's keep fees next to the payment or shipping method 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
fa8e36fbeb As this is used in a odd/even table, background needs to be transparent
Otherwise, it's set via `checkout h5`
2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
1ea9c15bb8 Put total on the summary box on the right 2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
cc838d2c88 Remove sentence 2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
99fcbad0f0 On split checkout, do not display footer on order summary
introduced via `display_footer` which is by default `true`
2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
52959a913f New step3: two columns, more condensed 2023-01-20 11:20:34 +01:00
David Cook
097bfd953f Suggest using SSH instead of HTTPS for cloning
This basically reverts 3a0c5bf0c3
2023-01-20 14:46:47 +11:00
dependabot[bot]
b9039f4b1f Bump globalid from 1.0.0 to 1.0.1
Bumps [globalid](https://github.com/rails/globalid) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/rails/globalid/releases)
- [Commits](https://github.com/rails/globalid/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: globalid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 22:24:49 +00:00
filipefurtad0
f7d4d7595c Filters by customer/billing address first and last names 2023-01-19 16:22:53 +00:00
filipefurtad0
28782775ad adds filter by Email assertion 2023-01-19 16:22:53 +00:00
filipefurtad0
6f35b38fa8 Asserts on the correct display of orders
(for a given distributor)
2023-01-19 16:22:53 +00:00
filipefurtad0
9757ab2a6c Creates customers and enterprise owners (users)
Fixes typo and removes unecessary js: true line
2023-01-19 16:22:53 +00:00
dependabot[bot]
381c4e6146 Bump aws-sdk-s3 from 1.117.2 to 1.118.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.117.2 to 1.118.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 09:08:10 +00:00
David Cook
4e7c50e22b Merge pull request #10283 from mkllnk/application-job
Add Rails standard ApplicationJob for consistency
2023-01-19 14:23:22 +11:00
David Cook
9b4538790e Update translations 2023-01-19 13:29:59 +11:00
Maikel Linke
075b8d2585 Add Rails standard ApplicationJob for consistency
New Rails apps come with this class already, the job generator creates
it for every new job and Rubocop requires it as well. Let's make our
lives easier and use the same structure as other Rails projects. This
class may be handy one day.
2023-01-19 13:25:46 +11:00
dependabot[bot]
828c6e5427 Bump rack from 2.2.4 to 2.2.6.2
Bumps [rack](https://github.com/rack/rack) from 2.2.4 to 2.2.6.2.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/2.2.4...v2.2.6.2)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 00:47:53 +00:00
Filipe
b54f4ef686 Merge pull request #10258 from mkllnk/report-job
Render reports in a separate process (feature-toggled)
2023-01-18 23:47:09 +00:00
Maikel
4a8e3a751d Explain what Process.waitall does
Co-authored-by: David Cook <david@redcliffs.net>
2023-01-18 23:12:26 +00:00
Maikel Linke
6472070517 Configure MiniRacer to allow forking
The spec for forking was hanging. This could be revisited after
upgrading to mini_racer 0.6.1.
2023-01-18 23:12:26 +00:00
Maikel Linke
26402397ea Stop report workers when parent times out
No need to keep running when nobody is collecting the result (yet).
2023-01-18 23:12:26 +00:00
Maikel Linke
b19456535d Isolate report rendering in separate child process
Sidekiq doesn't have any features to limit memory usage or execution
time. We need a separate process for this. Forking avoids the boot time
of a fresh process and copy-on-write ensures minimal memory overheads.
2023-01-18 23:12:26 +00:00
Maikel Linke
a177f4c066 Add feature to render reports in the background
This is supposed to lower the memory footprint of all Puma workers. The
reports code will occupy needed memory in one Sidekiq worker instead of
in several Puma processes.

The current code doesn't limit the execution time yet. We either need a
way to terminate the report rendering after a while or send an email
with a link to access a rendered report.
2023-01-18 23:12:26 +00:00
Maikel Linke
19c4596b9e Untie report from request object
We want simple report arguments to store it as background job.
2023-01-18 23:12:26 +00:00
Maikel Linke
0c769706aa Split method for easier reading 2023-01-18 23:12:26 +00:00
Maikel Linke
65843fbd68 Render on-screen report as HTML in renderer
So it can be treated like any other format.
2023-01-18 23:12:26 +00:00
Jean-Baptiste Bellet
7320a1714c Instead of selecting the controller, send an event handled by stripe-cards
Using a query selector to find controller in order to call method could be dangerous as the DOM can change. Using an event should be more robust.
2023-01-18 17:40:17 +01:00
Jean-Baptiste Bellet
9b4f9314bc Make a proper alignement for filtering options
I used inline style, because:
 - I didn't find any pre-existing CSS for this page
 - I think that flex is self-explaining and I think adding class (for what?) won't add any value
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
455c11c289 Put columns selector component on left, and per_page component on right 2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
31dc35c500 Remove that awful double arrow on each select2 component
Already defined via `app/webpacker/css/admin/plugins/select2.scss`
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
35791034cc Remove orders/_per_page_controls and use the shared one 2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
1a874d6fcf Introduce pagination for BOM page 2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
85a748af99 When selecting an OC, do not pre-fill date range with OC date range
+ update specs as well
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
121a4a08af On filters reseting , set dates to undefined: range is not mandatory
+ send flatpickr event to reset the component

+ update specs as well
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
b75b123cba Don't check date range before refreshing data: they aren't mandatory
- Creates a simple formatDates method that handle date formatting before sending it as params instead of creating scoped variable (useless)
 - Put key to `undefined` (ie. don't then the params) if no date: already handled by the backend
2023-01-18 17:39:09 +01:00
jibees
d2e6b7d164 Merge pull request #10286 from filipefurtad0/comment_flaky_bom_flatpickr_date_selection
Comments out flaky example on BOM spec
2023-01-18 17:37:17 +01:00
filipefurtad0
fd1391cda9 Comments out flaky example on BOM spec 2023-01-18 16:24:31 +00:00
Maikel
54c58c6ba6 Merge pull request #10278 from mkllnk/pg_stat_statements
Enable pg_stat_statements in development like prod
2023-01-18 08:51:25 +11:00
jibees
e04a23cb3c Merge pull request #10277 from mkllnk/spec-cleanup
Remove outdated spec
2023-01-17 10:42:15 +01:00
Mohamed ABDELLANI
61037aa5ad sales tax totals by producers report 2023-01-17 08:37:47 +01:00
Maikel Linke
4364b1283b Enable pg_stat_statements in development like prod
We activated this database extension in production via ofn-install. But
this had not been reflected in Rails' schema.rb.

This change avoids inconsistent db/schema.rb files on production servers
and makes development more similar to production.
2023-01-17 15:41:35 +11:00
Maikel Linke
da5fa8f608 Remove outdated spec
It's just testing that we are not using code which has been deleted in
the past. I don't think that there's a risk that we introduce this again
by accident. Right now, this spec just wastes resources.
2023-01-17 15:18:52 +11:00
dependabot[bot]
fd4fb53df1 Bump ddtrace from 0.54.1 to 1.8.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.54.1 to 1.8.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.54.1...v1.8.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-17 01:39:59 +00:00
Maikel
3f8ca55975 Merge pull request #10273 from mkllnk/mini_racer
Bump mini_racer from 0.4.0 to 0.6.3
2023-01-17 12:38:41 +11:00
dependabot[bot]
287f0572c2 Merge pull request #10259 from openfoodfoundation/dependabot/bundler/rubocop-1.43.0 2023-01-16 14:59:16 +00:00
Jean-Baptiste Bellet
5a61722f8b + force FlatRate as calculator for payment methods in spec 2023-01-16 09:31:15 +01:00
Jean-Baptiste Bellet
719025f98e Only set calculator if it's a new record (having an id)
Unless we have a ActiveRecord::NotNullViolation
```
     ActiveRecord::NotNullViolation:
       PG::NotNullViolation: ERROR:  null value in column "calculable_id" of relation "spree_calculators" violates not-null constraint
       DETAIL:  Failing row contains (9370, Calculator::None, null, Spree::ShippingMethod, 2023-01-12 15:09:44.381142, 2023-01-12 15:09:44.381142).
     # ------------------
     # --- Caused by: ---
     # PG::NotNullViolation:
     #   ERROR:  null value in column "calculable_id" of relation "spree_calculators" violates not-null constraint
     #   DETAIL:  Failing row contains (9370, Calculator::None, null, Spree::ShippingMethod, 2023-01-12 15:09:44.381142, 2023-01-12 15:09:44.381142).

```
2023-01-16 09:31:15 +01:00
Jean-Baptiste Bellet
a9097df112 Already defined via CalculatedAdjustments 2023-01-16 09:31:15 +01:00
Jean-Baptiste Bellet
7015cb30c3 Calculator 'None' is the default one for both shipping and payment method
+ update specs as well

Update shipping_method.rb
2023-01-16 09:31:15 +01:00
Maikel Linke
ec5077c75b Bump mini_racer from 0.4.0 to 0.6.3
Open mini_racer dependency for updates

I'm hoping that the new version will work with forking code.
2023-01-16 15:22:04 +11:00
Maikel Linke
657fd72f69 Bump bundler from 2.1.4 to 2.4.3
It fixes a problem with installing newer mini_racer versions.
2023-01-16 15:21:12 +11:00
Jean-Baptiste Bellet
eb663af292 Update all locales with the latest Transifex translations 2023-01-13 09:55:18 +01:00
Filipe
5c04d00ff8 Merge pull request #10178 from jibees/9573-split-checkout-typing-checkoutcart-on-the-url-bar-brings-back-legacy-checkout
When `split_checkout` is enabled, redirect to split checkout controller in any cases
2023-01-12 17:05:53 +00:00
dependabot[bot]
fd446970ca Merge pull request #10265 from openfoodfoundation/dependabot/bundler/view_component-2.82.0 2023-01-12 09:46:15 +00:00
dependabot[bot]
be004383a4 Bump view_component from 2.80.0 to 2.82.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.80.0 to 2.82.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.80.0...v2.82.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-12 09:02:24 +00:00
David Cook
702bf1b76e Update mail settings notice
It is confusing how these settings work, hopefully the message makes it clear now.

We could just disable the fields entirely, but it was chosen to allow temporary updates so that instance managers can troubleshoot mail issues (063d44fecc).
2023-01-12 17:40:54 +11:00
Maikel Linke
1e77b96c2c Simplify negated feature toggle constraint 2023-01-11 10:10:30 +00:00
Jean-Baptiste Bellet
b2db63178f Redirect /checkout/whatever to /checkout when split_checkout is activate
+ constraint the legacy checkout routes when `split_checkout` feature is disabled

+ add specs
2023-01-11 10:10:30 +00:00
dependabot[bot]
798f1dfdfa Bump rubocop from 1.42.0 to 1.43.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.42.0 to 1.43.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.42.0...v1.43.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-11 09:02:47 +00:00
Gaetan Craig-Riou
6e76bcac4a Refactor option_value_value_unit_scaled to use to_d instead of calling BigDecimal
As we are now using truncate(2) we don't need to specify the number of significant digits
2023-01-11 15:35:30 +11:00
David Cook
ee70645d04 Merge pull request #10251 from openfoodfoundation/dependabot/bundler/listen-3.8.0
Bump listen from 3.7.1 to 3.8.0
2023-01-11 13:46:21 +11:00
Gaetan Craig-Riou
91af282ccc Truncate scaled value unit to maximum of two decimals
ie truncate 12.50001234 to 12.5

When using imperial, the scalling calculation rounding results in value unit
having extra decimal when converted back to imperial

+ related spec
2023-01-11 11:04:32 +11:00
Konrad
c4b89e466b Merge pull request #9804 from jibees/9420-resend-confirmation-email-in-bulk
Admin, Orders list: Resend confirmation email in bulk
2023-01-11 00:16:57 +01:00
Filipe
57aeee94f9 Merge pull request #10229 from mkllnk/report-paths
Link relative report path instead of absolute URL
2023-01-10 15:35:32 +00:00
Filipe
3a9be42389 Merge pull request #10234 from mkllnk/drop-spree_product_groups
Remove unused Spree database tables
2023-01-10 15:16:52 +00:00
dependabot[bot]
b7930e7d38 Merge pull request #10252 from openfoodfoundation/dependabot/bundler/spring-4.1.1 2023-01-10 09:15:37 +00:00
dependabot[bot]
7c69cc5aa9 Bump listen from 3.7.1 to 3.8.0
Bumps [listen](https://github.com/guard/listen) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/guard/listen/releases)
- [Commits](https://github.com/guard/listen/compare/v3.7.1...v3.8.0)

---
updated-dependencies:
- dependency-name: listen
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 09:05:05 +00:00
dependabot[bot]
2baa55262b Bump spring from 4.1.0 to 4.1.1
Bumps [spring](https://github.com/rails/spring) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: spring
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 09:04:31 +00:00
David Cook
2835265a1e Update release template
The release is now posted automatically, thanks to whomever set that up\!
2023-01-10 10:49:39 +11:00
Filipe
bd20a8c16f Merge pull request #10237 from mkllnk/report-rendering
Remove report dependency on report controller
2023-01-09 18:49:19 +00:00
Jean-Baptiste Bellet
8958fe4199 Orders and fulfilment: Sort by lastname + firstname case insensitive 2023-01-06 15:36:12 +01:00
Rachel Arnould
61175c036a Merge pull request #10131 from jibees/10125-change-oc-page-colors
[WIP 🚧 ] `/admin/order_cycles` behind feature toggle `admin_style_v2`
2023-01-06 15:07:41 +01:00
Jean-Baptiste Bellet
2258af9cec Don't display "group by size" if value is actually null or empty
+ add spec
2023-01-06 14:39:39 +01:00
dependabot[bot]
6b3a0fa14a Merge pull request #10244 from openfoodfoundation/dependabot/bundler/bugsnag-6.25.1 2023-01-06 13:14:53 +00:00
Jean-Baptiste Bellet
e403a2c174 Secondary button can actually be disabled 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
5aca76e520 OC, incoming|outgoing products, have the actions inside the table 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
73a2b90e1b On hovering, all the tr should be colored
This needs to be respecified with an `!important` keyword

Even if already defined in `app/webpacker/css/admin/openfoodnetwork.scss`
2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
c7d4c4c195 Put action in the flex container for incoming|outgoing products in OC 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
bba1d6c725 Do not specify sizes, let the browser fix the best layout for table 2023-01-06 10:46:01 +01:00
Jean-Baptiste Bellet
52cb6d4eec Put all actions in the same flex container, aligned to right 2023-01-06 10:45:30 +01:00
Jean-Baptiste Bellet
fc6bd53720 Put some specials rules for listing_orders as generics for all tables
- `.actions` is now integrated to the table itself, with the same design
- We have to use `!important` keyword as already defined like this...
2023-01-06 10:33:27 +01:00
dependabot[bot]
650fd69f60 Bump bugsnag from 6.25.0 to 6.25.1
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.25.0 to 6.25.1.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.25.0...v6.25.1)

---
updated-dependencies:
- dependency-name: bugsnag
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-06 09:12:10 +00:00
Maikel Linke
22a086ebc1 Remove report dependency on report controller
The ReportsController was referencing the report and the report was
referencing the controller. It's unlikely that this circular dependency
created a memory leak but it's generally a bad design. And we need to
make the reporting independent of the controller to isolate it in a
background job.
2023-01-05 15:06:41 +11:00
Maikel Linke
446fa2ddab Remove confusing and unused db table
This table came from Spree but has never been used. We soon want to use
the term Product Group and having this table would be confusing.
2023-01-05 15:04:52 +11:00
Maikel Linke
59a565c446 Remove confusing and unused db table
This table came from Spree but has never been used.
2023-01-05 15:04:01 +11:00
Maikel
dc6ac99a3f Merge pull request #10223 from filipefurtad0/sets_pending_on_complex_creating_specific_time_spec
Comments out flaky example with xit
2023-01-05 14:10:11 +11:00
David Cook
5c8c4c36f7 Update all locales with the latest Transifex translations 2023-01-05 13:35:44 +11:00
David Cook
be25ea0b9e Merge pull request #10235 from mkllnk/drop-skrill
Remove unused Spree database table
2023-01-05 13:27:51 +11:00
Maikel Linke
9cba9395e3 Remove unused "skrill" translations 2023-01-05 11:16:12 +11:00
Maikel Linke
cdd39f526d Remove unused Spree database table
I randomly stumbled across this one and couldn't find any use of it. I
think that it refers to an old payment gateway that may have been used
by Spree once upon a time.
2023-01-05 11:05:15 +11:00
Maikel
31f7cadd92 Merge pull request #10217 from openfoodfoundation/dependabot/bundler/puma-6.0.2
Bump puma from 5.6.5 to 6.0.2 // Blocked by ofn-install/pull/855
2023-01-05 10:16:16 +11:00
Jean-Baptiste Bellet
972e0b5d0b Specify color for h4. Same as others titles. 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
927c1c81e5 Border and background for a panel 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
fd87013a63 Colorize and customize tagging componenent 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
274e0d0335 Same color but with variable 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
c5f3d3fa71 Use a darker grey for disabled button 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
26684f7db5 New colors for wizard progress 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
2ccb7de004 Specify cursor: default when button is disabled 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
7c321922ad Actually, this needs to be white since the body is no more white 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
d7e3e81c8c Adjust border color when active 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
d7454ecb9f Adjust border radius when drop is above 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
4c172b5ace Adjust color and height between input type text and select 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
6529a8d98f #clear_all_filters button as a secondary one 2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
ccfc632149 Whatever the condition, display the td
And put the `ng-if` inside the `td`, attached to a new `div`
2023-01-04 10:41:30 +01:00
dependabot[bot]
32ec39ad8c Merge pull request #10231 from openfoodfoundation/dependabot/npm_and_yarn/json5-1.0.2 2023-01-04 09:39:08 +00:00
dependabot[bot]
449d500371 Bump json5 from 1.0.1 to 1.0.2
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 09:25:17 +00:00
dependabot[bot]
cbb7e52795 Merge pull request #10230 from openfoodfoundation/dependabot/bundler/bullet-7.0.7 2023-01-04 09:24:24 +00:00
dependabot[bot]
1eb1beda3b Bump bullet from 7.0.5 to 7.0.7
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.5 to 7.0.7.
- [Release notes](https://github.com/flyerhzm/bullet/releases)
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.0.5...7.0.7)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-04 09:03:38 +00:00
Maikel Linke
da4069679c Link relative report path instead of absolute URL
You can reach a development server under localhost, 127.0.0.1, 0.0.0.0
or other names you define in your environment. The reports were using
absolute links to localhost though and therefore breaking your session
(login) while navigating.

I'm not sure why this was done though. Sebastian didn't explain this in
the commit message and it may have been accidental.
2023-01-04 15:43:12 +11:00
Jean-Baptiste Bellet
b858371735 Be more specific on allowed request origins by adding OFN_URL
+ add same configuration for production
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
992b497b75 Allow request origins
https://guides.rubyonrails.org/action_cable_overview.html#allowed-request-origins
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
53fa2ef8d5 Change order of the Actions menu: resend, print, cancel
It's more close to the Actions menu for a specific order (ie. on page `/admin/orders/[ORDER_ID]/edit`)
2023-01-03 10:32:11 +01:00
Maikel
79f602b4ea Remove unnecessary spec line 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
ab39341192 Add permission management with cancancan 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
edc0c189df Add spec for bulk "Resend email confirmation" action 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
7e844ee289 Implement resend email confirmation bulk action
- Create a controller that send a reflex action with the order_ids array
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
bcc9d447e1 Create a reflex that handle re-send email confirmation to user 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
9997fe26fc Small adjustments to make it usable in admin section 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
519c15a9d5 Create a ConfirmModalComponent
- Inherits from ModalComponent
 - Has a close button
 - Accept `confirm_actions` to trigger reflexes
 - Accept `controller` to encapsulate stimulus reflexe controllers
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
64ca0a4eea Extract open/close/closeIfEscapeKey methods to a mixins
therefore we can compose any controller from it
 - simplify `help-modal-controller` then
 - + create a simple `modal-controller` that close on `modal:close` event
2023-01-03 10:30:25 +01:00
Jean-Baptiste Bellet
2fde3abe37 Extract a StimulusJS modal_controller
+ make `help_modal_link_controller` inherit from it
2023-01-03 10:30:25 +01:00
Jean-Baptiste Bellet
c3805b8187 Create ModalComponent and make HelpModalComponent inherit from it 2023-01-03 10:30:25 +01:00
dependabot[bot]
70b1888d45 Merge pull request #10225 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-1.3.15 2023-01-03 09:27:11 +00:00
dependabot[bot]
f03df26e4e Merge pull request #10224 from openfoodfoundation/dependabot/npm_and_yarn/husky-8.0.3 2023-01-03 09:22:35 +00:00
dependabot[bot]
662ca16aa3 Bump js-big-decimal from 1.3.13 to 1.3.15
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 1.3.13 to 1.3.15.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v1.3.13...v1.3.15)

---
updated-dependencies:
- dependency-name: js-big-decimal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-03 09:01:30 +00:00
dependabot[bot]
07f9379956 Bump husky from 8.0.2 to 8.0.3
Bumps [husky](https://github.com/typicode/husky) from 8.0.2 to 8.0.3.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v8.0.2...v8.0.3)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-03 09:01:14 +00:00
Maikel
f122f4bf50 Merge pull request #10188 from filipefurtad0/error_message_inventory_import
Adds coverage for error message in product and inventory import
2023-01-03 16:28:25 +11:00
Maikel
4a250f41f3 Merge pull request #10168 from filipefurtad0/updates_bom_spec
Updates BOM system spec - prepares for #10123
2023-01-03 15:20:37 +11:00
Maikel
388923e963 Merge pull request #10218 from openfoodfoundation/dependabot/bundler/bullet-7.0.5
Bump bullet from 7.0.4 to 7.0.5
2023-01-03 15:18:27 +11:00
Maikel
235f4bb767 Merge pull request #10219 from openfoodfoundation/dependabot/bundler/rubocop-1.42.0
Bump rubocop from 1.41.1 to 1.42.0
2023-01-03 15:17:58 +11:00
filipefurtad0
3a3fc066dc Comments out flaky example with xit 2023-01-02 19:20:00 +00:00
filipefurtad0
f3ff70a9f2 Updates BOM system spec after changes from #10123 2023-01-02 12:58:22 +00:00
filipefurtad0
5ae6223a8c Updates error messages after #10174 merge 2023-01-02 11:15:26 +00:00
filipefurtad0
a465093d12 Adds coverage for inconsistent variant unit name on csv - product creation 2023-01-02 11:15:26 +00:00
filipefurtad0
95c9f9afbb Adds coverage for inconsistent variant unit name on csv - inventory import 2023-01-02 11:15:26 +00:00
dependabot[bot]
2842f2bb9e Bump rubocop from 1.41.1 to 1.42.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.41.1 to 1.42.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.41.1...v1.42.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 09:05:39 +00:00
dependabot[bot]
dc8ccba972 Bump bullet from 7.0.4 to 7.0.5
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/flyerhzm/bullet/releases)
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.0.4...7.0.5)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 09:04:05 +00:00
dependabot[bot]
a0d7f10256 Bump puma from 5.6.5 to 6.0.2
Bumps [puma](https://github.com/puma/puma) from 5.6.5 to 6.0.2.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v5.6.5...v6.0.2)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 09:02:00 +00:00
Sigmund Petersen
d5ef68323e Merge pull request #10169 from cillian/remove-unused-angular-directives
Remove unused angular directives
2023-01-01 13:14:23 +01:00
Rachel Arnould
6c1c103272 Merge pull request #10080 from jibees/10075-change-edit-order-page-colors
[WIP 🚧 ] Admin - Order edition, behind feature toggle `admin_style_v2`: adjust colors
2022-12-30 11:42:23 +01:00
dependabot[bot]
985cf990d6 Merge pull request #10214 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.7.0 2022-12-30 09:35:54 +00:00
dependabot[bot]
22eee4493f Bump knapsack_pro from 3.6.0 to 3.7.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: knapsack_pro
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-30 09:01:14 +00:00
Jean-Baptiste Bellet
74b618230f Put action icons on the same line inside a .flex container 2022-12-30 09:39:01 +01:00
Jean-Baptiste Bellet
5601a6d3b6 Darken labels since the background is now more white but light grey 2022-12-29 14:47:12 +01:00
Jean-Baptiste Bellet
7b7718977f Put action icons on the same line with .flex container
As they are now `display: flex;` (due to alignement of the background, and the icon itself), we are obliged to add this small container
2022-12-29 14:44:30 +01:00
Maikel Linke
c54942d1ce Update translations 2022-12-29 10:14:50 +11:00
Filipe
fdc78b717e Merge pull request #10123 from jibees/10017-introduce-a-filter-results-button-on-the-bom-page
Introduce a filter results button on the BOM page
2022-12-28 16:55:30 +00:00
Rachel Arnould
95821098d8 Merge pull request #10154 from jibees/10146-split-checkout-design-changes-part-1
Split checkout design changes part 1
2022-12-28 16:36:57 +01:00
Rachel Arnould
27643945ed Merge pull request #10200 from ijdershem/idersh/OFN-9834
[OFN-9834] Preserve 'Items' unit size selection on new product form e…
2022-12-28 16:05:43 +01:00
Jean-Baptiste Bellet
b0048cb453 Underline the text for title of the previously completed step 2022-12-28 15:27:37 +01:00
Jean-Baptiste Bellet
1e1ec95a5a Include payment form right after the payment description
which is right after the radio input that select the payment description
2022-12-28 15:24:46 +01:00
Jean-Baptiste Bellet
2d86e8857a Put payment method description just above the
+ update spec by adding `data-paymentmethod-id` attribute
2022-12-28 15:21:29 +01:00
Jean-Baptiste Bellet
f1bb4fdf38 Same display css rules for price of payment and shipping method
+ update spec since parenthesis are added by css
2022-12-28 15:21:29 +01:00
Jean-Baptiste Bellet
a6856f3d21 Cancel button looked as disabled: now use a orange border and white bg 2022-12-28 15:21:29 +01:00
Jean-Baptiste Bellet
ca1a850d4a Show shipping method description just bellow the radio input 2022-12-28 15:21:29 +01:00
Rachel Arnould
921e1f8083 Merge pull request #10113 from jibees/10112-remove-storybook-styleguide
Remove `@storybook`
2022-12-28 13:03:00 +01:00
Jean-Baptiste Bellet
a793fc9f99 Create a "None" calculator for shipping and payment methods
Only for payment and shipping methods
2022-12-27 17:49:48 +01:00
Jean-Baptiste Bellet
928b4144d5 Remove @storybook 2022-12-27 10:50:11 +01:00
Jean-Baptiste Bellet
93e736fdf6 Use label as a placeholder that move above the input when focused
Couldn't make a pure CSS version because of the way rails generates its errors (it add `<span />` over the element, either `input` or `label`, itself)
2022-12-27 10:47:18 +01:00
Jean-Baptiste Bellet
988dcc6081 Use two columns for contact info and first/last name
For small screen, it's a one column
2022-12-27 10:46:59 +01:00
Jean-Baptiste Bellet
d43f0331ac Contact information section for email + phone number
+ add first name and last name to the billing address section
2022-12-27 10:46:38 +01:00
Jean-Baptiste Bellet
dcbe9dd1cb Do not underline element that aren't link 2022-12-27 10:46:37 +01:00
Filipe
c96bba8094 Merge pull request #10137 from ijdershem/idersh/issue-9834-pt2
[OFN-9834-PT2] Fix new product form error label styling
2022-12-26 11:54:25 +00:00
Filipe
45a49d01ec Merge pull request #10064 from abdellani/add_final_weight_to_occt_report_
Add final weight to occt report
2022-12-26 11:32:08 +00:00
dependabot[bot]
3b6d0a8760 Merge pull request #10203 from openfoodfoundation/dependabot/bundler/mini_portile2-2.8.1 2022-12-26 10:00:23 +00:00
dependabot[bot]
5f4aed92d8 Merge pull request #10204 from openfoodfoundation/dependabot/bundler/simplecov-0.22.0 2022-12-26 09:59:51 +00:00
dependabot[bot]
a118c786ef Merge pull request #10202 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.1.0 2022-12-26 09:58:11 +00:00
dependabot[bot]
1572a81274 Merge pull request #10205 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.17.4 2022-12-26 09:55:12 +00:00
dependabot[bot]
6f8dc4dd79 Bump rubocop-rails from 2.17.3 to 2.17.4
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.17.3 to 2.17.4.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.17.3...v2.17.4)

---
updated-dependencies:
- dependency-name: rubocop-rails
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 09:03:23 +00:00
dependabot[bot]
6879643044 Bump simplecov from 0.21.2 to 0.22.0
Bumps [simplecov](https://github.com/simplecov-ruby/simplecov) from 0.21.2 to 0.22.0.
- [Release notes](https://github.com/simplecov-ruby/simplecov/releases)
- [Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md)
- [Commits](https://github.com/simplecov-ruby/simplecov/compare/v0.21.2...v0.22.0)

---
updated-dependencies:
- dependency-name: simplecov
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 09:02:54 +00:00
dependabot[bot]
2a0cd5e275 Bump mini_portile2 from 2.8.0 to 2.8.1
Bumps [mini_portile2](https://github.com/flavorjones/mini_portile) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/flavorjones/mini_portile/releases)
- [Changelog](https://github.com/flavorjones/mini_portile/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flavorjones/mini_portile/compare/v2.8.0...v2.8.1)

---
updated-dependencies:
- dependency-name: mini_portile2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 09:01:28 +00:00
dependabot[bot]
af7c11bb3e Bump @floating-ui/dom from 1.0.12 to 1.1.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.12 to 1.1.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.1.0/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 09:01:28 +00:00
dependabot[bot]
046d7d5f44 Merge pull request #10189 from openfoodfoundation/dependabot/bundler/rubocop-1.41.1 2022-12-26 08:40:18 +00:00
dependabot[bot]
81e1bb19a3 Merge pull request #10190 from openfoodfoundation/dependabot/bundler/view_component-2.80.0 2022-12-26 08:39:55 +00:00
dependabot[bot]
d30d3d256d Merge pull request #10196 from openfoodfoundation/dependabot/bundler/jwt-2.6.0 2022-12-26 08:39:35 +00:00
dependabot[bot]
850c845992 Merge pull request #10197 from openfoodfoundation/dependabot/bundler/debug-1.7.1 2022-12-26 08:39:07 +00:00
Mohamed ABDELLANI
f1b81613d6 fix OCCT unit test 2022-12-26 08:47:42 +01:00
Mohamed ABDELLANI
e3914ed306 add final_weight_volume column to the hidden by default column of OCCT report 2022-12-26 08:29:36 +01:00
ijdershem-jf
ef092dd53a [OFN-9834] Fix red error highlighting on product unit value label
[OFN-9834] Fix unit value form label association

[OFN-9834] Update tests to reference correct product unit 'Value' field id
2022-12-24 18:36:41 -07:00
ijdershem-jf
5e0287d93f [9834] Fix red error highlighting on product category select label 2022-12-24 18:13:23 -07:00
ijdershem-jf
58fb2ebe29 [9834] Fix red error highlighting on product unit selection label 2022-12-24 09:44:37 -07:00
ijdershem-jf
0d37614e90 [OFN-9834] Preserve 'Items' unit size selection on new product form error 2022-12-24 09:31:31 -07:00
dependabot[bot]
cb4b54c927 Bump rubocop from 1.41.0 to 1.41.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.41.0 to 1.41.1.
- [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.41.0...v1.41.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-24 10:27:11 +00:00
dependabot[bot]
a9a7ad5cb3 Bump debug from 1.7.0 to 1.7.1
Bumps [debug](https://github.com/ruby/debug) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: debug
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-24 10:27:04 +00:00
dependabot[bot]
46562aace7 Bump view_component from 2.79.0 to 2.80.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.79.0 to 2.80.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.79.0...v2.80.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-24 10:26:49 +00:00
dependabot[bot]
a57d1863c0 Bump jwt from 2.5.0 to 2.6.0
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/jwt/ruby-jwt/releases)
- [Changelog](https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jwt/ruby-jwt/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: jwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-24 10:26:11 +00:00
jibees
fd74473bdd Merge pull request #10199 from filipefurtad0/fixes_list_spec
Changes dates to be dynamic using Time.zone.now
2022-12-24 11:22:34 +01:00
filipefurtad0
78c29f2c6a Changes dates to be dynamic using Time.zone.now
Strips leading zeroes from datepicker assertion
2022-12-23 17:11:49 +00:00
Rachel Arnould
7a62a95e0b Merge pull request #10103 from binarygit/stop-horizontal-scroll-of-body-in-order-summary-page
[Split Checkout] Stop horizontal scroll on body in order summary page
2022-12-23 10:29:21 +01:00
Jean-Baptiste Bellet
b8e4dcac7c Update all locales with the latest Transifex translations 2022-12-23 10:27:19 +01:00
Filipe
944d552f6b Merge pull request #10156 from ijdershem/idersh/issue-9834-pt3
[OFN-9834-PT3] Add placeholder for new product supplier field
2022-12-22 15:42:38 +00:00
Filipe
c3e4c53a01 Merge pull request #10074 from binarygit/order-cycle-closes-during-split-co
Redirect to shopfront when Order cycle closes during split checkout
2022-12-22 15:09:57 +00:00
Filipe
ae59621341 Merge pull request #10174 from ijdershem/idersh/OFN-9870
[OFN-9870] Correct error message for differing variant_unit_name for same product in import
2022-12-22 11:20:12 +00:00
Filipe
d61affd82b Merge pull request #10093 from vviekk/viv/noneTranslate
Translating text 'None' for tax and shipping categories of the product
2022-12-21 21:45:05 +00:00
jibees
c0364a845d Merge pull request #10172 from filipefurtad0/fix_flaky_invoice_spec_2
Removes line break for displaying product units
2022-12-21 18:37:50 +01:00
Filipe
47e100607c Merge pull request #10041 from abdellani/add_on-hand_and_on-demand_to_product_report
Add 'on hand' and 'on demand' to Products report
2022-12-21 17:31:21 +00:00
filipefurtad0
7f17bfaa9a Separates assertions to account for line breaks
Rubocop corrections
2022-12-21 17:25:30 +00:00
jibees
e9f92d39aa Merge pull request #10184 from abdellani/fix-zeitwork-load-exception
prevent loading the reporting module if already loaded [dev environment]
2022-12-21 11:26:19 +01:00
Mohamed ABDELLANI
23462e9965 avoid loading reporting lib if it's already loaded 2022-12-21 10:58:48 +01:00
Mohamed ABDELLANI
0d0c568b10 overwrite the default fields_to_hide to [] on OrderCycleSupplierTotals tests 2022-12-21 07:33:05 +01:00
Mohamed ABDELLANI
155b8ed725 subtract fields_to_hide when the fields_to_show are calculated 2022-12-21 07:32:18 +01:00
Mohamed ABDELLANI
11ea6b39cf test if All products report returns on_hand and on_demand 2022-12-21 07:23:32 +01:00
ijdershem-jf
18e9aba6b8 [OFN-9870] Display accurate error message for differing variant_unit_name for same product in import 2022-12-20 08:19:47 -07:00
Filipe
561458ce43 Merge pull request #9933 from Laurel16/instagram
Admin, Enterprise Settings, Social: Add instagram handler validator
2022-12-20 12:40:57 +00:00
Filipe
6f3d27b99b Merge pull request #10089 from abdellani/fix-payment-non-3d-need-to-be-manually-captured-in-BO
Fix Payments with non-3D cards need to be manually captured in the BO (Split checkout)
2022-12-20 10:09:45 +00:00
dependabot[bot]
8e5495c34d Merge pull request #10176 from openfoodfoundation/dependabot/bundler/rubocop-1.41.0 2022-12-20 09:18:06 +00:00
dependabot[bot]
59b727aa95 Bump rubocop from 1.40.0 to 1.41.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.40.0 to 1.41.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.40.0...v1.41.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 09:04:30 +00:00
binarygit
3b179e75a4 Stop horizontal scroll on body in cart page 2022-12-19 21:30:31 +05:45
Jean-Baptiste Bellet
2ff50587d8 Align icon content in the center via display: flex; 2022-12-19 11:53:58 +01:00
Jean-Baptiste Bellet
2296a51dd2 Remove useless CSS class .filte-row 2022-12-19 10:50:00 +01:00
dependabot[bot]
33896a73f3 Merge pull request #10171 from openfoodfoundation/dependabot/bundler/shoulda-matchers-5.3.0 2022-12-19 09:33:32 +00:00
dependabot[bot]
d97f49d1d4 Bump shoulda-matchers from 5.2.0 to 5.3.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: shoulda-matchers
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 09:03:57 +00:00
Cillian O'Ruanaidh
c000010d0b Update CSS comment to reflect that singleLineSelectors directive was replaced by filterSelectors 2022-12-16 16:24:42 +00:00
Cillian O'Ruanaidh
26baad53e4 Remove unused singleLineSelectors angular directive 2022-12-16 14:50:09 +00:00
Jean-Baptiste Bellet
86c437ee24 No need to be as specific
Didn't work for firefox.
Seems to be useless now, removing it.
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
19bd067379 White background for dropdowns 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
20596b9441 Mark as icon-remove and then considered as secondary 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
d8e22a5ee7 Add rounded corner on top of table header 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
896743ee34 Icon road (ie. ship button) should be dark blue on hover 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
f935a27253 Override border color when open or active for multi select 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
54fd768aa4 Darker blue instead of green on the side menu when active or hover 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
89acd3a589 Body is now with bg-color $v2-body-bg, ie. #f7f9fa 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
819cf5cc49 Add this td even if empty
easier to design table then
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
10b0f9b650 Be more and more specific to be sure that this overrides applies 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
67cca34daa Consider remove button as a secondary one 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
19f3fd872f Re-organise to be as clear as possible
Use default then override
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
3175f0f68c Specify for edit, capture, ok and plus icons: background is always blue
The previously success color (which is green) is doesn't fit the v2 design
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
5f7f7c78b0 Change tom-select colors
cf. select2
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
aa26e15e6b Permit to use hovering background color get from the state
Do not override, and then, icon can be:
 - red if it's a delete icon,
 - green if it's ..
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
64d467ce39 Specify table#listing_orders and be as generic as possible for table 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
727e6d4966 Only called in a v2 context, no need to specify a selector
+ adjust that should be adjusted
2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
66134c24b7 Sidebar should be blue instead of green 2022-12-16 15:48:36 +01:00
Jean-Baptiste Bellet
19d5723dd6 In v2, .cancel button are secondary 2022-12-16 15:48:36 +01:00
Jean-Baptiste Bellet
03c38aee3c Only import v2 scss files in a v2 context 2022-12-16 15:48:36 +01:00
Jean-Baptiste Bellet
ada76a9bf7 Create a palette mixin that override global color variables
This is widely used elsewhere and especially for all the state colors
2022-12-16 15:48:26 +01:00
Jean-Baptiste Bellet
bf073599d7 Align before pseudo component by using flex (and not width and padding) 2022-12-16 15:48:26 +01:00
Jean-Baptiste Bellet
faf106b282 Specify color for [class*="icon-"] as well 2022-12-16 15:48:26 +01:00
Cillian O'Ruanaidh
d79b4bdcf9 Remove unused fillVertical angular directive 2022-12-16 13:10:36 +00:00
Cillian O'Ruanaidh
d90d352a86 Remove unused showMore angular directive 2022-12-16 12:55:28 +00:00
dependabot[bot]
1ca305ab7c Merge pull request #10166 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.12 2022-12-16 10:33:18 +00:00
dependabot[bot]
ea07795304 Bump @floating-ui/dom from 1.0.10 to 1.0.12
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.10 to 1.0.12.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.12/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-16 09:01:18 +00:00
Jean-Baptiste Bellet
f8ec71d0d8 Update all locales with the latest Transifex translations 2022-12-16 09:34:23 +01:00
Filipe
006ad6be73 Merge pull request #9929 from abdellani/fix-available-shipping-payment-methods-dont-respect-oc-setting
fix payment methods loading on multi-distributor order cycle checkout page
2022-12-15 17:05:03 +00:00
Filipe
d995e7630c Merge pull request #10076 from abdellani/fix-available-shipping-methods-dont-respect-oc-setting
Fix available shipping methods dont respect oc setting
2022-12-15 16:52:16 +00:00
dependabot[bot]
36b3cbb300 Merge pull request #10162 from openfoodfoundation/dependabot/bundler/test-unit-3.5.7 2022-12-15 14:56:56 +00:00
dependabot[bot]
0a5eb9386c Bump test-unit from 3.5.5 to 3.5.7
Bumps [test-unit](https://github.com/test-unit/test-unit) from 3.5.5 to 3.5.7.
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](https://github.com/test-unit/test-unit/compare/3.5.5...3.5.7)

---
updated-dependencies:
- dependency-name: test-unit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-15 09:04:54 +00:00
ijdershem-jf
741dc0e29c [9834-PT3] Add en translation for new product supplier select placeholder 2022-12-14 20:35:19 -07:00
Filipe
d801b6e970 Merge pull request #10102 from binarygit/enable-save-btn-after-removing-fee
[Admin][Order Cycle] Enable save btn after removing fee
2022-12-14 17:13:32 +00:00
Filipe
7fe7a672ae Merge pull request #9990 from abdellani/get_producer_and_product_taxt_status_in_OCSTR
add producer and product tax category tax status to the OCSTs report
2022-12-14 15:25:22 +00:00
Rachel Arnould
fd95970774 Merge pull request #8996 from jibees/introduce-backoffice-ui-uplift
Introduce backoffice UI uplift
2022-12-14 14:20:43 +01:00
Jean-Baptiste Bellet
a0056553b0 Do not override date range selection when an order cycle is selected
Therefor user can change date range after selecting an order cycle
2022-12-14 10:14:54 +01:00
Jean-Baptiste Bellet
87ae8a40d1 Put date filter after the order cycle selector
it's way easier to understand then that date range could change when selecting order cycle
2022-12-14 10:13:36 +01:00
Jean-Baptiste Bellet
ac494f97ec When changing order cycle selection, update date range selector value
Date selector should change when selecting an order cycle in order to reflect the order cycle date range itself
2022-12-14 10:12:42 +01:00
dependabot[bot]
a046d0538b Merge pull request #10158 from openfoodfoundation/dependabot/bundler/rails-html-sanitizer-1.4.4 2022-12-14 08:16:38 +00:00
dependabot[bot]
9cd35ddd65 Bump rails-html-sanitizer from 1.4.3 to 1.4.4
Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: rails-html-sanitizer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-14 07:59:16 +00:00
dependabot[bot]
ac87daab4b Merge pull request #10155 from openfoodfoundation/dependabot/bundler/loofah-2.19.1 2022-12-14 07:58:33 +00:00
ijdershem-jf
ea45462e50 [9834-PT3] Add placeholder/default select option for new product supplier field 2022-12-13 18:17:49 -07:00
dependabot[bot]
bd0b251724 Bump loofah from 2.19.0 to 2.19.1
Bumps [loofah](https://github.com/flavorjones/loofah) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/flavorjones/loofah/releases)
- [Changelog](https://github.com/flavorjones/loofah/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flavorjones/loofah/compare/v2.19.0...v2.19.1)

---
updated-dependencies:
- dependency-name: loofah
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 20:38:27 +00:00
Rachel Arnould
f3d82b41ad Merge pull request #10108 from binarygit/transparent-bg-in-ff
Fix: Transparent background of 'Complete Order' area on Firefox mobile
2022-12-13 17:34:52 +01:00
dependabot[bot]
a1d939af24 Merge pull request #10153 from openfoodfoundation/dependabot/bundler/view_component-2.79.0 2022-12-13 09:21:38 +00:00
dependabot[bot]
eeacdb676e Bump view_component from 2.78.0 to 2.79.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.78.0 to 2.79.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.78.0...v2.79.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 09:04:37 +00:00
Jean-Baptiste Bellet
e971f46611 Change behavior: dates shouldn't have changed
Seems like more coherent with the new behavior (ie. don't load orders on filters changes but on click on "Filter Results" button)
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
5fd78a8db5 Update specs: Need to click on "Filter Results" button to update orders 2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
311675f2cf Used an already existing key
Update bulk_management.html.haml
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
97c3aaebb2 Update the view as well: remove red clear button
+ remove all `refreshData()` callback on input change
+ align html (add fieldset, legend) to look same as `/admin/orders`
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
4716ed19dc Remove the watch collection on date range: not needed anymore
Yes!
This simplifies a lot the code now since we have a "Search" button and we don't need to watch for date range changes
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
cd743e5c2c Call resetSelectFilters on page load
+ init start and end date with a method (will be re-used)
2022-12-12 16:18:39 +01:00
jibees
21366f8109 Merge pull request #10127 from filipefurtad0/split_system_tests
Splits admin and consumer system tests into two runner machines
2022-12-12 16:14:56 +01:00
jibees
e4bfe7fac6 Merge pull request #10057 from filipefurtad0/fix_rspec_mocks_deprecation_2
Updates syntax to remove depracation warnings
2022-12-12 16:02:52 +01:00
Jean-Baptiste Bellet
a8278446b3 Simplify the way we render the name column 2022-12-12 15:20:30 +01:00
Jean-Baptiste Bellet
10bfe00123 Rename column "Name" 2022-12-12 15:20:30 +01:00
dependabot[bot]
e790fc2b7b Merge pull request #10140 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.6.0 2022-12-12 13:52:50 +00:00
dependabot[bot]
deff728ca8 Merge pull request #10138 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.10 2022-12-12 13:51:59 +00:00
dependabot[bot]
064e97d7ee Bump knapsack_pro from 3.5.0 to 3.6.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: knapsack_pro
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 09:05:44 +00:00
dependabot[bot]
3003ba0fc0 Bump @floating-ui/dom from 1.0.9 to 1.0.10
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.9 to 1.0.10.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.10/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 09:02:19 +00:00
Mohamed ABDELLANI
9fbdb311b0 Update app/services/order_available_payment_methods.rb
Co-authored-by: jibees <jb.bellet@gmail.com>
2022-12-10 11:51:35 +01:00
Rachel Arnould
5ed6e5599d Merge pull request #9943 from mkllnk/dfc-provider-test
DFC 1.6 prototype
2022-12-09 19:35:49 +01:00
filipefurtad0
900ff6d053 Enables queue mode for system/admin and system/consumer 2022-12-08 20:50:44 +00:00
filipefurtad0
4d605c7060 Splits admin and consumer system tests
Disables queue mode for system tests
2022-12-08 20:50:44 +00:00
Jean-Baptiste Bellet
ffba628691 Update all locales with the latest Transifex translations 2022-12-08 21:36:51 +01:00
Filipe
8b416a8eda Merge pull request #10106 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.5.0
Bump knapsack_pro from 3.4.2 to 3.5.0
2022-12-08 19:27:04 +00:00
filipefurtad0
2c18e97fb8 Fixes deprecation warnings on authorizer_spec 2022-12-08 18:42:48 +00:00
Laurel16
bfd396e644 Add instagram handler validator
update entreprise model to match the correct pattern for instagram attribute & add migration to correct wrong links in db + test
2022-12-08 15:22:05 +01:00
dependabot[bot]
e11d644a95 Merge pull request #10122 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.9 2022-12-08 11:09:34 +00:00
dependabot[bot]
26131d105e Merge pull request #10121 from openfoodfoundation/dependabot/bundler/rubocop-1.40.0 2022-12-08 11:08:50 +00:00
Mohamed ABDELLANI
84aedaa1a1 run process_payments before order confirmation 2022-12-08 11:13:54 +01:00
dependabot[bot]
cfa0a502f1 Bump @floating-ui/dom from 1.0.8 to 1.0.9
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.9/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 09:02:00 +00:00
dependabot[bot]
869a6b42d3 Bump rubocop from 1.39.0 to 1.40.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.39.0 to 1.40.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.39.0...v1.40.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 09:01:46 +00:00
dependabot[bot]
fdf3a0d7b7 Merge pull request #10118 from openfoodfoundation/dependabot/bundler/nokogiri-1.13.10 2022-12-08 07:48:22 +00:00
Mohamed ABDELLANI
d5c9c53d8b fix the failing test 2022-12-08 08:32:11 +01:00
dependabot[bot]
1f98ef5074 Bump nokogiri from 1.13.9 to 1.13.10
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 04:08:49 +00:00
Filipe
996d3afe4f Merge pull request #9983 from cillian/remove-exchange-tags-n1-query
Remove N+1 query loading tags for each order cycle exchange
2022-12-07 17:38:41 +00:00
Jean-Baptiste Bellet
500c4e8a2f Already handled by app/webpacker/controllers/index.js
Controller were instanced twice.
2022-12-07 15:38:20 +01:00
Jean-Baptiste Bellet
5002870b39 Add missing i18n translation for PaginationComponent 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
d97e9ae824 Remove white space 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
f0e0bac3b5 As components: key already exists, use it!
(this key was added during the development of the PR)
2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
ec31d63c58 Do not import/initialize twice
Already done in "controllers"
2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
9dfc22451e Selectors are close by default 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
3cf01623da Handle filtering on js controller for SelectorWithFilter 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
274ee2c6f6 Toggle is now controlled by the browser (and don't requires a reflex) 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
940b554d23 Toggle is now controlled by the browser (and don't requires a reflex) 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
91d1ecea2e Click the whole Selector instead of arrow only 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
fbf2315a93 Rename SuperSelector to SelectorWithFilter 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
428256a323 Exclude products_table_component from Metrics/ClassLength rubocop rule 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
20218c00ab Manage i18n for ProductsTable component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
18adcb7fa4 Handle i18n for SuperSelector component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
56b94342eb Manage i18n for SearchInput component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
758c40c646 Manage i18n for Products page 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
98391b60c6 Use CSS vars to match linter 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
3e03208cf5 Add loading state for ProductsTable component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
3ae5db907a Create js controller for ProductsTable component
Handle before/after reflex lifecycle methods on client side
Add 'loading" class on products-table component
2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
27c1fe2f06 Add search query input to search for product by name 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
122677bc7a Create SearchInput component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
22d13621f4 Only send close reflex if element is actually visible 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
265b4823a7 Add static var + freeze 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
5e689fcce3 No need to fetch as it's done inside beforeReflex lifecycle method 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
e801bb5e40 some CSS linter 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
d75c62a621 Add TableHeader component and better columns implementation 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
1de7fb6fe8 Create TableHeader component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
d37cd09c84 Use the reflex_data_attributes helper method 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
cb24efbc4a Some styling improvments 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
c23d4f63ed Add pagination to ProductsTable component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
c7197364d1 Add a pagination component that handle pagy 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
069b314ae7 Add producer and category to a product in the table
+ refactor and automatize optional column rendered
2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
7716d2734e Title of the items per page selector is clearer 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
8adcdf14a7 Include search by category and producer
+ use ransack (not sur this one is relevant)
 + fetch_products in the `before_render` lifecycle method
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
224daf2591 Factorize js controller between Selectore and SuperSelector components
+ add a computeItemsHeight on afterReflex callback
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
4fa88b9c18 Fatorize CSS between Selector and SuperSelector components 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
1adb22be71 Create SelectorWithFilter component 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
d4cfa7b368 Add header to the table 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
5c5a0c98f1 Rename selected to columns_selected 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
8ce3c9f449 Introduce a new selector: # of results per page 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
5ea7bea9b8 Selector now handle {label, value} instead of only string 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
461d31bef1 Create ProductsTable component that handle the table + all filters 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
8758a2701c Configure CSS for VC components
Move CSS for components in the component directory
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
2b7bccf890 Create Selector component
Add a onClickOutside behavior that close the component if clicked outside

Selector component doesn't handle its state but receive props from parent

u
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
7692cebbd3 Create Product component
Update product_component.html.haml
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
1869536529 Install view_component_reflex + cable_ready
+ Add stimulus reflex in the admin section

 + log stimulusreflex

 + Create channel and connection

 + Some logging options

 + Create application_controller each stimulus reflex controller should inherits from this one
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
d7d29e3654 Create a new controller for new products page
Controller is constrained by FeatureToggle

- new_products_page
 - and available on '/new_products'

Add simple view for new products page and a product

Add new products page as a new entry in the menu
2022-12-07 15:08:52 +01:00
dependabot[bot]
2aea5d4957 Merge pull request #10111 from openfoodfoundation/dependabot/npm_and_yarn/express-4.18.2 2022-12-07 14:02:04 +00:00
dependabot[bot]
a328888fc2 Bump express from 4.17.1 to 4.18.2
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.18.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.18.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-07 13:47:24 +00:00
jibees
c33c4860c8 Merge pull request #10110 from jibees/remove-test-prof
Remove `test-prof` as no longer required
2022-12-07 14:47:02 +01:00
jibees
efe8030786 Merge pull request #10071 from filipefurtad0/knapsack_fine_tuning
Simplifies build.yml syntax
2022-12-07 14:46:48 +01:00
Jean-Baptiste Bellet
76412bfcae Remove test-prof as no longer required 2022-12-07 14:29:58 +01:00
Jean-Baptiste Bellet
69faf590b0 Create a spy obj for order_cycle_form as required now by removeCoordinatorFee()
Based on `spec/javascripts/unit/admin/order_cycles/controllers/order_cycle_exchanges_controller_spec.js.coffee`
2022-12-07 09:37:31 +01:00
binarygit
2f037c3965 Fix: Transparent background of 'Complete Order' area on Firefox mobile 2022-12-07 12:21:03 +05:45
filipefurtad0
70193539b2 Fixes deprecation warnings on parameters_spec 2022-12-06 15:49:28 +00:00
filipefurtad0
8ee5050a49 Fixes deprecation warnings on tax_rate_spec 2022-12-06 15:49:28 +00:00
filipefurtad0
2e4a8f8ae8 Fixes deprecation warnings on payment_spec 2022-12-06 15:49:19 +00:00
dependabot[bot]
8ee05789ef Merge pull request #10105 from openfoodfoundation/dependabot/bundler/json-2.6.3 2022-12-06 09:40:21 +00:00
dependabot[bot]
e2a8ab16b4 Merge pull request #10104 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.8 2022-12-06 09:39:49 +00:00
dependabot[bot]
6fb337b81c Bump knapsack_pro from 3.4.2 to 3.5.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.4.2 to 3.5.0.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.4.2...v3.5.0)

---
updated-dependencies:
- dependency-name: knapsack_pro
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 09:04:54 +00:00
dependabot[bot]
387a46e1db Bump json from 2.6.2 to 2.6.3
Bumps [json](https://github.com/flori/json) from 2.6.2 to 2.6.3.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.6.2...v2.6.3)

---
updated-dependencies:
- dependency-name: json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 09:02:33 +00:00
dependabot[bot]
1db85e295b Bump @floating-ui/dom from 1.0.7 to 1.0.8
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.8/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 09:01:30 +00:00
Mohamed ABDELLANI
86c25e1d48 add on_demand/on_hand columns to all products_and_inventory/all_products report 2022-12-06 08:42:42 +01:00
binarygit
368cd76611 [Split Checkout] Stop horizontal scroll on body in order summary page 2022-12-06 12:12:38 +05:45
binarygit
7df2ad13c6 [Admin][Order Cycle] Enable save btn after removing fee 2022-12-06 10:22:10 +05:45
dependabot[bot]
fee99a95f8 Merge pull request #10086 from openfoodfoundation/dependabot/bundler/bugsnag-6.25.0 2022-12-05 14:00:17 +00:00
dependabot[bot]
ab70a85866 Merge pull request #10095 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-1.3.13 2022-12-05 10:03:54 +00:00
dependabot[bot]
d31c2d95b3 Merge pull request #10096 from openfoodfoundation/dependabot/bundler/debug-1.7.0 2022-12-05 10:03:38 +00:00
dependabot[bot]
44af982b3e Merge pull request #10094 from openfoodfoundation/dependabot/bundler/digest-3.1.1 2022-12-05 10:02:51 +00:00
dependabot[bot]
2ea22248e0 Bump digest from 3.1.0 to 3.1.1
Bumps [digest](https://github.com/ruby/digest) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/ruby/digest/releases)
- [Commits](https://github.com/ruby/digest/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: digest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 09:49:09 +00:00
dependabot[bot]
9d58f16012 Bump debug from 1.6.3 to 1.7.0
Bumps [debug](https://github.com/ruby/debug) from 1.6.3 to 1.7.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.6.3...v1.7.0)

---
updated-dependencies:
- dependency-name: debug
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 09:48:38 +00:00
dependabot[bot]
f2838105fe Bump js-big-decimal from 1.3.12 to 1.3.13
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 1.3.12 to 1.3.13.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v1.3.12...v1.3.13)

---
updated-dependencies:
- dependency-name: js-big-decimal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 09:48:27 +00:00
Mohamed ABDELLANI
500c23ce27 fix failing tests after replacing "" with none 2022-12-05 10:03:56 +01:00
Mohamed ABDELLANI
fac8926396 map nil to "none" in format cell 2022-12-05 08:57:07 +01:00
Mohamed ABDELLANI
bd4b3110c1 test OrderCycleSupplierTotals with different combination: product with/without tax category, supplier enabled/disabled vat 2022-12-05 08:57:02 +01:00
Mohamed ABDELLANI
f7cd168f6d define producer_charges_sales_tax && product_tax_category as new hidden by default columns 2022-12-05 08:44:33 +01:00
vviekk
ccddb7ad65 Transalting text 'None' for tax and shipping categories of the product 2022-12-03 18:36:46 +05:30
Konrad
07c29df801 Merge pull request #10039 from abdellani/fix_missing_products_in_bulk_coop_packing_sheets_report
fix Missing products in Bulk co-op Packing Sheets report
2022-12-02 18:19:47 +01:00
Konrad
6ac21eaab4 Merge pull request #9999 from abdellani/add-ability-to-save-rendering-options-per-report
Add ability to save rendering options per report
2022-12-02 14:33:37 +01:00
dependabot[bot]
ff0b84c9c0 Merge pull request #10084 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-controls-6.5.14 2022-12-02 10:27:52 +00:00
dependabot[bot]
26f40dea6f Merge pull request #10085 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-docs-6.5.14 2022-12-02 10:27:32 +00:00
dependabot[bot]
188a0f5d25 Merge pull request #10087 from openfoodfoundation/dependabot/npm_and_yarn/decode-uri-component-0.2.2 2022-12-02 09:41:01 +00:00
dependabot[bot]
454c3d6e31 Bump @storybook/addon-docs from 6.5.13 to 6.5.14
Bumps [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/addons/docs) from 6.5.13 to 6.5.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.14/addons/docs)

---
updated-dependencies:
- dependency-name: "@storybook/addon-docs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:30:22 +00:00
dependabot[bot]
f76f885ffa Bump @storybook/addon-controls from 6.5.13 to 6.5.14
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/addons/controls) from 6.5.13 to 6.5.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.14/addons/controls)

---
updated-dependencies:
- dependency-name: "@storybook/addon-controls"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:30:01 +00:00
dependabot[bot]
f654e52fbb Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:29:54 +00:00
dependabot[bot]
b8400e3655 Merge pull request #10083 from openfoodfoundation/dependabot/npm_and_yarn/storybook/server-6.5.14 2022-12-02 09:29:23 +00:00
dependabot[bot]
8168f122a0 Bump bugsnag from 6.24.2 to 6.25.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.24.2 to 6.25.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.24.2...v6.25.0)

---
updated-dependencies:
- dependency-name: bugsnag
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:04:18 +00:00
dependabot[bot]
7a2084e4e7 Bump @storybook/server from 6.5.13 to 6.5.14
Bumps [@storybook/server](https://github.com/storybookjs/storybook/tree/HEAD/app/server) from 6.5.13 to 6.5.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.14/app/server)

---
updated-dependencies:
- dependency-name: "@storybook/server"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 09:01:21 +00:00
Jean-Baptiste Bellet
92dcf926b5 Update all locales with the latest Transifex translations 2022-12-01 17:44:16 +01:00
jibees
1fcc98af80 Merge pull request #10026 from abdellani/make_default_time_at_00_00_instead_of_12_00
Make default time at 00 00 instead of 12 00
2022-12-01 17:43:08 +01:00
dependabot[bot]
67dbf552b1 Merge pull request #10078 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.117.2 2022-12-01 09:54:36 +00:00
dependabot[bot]
899879b88d Merge pull request #10077 from openfoodfoundation/dependabot/bundler/wkhtmltopdf-binary-0.12.6.6 2022-12-01 09:53:08 +00:00
binarygit
764c8d7d27 Redirect to shopfront when OC closes during split checkout 2022-12-01 15:13:36 +05:45
dependabot[bot]
9a57935709 Bump aws-sdk-s3 from 1.117.1 to 1.117.2
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.117.1 to 1.117.2.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 09:04:02 +00:00
dependabot[bot]
5de928f452 Bump wkhtmltopdf-binary from 0.12.6.5 to 0.12.6.6
Bumps [wkhtmltopdf-binary](https://github.com/zakird/wkhtmltopdf_binary_gem) from 0.12.6.5 to 0.12.6.6.
- [Release notes](https://github.com/zakird/wkhtmltopdf_binary_gem/releases)
- [Changelog](https://github.com/zakird/wkhtmltopdf_binary_gem/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zakird/wkhtmltopdf_binary_gem/commits)

---
updated-dependencies:
- dependency-name: wkhtmltopdf-binary
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 09:03:12 +00:00
Mohamed ABDELLANI
2fa05ae248 test the case where 2 PR supports 2 SM, and only one SM is checked for a distributor in the OC 2022-11-30 12:43:23 +01:00
Mohamed ABDELLANI
ca795fcf6e fix OrderAvailableShippingMethods to load the select shipping methods only 2022-11-30 12:42:12 +01:00
Rachel Arnould
524d68496a Merge pull request #10054 from jibees/10034-change-orders-page-colors
[WIP 🚧 ] Admin/Orders, behind feature toggle `admin_style_v2`: adjust colors
2022-11-30 10:58:14 +01:00
dependabot[bot]
b117608229 Merge pull request #10072 from openfoodfoundation/dependabot/npm_and_yarn/stimulus-3.2.1 2022-11-30 09:20:16 +00:00
dependabot[bot]
1ccd580c7b Merge pull request #10073 from openfoodfoundation/dependabot/bundler/timecop-0.9.6 2022-11-30 09:18:51 +00:00
dependabot[bot]
bff38b2c5b Bump timecop from 0.9.5 to 0.9.6
Bumps [timecop](https://github.com/travisjeffery/timecop) from 0.9.5 to 0.9.6.
- [Release notes](https://github.com/travisjeffery/timecop/releases)
- [Changelog](https://github.com/travisjeffery/timecop/blob/master/History.md)
- [Commits](https://github.com/travisjeffery/timecop/compare/v0.9.5...v0.9.6)

---
updated-dependencies:
- dependency-name: timecop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 09:03:43 +00:00
dependabot[bot]
eb911d9fe3 Bump stimulus from 3.2.0 to 3.2.1
Bumps [stimulus](https://github.com/stimulusjs/stimulus) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/stimulusjs/stimulus/releases)
- [Changelog](https://github.com/hotwired/stimulus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusjs/stimulus/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: stimulus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 09:01:01 +00:00
Sigmund Petersen
9fa46d378f Merge pull request #10070 from filipefurtad0/fix_authentication_spec_#9913
Adds expectation to assure login was sucessful
2022-11-30 09:48:01 +01:00
filipefurtad0
2e5f0d302f Removes unecessary syntax 2022-11-30 09:05:19 +01:00
filipefurtad0
3c4845813d Adds expectation to assure login was sucessful 2022-11-29 16:45:01 +01:00
dependabot[bot]
7166fa6a25 Merge pull request #10068 from openfoodfoundation/dependabot/npm_and_yarn/stimulus-3.2.0 2022-11-29 14:28:33 +00:00
dependabot[bot]
9d36d1942e Merge pull request #10067 from openfoodfoundation/dependabot/bundler/view_component-2.78.0 2022-11-29 11:27:23 +00:00
Mohamed ABDELLANI
9dc3f2d69e add new parameter defaultDate to flatpickr to decide the default value when selector is opened 2022-11-29 11:12:33 +01:00
Filipe
7b07817bbf Merge pull request #10065 from openfoodfoundation/revert-9927-lazy-load-product-images
Revert "Load product images in the shop lazily to improve performance"
2022-11-29 10:27:54 +01:00
dependabot[bot]
a36627927d Merge pull request #10066 from openfoodfoundation/dependabot/bundler/bullet-7.0.4 2022-11-29 09:11:21 +00:00
dependabot[bot]
cc80949d56 Bump stimulus from 3.1.1 to 3.2.0
Bumps [stimulus](https://github.com/stimulusjs/stimulus) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/stimulusjs/stimulus/releases)
- [Changelog](https://github.com/hotwired/stimulus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusjs/stimulus/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: stimulus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 09:01:55 +00:00
dependabot[bot]
5c8bbb3a38 Bump view_component from 2.77.0 to 2.78.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.77.0 to 2.78.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.77.0...v2.78.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 09:01:38 +00:00
dependabot[bot]
e8669f0178 Bump bullet from 7.0.3 to 7.0.4
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.3 to 7.0.4.
- [Release notes](https://github.com/flyerhzm/bullet/releases)
- [Changelog](https://github.com/flyerhzm/bullet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.0.3...7.0.4)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 09:01:23 +00:00
jibees
ef31e1d063 Revert "Load product images in the shop lazily to improve performance" 2022-11-29 09:55:39 +01:00
Jean-Baptiste Bellet
4ef5609b0e This needs to be !important actually ;( 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
4e70a86fa9 Customize color for flatpickr 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
44f52c21db This is not only available when open or active but also when closed 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
e8b8a8961e Update links on the top to be blue as well 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
9a849bb2ee Default rule: a element are blue and darker blue by default 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
9c8525b797 Change default body text color 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
a9edc0cb9c Use the default blue for the link and a darker one when hovering 2022-11-28 14:36:51 +01:00
Jean-Baptiste Bellet
7556eee5d4 Do not display: flex; a td but its child
Actually, having `td.actions` with `display: flex;` cancel the `table-cell` height computation and it's then impossible to solve.
The solution here is to have a child (`div.flex`) that is `display: flex` and then the parent `td` can compute its height (as the same than its current row).
2022-11-28 14:36:51 +01:00
Filipe
44760ce8b6 Merge pull request #10014 from openfoodfoundation/dependabot/bundler/stripe-8.0.0
Bump stripe from 7.1.0 to 8.0.0
2022-11-28 12:03:33 +01:00
Mohamed ABDELLANI
005d5cafde test if the rendering options are stored for every reports seperately and if they persiste after logout 2022-11-28 11:35:00 +01:00
Jean-Baptiste Bellet
25ab334d73 Add box shadow on icon 2022-11-28 11:09:09 +01:00
dependabot[bot]
85dc32ffcb Merge pull request #10061 from openfoodfoundation/dependabot/bundler/bootsnap-1.15.0 2022-11-28 09:30:09 +00:00
dependabot[bot]
763d922510 Bump bootsnap from 1.14.0 to 1.15.0
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/Shopify/bootsnap/releases)
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: bootsnap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 09:02:58 +00:00
jibees
a8bb05c575 Merge pull request #10058 from filipefurtad0/reduce_number_of_nodes
Removes the number of nodes for system specs
2022-11-28 08:38:36 +01:00
Konrad
0ce1ccf2d6 Merge pull request #10040 from abdellani/add_variant_sku_to_ocst_report
add variant sku to the OCST report
2022-11-27 21:28:07 +01:00
Konrad
e288c7a551 Merge pull request #9956 from jibees/9626-resize-and-crop-logo-instead-of-just-resizing-should-fit-into-a-square
Enterprise logo: Resize and crop logo instead of just resizing --> logo should fit into a square
2022-11-27 20:28:55 +01:00
Konrad
dc030182db Merge pull request #10023 from abdellani/add-hub-filter-to-orders-and-distributors
Add filter by distributor in "Orders And Distributors" report
2022-11-27 19:52:19 +01:00
Konrad
ddd0b939fe Merge pull request #9968 from openfoodfoundation/9964-xero-reports-bugnsag-error-missing-target-element-checkbox-for-csv-select-controller
Xero report: Avoid js error due to missing element, check it exists before setting any properties
2022-11-27 19:20:16 +01:00
filipefurtad0
a4b6c05d58 Removes the number of nodes for system specs 2022-11-27 16:49:23 +01:00
Jean-Baptiste Bellet
b3d0c0f2d5 Adjust bg color for items for multi selector 2022-11-25 16:56:15 +01:00
Jean-Baptiste Bellet
3afd8b7189 Adjust color, size and padding for one item selector
Unfortunately `!important` is necessary... 😭 😭 😭
2022-11-25 16:53:31 +01:00
Jean-Baptiste Bellet
7d51bd7b83 Add secondary button 2022-11-25 16:47:48 +01:00
Jean-Baptiste Bellet
974842300c Prepare buttons to have a border
(and a background with the same color than the border)
2022-11-25 16:47:31 +01:00
Jean-Baptiste Bellet
9474b574ad Do not apply button to td.actions icons 2022-11-25 16:45:21 +01:00
jibees
3a490a1f26 Merge pull request #10056 from filipefurtad0/remove_performance_spec
Removes performance spec and folder
2022-11-25 16:09:23 +01:00
filipefurtad0
fce3c46e55 Removes performance spec and folder 2022-11-25 15:40:36 +01:00
dependabot[bot]
a95bef141f Merge pull request #10051 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.7 2022-11-25 09:10:29 +00:00
Mohamed ABDELLANI
e20e519201 test when two distributors support the same PMs, and only one PM is checked for a distributor in the OC 2022-11-25 10:04:29 +01:00
Mohamed ABDELLANI
c35c003e5a load exclusively the payment methods that are available on the distributor 2022-11-25 09:23:39 +01:00
Mohamed ABDELLANI
e25f4b1daa integrate ReportRenderingOptions in the View/Controller 2022-11-25 09:10:53 +01:00
David Cook
7b965718aa Authorise based on user's UID
And test to make sure the wrong user is not selected.
2022-11-25 16:14:25 +11:00
David Cook
61e7b59437 Refactor spec
Ready to expand in the next commit.
2022-11-25 16:14:20 +11:00
David Cook
ff9544e08b Allow AuthorizationControl to run without Warden
As explained in 36c44a5487, it's not normally good to change production code to make testing easier.
But this tiny change makes it more robust, and enables much simpler specs.
2022-11-25 16:01:42 +11:00
Maikel Linke
029c0afaa9 Verify token signature for authenticated login
We were just logging in any user without password or other verification
before. Now we verify the Keycloak signature and know that the person is
indeed logged in.
2022-11-25 14:49:36 +11:00
Maikel Linke
33ee03388f Add DFC product update action, not implemented 2022-11-25 14:49:36 +11:00
Maikel Linke
4d49266f0f Allow updates just with auth token
Rails usually requires an additional CSRF protection token but when it's
not present we ignore the user's session and use only the OIDC auth
token.
2022-11-25 14:49:36 +11:00
Maikel Linke
aea6f864d9 Update to DFC v1.6
I just replaced dfc: with dfc-b: where I found this key used in the
prototype. We may need to change more.
2022-11-25 14:49:36 +11:00
Maikel Linke
4cdb224434 Add missing rdfs prefix to DFC context 2022-11-25 14:49:36 +11:00
Maikel Linke
8d6615aa6b Start to spec DFC auth control 2022-11-25 14:49:36 +11:00
Maikel Linke
b0aa7b7b55 Use Rspec's http matcher for better fail output
The previous version would just say that it expected true and got false.
The specific matcher tells us which code it expected and which code it
found.
2022-11-25 14:49:36 +11:00
Maikel Linke
c90d2c7f9a Spec DFC authorisation with real token
Our code doesn't actually verify the token yet but at least we are not
mocking it all anymore.
2022-11-25 14:49:36 +11:00
Maikel Linke
63c1cd7bff Remove invalid id attribute from DFC offer
This one is a bit confusing. The attribute changes throughout the
different versions of the ontology and the DFC examples are not in line
with the specification. WIP I guess.

The previous nil attribute failed JSON-LD validation and DFC examples
just contain the reference as I did it now. But I think that we will
need to update it again vor DFC-v1.7.
2022-11-25 14:49:36 +11:00
Maikel Linke
ee3ec15bc4 Update URL to DFC ontology 2022-11-25 14:49:36 +11:00
Maikel Linke
b9a43df7fe Include DFC version in API URL
And let the OFN app decide under which name to mount the DFC engine.
It simplifies the code and will make it more flexible to introduce other
versions in the future.
2022-11-25 14:49:36 +11:00
Maikel Linke
fd274447fe Simplify DFC authentication code 2022-11-25 14:49:36 +11:00
Maikel Linke
52a98989e0 Allow logged in users to access DFC API
It makes testing in development so much easier.
2022-11-25 14:49:36 +11:00
Maikel Linke
96193a27a4 Simplify DFC authorisation control
I want to add other ways to authenticate for easier testing and possibly
more integrations. It will be easier to just test if we got a user or
not instead of testing pre-conditions to that as well.
2022-11-25 14:49:36 +11:00
Maikel Linke
2630fde763 Update dfc_provider for Active Storage images 2022-11-25 14:49:36 +11:00
Maikel Linke
a501bc9687 Encapsulate dfc_provider in api routing
Move /api/v0/dfc_provider to /api/dfc_provider. Before it got redirected
to v0 which caused some errors.
2022-11-25 14:49:36 +11:00
David Cook
f25fb19fe8 Merge pull request #10053 from filipefurtad0/knapsackpro_api_key_engines
[knapsack] Updates subfolder syntax and adds separate API key for engine tests
2022-11-25 12:37:28 +11:00
David Cook
25ed405da7 Merge pull request #10052 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.4.2
Bump knapsack_pro from 3.4.1 to 3.4.2
2022-11-25 11:14:18 +11:00
David Cook
00176b2b95 Merge pull request #10047 from filipefurtad0/fix_rspec_mocks_deprecation
Replaces stub with allow
2022-11-25 11:12:11 +11:00
David Cook
8f25718e62 Merge pull request #9973 from jibees/9972-remove-question-mark-from-capybara-saved-screenshots-in-order-to-save-it-through-ghactions
Sanitize `image_name` by removing all questions marks when saving any capybara screenshots
2022-11-25 09:51:56 +11:00
Jean-Baptiste Bellet
98b9395c31 Adjust table to reflect the new design
colors, size, border, padding/margin, ...
2022-11-24 16:46:22 +01:00
Jean-Baptiste Bellet
540c673924 Basically change colors for progress stuff 2022-11-24 16:45:45 +01:00
Jean-Baptiste Bellet
4149c14e8d Basically change colors for button components 2022-11-24 16:45:31 +01:00
Jean-Baptiste Bellet
af43fe9a5b Basically change colors for form inputs, fieldset 2022-11-24 16:45:03 +01:00
Jean-Baptiste Bellet
2a3c4d6649 Basically change colors for powertip component 2022-11-24 16:44:28 +01:00
Jean-Baptiste Bellet
c954187322 Basically change colors for select2 components 2022-11-24 16:44:09 +01:00
Jean-Baptiste Bellet
dbb7155114 Globally change body color 2022-11-24 16:43:33 +01:00
Jean-Baptiste Bellet
27b396cbc2 Add some colors and useful shadow
Will be used in the next coming commits
2022-11-24 16:43:02 +01:00
Jean-Baptiste Bellet
1abc406156 Do not ignore scss files in v2 folder
Starts with good habits.
2022-11-24 15:20:46 +01:00
Jean-Baptiste Bellet
5cab0f7f3d Use a darker orange color for selected menu 2022-11-24 15:20:46 +01:00
Rachel Arnould
56ce4ab04f Merge pull request #10025 from jibees/9998-new-admin-style
Admin, behind feature toggle `admin_style_v2`: new navigation menu
2022-11-24 14:59:04 +01:00
filipefurtad0
d351bf9a9a Adds Dir.glob syntax to include subdirectories 2022-11-24 12:56:17 +01:00
filipefurtad0
b447e4052c Removes empty spaces to comply to Dir.glob syntax 2022-11-24 12:07:16 +01:00
filipefurtad0
29196375f5 Adds separate API key for engine tests 2022-11-24 11:47:59 +01:00
Sigmund Petersen
23570be6a1 Merge pull request #10043 from filipefurtad0/flaky_complex_creating_specific
Adds retry: 3 to flaky example
2022-11-24 11:31:09 +01:00
Mohamed ABDELLANI
845133d3f6 group line_items by [customer,variant] in bulk/coop/packing_sheets 2022-11-24 11:06:09 +01:00
Mohamed ABDELLANI
b6a7ca3047 create ReportRenderingOptions model 2022-11-24 10:25:59 +01:00
dependabot[bot]
6652b7fe5c Bump knapsack_pro from 3.4.1 to 3.4.2
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: knapsack_pro
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-24 09:06:09 +00:00
dependabot[bot]
6cb17905cd Bump @floating-ui/dom from 1.0.6 to 1.0.7
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.7/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-24 09:01:15 +00:00
dependabot[bot]
6aa449aacb Merge pull request #10050 from openfoodfoundation/dependabot/npm_and_yarn/minimatch-3.1.2 2022-11-24 08:34:11 +00:00
Jean-Baptiste Bellet
c2f82202a6 sanitize image_name by removing all questions marks
Co-Authored-By: David Cook <david@redcliffs.net>
2022-11-24 07:49:14 +01:00
David Cook
6c219b31a3 Update all locales with the latest Transifex translations 2022-11-24 16:14:16 +11:00
dependabot[bot]
b889f31c1a Bump minimatch from 3.0.4 to 3.1.2
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-24 05:12:35 +00:00
David Cook
83c7764456 Merge pull request #9895 from filipefurtad0/adds_knapsack_pro
Adds knapsack_pro to the stack; updates configs
2022-11-24 16:11:19 +11:00
Konrad
23c3573b8f Merge pull request #10032 from vviekk/viv/latlong
Removing 'required' tag for 'Latitude / Longitude' for Enterprises
2022-11-23 23:45:20 +01:00
Konrad
7c8a3bd7c9 Merge pull request #9955 from jibees/fix-deprecation-warning
Fix deprecation warnings around class loading during initialization
2022-11-23 20:16:15 +01:00
filipefurtad0
b66d263bc6 Replaces stub with allow 2022-11-23 15:12:09 +01:00
filipefurtad0
9afa75d91c Adds retry: 3 to flaky example 2022-11-23 12:57:21 +01:00
Mohamed ABDELLANI
d15708d4e3 test if OCST report includes variant's sku 2022-11-23 09:51:26 +01:00
Mohamed ABDELLANI
dafbefe8e3 add sku to OCST report as hidden by default column 2022-11-23 09:50:34 +01:00
vviekk
9d33402d9e Merge branch 'master' into viv/latlong 2022-11-22 16:38:19 +05:30
dependabot[bot]
abf8d44935 Merge pull request #10028 from openfoodfoundation/dependabot/bundler/bootsnap-1.14.0 2022-11-22 10:44:08 +00:00
dependabot[bot]
fb15b19e88 Merge pull request #10029 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.17.3 2022-11-22 10:41:41 +00:00
dependabot[bot]
e5c6ff433c Merge pull request #10037 from openfoodfoundation/dependabot/bundler/view_component-2.77.0 2022-11-22 09:37:48 +00:00
dependabot[bot]
bb35629960 Bump view_component from 2.76.0 to 2.77.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.76.0 to 2.77.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.76.0...v2.77.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-22 09:09:25 +00:00
filipefurtad0
c4e75dc557 Removes knapsack non-pro 2022-11-21 15:04:47 +01:00
filipefurtad0
10d1d2066e Merges separate knapsack_pro build files into one
Renames jobs

Includes jest and karma tests in build file

Renames jest karma job

Moves build setup into build.yml file

Changes job names

Re-distributes nodes according to run-time
2022-11-21 15:04:15 +01:00
filipefurtad0
3c53214daa Enables fixed_queue_split 2022-11-21 10:02:14 +00:00
filipefurtad0
40a9c36c85 Increases nr of nodes for system specs 2022-11-21 10:02:14 +00:00
filipefurtad0
48ecbaaa16 Enables queue mode only for system tests 2022-11-21 10:02:14 +00:00
filipefurtad0
ef7684e079 Disables queue mode 2022-11-21 10:02:14 +00:00
filipefurtad0
04c3b8b9cf Sets failing performance specs as pending 2022-11-21 10:02:14 +00:00
filipefurtad0
fd3a54a904 Creates key for test_the_rest specs 2022-11-21 10:02:14 +00:00
filipefurtad0
236abe485a Splits test-the-rest specs 2022-11-21 10:02:14 +00:00
filipefurtad0
8fb11b9151 Increases ci_node_total for system specs 2022-11-21 10:02:14 +00:00
filipefurtad0
b9471d4f01 Sets same API key for models and engines 2022-11-21 10:02:14 +00:00
filipefurtad0
b5da120805 Splits engines
Keeps test-the-rest specs running without Knapsack
2022-11-21 10:02:14 +00:00
filipefurtad0
da5976d85d Splits model specs 2022-11-21 10:02:14 +00:00
filipefurtad0
9e1047288f Runs all the test-the-rest specs 2022-11-21 10:02:14 +00:00
filipefurtad0
ff9985dd88 Further splits the build 2022-11-21 10:02:14 +00:00
filipefurtad0
e62eca93c1 Simplifies settings 2022-11-21 10:02:14 +00:00
filipefurtad0
8d532ae262 Enables knapsack_pro by default 2022-11-21 10:02:14 +00:00
filipefurtad0
d2f28e2095 Makes API key public 2022-11-21 10:02:14 +00:00
filipefurtad0
dbd5186dfa Enables slow file pattern to run on system specs 2022-11-21 10:02:14 +00:00
filipefurtad0
61cb7c4402 Removes knapsack_pro config from spec_helper.rb 2022-11-21 10:02:14 +00:00
filipefurtad0
ccfb83d2cd Splits build into 50 jobs 2022-11-21 10:02:14 +00:00
filipefurtad0
d6aa0168b2 Creates fork disabling on forks
Changes run job to use bash file
2022-11-21 10:02:14 +00:00
filipefurtad0
2a8ef5a45e Updates build.yml to run the build the first time with knapsack_pro 2022-11-21 10:02:14 +00:00
filipefurtad0
c423641102 Adds knapsack_pro to the stack; updates configs 2022-11-21 10:02:14 +00:00
vviekk
22559a755f Removing 'required' tag for 'Latitude / Longitude' for Enterprises
Empty/Null values are valid in db and for existing use-cases
2022-11-21 15:19:28 +05:30
dependabot[bot]
e877f94e07 Bump rubocop-rails from 2.17.2 to 2.17.3
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.17.2 to 2.17.3.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.17.2...v2.17.3)

---
updated-dependencies:
- dependency-name: rubocop-rails
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 09:08:43 +00:00
dependabot[bot]
820fff0528 Bump bootsnap from 1.13.0 to 1.14.0
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/Shopify/bootsnap/releases)
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: bootsnap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 09:04:43 +00:00
Jean-Baptiste Bellet
09bcc772ff Remove useless line
Co-Authored-By: David Cook <david@redcliffs.net>
2022-11-21 09:49:06 +01:00
Jean-Baptiste Bellet
49e376f9b6 New design of the admin navigation menu! 2022-11-21 09:48:35 +01:00
Jean-Baptiste Bellet
85d3f5f9d7 Download OpenSans font also at 700 weight
needed in the navigation
2022-11-21 09:48:35 +01:00
Jean-Baptiste Bellet
9dd81604e9 Put navigation menu into span even if no icon next to it 2022-11-21 09:48:35 +01:00
Jean-Baptiste Bellet
61d3f79444 Add admin-v2 scss style file 2022-11-21 09:48:35 +01:00
Cillian O'Ruanaidh
b33d382069 Order BatchTaggableTagsQuery by name for consistency and to avoid flakey test failure 2022-11-18 15:05:03 +00:00
Cillian O'Ruanaidh
a8816b3788 Remove debugging code left in by accident 2022-11-18 14:40:30 +00:00
dependabot[bot]
204295dc91 Merge pull request #10013 from openfoodfoundation/dependabot/bundler/rswag-ui-2.8.0 2022-11-18 13:50:23 +00:00
dependabot[bot]
4ed71f1883 Merge pull request #10015 from openfoodfoundation/dependabot/bundler/rswag-api-2.8.0 2022-11-18 13:49:55 +00:00
jibees
92585b65c5 Merge pull request #10002 from heroinedor/fix/ofn-install-ci-unlock
unlock the ofn-install installation process
2022-11-18 11:38:43 +01:00
Pipo Bimbo
099f75befb pg_stat_statement extension already installed with ofn-install -> https://github.com/openfoodfoundation/ofn-install/blob/master/roles/datadog/tasks/pg_stats.yml#L2 2022-11-18 10:44:02 +01:00
Pipo Bimbo
2eaf79b149 missing dependency for ofn-install process 2022-11-18 10:44:02 +01:00
Jean-Baptiste Bellet
60f0a58508 Add admin-v2 on admin body if admin_style_v2 feature toggled on 2022-11-18 09:46:05 +01:00
Mohamed ABDELLANI
688020a304 test filtering by distributor (orders_and_distributors_report_spec) 2022-11-18 08:55:16 +01:00
Mohamed ABDELLANI
4b1bd362e0 [skip ci] add hub filter to the Order and Distributors report 2022-11-18 07:29:08 +01:00
dependabot[bot]
4b3465de78 Bump rswag-api from 2.7.0 to 2.8.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.7.0...2.8.0)

---
updated-dependencies:
- dependency-name: rswag-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 10:21:18 +00:00
dependabot[bot]
b358468952 Bump stripe from 7.1.0 to 8.0.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 7.1.0 to 8.0.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v7.1.0...v8.0.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 09:03:39 +00:00
dependabot[bot]
c1c0a72184 Bump rswag-ui from 2.7.0 to 2.8.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.7.0...2.8.0)

---
updated-dependencies:
- dependency-name: rswag-ui
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 09:03:22 +00:00
Cillian O'Ruanaidh
fbe6dcba7a Remove N+1 query loading tags for each order cycle exchange 2022-11-11 17:01:46 +00:00
Jean-Baptiste Bellet
4f265eed2a Check that target exists before setting properties
In case of Xero reports, there are no checkbox
2022-11-10 09:55:36 +01:00
Jean-Baptiste Bellet
bdf132a833 Format file according to our prettier configuration 2022-11-10 09:49:28 +01:00
Jean-Baptiste Bellet
262b546836 Add some visual spacing 2022-11-08 14:59:23 +01:00
Jean-Baptiste Bellet
4bfd39caec The info tip indicates image should be 100*100, so display it at 100*100 size 2022-11-08 14:54:47 +01:00
Jean-Baptiste Bellet
58c8eae08c Enterprise logo: resize and crop at the center of image instead of just resize
Should fit in a square format
2022-11-08 14:54:11 +01:00
Jean-Baptiste Bellet
cb1b24695e Fix deprecation warnings around class loading during initialization
```
Fix deprecation warnings around class loading during initialization
Thi2022-11-08T08:54:57.542Z pid=40093 tid=nl9 WARN: DEPRECATION WARNING: Initialization autoloaded the constants ReportsHelper, DateTimeStringValidator et IntegerArrayValidator.

Being able to do this is deprecated. Autoloading during initialization is going
to be an error condition in future versions of Rails.

Reloading does not reboot the application, and therefore code executed during
initialization does not run again. So, if you reload ReportsHelper, for example,
the expected changes won't be reflected in that stale Module object.

These autoloaded constants have been unloaded.

In order to autoload safely at boot time, please wrap your code in a reloader
callback this way:

    Rails.application.reloader.to_prepare do
      # Autoload classes and modules needed at boot time here.
    end

That block runs when the application boots, and every time there is a reload.
For historical reasons, it may run twice, so it has to be idempotent.

Check the "Autoloading and Reloading Constants" guide to learn more about how
Rails autoloads and reloads.
```
2022-11-08 10:07:29 +01:00
571 changed files with 13511 additions and 18222 deletions

View File

@@ -2,3 +2,4 @@
.gitignore
log/*
tmp/*
node_modules/

11
.gitattributes vendored Normal file
View File

@@ -0,0 +1,11 @@
# Set default behavior to automatically normalize line endings.
* text=auto
# Set line endings to LF, even on Windows. Otherwise, execution within Docker fails.
# See https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#per-repository-settings
*.sh text eol=lf
# Same thing for following files, but they don't have an sh extension
pre-commit eol=lf
webpack-dev-server eol=lf
install-bundler eol=lf

View File

@@ -23,8 +23,7 @@ assignees: ''
## Finish on Tuesday
- [ ] Publish and notify [#global-community]:
> The next release is ready: https://github.com/openfoodfoundation/openfoodnetwork/releases/latest
- [ ] Publish and notify [#global-community] (this is automatically posted with a plugin)
- [ ] Deploy the new release to all managed instances.
<details><summary>Command line instructions</summary>
<pre>

View File

@@ -6,10 +6,12 @@ updates:
schedule:
interval: "daily"
open-pull-requests-limit: 10
# Only specific requirements are specified in Gemfile, so don't touch it.
versioning-strategy: lockfile-only
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
versioning-strategy: lockfile-only
# All versions are specified in package.json, so please update them.
versioning-strategy: increase

View File

@@ -33,7 +33,7 @@ jobs:
- name: Setup Brakeman
env:
BRAKEMAN_VERSION: '4.10' # SARIF support is provided in Brakeman version 4.10+
BRAKEMAN_VERSION: '5.4.0'
run: |
gem install brakeman --version $BRAKEMAN_VERSION

View File

@@ -8,7 +8,7 @@ on:
pull_request:
env:
DISABLE_KNAPSACK: true
DISABLE_KNAPSACK_PRO: false
TIMEZONE: UTC
COVERAGE: true
RAILS_ENV: test
@@ -17,7 +17,7 @@ permissions:
contents: read
jobs:
rspec:
knapsack_rspec_controllers:
runs-on: ubuntu-20.04
services:
postgres:
@@ -33,19 +33,15 @@ jobs:
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
matrix:
specs:
- "spec/controllers"
- "spec/models"
- "spec/lib"
- "spec/migrations"
- "spec/serializers"
- "spec/system/admin/[a-o0-9]*"
- "spec/system/admin/[p-z]*"
- "spec/system/consumer/[a-o0-9]*"
- "spec/system/consumer/[p-z]*"
- "engines/*/spec"
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [8]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7]
steps:
- uses: actions/checkout@v3
@@ -61,7 +57,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
@@ -72,7 +68,161 @@ jobs:
bundle exec rake db:schema:load
- name: Run tests
run: bundle exec rspec --profile -- ${{ matrix.specs }}
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 864ef557d85ea8e603e086c0387d5154
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
knapsack_rspec_models:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [7]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 09476e2ce491c12083df62768667c674
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/models/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
knapsack_rspec_system_admin:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [10]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ff2456e64c9f2aa5157eb0daf711d3c3
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
- name: Archive failed tests screenshots
if: failure()
@@ -83,7 +233,233 @@ jobs:
retention-days: 7
if-no-files-found: ignore
test-the-rest:
knapsack_rspec_system_consumer:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [10]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e52bd4390c853e6c5bdfe4d0334586c1
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
with:
name: failed-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
knapsack_rspec_engines:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: d6ea7ceb766404ccd016c19aa2c81b1c
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/serializers/**/*_spec.rb,engines/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
with:
name: failed-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
knapsack_rspec_test_the_rest:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e3b8800198d2d89b70c7edbdd85f8fd8
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_EXCLUDE_PATTERN: "{engines/**/*_spec.rb,spec/models/**/*_spec.rb,spec/controllers/**/*_spec.rb,spec/serializers/**/*_spec.rb,spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/system/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
non_knapsack_jest_karma:
runs-on: ubuntu-20.04
services:
postgres:
@@ -113,7 +489,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
@@ -122,12 +498,8 @@ jobs:
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run JS tests
run: bundle exec rake karma:run
- name: Run jest tests
run: yarn jest
- name: Run all other tests
run: bundle exec rspec --exclude-pattern "./models/**/*_spec.rb, ./controllers/**/*_spec.rb, ./serializers/**/*_spec.rb, ./lib/**/*_spec.rb, ./migrations/**/*_spec.rb, ./system/**/*_spec.rb"

View File

@@ -24,6 +24,14 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: prettier
uses: EPMatt/reviewdog-action-prettier@v1
with:

1
.gitignore vendored
View File

@@ -50,7 +50,6 @@ vendor/bundle/
coverage
/reports/
!/reports/README.md
/spec/components/stories/**/*.stories.json
/public/packs
/public/packs-test

View File

@@ -1 +1 @@
14.16.1
14.21.2

View File

@@ -1,6 +1,8 @@
# Basically, ignore everythings expect app/webpacker/controllers/*.js and app/webpacker/packs/*.js
*.css
*.scss
# Except v2
!/app/webpacker/css/admin/v2/**/*.scss
*.md
*.yml
*.yaml
@@ -10,7 +12,6 @@
babel.config.js
postcss.config.js
.storybook/
/app/assets/
/config/
/coverage/

View File

@@ -119,7 +119,6 @@ Layout/LineLength:
- 'spec/controllers/admin/bulk_line_items_controller_spec.rb'
- 'spec/controllers/admin/column_preferences_controller_spec.rb'
- 'spec/controllers/admin/enterprises_controller_spec.rb'
- 'spec/controllers/admin/manager_invitations_controller_spec.rb'
- 'spec/controllers/admin/order_cycles_controller_spec.rb'
- 'spec/controllers/admin/schedules_controller_spec.rb'
- 'spec/controllers/admin/stripe_accounts_controller_spec.rb'
@@ -440,6 +439,7 @@ Metrics/BlockNesting:
# Configuration parameters: CountComments, Max, CountAsOne.
Metrics/ClassLength:
Exclude:
- 'app/components/products_table_component.rb'
- 'app/controllers/admin/customers_controller.rb'
- 'app/controllers/admin/enterprises_controller.rb'
- 'app/controllers/admin/order_cycles_controller.rb'
@@ -681,18 +681,7 @@ Rails/ActiveRecordOverride:
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationController:
Exclude:
- 'engines/dfc_provider/app/controllers/dfc_provider/api/base_controller.rb'
# Offense count: 6
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationJob:
Exclude:
- 'app/jobs/bulk_invoice_job.rb'
- 'app/jobs/heartbeat_job.rb'
- 'app/jobs/order_cycle_closing_job.rb'
- 'app/jobs/order_cycle_notification_job.rb'
- 'app/jobs/subscription_confirm_job.rb'
- 'app/jobs/subscription_placement_job.rb'
- 'engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb'
# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
@@ -849,7 +838,6 @@ Rails/OutputSafety:
- 'lib/reporting/queries/query_builder.rb'
- 'lib/reporting/queries/query_interface.rb'
- 'lib/spree/money.rb'
- 'spec/system/admin/order_print_ticket_spec.rb'
# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).

View File

@@ -1,7 +0,0 @@
module.exports = {
stories: ['../spec/components/stories/**/*.stories.json'],
addons: [
'@storybook/addon-docs',
'@storybook/addon-controls',
],
};

View File

@@ -1,2 +0,0 @@
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300italic,400italic,300,700,700italic|Oswald:300,400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" media="screen" href="http://localhost:3000/assets/darkswarm/all.css" />

View File

@@ -1,5 +0,0 @@
export const parameters = {
server: {
url: `http://localhost:3000/rails/stories`,
},
};

View File

@@ -35,7 +35,10 @@ ENV BUNDLE_PATH /bundles
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
WORKDIR /usr/src/app
COPY .ruby-version .
# trim spaces and line return from .ruby-version file
COPY .ruby-version .ruby-version.raw
RUN cat .ruby-version.raw | tr -d '\r\t ' > .ruby-version
# Install Rbenv & Ruby
RUN git clone --depth 1 https://github.com/rbenv/rbenv.git ${RBENV_ROOT} && \

View File

@@ -11,6 +11,9 @@ Head to our wiki on [Learning Rails](https://github.com/openfoodfoundation/openf
The fastest way to make it work locally is to use Docker, you only need to setup git, see the [Docker setup guide](docker/README.md).
Otherwise, for a local setup you will need:
* Ruby and bundler (check current Ruby version in [.ruby-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.ruby-version) file)
- To manage versions, it's recommended to use [rbenv](https://github.com/rbenv/rbenv) or [RVM](https://rvm.io/)
* Node and yarn (check current Node version in [.node-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.node-version) file)
- [nodevn](https://github.com/nodenv/nodenv) is recommended.
* PostgreSQL database
* Redis (for background jobs)
* Chrome (for testing)
@@ -20,15 +23,13 @@ The following guides will provide OS-specific step-by-step instructions to get t
- [Debian Setup Guide][debian]
- [OSX Setup Guide][osx]
If you are likely to need to manage multiple version of ruby on your local machine, we recommend version managers such as [rbenv](https://github.com/rbenv/rbenv) or [RVM](https://rvm.io/).
For those new to Rails, the following tutorial will help get you up to speed with configuring a [Rails environment](http://guides.rubyonrails.org/getting_started.html).
### Get it
So you have set up your local environment according to the requirements listed above. If you're planning on contributing code to the project (which we [LOVE](CONTRIBUTING.md)), it is a good idea to begin by forking this repo using the `Fork` button in the top-right corner of this screen. You should then be able to use `git clone` to copy your fork onto your local machine:
git clone https://github.com/YOUR_GITHUB_USERNAME_HERE/openfoodnetwork
git clone git@github.com:YOUR_GITHUB_USERNAME_HERE/openfoodnetwork.git
Jump into your new local copy of the Open Food Network:
@@ -36,7 +37,7 @@ Jump into your new local copy of the Open Food Network:
And then add an `upstream` remote that points to the main repo:
git remote add upstream https://github.com/openfoodfoundation/openfoodnetwork
git remote add upstream git@github.com:openfoodfoundation/openfoodnetwork.git
Fetch the latest version of `master` from `upstream` (ie. the main repo):

25
Gemfile
View File

@@ -17,7 +17,7 @@ gem 'activemerchant', '>= 1.78.0'
gem 'rexml'
gem 'angular-rails-templates', '>= 0.3.0'
gem 'awesome_nested_set'
gem 'ransack', '2.4.2'
gem 'ransack', '~> 2.6.0'
gem 'responders'
gem 'webpacker', '~> 5'
@@ -69,7 +69,7 @@ gem 'pagy', '~> 5.1'
gem 'rswag-api'
gem 'rswag-ui'
gem 'gitlab-omniauth-openid-connect', require: 'omniauth_openid_connect'
gem 'omniauth_openid_connect'
gem 'openid_connect', '~> 1.3'
gem 'omniauth-rails_csrf_protection'
@@ -83,16 +83,15 @@ gem 'actionpack-action_caching'
# AMS is deprecated, we will introduce an alternative at some point
gem "active_model_serializers", "0.8.4"
gem 'activerecord-session_store'
gem 'acts-as-taggable-on', '~> 8.1'
gem 'acts-as-taggable-on'
gem 'angularjs-file-upload-rails', '~> 2.4.1'
gem 'bigdecimal', '3.0.2'
gem 'bootsnap', require: false
gem 'geocoder'
gem 'gmaps4rails'
gem 'mimemagic', '> 0.3.5'
gem 'paper_trail', '~> 12.1.0'
gem 'paper_trail', '~> 12.1'
gem 'rack-rewrite'
gem 'rack-ssl', require: 'rack/ssl'
gem 'roadie-rails'
gem 'hiredis'
@@ -109,8 +108,8 @@ gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
gem 'immigrant'
gem 'roo'
gem 'spreadsheet_architect'
gem 'roo' # read spreadsheets
gem 'spreadsheet_architect' # write spreadsheets
gem 'whenever', require: false
@@ -118,7 +117,7 @@ gem 'test-unit', '~> 3.5'
gem 'coffee-rails', '~> 5.0.0'
gem 'mini_racer', '0.4.0'
gem 'mini_racer'
gem 'angular_rails_csrf'
@@ -126,8 +125,6 @@ gem 'jquery-rails', '4.4.0'
gem 'jquery-ui-rails', '~> 4.2'
gem "select2-rails", github: "openfoodfoundation/select2-rails", branch: "v349_with_thor_v1"
gem 'ofn-qz', github: 'openfoodfoundation/ofn-qz', branch: 'ofn-rails-4'
gem 'good_migrations'
gem 'flipper'
@@ -135,6 +132,9 @@ gem 'flipper-active_record'
gem 'flipper-ui'
gem "view_component"
gem 'view_component_reflex', '3.1.14.pre9'
gem 'mini_portile2', '~> 2.8'
group :production, :staging do
gem 'ddtrace'
@@ -150,7 +150,7 @@ group :test, :development do
gem "factory_bot_rails", '6.2.0', require: false
gem 'fuubar', '~> 2.5.1'
gem 'json_spec', '~> 1.1.4'
gem 'knapsack', require: false
gem 'knapsack_pro'
gem 'letter_opener', '>= 1.4.1'
gem 'rspec-rails', ">= 3.5.2"
gem 'rspec-retry', require: false
@@ -164,7 +164,6 @@ group :test do
gem 'pdf-reader'
gem 'rails-controller-testing'
gem 'simplecov', require: false
gem 'test-prof', require: false
gem 'vcr', require: false
gem 'webmock', require: false
# See spec/spec_helper.rb for instructions
@@ -183,7 +182,5 @@ group :development do
gem 'spring-commands-rspec'
gem 'web-console'
gem "view_component_storybook"
gem 'rack-mini-profiler', '< 3.0.0'
end

View File

@@ -8,13 +8,6 @@ GIT
fog-core (~> 1.0)
rails (>= 3.2.0, < 7.0)
GIT
remote: https://github.com/openfoodfoundation/ofn-qz.git
revision: 467f6ea1c44529c7c91cac4c8211bbd863588c0b
branch: ofn-rails-4
specs:
ofn-qz (0.1.0)
GIT
remote: https://github.com/openfoodfoundation/select2-rails.git
revision: fc240e85fbdf1878ff3c39d972c0cd9a312f5ed4
@@ -51,42 +44,42 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.0)
actioncable (6.1.7)
actionpack (= 6.1.7)
activesupport (= 6.1.7)
actioncable (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.7)
actionpack (= 6.1.7)
activejob (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
actionmailbox (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
mail (>= 2.7.1)
actionmailer (6.1.7)
actionpack (= 6.1.7)
actionview (= 6.1.7)
activejob (= 6.1.7)
activesupport (= 6.1.7)
actionmailer (6.1.7.2)
actionpack (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activesupport (= 6.1.7.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.7)
actionview (= 6.1.7)
activesupport (= 6.1.7)
actionpack (6.1.7.2)
actionview (= 6.1.7.2)
activesupport (= 6.1.7.2)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionpack-action_caching (1.2.2)
actionpack (>= 4.0.0)
actiontext (6.1.7)
actionpack (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
actiontext (6.1.7.2)
actionpack (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
nokogiri (>= 1.8.5)
actionview (6.1.7)
activesupport (= 6.1.7)
actionview (6.1.7.2)
activesupport (= 6.1.7.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -98,19 +91,19 @@ GEM
activemodel (>= 5.2.0)
activestorage (>= 5.2.0)
activesupport (>= 5.2.0)
activejob (6.1.7)
activesupport (= 6.1.7)
activejob (6.1.7.2)
activesupport (= 6.1.7.2)
globalid (>= 0.3.6)
activemerchant (1.123.0)
activesupport (>= 4.2)
builder (>= 2.1.2, < 4.0.0)
i18n (>= 0.6.9)
nokogiri (~> 1.4)
activemodel (6.1.7)
activesupport (= 6.1.7)
activerecord (6.1.7)
activemodel (= 6.1.7)
activesupport (= 6.1.7)
activemodel (6.1.7.2)
activesupport (= 6.1.7.2)
activerecord (6.1.7.2)
activemodel (= 6.1.7.2)
activesupport (= 6.1.7.2)
activerecord-import (1.4.1)
activerecord (>= 4.2)
activerecord-postgresql-adapter (0.0.1)
@@ -121,21 +114,21 @@ GEM
multi_json (~> 1.11, >= 1.11.2)
rack (>= 2.0.8, < 3)
railties (>= 5.2.4.1)
activestorage (6.1.7)
actionpack (= 6.1.7)
activejob (= 6.1.7)
activerecord (= 6.1.7)
activesupport (= 6.1.7)
activestorage (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activesupport (= 6.1.7.2)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7)
activesupport (6.1.7.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
acts-as-taggable-on (8.1.0)
activerecord (>= 5.0, < 6.2)
acts-as-taggable-on (9.0.1)
activerecord (>= 6.0, < 7.1)
acts_as_list (1.0.4)
activerecord (>= 4.2)
addressable (2.8.1)
@@ -158,16 +151,16 @@ GEM
awesome_nested_set (3.5.0)
activerecord (>= 4.0.0, < 7.1)
aws-eventstream (1.2.0)
aws-partitions (1.651.0)
aws-sdk-core (3.166.0)
aws-partitions (1.711.0)
aws-sdk-core (3.170.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.59.0)
aws-sdk-kms (1.62.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.117.1)
aws-sdk-s3 (1.119.1)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@@ -175,14 +168,14 @@ GEM
aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.18)
bigdecimal (3.0.2)
bindata (2.4.12)
bindata (2.4.15)
bindex (0.8.1)
bootsnap (1.13.0)
bootsnap (1.16.0)
msgpack (~> 1.2)
bugsnag (6.24.2)
bugsnag (6.25.2)
concurrent-ruby (~> 1.0)
builder (3.2.4)
bullet (7.0.3)
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
cable_ready (5.0.0.pre9)
@@ -221,7 +214,7 @@ GEM
combine_pdf (1.0.22)
matrix
ruby-rc4 (>= 0.1.5)
concurrent-ruby (1.1.10)
concurrent-ruby (1.2.2)
connection_pool (2.3.0)
crack (0.4.5)
rexml
@@ -237,12 +230,15 @@ GEM
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
ddtrace (0.54.1)
debase-ruby_core_source (= 0.10.12)
date (3.3.3)
ddtrace (1.10.1)
debase-ruby_core_source (>= 0.10.16, <= 3.2.0)
libdatadog (~> 2.0.0.1.0)
libddwaf (~> 1.6.2.0.0)
msgpack
debase-ruby_core_source (0.10.12)
debug (1.6.3)
irb (>= 1.3.6)
debase-ruby_core_source (3.2.0)
debug (1.7.1)
irb (>= 1.5.0)
reline (>= 0.3.1)
debugger-linecache (1.2.0)
devise (4.8.1)
@@ -253,18 +249,18 @@ GEM
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-i18n (1.10.2)
devise-i18n (1.10.3)
devise (>= 4.8.0)
devise-token_authenticatable (1.1.0)
devise (>= 4.0.0, < 5.0.0)
diff-lcs (1.5.0)
digest (3.1.0)
digest (3.1.1)
docile (1.4.0)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
erubi (1.11.0)
erubi (1.12.0)
et-orbi (1.2.7)
tzinfo
excon (0.81.0)
@@ -274,12 +270,12 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faraday (2.6.0)
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.0.1)
faraday-net_http (3.0.2)
ferrum (0.13)
addressable (~> 2.5)
concurrent-ruby (~> 1.1)
@@ -313,18 +309,14 @@ GEM
nokogiri (>= 1.5.11, < 2.0.0)
foreman (0.87.2)
formatador (0.2.5)
fugit (1.7.1)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
fuubar (2.5.1)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
geocoder (1.8.1)
gitlab-omniauth-openid-connect (0.10.0)
addressable (~> 2.7)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.2)
globalid (1.0.0)
globalid (1.1.0)
activesupport (>= 5.0)
gmaps4rails (2.1.2)
good_migrations (0.2.1)
@@ -349,19 +341,19 @@ GEM
ruby-vips (>= 2.0.17, < 3)
immigrant (0.3.6)
activerecord (>= 3.0)
io-console (0.5.11)
io-console (0.6.0)
ipaddress (0.8.3)
irb (1.4.2)
irb (1.6.2)
reline (>= 0.3.0)
jmespath (1.6.1)
jmespath (1.6.2)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.2.1)
railties (>= 3.2.16)
json (2.6.2)
json-jwt (1.16.0)
json (2.6.3)
json-jwt (1.16.3)
activesupport (>= 4.2)
aes_key_wrap
bindata
@@ -374,22 +366,28 @@ GEM
rspec (>= 2.0, < 4.0)
jsonapi-serializer (2.2.0)
activesupport (>= 4.2)
jwt (2.5.0)
knapsack (4.0.0)
jwt (2.7.0)
knapsack_pro (3.8.0)
rake
launchy (2.5.0)
addressable (~> 2.7)
letter_opener (1.8.1)
launchy (>= 2.2, < 3)
libv8-node (15.14.0.1)
listen (3.7.1)
libdatadog (2.0.0.1.0)
libddwaf (1.6.2.0.0)
ffi (~> 1.0)
libv8-node (16.10.0.0)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.19.0)
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
marcel (1.0.2)
matrix (0.4.2)
method_source (1.0.0)
@@ -401,23 +399,28 @@ GEM
rake
mini_magick (4.11.0)
mini_mime (1.1.2)
mini_portile2 (2.8.0)
mini_racer (0.4.0)
libv8-node (~> 15.14.0.0)
minitest (5.16.3)
mini_portile2 (2.8.1)
mini_racer (0.6.3)
libv8-node (~> 16.10.0.0)
minitest (5.17.0)
monetize (1.12.0)
money (~> 6.12)
money (6.16.0)
i18n (>= 0.6.4, <= 2)
msgpack (1.5.4)
msgpack (1.6.1)
multi_json (1.15.0)
multi_xml (0.6.0)
net-protocol (0.1.3)
net-imap (0.3.4)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
timeout
net-smtp (0.3.2)
net-smtp (0.3.3)
net-protocol
nio4r (2.5.8)
nokogiri (1.13.9)
nokogiri (1.14.2)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
oauth2 (1.4.11)
@@ -426,13 +429,16 @@ GEM
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 4)
omniauth (2.1.0)
omniauth (2.1.1)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-rails_csrf_protection (1.0.1)
actionpack (>= 4.2)
omniauth (~> 2.0)
omniauth_openid_connect (0.6.1)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.1)
openid_connect (1.4.2)
activemodel
attr_required (>= 1.0.0)
@@ -447,13 +453,13 @@ GEM
orm_adapter (0.5.0)
pagy (5.10.1)
activesupport
paper_trail (12.1.0)
paper_trail (12.3.0)
activerecord (>= 5.2)
request_store (~> 1.1)
parallel (1.22.1)
paranoia (2.6.1)
activerecord (>= 5.1, < 7.1)
parser (3.1.2.1)
parser (3.2.1.1)
ast (~> 2.4.1)
paypal-sdk-core (0.3.4)
multi_json (~> 1.0)
@@ -467,16 +473,16 @@ GEM
ruby-rc4
ttfunk
pg (1.2.3)
power_assert (2.0.1)
power_assert (2.0.2)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.0)
puma (5.6.5)
public_suffix (5.0.1)
puma (6.1.1)
nio4r (~> 2.0)
raabro (1.4.0)
racc (1.6.0)
rack (2.2.4)
racc (1.6.2)
rack (2.2.6.3)
rack-mini-profiler (2.3.4)
rack (>= 1.2.0)
rack-oauth2 (1.21.3)
@@ -487,28 +493,26 @@ GEM
rack (>= 2.1.0)
rack-protection (2.1.0)
rack
rack-proxy (0.7.0)
rack-proxy (0.7.6)
rack
rack-rewrite (1.5.1)
rack-ssl (1.4.1)
rack
rack-test (2.0.2)
rack (>= 1.3)
rack-timeout (0.6.3)
rails (6.1.7)
actioncable (= 6.1.7)
actionmailbox (= 6.1.7)
actionmailer (= 6.1.7)
actionpack (= 6.1.7)
actiontext (= 6.1.7)
actionview (= 6.1.7)
activejob (= 6.1.7)
activemodel (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
rails (6.1.7.2)
actioncable (= 6.1.7.2)
actionmailbox (= 6.1.7.2)
actionmailer (= 6.1.7.2)
actionpack (= 6.1.7.2)
actiontext (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activemodel (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
bundler (>= 1.15.0)
railties (= 6.1.7)
railties (= 6.1.7.2)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
@@ -522,37 +526,39 @@ GEM
activesupport (>= 4.2)
choice (~> 0.2.0)
ruby-graphviz (~> 1.2)
rails-html-sanitizer (1.4.3)
loofah (~> 2.3)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
rails-i18n (7.0.6)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
rails_safe_tasks (1.0.0)
railties (6.1.7)
actionpack (= 6.1.7)
activesupport (= 6.1.7)
railties (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
method_source
rake (>= 12.2)
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
ransack (2.4.2)
activerecord (>= 5.2.4)
activesupport (>= 5.2.4)
ransack (2.6.0)
activerecord (>= 6.0.4)
activesupport (>= 6.0.4)
i18n
rb-fsevent (0.11.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
redcarpet (3.5.1)
redis (4.8.0)
regexp_parser (2.6.0)
reline (0.3.1)
redcarpet (3.6.0)
redis (4.8.1)
redis-client (0.13.0)
connection_pool
regexp_parser (2.7.0)
reline (0.3.2)
io-console (~> 0.5)
request_store (1.5.0)
request_store (1.5.1)
rack (>= 1.4)
responders (3.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
responders (3.1.0)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.5)
roadie (5.0.1)
css_parser (~> 1.4)
@@ -563,61 +569,61 @@ GEM
rodf (1.2.0)
builder (>= 3.0)
rubyzip (>= 1.0)
roo (2.9.0)
roo (2.10.0)
nokogiri (~> 1)
rubyzip (>= 1.3.0, < 3.0.0)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.2)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.2)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.1)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.2)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-rails (5.1.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
rspec-core (~> 3.10)
rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10)
rspec-support (~> 3.10)
rspec-support (~> 3.12.0)
rspec-rails (6.0.1)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.11)
rspec-expectations (~> 3.11)
rspec-mocks (~> 3.11)
rspec-support (~> 3.11)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.3)
rswag-api (2.7.0)
rspec-support (3.12.0)
rswag-api (2.8.0)
railties (>= 3.1, < 7.1)
rswag-specs (2.8.0)
activesupport (>= 3.1, < 7.1)
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rspec-core (>= 2.14)
rswag-ui (2.7.0)
rswag-ui (2.8.0)
actionpack (>= 3.1, < 7.1)
railties (>= 3.1, < 7.1)
rubocop (1.39.0)
rubocop (1.48.1)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.1.2.1)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.23.0, < 2.0)
rubocop-ast (>= 1.26.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.23.0)
parser (>= 3.1.1.0)
rubocop-rails (2.17.2)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.27.0)
parser (>= 3.2.1.0)
rubocop-rails (2.18.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
ruby-graphviz (1.2.5)
rexml
ruby-progressbar (1.11.0)
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
ruby-vips (2.1.4)
ffi (~> 1.12)
@@ -634,27 +640,27 @@ GEM
tilt (>= 1.1, < 3)
sd_notify (0.1.1)
semantic_range (3.0.0)
shoulda-matchers (5.2.0)
shoulda-matchers (5.3.0)
activesupport (>= 5.2.0)
sidekiq (6.5.8)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
sidekiq-scheduler (4.0.3)
redis (>= 4.2.0)
sidekiq (7.0.6)
concurrent-ruby (< 2)
connection_pool (>= 2.3.0)
rack (>= 2.2.4)
redis-client (>= 0.11.0)
sidekiq-scheduler (5.0.2)
rufus-scheduler (~> 3.2)
sidekiq (>= 4, < 7)
sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
simplecov (0.21.2)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.3)
simplecov_json_formatter (0.1.4)
spreadsheet_architect (5.0.0)
caxlsx (>= 3.3.0, < 4)
rodf (>= 1.0.0, < 2)
spring (4.1.0)
spring (4.1.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (3.7.2)
@@ -682,26 +688,25 @@ GEM
railties (>= 5.2)
redis
stringex (2.8.5)
stripe (7.1.0)
stripe (8.3.0)
swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
temple (0.8.2)
test-prof (1.0.11)
test-unit (3.5.5)
test-unit (3.5.7)
power_assert
thor (1.2.1)
thread-local (1.1.0)
tilt (2.0.11)
timecop (0.9.5)
timeout (0.3.0)
tilt (2.1.0)
timecop (0.9.6)
timeout (0.3.2)
ttfunk (1.7.0)
tzinfo (2.0.5)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.3.0)
unicode-display_width (2.4.2)
uniform_notifier (1.16.0)
valid_email2 (4.0.4)
valid_email2 (4.0.5)
activemodel (>= 3.2)
mail (~> 2.5)
validate_email (0.1.6)
@@ -711,12 +716,14 @@ GEM
activemodel (>= 3.0.0)
public_suffix
vcr (6.1.0)
view_component (2.76.0)
activesupport (>= 5.0.0, < 8.0)
view_component (2.82.0)
activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
view_component_storybook (0.11.1)
view_component (>= 2.36)
view_component_reflex (3.1.14.pre9)
rails (>= 5.2, < 8.0)
stimulus_reflex (>= 3.5.0.pre2)
view_component (>= 2.28.0)
warden (1.2.9)
rack (>= 2.0.9)
web-console (4.2.0)
@@ -731,7 +738,7 @@ GEM
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webpacker (5.4.3)
webpacker (5.4.4)
activesupport (>= 5.2)
rack-proxy (>= 0.6.1)
railties (>= 5.2)
@@ -744,11 +751,11 @@ GEM
chronic (>= 0.6.3)
wicked_pdf (2.6.3)
activesupport
wkhtmltopdf-binary (0.12.6.5)
wkhtmltopdf-binary (0.12.6.6)
xml-simple (1.1.8)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.6)
zeitwerk (2.6.7)
PLATFORMS
ruby
@@ -761,7 +768,7 @@ DEPENDENCIES
activerecord-import
activerecord-postgresql-adapter
activerecord-session_store
acts-as-taggable-on (~> 8.1)
acts-as-taggable-on
acts_as_list (= 1.0.4)
angular-rails-templates (>= 0.3.0)
angular_rails_csrf
@@ -802,7 +809,6 @@ DEPENDENCIES
foreman
fuubar (~> 2.5.1)
geocoder
gitlab-omniauth-openid-connect
gmaps4rails
good_migrations
haml
@@ -818,20 +824,21 @@ DEPENDENCIES
json_spec (~> 1.1.4)
jsonapi-serializer
jwt (~> 2.3)
knapsack
knapsack_pro
letter_opener (>= 1.4.1)
listen
mime-types
mimemagic (> 0.3.5)
mini_racer (= 0.4.0)
mini_portile2 (~> 2.8)
mini_racer
monetize (~> 1.11)
oauth2 (~> 1.4.7)
ofn-qz!
omniauth-rails_csrf_protection
omniauth_openid_connect
openid_connect (~> 1.3)
order_management!
pagy (~> 5.1)
paper_trail (~> 12.1.0)
paper_trail (~> 12.1)
paranoia (~> 2.4)
paypal-sdk-merchant (= 1.117.2)
pdf-reader
@@ -840,14 +847,13 @@ DEPENDENCIES
puma
rack-mini-profiler (< 3.0.0)
rack-rewrite
rack-ssl
rack-timeout
rails (>= 6.1.4)
rails-controller-testing
rails-erd
rails-i18n
rails_safe_tasks (~> 1.0)
ransack (= 2.4.2)
ransack (~> 2.6.0)
redcarpet
redis (>= 4.0)
responders
@@ -874,13 +880,12 @@ DEPENDENCIES
stimulus_reflex (= 3.5.0.pre9)
stringex (~> 2.8.5)
stripe
test-prof
test-unit (~> 3.5)
timecop
valid_email2
vcr
view_component
view_component_storybook
view_component_reflex (= 3.1.14.pre9)
web!
web-console
webmock
@@ -893,4 +898,4 @@ RUBY VERSION
ruby 3.0.3p157
BUNDLED WITH
2.1.4
2.4.3

View File

@@ -33,7 +33,7 @@ We also have a [Super Admin Guide][super-admin-guide] to help with configuration
## Testing
If you'd like to help out with testing, please introduce yourself on the #testing channel on [Slack][slack-invite] and download the [ZenHub browser extension][zenhub] to view the development pipeline. Also, do have a look in our [Welcome New QAs board](https://github.com/orgs/openfoodfoundation/projects/1) for some good first issues, both on manual and automated testing (RSpec/Capybara).
If you'd like to help out with testing, please introduce yourself on the #testing channel on [Slack][slack-invite] and download the [ZenHub browser extension][zenhub] to view the development pipeline. Also, do have a look in our [Welcome New QAs board][welcome-qa] for some good first issues, both on manual and automated testing (RSpec/Capybara).
We use [BrowserStack](https://www.browserstack.com/) as a manual testing tool. BrowserStack provides open source projects with unlimited and free of charge accounts. A big thanks to them!
@@ -52,5 +52,6 @@ Copyright (c) 2012 - 2022 Open Food Foundation, released under the AGPL licence.
[ofn-handbook]: https://ofn-user-guide.gitbook.io/ofn-handbook/
[ofn-install]: https://github.com/openfoodfoundation/ofn-install
[super-admin-guide]: https://ofn-user-guide.gitbook.io/ofn-super-admin-guide
[welcome-dev]: https://github.com/orgs/openfoodfoundation/projects/2
[welcome-dev]: https://github.com/orgs/openfoodfoundation/projects/5
[welcome-qa]: https://github.com/orgs/openfoodfoundation/projects/6
[zenhub]: https://www.zenhub.com/extension

View File

@@ -8,6 +8,3 @@ require_relative 'config/application'
Openfoodnetwork::Application.load_tasks
if !ENV['DISABLE_KNAPSACK'] && defined?(Knapsack)
Knapsack.load_tasks
end

View File

@@ -55,19 +55,6 @@ angular.module("admin.enterprises")
else
alert ("#{manager.email}" + " " + t("is_already_manager"))
$scope.inviteManager = ->
$scope.invite_errors = $scope.invite_success = null
email = $scope.newUser
$http.post("/admin/manager_invitations", {email: email, enterprise_id: $scope.Enterprise.id}).then (response)->
$scope.addManager({id: response.data.user, email: email})
$scope.invite_success = t('user_invited', email: email)
.catch (response) ->
$scope.invite_errors = response.data.errors
$scope.resetModal = ->
$scope.newUser = $scope.invite_errors = $scope.invite_success = null
$scope.removeLogo = ->
$scope.performEnterpriseAction("removeLogo", "immediate_logo_removal_warning", "removed_logo_successfully")

View File

@@ -1,12 +0,0 @@
angular.module("admin.indexUtils").component 'showMore',
templateUrl: 'admin/show_more.html'
bindings:
data: "="
limit: "="
increment: "="
# For now, this component is not being used.
# Something about binding "data" to a variable on the parent scope that is continually refreshed by
# being assigned within an ng-repeat means that we get $digest iteration errors. Seems to be solved
# by using the new "as" syntax for ng-repeat to assign and alias the outcome of the filters, but this
# has the limitation of not being able to be limited AFTER the assignment has been made, which we need

View File

@@ -3,16 +3,21 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.RequestMonitor = RequestMonitor
$scope.line_items = LineItems.all
$scope.confirmDelete = true
$scope.startDate = moment().startOf('day').subtract(7, 'days').format('YYYY-MM-DD')
$scope.endDate = moment().startOf('day').format('YYYY-MM-DD')
$scope.previousDates = { startDate: $scope.startDate, endDate: $scope.endDate }
$scope.datesChangedOnCancelEvent = false
$scope.bulkActions = [ { name: t("admin.orders.bulk_management.actions_delete"), callback: 'deleteLineItems' } ]
$scope.selectedUnitsProduct = {}
$scope.selectedUnitsVariant = {}
$scope.sharedResource = false
$scope.columns = Columns.columns
$scope.sorting = SortOptions
$scope.pagination = LineItems.pagination
$scope.per_page_options = [
{id: 15, name: t('js.admin.orders.index.per_page', results: 15)},
{id: 50, name: t('js.admin.orders.index.per_page', results: 50)},
{id: 100, name: t('js.admin.orders.index.per_page', results: 100)}
]
$scope.page = 1
$scope.per_page = $scope.per_page_options[0].id
$scope.confirmRefresh = ->
LineItems.allSaved() || confirm(t("unsaved_changes_warning"))
@@ -22,76 +27,38 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.supplierFilter = ''
$scope.orderCycleFilter = ''
$scope.quickSearch = ''
$scope.startDate = undefined
$scope.endDate = undefined
event = new CustomEvent('flatpickr:clear')
window.dispatchEvent(event)
$scope.resetSelectFilters = ->
$scope.resetFilters()
$scope.refreshData()
$scope.$watchCollection "[startDate, endDate]", (newValues, oldValues) ->
if newValues != oldValues && !$scope.datesChangedOnCancelEvent
state = $scope.refreshData()
if (state == "cancel")
$scope.datesChangedOnCancelEvent = true
$scope.cancelDateChange()
$scope.cancelDateChange = ->
# Reset the date filters to the previous values
$scope.startDate = $scope.previousDates.startDate
$scope.endDate = $scope.previousDates.endDate
# throw a flatpickr:change event to change the date back in the datepicker
event = new CustomEvent('flatpickr:change', {
detail: {
startDate: $scope.previousDates.startDate,
endDate: $scope.previousDates.endDate
}
})
window.dispatchEvent(event)
$timeout ->
$scope.datesChangedOnCancelEvent = false
$scope.fetchResults = ->
# creates indirection in order to factorize the code between orders and bulk orders
# used in app/views/admin/shared/_angular_per_page_controls.html.haml
$scope.refreshData()
$scope.refreshData = ->
unless !$scope.orderCycleFilter? || $scope.orderCycleFilter == ''
$scope.setOrderCycleDateRange()
$scope.formattedStartDate = moment($scope.startDate).format()
$scope.formattedEndDate = moment($scope.endDate).add(1,'day').format()
return unless moment($scope.formattedStartDate).isValid() and moment($scope.formattedEndDate).isValid()
return "cancel" unless $scope.confirmRefresh()
$scope.loadOrders()
$scope.loadLineItems()
unless $scope.initialized
$scope.loadAssociatedData()
$scope.dereferenceLoadedData()
$timeout ->
# update the previous dates with the current ones since loading was successful
$scope.previousDates.startDate = $scope.startDate
$scope.previousDates.endDate = $scope.endDate
$scope.setOrderCycleDateRange = ->
start_date = OrderCycles.byID[$scope.orderCycleFilter].orders_open_at
end_date = OrderCycles.byID[$scope.orderCycleFilter].orders_close_at
format = "YYYY-MM-DD HH:mm:ss Z"
$scope.startDate = moment(start_date, format).format('YYYY-MM-DD')
$scope.endDate = moment(end_date, format).startOf('day').format('YYYY-MM-DD')
$scope.loadOrders = ->
RequestMonitor.load $scope.orders = Orders.index(
"q[state_not_eq]": "canceled",
"q[shipment_state_not_eq]": "shipped",
"q[completed_at_not_null]": "true",
"q[distributor_id_eq]": $scope.distributorFilter,
"q[order_cycle_id_eq]": $scope.orderCycleFilter,
"q[completed_at_gteq]": $scope.formattedStartDate,
"q[completed_at_lt]": $scope.formattedEndDate
"q[id_in][]": $scope.line_items.map((line_item) -> line_item.order.id)
)
$scope.loadLineItems = ->
[formattedStartDate, formattedEndDate] = $scope.formatDates($scope.startDate, $scope.endDate)
RequestMonitor.load LineItems.index(
"q[order_state_not_eq]": "canceled",
"q[order_shipment_state_not_eq]": "shipped",
@@ -99,23 +66,32 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
"q[order_distributor_id_eq]": $scope.distributorFilter,
"q[variant_product_supplier_id_eq]": $scope.supplierFilter,
"q[order_order_cycle_id_eq]": $scope.orderCycleFilter,
"q[order_completed_at_gteq]": $scope.formattedStartDate,
"q[order_completed_at_lt]": $scope.formattedEndDate
"q[order_completed_at_gteq]": if formattedStartDate then formattedStartDate else undefined,
"q[order_completed_at_lt]": if formattedEndDate then formattedEndDate else undefined,
"page": $scope.page,
"per_page": $scope.per_page
)
$scope.formatDates = (startDate, endDate) ->
formattedStartDate = moment(startDate).format('YYYY-MM-DD') if startDate
formattedEndDate = moment(endDate).add(1,'day').format('YYYY-MM-DD') if endDate
return [formattedStartDate, formattedEndDate]
$scope.loadAssociatedData = ->
RequestMonitor.load $scope.distributors = Enterprises.index(action: "visible", ams_prefix: "basic", "q[sells_in][]": ["own", "any"])
RequestMonitor.load $scope.orderCycles = OrderCycles.index(ams_prefix: "basic", as: "distributor", "q[orders_close_at_gt]": "#{moment().subtract(90,'days').format()}")
RequestMonitor.load $scope.suppliers = Enterprises.index(action: "visible", ams_prefix: "basic", "q[is_primary_producer_eq]": "true")
$scope.dereferenceLoadedData = ->
RequestMonitor.load $q.all([$scope.orders.$promise, $scope.distributors.$promise, $scope.orderCycles.$promise, $scope.suppliers.$promise, $scope.line_items.$promise]).then ->
Dereferencer.dereferenceAttr $scope.orders, "distributor", Enterprises.byID
Dereferencer.dereferenceAttr $scope.orders, "order_cycle", OrderCycles.byID
RequestMonitor.load $q.all([$scope.distributors.$promise, $scope.orderCycles.$promise, $scope.suppliers.$promise, $scope.line_items.$promise]).then ->
Dereferencer.dereferenceAttr $scope.line_items, "supplier", Enterprises.byID
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
$scope.bulk_order_form.$setPristine()
StatusMessage.clear()
$scope.loadOrders()
RequestMonitor.load $q.all([$scope.orders.$promise]).then ->
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
Dereferencer.dereferenceAttr $scope.orders, "distributor", Enterprises.byID
Dereferencer.dereferenceAttr $scope.orders, "order_cycle", OrderCycles.byID
$scope.bulk_order_form.$setPristine()
StatusMessage.clear()
unless $scope.initialized
$scope.initialized = true
@@ -174,6 +150,10 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
else
Promise.all(LineItems.delete(item) for item in items).then(-> $scope.refreshData())
, "js.admin.deleting_item_will_cancel_order")
else
ofnDeleteLineItemsAlert(() ->
Promise.all(LineItems.delete(item) for item in lineItemsToDelete).then(-> $scope.refreshData())
, lineItemsToDelete.length)
$scope.allBoxesChecked = ->
checkedCount = $scope.filteredLineItems.reduce (count,lineItem) ->
@@ -233,7 +213,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
if scale
if scale && value
value = value / scale if scale != 28.35 && scale != 1 && scale != 453.6 # divide by scale if not smallest unit
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
else
@@ -277,5 +257,8 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
lineItem.final_weight_volume = LineItems.pristineByID[lineItem.id].final_weight_volume * lineItem.quantity / LineItems.pristineByID[lineItem.id].quantity
$scope.weightAdjustedPrice(lineItem)
$scope.resetFilters()
$scope.refreshData()
$scope.changePage = (newPage) ->
$scope.page = newPage
$scope.refreshData()
$scope.resetSelectFilters()

View File

@@ -38,3 +38,4 @@ angular.module('admin.orderCycles')
$scope.removeCoordinatorFee = ($event, index) ->
$event.preventDefault()
OrderCycle.removeCoordinatorFee(index)
$scope.order_cycle_form.$dirty = true

View File

@@ -35,7 +35,11 @@ angular.module('admin.orderCycles')
OrderCycle.removeExchangeFee(exchange, index)
$scope.order_cycle_form.$dirty = true
$scope.setPickupTimeFieldDirty = (index) ->
$scope.setPickupTimeFieldDirty = (index, pickup_time) ->
# if the pickup_time is already set we are in edit mode, so no need to set pickup_time field as dirty
# to show it is required (it has a red border when set to dirty)
return if pickup_time
$timeout ->
pickup_time_field_name = "order_cycle_outgoing_exchange_" + index + "_pickup_time"
$scope.order_cycle_form[pickup_time_field_name].$setDirty()

View File

@@ -1,14 +0,0 @@
angular.module("admin.orders").controller "bulkCancelCtrl", ($scope, $http, $timeout) ->
$scope.cancelOrder = (orderIds, sendEmailCancellation, restock_items) ->
$http(
method: 'post'
url: "/admin/orders/bulk_cancel?order_ids=#{orderIds}&send_cancellation_email=#{sendEmailCancellation}&restock_items=#{restock_items}" ).then(->
window.location.reload()
)
$scope.cancelSelectedOrders = ->
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) ->
if confirm
$scope.cancelOrder $scope.selected_orders, sendEmailCancellation, restock_items
)

View File

@@ -21,8 +21,14 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit && $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale($scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale))
else if $scope.product.variant_unit
# Preserves variant_unit_with_scale when form validation fails and reload triggers
if $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale(
$scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale)
)
else
$scope.product.variant_unit_with_scale = $scope.product.variant_unit
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null

View File

@@ -250,6 +250,18 @@ ofnCancelOrderAlert = function(callback, i18nKey) {
$('#custom-confirm').show();
}
ofnDeleteLineItemsAlert = function(callback, count) {
$('#custom-confirm .message').html(`${t("js.admin.orders.delete_line_items_html", {count: count})}`);
$('#custom-confirm button.confirm').click(() => {
$('#custom-confirm').hide();
callback();
});
$('#custom-confirm button.cancel').click(() => {
$('#custom-confirm').hide();
});
$('#custom-confirm').show();
}
ofnConfirm = function(callback) {
$('#custom-confirm .message').html(
` ${t("are_you_sure")}

View File

@@ -1,2 +1,3 @@
angular.module("admin.utils", ["templates", "ngSanitize"]).config ($httpProvider) ->
angular.module("admin.utils", ["templates", "ngSanitize"]).config ($httpProvider, $locationProvider) ->
$locationProvider.hashPrefix('')
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"

View File

@@ -7,8 +7,12 @@ angular.module('Darkswarm').controller "RegistrationFormCtrl", ($scope, Registra
form.$valid
$scope.create = (form) ->
$scope.disableButton()
EnterpriseRegistrationService.create($scope.enableButton) if $scope.valid(form)
if ($scope.valid(form))
$scope.disableButton()
EnterpriseRegistrationService.create().then(() ->
$scope.enableButton()
)
end
$scope.update = (nextStep, form) ->
EnterpriseRegistrationService.update(nextStep) if $scope.valid(form)

View File

@@ -1,9 +0,0 @@
angular.module('Darkswarm').directive "fillVertical", ($window)->
# Makes something fill the window vertically. Used on the Google Map.
restrict: 'A'
link: (scope, element, attrs)->
setSize = ->
element.css "height", ($window.innerHeight - element.offset().top)
setSize()
angular.element($window).bind "resize", ->
setSize()

View File

@@ -17,9 +17,12 @@ angular.module('Darkswarm').directive "ofnFlash", (flash, $timeout, RailsFlashLo
# Callback when a new flash message is pushed to flash service
show = (message, type)=>
if message
$scope.flashes.push({message: message, type: typePairings[type]})
$timeout($scope.delete, 10000)
return unless message
# if same message already exists, don't add it again
return if $scope.flashes.some((flash) -> flash.message == message)
$scope.flashes.push({message: message, type: typePairings[type]})
$timeout($scope.delete, 10000)
$scope.delete = ->
$scope.flashes.shift()

View File

@@ -1,4 +1,4 @@
angular.module('Darkswarm').directive "ofnOnHand", (StockQuantity) ->
angular.module('Darkswarm').directive "ofnOnHand", (StockQuantity, Messages) ->
restrict: 'A'
require: "ngModel"
scope: true
@@ -16,7 +16,7 @@ angular.module('Darkswarm').directive "ofnOnHand", (StockQuantity) ->
ngModel.$parsers.push (viewValue) ->
available_quantity = scope.available_quantity()
if parseInt(viewValue) > available_quantity
alert t("js.insufficient_stock", {on_hand: available_quantity})
Messages.flash({error: t("js.insufficient_stock", {on_hand: available_quantity})})
viewValue = available_quantity
ngModel.$setViewValue viewValue
ngModel.$render()

View File

@@ -1,82 +0,0 @@
angular.module('Darkswarm').directive 'singleLineSelectors', ($timeout, $filter) ->
restrict: 'E'
templateUrl: "single_line_selectors.html"
scope:
selectors: "="
objects: "&"
activeSelectors: "="
selectorName: "@activeSelectors"
link: (scope, element, attrs) ->
scope.fitting = false
scope.refit = ->
if scope.allSelectors?
scope.fitting = true
selector.fits = true for selector in scope.allSelectors
$timeout(loadWidths, 0, true).then ->
$timeout fit, 0, true
fit = ->
used = $(element).find("li.more").outerWidth(true)
used += selector.width for selector in scope.allSelectors when selector.fits
available = $(element).parent(".filter-shopfront").innerWidth() - used
if available > 0
for selector in scope.allSelectors when !selector.fits
available -= selector.width
selector.fits = true if available > 0
else
if scope.allSelectors.length > 0
for i in [scope.allSelectors.length-1..0]
selector = scope.allSelectors[i]
if !selector.fits
continue
else
if available < 0
selector.fits = false
available += selector.width
scope.fitting = false
loadWidths = ->
$(element).find("li").not(".more").each (i) ->
if i < scope.allSelectors.length
scope.allSelectors[i].width = $(this).outerWidth(true)
return null # So we don't exit the loop weirdly
scope.overFlowSelectors = ->
return [] unless scope.allSelectors?
$filter('filter')(scope.allSelectors, { fits: false })
scope.selectedOverFlowSelectors = ->
$filter('filter')(scope.overFlowSelectors(), { active: true })
# had to duplicate this to make overflow selectors work
scope.emit = ->
scope.activeSelectors = scope.allSelectors.filter (selector)->
selector.active
.map (selector) ->
selector.object.id
# From: http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing
debouncer = (func, timeout) ->
timeoutID = undefined
timeout = timeout or 50
->
subject = this
args = arguments
clearTimeout timeoutID
timeoutID = setTimeout(->
func.apply subject, Array::slice.call(args)
, timeout)
# -- Event management
scope.$watchCollection "allSelectors", ->
scope.refit()
scope.$on "filtersToggled", ->
scope.refit()
$(window).resize debouncer (e) ->
scope.fitting = true
if scope.allSelectors?
$timeout fit, 0, true

View File

@@ -1,5 +0,0 @@
$( document ).ready(function() {
$("#closeie").click(function() {
$("#ie-warning").hide();
});
})

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,13 @@
.ofn-drop-down.right#columns-dropdown{ ng: { controller: 'ColumnsDropdownCtrl' } }
%span{ :class => 'icon-reorder' }= "&nbsp; #{t('admin.columns')}".html_safe
%span{ 'ng-class' => "expanded && 'icon-caret-up' || !expanded && 'icon-caret-down'" }
.ofn-drop-down.ofn-drop-down-v2.right#columns-dropdown{ ng: { controller: 'ColumnsDropdownCtrl' } }
.ofn-drop-down-label
= "&nbsp; #{t('admin.columns')}".html_safe
%span{ 'ng-class' => "expanded && 'icon-caret-up' || !expanded && 'icon-caret-down'" }
%div.menu{ 'ng-show' => "expanded" }
%div.menu_item{ ng: { repeat: "column in columns", click: "toggle(column)", class: "{selected: column.visible}" } }
%span.check
%span.name {{ column.name }}
%hr
%div.menu_item.text-center
%input.fullwidth.orange{ type: "button", ng: { value: "saved() ? 'Saved': 'Saving'", show: "saved() || saving", disabled: "saved()" } }
%input.fullwidth.red{ type: "button", :value => t('admin.column_save_as_default').html_safe, ng: { show: "!saved() && !saving", click: "saveColumnPreferences(action)"} }
.menu_items
.menu_item{ ng: { repeat: "column in columns", click: "toggle(column);" } }
%input.redesigned-input{ type: "checkbox", ng: { checked: "column.visible" } }
{{ column.name }}
%hr
%div.menu_item.text-center
%input.fullwidth.orange{ type: "button", ng: { value: "saved() ? 'Saved': 'Saving'", show: "saved() || saving", disabled: "saved()" } }
%input.fullwidth.red{ type: "button", :value => t('admin.column_save_as_default').html_safe, ng: { show: "!saved() && !saving", click: "saveColumnPreferences(action)"} }

View File

@@ -1,3 +0,0 @@
%div{ ng: { show: "data.length > limit" } }
%input{ type: 'button', value: t(:show_more), ng: { click: 'limit = limit + increment' } }
%input{ type: 'button', value: t(:show_all_with_more, num: '{{ data.length - limit }}'), ng: { click: 'limit = data.length' } }

View File

@@ -1,14 +0,0 @@
-# In order for the single-line-selector scope to have access to the available selectors,
%filter-selector{"selector-set" => "selectors", objects: "objects()", "active-selectors" => "activeSelectors", "all-selectors" => "allSelectors" }
%ul{ ng: { if: "overFlowSelectors().length > 0 || fitting" } }
%li.more
%a.dropdown{ data: { dropdown: "{{ 'show-more-' + selectorName }}" }, ng: { class: "{active: selectedOverFlowSelectors().length > 0}" } }
%span
{{ 'js.more_items' | t:{ count: overFlowSelectors().length } }}
%i.ofn-i_052-point-down
.f-dropdown.text-right.content{ ng: { attr: { id: "{{ 'show-more-' + selectorName }}" } } }
%ul
%active-selector{ ng: { repeat: "selector in overFlowSelectors()", hide: "selector.fits" } }
%render-svg{path: "{{selector.object.icon}}", ng: { if: "selector.object.icon"}}
%span {{ selector.object.name }}

View File

@@ -0,0 +1,16 @@
# frozen_string_literal: true
class ConfirmModalComponent < ModalComponent
def initialize(id:, confirm_actions: nil, controllers: nil, message: nil)
super(id: id, close_button: true)
@confirm_actions = confirm_actions
@controllers = controllers
@message = message
end
private
def close_button_class
"secondary"
end
end

View File

@@ -0,0 +1,10 @@
%div{ id: @id, "data-controller": "modal #{@controllers}", "data-action": "keyup@document->modal#closeIfEscapeKey" }
.reveal-modal-bg.fade{ "data-modal-target": "background", "data-action": "click->modal#close" }
.reveal-modal.fade.tiny.help-modal{ "data-modal-target": "modal" }
= content
= render @message if @message
.modal-actions
%input{ class: "button icon-plus #{close_button_class}", type: 'button', value: t('js.admin.modals.cancel'), "data-action": "click->modal#close" }
%input{ class: "button icon-plus primary", type: 'button', value: t('js.admin.modals.confirm'), "data-action": @confirm_actions }

View File

@@ -0,0 +1,4 @@
.modal-actions {
display: flex;
justify-content: space-around;
}

View File

@@ -1,26 +1,7 @@
# frozen_string_literal: true
class HelpModalComponent < ViewComponent::Base
class HelpModalComponent < ModalComponent
def initialize(id:, close_button: true)
@id = id
@close_button = close_button
end
private
def close_button_class
if namespace == "admin"
"red"
else
"primary"
end
end
def close_button?
!!@close_button
end
def namespace
helpers.controller_path.split("/").first
super(id: id, close_button: close_button)
end
end

View File

@@ -0,0 +1,26 @@
# frozen_string_literal: true
class ModalComponent < ViewComponent::Base
def initialize(id:, close_button: true)
@id = id
@close_button = close_button
end
private
def close_button_class
if namespace == "admin"
"red"
else
"primary"
end
end
def close_button?
!!@close_button
end
def namespace
helpers.controller_path.split("/").first
end
end

View File

@@ -0,0 +1,15 @@
# frozen_string_literal: true
class PaginationComponent < ViewComponentReflex::Component
def initialize(pagy:, data:)
super
@count = pagy.count
@page = pagy.page
@per_page = pagy.items
@pages = pagy.pages
@next = pagy.next
@prev = pagy.prev
@data = data
@series = pagy.series
end
end

View File

@@ -0,0 +1,16 @@
= component_controller do
%nav{"aria-label": "pagination"}
.pagination
.pagination-prev{data: @prev.nil? ? nil : @data, "data-page": @prev, class: "#{'inactive' if @prev.nil?}"}
= I18n.t "components.pagination.previous"
.pagination-pages
- @series.each do |page|
- if page == :gap
.pagination-gap
- else
.pagination-page{data: @data, "data-page": page, class: "#{'active' if page.to_i == @page}"}
= page
.pagination-next{data: @next.nil? ? nil : @data, "data-page": @next, class: "#{'inactive' if @next.nil?}"}
= I18n.t "components.pagination.next"

View File

@@ -0,0 +1,69 @@
nav {
.pagination {
display: flex;
justify-content: space-between;
align-items: flex-start;
font-size: 14px;
.pagination-prev, .pagination-next {
cursor: pointer;
&:after, &:before {
font-size: 2em;
position: relative;
top: 3px;
}
&.inactive {
cursor: default;
color: $disabled-dark;
}
}
.pagination-prev {
margin-left: 10px;
&:before {
content: "";
margin-left: 10px;
margin-right: 10px;
}
}
.pagination-next {
margin-right: 10px;
&:after {
content: "";
margin-left: 10px;
margin-right: 10px;
}
}
.pagination-pages {
display: flex;
align-items: flex-end;
.pagination-gap, .pagination-page {
padding: 0 0.5rem;
margin-left: 10px;
margin-right: 10px;
}
.pagination-gap {
color: $disabled-dark;
}
.pagination-page {
color: $color-4;
cursor: pointer;
&.active {
border-top: 3px solid $spree-blue;
color: $spree-blue;
cursor: default;
}
}
}
}
}

View File

@@ -0,0 +1,59 @@
# frozen_string_literal: true
class ProductComponent < ViewComponentReflex::Component
DATETIME_FORMAT = '%F %T'
def initialize(product:, columns:)
super
@product = product
@image = @product.images[0] if product.images.any?
@columns = columns.map do |c|
{
id: c[:value],
value: column_value(c[:value])
}
end
end
# This must be define when using ProductComponent.with_collection()
def collection_key
@product.id
end
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
def column_value(column)
case column
when 'name'
@product.name
when 'price'
@product.price
when 'unit'
"#{@product.unit_value} #{@product.variant_unit}"
when 'producer'
@product.supplier.name
when 'category'
@product.taxons.map(&:name).join(', ')
when 'sku'
@product.sku
when 'on_hand'
@product.on_hand || 0
when 'on_demand'
@product.on_demand
when 'tax_category'
@product.tax_category.name
when 'inherits_properties'
@product.inherits_properties
when 'available_on'
format_date(@product.available_on)
when 'import_date'
format_date(@product.import_date)
end
end
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/MethodLength
private
def format_date(date)
date&.strftime(DATETIME_FORMAT) || ''
end
end

View File

@@ -0,0 +1,6 @@
%tr
- @columns.each do |column|
%td.products_column{class: column[:id]}
- if column[:id] == "name" && @image
= image_tag @image.url(:mini)
= column[:value]

View File

@@ -0,0 +1,181 @@
# frozen_string_literal: true
class ProductsTableComponent < ViewComponentReflex::Component
include Pagy::Backend
SORTABLE_COLUMNS = ['name', 'import_date'].freeze
SELECTABLE_COLUMNS = [
{ label: I18n.t("admin.products_page.columns_selector.price"), value: "price" },
{ label: I18n.t("admin.products_page.columns_selector.unit"), value: "unit" },
{ label: I18n.t("admin.products_page.columns_selector.producer"), value: "producer" },
{ label: I18n.t("admin.products_page.columns_selector.category"), value: "category" },
{ label: I18n.t("admin.products_page.columns_selector.sku"), value: "sku" },
{ label: I18n.t("admin.products_page.columns_selector.on_hand"), value: "on_hand" },
{ label: I18n.t("admin.products_page.columns_selector.on_demand"), value: "on_demand" },
{ label: I18n.t("admin.products_page.columns_selector.tax_category"), value: "tax_category" },
{
label: I18n.t("admin.products_page.columns_selector.inherits_properties"),
value: "inherits_properties"
},
{ label: I18n.t("admin.products_page.columns_selector.available_on"), value: "available_on" },
{ label: I18n.t("admin.products_page.columns_selector.import_date"), value: "import_date" }
].sort do |a, b|
a[:label] <=> b[:label]
end.freeze
PER_PAGE_VALUE = [10, 25, 50, 100].freeze
PER_PAGE = PER_PAGE_VALUE.map { |value| { label: value, value: value } }
NAME_COLUMN = {
label: I18n.t("admin.products_page.columns.name"), value: "name", sortable: true
}.freeze
def initialize(user:)
super
@user = user
@selectable_columns = SELECTABLE_COLUMNS
@columns_selected = ['unit', 'price', 'on_hand', 'category', 'import_date']
@per_page = PER_PAGE
@per_page_selected = [10]
@categories = [{ label: "All", value: "all" }] +
Spree::Taxon.order(:name)
.map { |taxon| { label: taxon.name, value: taxon.id.to_s } }
@categories_selected = ["all"]
@producers = [{ label: "All", value: "all" }] +
OpenFoodNetwork::Permissions.new(@user)
.managed_product_enterprises.is_primary_producer.by_name
.map { |producer| { label: producer.name, value: producer.id.to_s } }
@producers_selected = ["all"]
@page = 1
@sort = { column: "name", direction: "asc" }
@search_term = ""
end
# any change on a "reflex_data_attributes" (defined in the template) will trigger a re render
def before_render
fetch_products
refresh_columns
end
# Element refers to the component the data is set on
def search_term
# Element is SearchInputComponent
@search_term = element.dataset['value']
end
def toggle_column
# Element is SelectorComponent
column = element.dataset['value']
@columns_selected = if @columns_selected.include?(column)
@columns_selected - [column]
else
@columns_selected + [column]
end
end
def click_sort
# Element is TableHeaderComponent
@sort = {
column: element.dataset['sort-value'],
direction: element.dataset['sort-direction'] == "asc" ? "desc" : "asc"
}
end
def toggle_per_page
# Element is SelectorComponent
selected = element.dataset['value'].to_i
@per_page_selected = [selected] if PER_PAGE_VALUE.include?(selected)
end
def toggle_category
# Element is SelectorWithFilterComponent
category_clicked = element.dataset['value']
@categories_selected = toggle_selector_with_filter(category_clicked, @categories_selected)
end
def toggle_producer
# Element is SelectorWithFilterComponent
producer_clicked = element.dataset['value']
@producers_selected = toggle_selector_with_filter(producer_clicked, @producers_selected)
end
def change_page
# Element is PaginationComponent
page = element.dataset['page'].to_i
@page = page if page > 0
end
private
def refresh_columns
@columns = @columns_selected.map do |column|
{
label: I18n.t("admin.products_page.columns.#{column}"),
value: column,
sortable: SORTABLE_COLUMNS.include?(column)
}
end.sort! { |a, b| a[:label] <=> b[:label] }
@columns.unshift(NAME_COLUMN)
end
def toggle_selector_with_filter(clicked, selected)
selected = if selected.include?(clicked)
selected - [clicked]
else
selected + [clicked]
end
if clicked == "all" || selected.empty?
selected = ["all"]
elsif selected.include?("all") && selected.length > 1
selected -= ["all"]
end
selected
end
def fetch_products
product_query = OpenFoodNetwork::Permissions.new(@user).editable_products.merge(product_scope)
@products = product_query.ransack(ransack_query).result
@pagy, @products = pagy(@products, items: @per_page_selected.first, page: @page)
end
def product_scope
scope = if @user.has_spree_role?("admin") || @user.enterprises.present?
Spree::Product
else
Spree::Product.active
end
scope.includes(product_query_includes)
end
def ransack_query
query = { s: "#{@sort[:column]} #{@sort[:direction]}" }
query = if @producers_selected.include?("all")
query.merge({ supplier_id_eq: "" })
else
query.merge({ supplier_id_in: @producers_selected })
end
query = query.merge({ name_cont: @search_term }) if @search_term.present?
if @categories_selected.include?("all")
query.merge({ primary_taxon_id_eq: "" })
else
query.merge({ primary_taxon_id_in: @categories_selected })
end
end
def product_query_includes
[
master: [:images],
variants: [
:default_price,
:stock_locations,
:stock_items,
:variant_overrides,
{ option_values: :option_type }
]
]
end
end

View File

@@ -0,0 +1,21 @@
= component_controller(class: "products-table") do
.products-table-form
.products-table-form_filter_results
= render(SearchInputComponent.new(value: @search_term, data: reflex_data_attributes(:search_term)))
.products-table-form_categories_selector
= render(SelectorWithFilterComponent.new(title: t("admin.products_page.filters.categories.title"), selected: @categories_selected, items: @categories, data: reflex_data_attributes(:toggle_category), selected_items_i18n_key: "admin.products_page.filters.categories.selected_categories"))
.products-table-form_producers_selector
= render(SelectorWithFilterComponent.new(title: t("admin.products_page.filters.producers.title"), selected: @producers_selected, items: @producers, data: reflex_data_attributes(:toggle_producer), selected_items_i18n_key: "admin.products_page.filters.producers.selected_producers"))
.products-table-form_per-page_selector
= render(SelectorComponent.new(title: t('admin.products_page.filters.per_page', count: @per_page_selected[0]), selected: @per_page_selected, items: @per_page, data: reflex_data_attributes(:toggle_per_page)))
.products-table-form_columns_selector
= render(SelectorComponent.new(title: t("admin.products_page.filters.columns"), selected: @columns_selected, items: @selectable_columns, data: reflex_data_attributes(:toggle_column)))
.products-table_table
%table
= render(TableHeaderComponent.new(columns: @columns, sort: @sort, data: reflex_data_attributes(:click_sort)))
%tbody
= render(ProductComponent.with_collection(@products, columns: @columns))
.products-table-form_pagination
= render(PaginationComponent.new(pagy: @pagy, data: reflex_data_attributes(:change_page)))

View File

@@ -0,0 +1,47 @@
.products-table {
.products-table-form {
display: grid;
grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
grid-gap: 10px;
margin-bottom: 10px;
}
.products-table_table {
box-shadow: 0 10px 10px -1px rgb(0 0 0 / 10%);
}
.products-table-form_pagination {
position: relative;
top: -15px;
nav, .pagination {
margin-top: 0;
padding-top: 0;
}
}
}
.products-table.loading {
.products-table-form_pagination, .products-table_table {
position: relative;
&:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.5);
}
}
.products-table_table {
&:before {
background-position: center;
background-repeat: no-repeat;
background-size: 50px 50px;
background-image: url("../images/spinning-circles.svg");
}
}
}

View File

@@ -0,0 +1,9 @@
# frozen_string_literal: true
class SearchInputComponent < ViewComponentReflex::Component
def initialize(value: nil, data: {})
super
@value = value
@data = data
end
end

View File

@@ -0,0 +1,5 @@
= component_controller do
%div.search-input
%input{type: 'text', placeholder: t("components.search_input.placeholder"), id: 'search_query', data: {action: 'debounced:input->search-input#search'}, value: @value}
.search-button{data: @data}
%i.fa.fa-search

View File

@@ -0,0 +1,23 @@
.search-input {
border: 1px solid $disabled-light;
height: 3em;
display: flex;
line-height: 3em;
align-items: center;
input {
border: none;
height: 3em;
width: 100%;
box-sizing: border-box;
padding-right: 5px;
}
.search-button {
padding-right: 10px;
padding-left: 5px;
cursor: pointer;
color: $color-4;
}
}

View File

@@ -0,0 +1,17 @@
# frozen_string_literal: true
class SelectorComponent < ViewComponentReflex::Component
def initialize(title:, selected:, items:, data: {})
super
@title = title
@items = items.map do |item|
{
label: item[:label],
value: item[:value],
selected: selected.include?(item[:value])
}
end
@selected = selected
@data = data
end
end

View File

@@ -0,0 +1,11 @@
= component_controller do
.selector.selector-close
.selector-main{ data: { action: "click->selector#toggle" } }
.selector-main-title
= @title
.selector-arrow
.selector-wrapper
.selector-items
- @items.each do |item|
.selector-item{ class: ("selected" if item[:selected]), data: @data, "data-value": item[:value] }
= item[:label]

View File

@@ -0,0 +1,86 @@
.selector {
position: relative;
.selector-main {
border: 1px solid $disabled-light;
height: 3em;
position: relative;
cursor: pointer;
.selector-main-title {
line-height: 3em;
padding-left: 10px;
padding-right: 10px;
}
.selector-arrow {
position: absolute;
right: 0px;
height: 3em;
width: 1.5em;
top: -1px;
&:after {
content: "";
position: absolute;
top: 50%;
right: 5px;
margin-top: -5px;
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid $disabled-light;
}
}
}
.selector-wrapper {
position: absolute;
left: 0px;
right: 0px;
z-index: 1;
background-color: white;
margin-top: -1px;
border: 1px solid $disabled-light;
.selector-items {
overflow-y: auto;
min-height: 6em;
.selector-item {
padding-left: 10px;
padding-right: 10px;
border-bottom: 1px solid $disabled-light;
position: relative;
height: 3em;
line-height: 3em;
&:hover {
background-color: #eee;
cursor: pointer;
}
&:last-child {
border-bottom: none;
}
&.selected {
&:after {
content: "";
display: inline-block;
position: absolute;
right: 10px;
}
}
}
}
}
&.selector-close {
.selector-wrapper {
display: none;
}
}
}

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
class SelectorWithFilterComponent < SelectorComponent
def initialize(title:, selected:, items:, data: {},
selected_items_i18n_key: 'components.selector_with_filter.selected_items')
super(title: title, selected: selected, items: items, data: data)
@selected_items = items.select { |item| @selected.include?(item[:value]) }
@selected_items_i18n_key = selected_items_i18n_key
@items = items
end
end

View File

@@ -0,0 +1,22 @@
= component_controller do
.super-selector.selector.selector-close
.selector-main{ data: { action: "click->selector-with-filter#toggle" } }
.super-selector-label
= @title
.super-selector-selected-items
- case @selected_items.length
- when 1, 2
- @selected_items.each do |item|
.super-selector-selected-item
= item[:label]
- else
.super-selector-selected-item
= t(@selected_items_i18n_key, count: @selected_items.length)
.selector-arrow
.selector-wrapper
.super-selector-search
%input{type: "text", placeholder: t("components.selector_with_filter.search_placeholder"), data: { action: "debounced:input->selector-with-filter#filter" } }
.selector-items
- @items.each do |item|
.selector-item{ class: ("selected" if item[:selected]), data: @data.merge({ "selector-with-filter-target": "items" }), "data-value": item[:value] }
= item[:label]

View File

@@ -0,0 +1,51 @@
.super-selector {
position: relative;
.selector-main {
.super-selector-label {
padding-left: 5px;
padding-right: 5px;
margin-left: 10px;
position: absolute;
top: -1em;
background-color: white;
}
}
.super-selector-selected-items {
margin-left: 5px;
margin-right: 2em;
margin-top: 7px;
display: flex;
.super-selector-selected-item {
border: 1px solid $pale-blue;
background-color: $spree-light-blue;
border-radius: 20px;
height: 2em;
padding-left: 10px;
padding-right: 10px;
display: inline-block;
margin-right: 5px;
padding-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.selector-wrapper {
.super-selector-search {
border-bottom: 1px solid $disabled-light;
padding: 10px 5px;
input {
border: 1px solid $disabled-light;
box-sizing: border-box;
border-radius: 4px;
width: 100%;
}
}
}
}

View File

@@ -0,0 +1,10 @@
# frozen_string_literal: true
class TableHeaderComponent < ViewComponentReflex::Component
def initialize(columns:, sort:, data: {})
super
@columns = columns
@sort = sort
@data = data
end
end

View File

@@ -0,0 +1,7 @@
= component_controller do
%thead.table-header
%tr
- @columns.each do |column|
%th{class: (column[:sortable] ? "th-sortable " : "" ) + (@sort[:column] == column[:value] ? " th-sorted-#{@sort[:direction]}" : ""), data: (@data if column[:sortable] == true), "data-sort-value": column[:value], "data-sort-direction": @sort[:direction]}
= column[:label]

View File

@@ -0,0 +1,23 @@
thead.table-header {
th {
&.th-sortable {
cursor: pointer;
}
&.th-sorted-asc, &.th-sorted-desc {
&:after {
display: inline-block;
padding-left: 10px;
}
}
&.th-sorted-asc {
&:after {
content: "";
}
}
&.th-sorted-desc {
&:after {
content: "";
}
}
}
}

View File

@@ -3,11 +3,16 @@
require "open_food_network/feature_toggle"
class FeatureToggleConstraint
def initialize(feature_name)
def initialize(feature_name, negate: false)
@feature = feature_name
@negate = negate
end
def matches?(request)
enabled?(request) ^ @negate
end
def enabled?(request)
OpenFoodNetwork::FeatureToggle.enabled?(@feature, current_user(request))
end

View File

@@ -116,21 +116,7 @@ module Admin
# Fetches tags for all customers of the enterprise and returns a hash indexed by customer_id
def customer_tags_by_id
customer_tags = ::ActsAsTaggableOn::Tag.
joins(:taggings).
includes(:taggings).
where(taggings:
{ taggable_type: 'Customer',
taggable_id: Customer.of(managed_enterprise_id),
context: 'tags' })
customer_tags.each_with_object({}) do |tag, indexed_hash|
tag.taggings.each do |tagging|
customer_id = tagging.taggable_id
indexed_hash[customer_id] ||= []
indexed_hash[customer_id] << tag.name
end
end
BatchTaggableTagsQuery.call(Customer.of(managed_enterprise_id))
end
end
end

View File

@@ -8,12 +8,12 @@ module Admin
class EnterprisesController < Admin::ResourceController
include GeocodeEnterpriseAddress
include CablecarResponses
include Pagy::Backend
# These need to run before #load_resource so that @object is initialised with sanitised values
prepend_before_action :override_owner, only: :create
prepend_before_action :override_sells, only: :create
before_action :load_enterprise_set, only: :index
before_action :load_countries, except: [:index, :register, :check_permalink]
before_action :load_methods_and_fees, only: [:edit, :update]
before_action :load_groups, only: [:new, :edit, :update, :create]
@@ -33,6 +33,8 @@ module Admin
include OrderCyclesHelper
def index
load_enterprise_set_on_index
respond_to do |format|
format.html
format.json {
@@ -100,7 +102,8 @@ module Admin
end
def bulk_update
@enterprise_set = Sets::EnterpriseSet.new(collection, bulk_params)
load_enterprise_set_with_params(bulk_params)
if @enterprise_set.save
flash[:success] = I18n.t(:enterprise_bulk_update_success_notice)
@@ -148,8 +151,15 @@ module Admin
private
def load_enterprise_set
@enterprise_set = Sets::EnterpriseSet.new(collection) if spree_current_user.admin?
def load_enterprise_set_on_index
return unless spree_current_user.admin?
load_enterprise_set_with_params
end
def load_enterprise_set_with_params(params = {})
@pagy, @paginated_collection = pagy(@collection)
@enterprise_set = Sets::EnterpriseSet.new(@paginated_collection, params)
end
def load_countries

View File

@@ -18,7 +18,6 @@ module Admin
params.require(:preferences).permit(
:enable_invoices?,
:invoice_style2?,
:enable_receipt_printing?,
:enterprise_number_required_on_invoices?,
)
end

View File

@@ -1,47 +0,0 @@
# frozen_string_literal: true
module Admin
class ManagerInvitationsController < Spree::Admin::BaseController
authorize_resource class: false
def create
@email = params[:email]
@enterprise = Enterprise.find(params[:enterprise_id])
authorize! :edit, @enterprise
existing_user = Spree::User.find_by(email: @email)
if existing_user
render json: { errors: t('admin.enterprises.invite_manager.user_already_exists') },
status: :unprocessable_entity
return
end
new_user = create_new_manager
if new_user
render json: { user: new_user.id }, status: :ok
else
render json: { errors: t('admin.enterprises.invite_manager.error') },
status: :internal_server_error
end
end
private
def create_new_manager
password = Devise.friendly_token
new_user = Spree::User.create(email: @email, unconfirmed_email: @email, password: password)
new_user.reset_password_token = Devise.friendly_token
# Same time as used in Devise's lib/devise/models/recoverable.rb.
new_user.reset_password_sent_at = Time.now.utc
new_user.save!
@enterprise.users << new_user
EnterpriseMailer.manager_invitation(@enterprise, new_user).deliver_later
new_user
end
end
end

View File

@@ -100,10 +100,13 @@ module Admin
order_cycle.schedules.each do |schedule|
Subscription.where(schedule_id: schedule.id).each do |subscription|
shop = Enterprise.managed_by(spree_current_user).find_by(id: subscription.shop_id)
fee_calculator = OpenFoodNetwork::EnterpriseFeeCalculator.new(shop, order_cycle)
subscription.subscription_line_items.nil_price_estimate.each do |line_item|
variant = OrderManagement::Subscriptions::
VariantsList.eligible_variants(shop).find_by(id: line_item.variant_id)
fee_calculator = OpenFoodNetwork::EnterpriseFeeCalculator.new(shop, order_cycle)
# If the variant is not available in the shop, the price estimate will be nil
next if variant.nil?
price = variant.price + fee_calculator.indexed_fees_for(variant)
line_item.update_column(:price_estimate, price)
end

View File

@@ -0,0 +1,7 @@
# frozen_string_literal: true
module Admin
class ProductsController < Spree::Admin::BaseController
def index; end
end
end

View File

@@ -19,22 +19,22 @@ module Admin
end
def show
@report = report_class.new(spree_current_user, params, request)
@report = report_class.new(spree_current_user, params, render: render_data?)
if report_format.present?
export_report
else
render_report
show_report
end
end
private
def export_report
send_data @report.render_as(report_format, controller: self), filename: report_filename
send_data render_report_as(report_format), filename: report_filename
end
def render_report
def show_report
assign_view_data
render "show"
end
@@ -43,21 +43,29 @@ module Admin
@report_type = report_type
@report_subtypes = report_subtypes
@report_subtype = report_subtype
@report_title = if report_subtype
report_subtype_title
else
I18n.t(:name, scope: [:admin, :reports, @report_type])
end
# Initialize data
params[:display_summary_row] = true if request.get?
@params_fields_to_show = if request.get?
@report.columns.keys - @report.fields_to_hide
else
params[:fields_to_show]
end
@report_title = report_title
@rendering_options = rendering_options
@table = render_report_as(:html) if render_data?
@data = Reporting::FrontendData.new(spree_current_user)
end
def render_data?
request.post?
end
def render_report_as(format)
if OpenFoodNetwork::FeatureToggle.enabled?(:background_reports, spree_current_user)
job = ReportJob.new
JobProcessor.perform_forked(
job,
report_class, spree_current_user, params, format
)
# This result has been rendered by Rails in safe mode already.
job.result.html_safe # rubocop:disable Rails/OutputSafety
else
@report.render_as(format)
end
end
end
end

View File

@@ -162,25 +162,20 @@ module Admin
[:index]
end
def managed_enterprise_id
Enterprise.managed_by(spree_current_user).select('enterprises.id').
find_by(id: params[:enterprise_id])
end
def subscription_params
@subscription_params ||= PermittedAttributes::Subscription.new(params).call.
to_h.with_indifferent_access
end
def payment_method_tags_by_id
payment_method_tags = ::ActsAsTaggableOn::Tag.
joins(:taggings).
includes(:taggings).
where(taggings: { taggable_type: "Spree::PaymentMethod",
taggable_id: Spree::PaymentMethod.from(Enterprise.managed_by(spree_current_user).
select('enterprises.id').find_by(id: params[:enterprise_id])),
context: 'tags' })
payment_method_tags.each_with_object({}) do |tag, hash|
payment_method_id = tag.taggings.first.taggable_id
hash[payment_method_id] ||= []
hash[payment_method_id] << tag.name
end
@payment_method_tags_by_id ||= BatchTaggableTagsQuery.call(
Spree::PaymentMethod.from(managed_enterprise_id)
)
end
end
end

View File

@@ -61,7 +61,7 @@ module Api
def search_customers
customers = visible_customers.includes(:bill_address, :ship_address)
customers = customers.where(enterprise_id: params[:enterprise_id]) if params[:enterprise_id]
customers.ransack(params[:q]).result
customers.ransack(params[:q]).result.order(:id)
end
def visible_customers

View File

@@ -15,7 +15,9 @@ module CheckoutCallbacks
prepend_before_action :require_distributor_chosen
before_action :load_order, :associate_user, :load_saved_addresses, :load_saved_credit_cards
before_action :load_shipping_methods, if: -> { params[:step] == "details" }
before_action :allowed_shipping_methods, if: -> {
params[:step] == "details"
}
before_action :ensure_order_not_completed
before_action :ensure_checkout_allowed
@@ -46,8 +48,22 @@ module CheckoutCallbacks
@selected_card = nil
end
def load_shipping_methods
@shipping_methods = available_shipping_methods.sort { |a, b| a.name.casecmp(b.name) }
def allowed_shipping_methods
@allowed_shipping_methods ||= sorted_available_shipping_methods.filter(
&method(:supports_all_products_shipping_categories?)
)
end
def sorted_available_shipping_methods
available_shipping_methods.sort { |a, b| a.name.casecmp(b.name) }
end
def supports_all_products_shipping_categories?(shipping_method)
(products_shipping_categories - shipping_method.shipping_categories.pluck(:id)).empty?
end
def products_shipping_categories
@products_shipping_categories ||= @order.products.pluck(:shipping_category_id).uniq
end
def redirect_to_shop?

View File

@@ -0,0 +1,21 @@
# frozen_string_literal: true
module ManagerInvitations
extend ActiveSupport::Concern
def create_new_manager(email, enterprise)
password = Devise.friendly_token
new_user = Spree::User.create(email: email, unconfirmed_email: email, password: password)
new_user.reset_password_token = Devise.friendly_token
# Same time as used in Devise's lib/devise/models/recoverable.rb.
new_user.reset_password_sent_at = Time.now.utc
new_user.save
return new_user unless new_user.valid? # Return early if user is invalid.
enterprise.users << new_user
EnterpriseMailer.manager_invitation(@enterprise, new_user).deliver_later
new_user
end
end

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
module OrderStockCheck
include CablecarResponses
extend ActiveSupport::Concern
def valid_order_line_items?
@@ -29,6 +30,9 @@ module OrderStockCheck
flash[:info] = I18n.t('order_cycle_closed')
respond_to do |format|
format.cable_ready {
render status: :see_other, operations: cable_car.redirect_to(url: main_app.shop_path)
}
format.json { render json: { path: main_app.shop_path }, status: :see_other }
format.html { redirect_to main_app.shop_path, status: :see_other }
end

View File

@@ -39,6 +39,14 @@ module ReportsActions
params[:report_subtype] || report_subtypes_codes.first
end
def report_title
if report_subtype
report_subtype_title
else
I18n.t(:name, scope: [:admin, :reports, report_type])
end
end
def report_subtype_title
report_subtypes.select { |_name, key| key.to_sym == report_subtype.to_sym }.first[0]
end
@@ -62,4 +70,37 @@ module ReportsActions
def i18n_scope
'admin.reports'
end
def rendering_options
@rendering_options ||= ReportRenderingOptions.where(
user: spree_current_user,
report_type: report_type,
report_subtype: report_subtype
).first_or_create do |report_rendering_options|
report_rendering_options.options = {
fields_to_show: if request.get?
@report.columns.keys -
@report.fields_to_hide
else
params[:fields_to_show]
end,
display_summary_row: request.get?,
display_header_row: false
}
end
update_rendering_options
@rendering_options
end
def update_rendering_options
return unless request.post?
@rendering_options.update(
options: {
fields_to_show: params[:fields_to_show],
display_summary_row: params[:display_summary_row].present?,
display_header_row: params[:display_header_row].present?
}
)
end
end

View File

@@ -4,6 +4,11 @@ class ErrorsController < ApplicationController
layout "errors"
def not_found
Bugsnag.notify("404") do |event|
event.severity = "info"
event.add_metadata(:request, request.env)
end
render status: :not_found
end

View File

@@ -24,22 +24,19 @@ class SplitCheckoutController < ::BaseController
check_step if params[:step]
recalculate_tax if params[:step] == "summary"
flash_error_when_no_shipping_method_available if available_shipping_methods.none?
flash_error_when_no_shipping_method_available if allowed_shipping_methods.none?
end
def update
if confirm_order || update_order
return if performed?
check_payments_adjustments
clear_invalid_payments
advance_order_state
redirect_to_step
else
flash.now[:error] ||= I18n.t('split_checkout.errors.global')
render status: :unprocessable_entity, operations: cable_car.
replace("#checkout", partial("split_checkout/checkout")).
replace("#flashes", partial("shared/flashes", locals: { flashes: flash }))
render_error
end
rescue Spree::Core::GatewayError => e
flash[:error] = I18n.t(:spree_gateway_error_flash_for_checkout, error: e.message)
@@ -49,10 +46,69 @@ class SplitCheckoutController < ::BaseController
private
def render_error
flash.now[:error] ||= I18n.t(
'split_checkout.errors.saving_failed',
messages: order_error_messages
)
render status: :unprocessable_entity, operations: cable_car.
replace("#checkout", partial("split_checkout/checkout")).
replace("#flashes", partial("shared/flashes", locals: { flashes: flash }))
end
def order_error_messages
# Remove ship_address.* errors if no shipping method is not selected
remove_ship_address_errors if no_ship_address_needed?
# Reorder errors to make sure the most important ones are shown first
# and finally, return the error messages to sentence
reorder_errors.map(&:full_message).to_sentence
end
def no_ship_address_needed?
@order.errors[:shipping_method].present? || params[:ship_address_same_as_billing] == "1"
end
def remove_ship_address_errors
@order.errors.delete("ship_address.firstname")
@order.errors.delete("ship_address.address1")
@order.errors.delete("ship_address.city")
@order.errors.delete("ship_address.phone")
@order.errors.delete("ship_address.lastname")
@order.errors.delete("ship_address.zipcode")
end
def reorder_errors
@order.errors.sort_by do |e|
case e.attribute
when /email/i then 0
when /phone/i then 1
when /bill_address/i then 2 + bill_address_error_order(e)
else 20
end
end
end
def bill_address_error_order(error)
case error.attribute
when /firstname/i then 0
when /lastname/i then 1
when /address1/i then 2
when /city/i then 3
when /zipcode/i then 4
else 5
end
end
def flash_error_when_no_shipping_method_available
flash[:error] = I18n.t('split_checkout.errors.no_shipping_methods_available')
end
def check_payments_adjustments
@order.payments.each(&:ensure_correct_adjustment)
end
def clear_invalid_payments
@order.payments.with_state(:invalid).delete_all
end
@@ -65,6 +121,7 @@ class SplitCheckoutController < ::BaseController
return true if redirect_to_payment_gateway
@order.process_payments!
@order.confirm!
order_completion_reset @order
end
@@ -84,6 +141,10 @@ class SplitCheckoutController < ::BaseController
def update_order
return if params[:confirm_order] || @order.errors.any?
# If we have "pick up" shipping method (require_ship_address is set to false), use the
# distributor address as shipping address
use_shipping_address_from_distributor if shipping_method_ship_address_not_required?
@order.select_shipping_method(params[:shipping_method_id])
@order.update(order_params)
@order.updater.update_totals_and_states
@@ -93,6 +154,29 @@ class SplitCheckoutController < ::BaseController
@order.errors.empty?
end
def use_shipping_address_from_distributor
@order.ship_address = @order.address_from_distributor
# Add the missing data
bill_address = params[:order][:bill_address_attributes]
@order.ship_address.firstname = bill_address[:firstname]
@order.ship_address.lastname = bill_address[:lastname]
@order.ship_address.phone = bill_address[:phone]
# Remove shipping address from parameter so we don't override the address we just set
params[:order].delete(:ship_address_attributes)
end
def shipping_method_ship_address_not_required?
selected_shipping_method = allowed_shipping_methods&.select do |sm|
sm.id.to_s == params[:shipping_method_id]
end
return false if selected_shipping_method.empty?
selected_shipping_method.first.require_ship_address == false
end
def summary_step?
params[:step] == "summary"
end

View File

@@ -6,7 +6,6 @@ module Spree
def edit
@preferences_general = [:site_name, :default_seo_title, :default_meta_keywords,
:default_meta_description, :site_url]
@preferences_security = [:allow_ssl_in_production, :allow_ssl_in_staging]
@preferences_currency = [:display_currency, :hide_cents]
end

View File

@@ -9,15 +9,13 @@ module Spree
helper CheckoutHelper
before_action :load_order, only: [:edit, :update, :fire, :resend,
:invoice, :print, :print_ticket]
:invoice, :print]
before_action :load_distribution_choices, only: [:new, :edit, :update]
# Ensure that the distributor is set for an order when
before_action :ensure_distribution, only: :new
before_action :require_distributor_abn, only: :invoice
content_security_policy false, only: :print_ticket
respond_to :html, :json
def new
@@ -67,18 +65,6 @@ module Spree
load_spree_api_key
end
def bulk_cancel
order_ids = params[:order_ids].split(',')
Spree::Order.where(id: order_ids).find_each do |order|
order.send_cancellation_email = params[:send_cancellation_email] != "false"
order.restock_items = params.fetch(:restock_items, "true") == "true"
order.cancel
end
flash[:success] = Spree.t(:order_updated)
end
def fire
event = params[:e]
@order.send_cancellation_email = params[:send_cancellation_email] != "false"
@@ -117,10 +103,6 @@ module Spree
render_with_wicked_pdf InvoiceRenderer.new.args(@order)
end
def print_ticket
render template: "spree/admin/orders/ticket", layout: false
end
private
def order_params

View File

@@ -11,6 +11,7 @@ module CheckoutHelper
def checkout_adjustments_for(order, opts = {})
exclude = opts[:exclude] || {}
reject_zero_amount = opts.fetch(:reject_zero_amount, true)
adjustments = order.all_adjustments.eligible.to_a
@@ -32,6 +33,10 @@ module CheckoutHelper
}
end
if reject_zero_amount
adjustments.reject! { |a| a.amount == 0 }
end
adjustments
end

View File

@@ -26,6 +26,12 @@ module ReportsHelper
end.uniq
end
def customer_email_options(order_customers)
order_customers.map do |customer|
[customer&.email, customer&.id]
end
end
def currency_symbol
Spree::Money.currency_symbol
end

View File

@@ -34,6 +34,7 @@ module Spree
link = link_to_with_icon(options[:icon], titleized_label, destination_url)
css_classes << 'tab-with-icon'
else
titleized_label = raw("<span class='text'>#{titleized_label}</span>")
link = link_to(titleized_label, destination_url)
end

View File

@@ -27,7 +27,7 @@ module Spree
private
def complete_order_links
[resend_confirmation_link] + invoice_links + ticket_links
[resend_confirmation_link] + invoice_links
end
def invoice_links
@@ -52,12 +52,6 @@ module Spree
end
end
def ticket_links
return [] unless Spree::Config[:enable_receipt_printing?]
[print_ticket_link, select_ticket_printer_link]
end
def edit_order_link
{ name: t(:edit_order),
url: spree.edit_admin_order_path(@order),
@@ -100,20 +94,6 @@ module Spree
confirm: t(:must_have_valid_business_number, enterprise_name: @order.distributor.name) }
end
def print_ticket_link
{ name: t(:print_ticket),
url: print_ticket_admin_order_path(@order),
icon: 'icon-print',
target: "_blank" }
end
def select_ticket_printer_link
{ name: t(:select_ticket_printer),
url: "#{print_ticket_admin_order_path(@order)}#select-printer",
icon: 'icon-print',
target: "_blank" }
end
def ship_order_link
{ name: t(:ship_order),
url: spree.fire_admin_order_path(@order, e: 'ship'),
@@ -133,7 +113,7 @@ module Spree
event_label = I18n.t("cancel", scope: "actions")
button_link_to(event_label,
fire_admin_order_url(@order, e: "cancel"),
method: :put, icon: "icon-cancel", form_id: "cancel_order_form")
method: :put, icon: "icon-remove", form_id: "cancel_order_form")
end
def resume_event_link

View File

@@ -12,6 +12,16 @@ module TaxHelper
end
end
def display_line_items_taxes(line_item, display_zero: true)
if line_item.included_tax.positive?
Spree::Money.new(line_item.included_tax, currency: line_item.currency)
elsif line_item.added_tax.positive?
Spree::Money.new(line_item.added_tax, currency: line_item.currency)
elsif display_zero
Spree::Money.new(0.00, currency: line_item.currency)
end
end
def display_total_with_tax(taxable)
total = taxable.amount + taxable.additional_tax_total
Spree::Money.new(total, currency: taxable.currency)

View File

@@ -0,0 +1,10 @@
# frozen_string_literal: true
# Rails standard class for common job code.
class ApplicationJob < ActiveJob::Base
# Automatically retry jobs that encountered a deadlock
# retry_on ActiveRecord::Deadlocked
# Most jobs are safe to ignore if the underlying records are no longer available
# discard_on ActiveJob::DeserializationError
end

View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
class BulkInvoiceJob < ActiveJob::Base
class BulkInvoiceJob < ApplicationJob
def perform(order_ids, filepath)
pdf = CombinePDF.new

View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
class HeartbeatJob < ActiveJob::Base
class HeartbeatJob < ApplicationJob
def perform
Spree::Config.last_job_queue_heartbeat_at = Time.now.in_time_zone
end

View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
class OrderCycleClosingJob < ActiveJob::Base
class OrderCycleClosingJob < ApplicationJob
def perform
return if recently_closed_order_cycles.empty?

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
# Delivers an email with a report of the order cycle to each of its suppliers
class OrderCycleNotificationJob < ActiveJob::Base
class OrderCycleNotificationJob < ApplicationJob
def perform(order_cycle_id)
order_cycle = OrderCycle.find(order_cycle_id)
order_cycle.suppliers.each do |supplier|

34
app/jobs/report_job.rb Normal file
View File

@@ -0,0 +1,34 @@
# frozen_string_literal: true
# Renders a report and saves it to a temporary file.
class ReportJob < ActiveJob::Base
def perform(report_class, user, params, format)
report = report_class.new(user, params, render: true)
result = report.render_as(format)
write(result)
end
def done?
@done ||= File.file?(filename)
end
def result
@result ||= read_result
end
private
def write(result)
File.write(filename, result, mode: "wb")
end
def read_result
File.read(filename)
ensure
File.unlink(filename)
end
def filename
Rails.root.join("tmp/report-#{job_id}")
end
end

View File

@@ -3,7 +3,7 @@
require 'order_management/subscriptions/summarizer'
# Confirms orders of unconfirmed proxy orders in recently closed Order Cycles
class SubscriptionConfirmJob < ActiveJob::Base
class SubscriptionConfirmJob < ApplicationJob
def perform
confirm_proxy_orders!
end

View File

@@ -2,7 +2,7 @@
require 'order_management/subscriptions/summarizer'
class SubscriptionPlacementJob < ActiveJob::Base
class SubscriptionPlacementJob < ApplicationJob
def perform
proxy_orders.each do |proxy_order|
place_order_for(proxy_order)

View File

@@ -7,7 +7,6 @@ module Calculator
extend Spree::LocalizedNumber
preference :amount, :decimal, default: 0
preference :currency, :string, default: Spree::Config[:currency]
localize_number :preferred_amount

View File

@@ -9,7 +9,6 @@ module Calculator
preference :first_item, :decimal, default: 0.0
preference :additional_item, :decimal, default: 0.0
preference :max_items, :integer, default: 0
preference :currency, :string, default: Spree::Config[:currency]
localize_number :preferred_first_item,
:preferred_additional_item

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: false
module Calculator
class None < Spree::Calculator
def self.description
I18n.t(:none)
end
def compute(_object = nil)
0
end
end
end

View File

@@ -7,7 +7,6 @@ module Calculator
extend Spree::LocalizedNumber
preference :amount, :decimal, default: 0
preference :currency, :string, default: Spree::Config[:currency]
localize_number :preferred_amount

Some files were not shown because too many files have changed in this diff Show More