Compare commits

...

2055 Commits

Author SHA1 Message Date
Jean-Baptiste Bellet
dab595f17f Update all locales with the latest Transifex translations 2023-07-07 17:11:40 +02:00
Filipe
f0bcb79c09 Merge pull request #11169 from openfoodfoundation/11164-admin-orders-actions-dropdown-is-not-well-placed
Fix container issues introduced by #11123
2023-07-07 11:15:14 +01:00
jibees
967c5a99c3 Merge pull request #11167 from openfoodfoundation/dependabot/bundler/faraday-2.7.10
chore(deps): bump faraday from 2.7.9 to 2.7.10
2023-07-07 11:50:01 +02:00
jibees
72fa132c17 Merge pull request #11172 from openfoodfoundation/dependabot/bundler/sanitize-6.0.2
chore(deps): bump sanitize from 6.0.1 to 6.0.2
2023-07-07 11:44:16 +02:00
dependabot[bot]
9f539df5e0 chore(deps): bump sanitize from 6.0.1 to 6.0.2
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.0.1...v6.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 09:06:31 +00:00
dependabot[bot]
74ef681607 chore(deps): bump faraday from 2.7.9 to 2.7.10
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.9 to 2.7.10.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.9...v2.7.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 09:06:22 +00:00
Gaetan Craig-Riou
fb3c99e52c Merge pull request #11121 from filipefurtad0/cart_state_orders_not_appearing_orders_page
Cart state orders not appearing orders page
2023-07-07 09:27:36 +10:00
Matt-Yorkley
eb71c65fc0 Merge pull request #11138 from Matt-Yorkley/variant-timestamps
Add timestamps to variants table
2023-07-06 18:22:19 +01:00
Matt-Yorkley
bbf53133cb Add timestamps to variants table 2023-07-06 16:16:03 +01:00
jibees
2e9442a7ab Merge pull request #11127 from openfoodfoundation/dependabot/bundler/vcr-6.2.0
chore(deps-dev): bump vcr from 6.1.0 to 6.2.0
2023-07-06 16:43:49 +02:00
dependabot[bot]
de384ac261 chore(deps-dev): bump vcr from 6.1.0 to 6.2.0
Bumps [vcr](https://github.com/vcr/vcr) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/vcr/vcr/releases)
- [Changelog](https://github.com/vcr/vcr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vcr/vcr/compare/v6.1.0...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 14:22:55 +00:00
Filipe
ba1ba6dbec Merge pull request #11092 from mkllnk/bye-datadog
Remove datadog gem, too expensive
2023-07-06 15:20:20 +01:00
Filipe
99ed019413 Merge pull request #11136 from Matt-Yorkley/remove-available-on
Remove :available_on attribute from Product
2023-07-06 15:20:08 +01:00
jibees
3f070d7152 Merge pull request #11166 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.4.4
chore(deps): bump @floating-ui/dom from 1.4.3 to 1.4.4
2023-07-06 16:13:35 +02:00
jibees
5f54c7fe56 Merge pull request #11146 from openfoodfoundation/dependabot/bundler/rails-7.0.6
chore(deps): bump rails from 7.0.5 to 7.0.6
2023-07-06 16:04:16 +02:00
jibees
9c035c6114 Merge pull request #11128 from openfoodfoundation/dependabot/bundler/view_component-3.3.0
chore(deps): bump view_component from 3.2.0 to 3.3.0
2023-07-06 16:00:51 +02:00
Matt-Yorkley
42a3087cdb Remove :available_on attribute from Product class 2023-07-06 14:36:35 +01:00
Jean-Baptiste Bellet
6ee388fe51 Fix container issues 2023-07-06 11:41:54 +02:00
dependabot[bot]
5c56c9b60b chore(deps): bump @floating-ui/dom from 1.4.3 to 1.4.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.4.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-07-06 09:10:25 +00:00
David Cook
05a22b80bc Merge pull request #11123 from dacook/buu-products-table
[admin_style_v3] Products table with variants
2023-07-06 09:37:31 +10:00
Filipe
39b597096c Merge pull request #11137 from Matt-Yorkley/remove-product-permalink
Remove :permalink attribute from Product
2023-07-05 18:35:48 +01:00
jibees
de34b9b109 Merge pull request #11142 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.4.3
chore(deps): bump @floating-ui/dom from 1.4.2 to 1.4.3
2023-07-05 14:53:53 +02:00
dependabot[bot]
2a059fd879 chore(deps): bump rails from 7.0.5 to 7.0.6
Bumps [rails](https://github.com/rails/rails) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.0.5...v7.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 12:52:51 +00:00
jibees
9205aafbd9 Merge pull request #11147 from openfoodfoundation/dependabot/bundler/faraday-2.7.9
chore(deps): bump faraday from 2.7.6 to 2.7.9
2023-07-05 14:52:00 +02:00
jibees
409cf54a45 Merge pull request #11152 from openfoodfoundation/dependabot/bundler/state_machines-activerecord-0.9.0
chore(deps): bump state_machines-activerecord from 0.8.0 to 0.9.0
2023-07-05 14:49:08 +02:00
jibees
24f9770acc Merge pull request #11154 from openfoodfoundation/dependabot/bundler/rubocop-1.54.1
chore(deps-dev): bump rubocop from 1.52.1 to 1.54.1
2023-07-05 14:48:15 +02:00
jibees
722f7b981b Merge pull request #11158 from openfoodfoundation/dependabot/bundler/geocoder-1.8.2
chore(deps): bump geocoder from 1.8.1 to 1.8.2
2023-07-05 14:47:12 +02:00
dependabot[bot]
20bc6c8028 chore(deps): bump geocoder from 1.8.1 to 1.8.2
Bumps [geocoder](https://github.com/alexreisner/geocoder) from 1.8.1 to 1.8.2.
- [Changelog](https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alexreisner/geocoder/compare/v1.8.1...v1.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 09:23:48 +00:00
dependabot[bot]
eba8d8db83 chore(deps-dev): bump rubocop from 1.52.1 to 1.54.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.52.1 to 1.54.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.52.1...v1.54.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-07-04 09:26:38 +00:00
filipefurtad0
e547e735c0 Adds test on API call for orders page
Removes unecessary assertion on http status
2023-07-03 11:51:46 +01:00
filipefurtad0
3f7958afe3 Adds regression test to issue #11120 2023-07-03 11:51:46 +01:00
dependabot[bot]
a9cb35dcc0 chore(deps): bump state_machines-activerecord from 0.8.0 to 0.9.0
Bumps [state_machines-activerecord](https://github.com/state-machines/state_machines-activerecord) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/state-machines/state_machines-activerecord/compare/v0.8.0...v0.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 09:58:39 +00:00
Maikel
400d087789 Merge pull request #11133 from mkllnk/dfc-api-specs
OFN DFC API documenation in OpenAPI format generated with Rswag
2023-07-03 10:53:40 +10:00
Maikel
ffda344838 Merge pull request #11144 from mkllnk/remove-test-unit
Remove unused gem test-unit
2023-07-03 10:34:24 +10:00
Matt-Yorkley
fefa9288a4 Remove :permalink attribute from Product 2023-06-30 11:37:57 +01:00
Filipe
b175793b91 Merge pull request #10704 from abdellani/hide-customers-with-no-completed-orders
Hide users with no completed orders from a hub's customers list
2023-06-30 10:56:56 +01:00
dependabot[bot]
7c9cabbab7 chore(deps): bump faraday from 2.7.6 to 2.7.9
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.6 to 2.7.9.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.6...v2.7.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-30 09:34:58 +00:00
Maikel Linke
9c2d092f4d Remove unused gem test-unit 2023-06-30 11:37:57 +10:00
filipefurtad0
efb5132ac2 Update all locales with the latest Transifex translations 2023-06-29 23:28:28 +01:00
Filipe
54a85a504d Merge pull request #11101 from mkllnk/dfc-api-key
Allow access to DFC API with OFN API token
2023-06-29 17:20:21 +01:00
Filipe
d27a632a38 Merge pull request #11079 from abdellani/fix-distributors-listing-on-checkout-options
filter distributors before listing on checkout options
2023-06-29 17:02:34 +01:00
Filipe
36f4b2e7f9 Merge pull request #11107 from jibees/11085-edit-variant-cant-update-values-on-the-variant-edit-page
Admin, Edit variant: remove unwanted extra space on price (added in certain specific conditions)
2023-06-29 16:46:42 +01:00
Filipe
97f131e556 Merge pull request #11089 from jibees/11049-invoices-actions-dropdown-menu-disappears-after-creating-the-first-invoice
[Invoices] Actions dropdown menu disappears after creating the first invoice
2023-06-29 16:23:35 +01:00
Filipe
da226ea021 Merge pull request #11109 from mkllnk/image-urls
Gracefully deal with missing S3 config
2023-06-29 12:50:36 +01:00
Filipe
d92c7f89bd Merge pull request #11022 from Matt-Yorkley/matomo
Call matomo manually on asynchronous page visits
2023-06-29 12:02:48 +01:00
dependabot[bot]
af4ae4aaae chore(deps): bump @floating-ui/dom from 1.4.2 to 1.4.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.4.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-06-29 09:59:20 +00:00
Jean-Baptiste Bellet
045435e9cc use the variant price itself 2023-06-29 11:02:56 +02:00
Jean-Baptiste Bellet
3286094804 number_to_currency can be nil: use a safe operator 2023-06-29 10:47:00 +02:00
Maikel Linke
8b3f45263c Remove unnecessary spec clean-up
And clarify locale setup.
2023-06-29 10:40:01 +02:00
Jean-Baptiste Bellet
2fcf706aa3 Remove unwanted space at the end of the price
This `number_to_currency` method seems to display an extra space, not necessary when unit is `''`
Strip it.

Update specs as well. Thanks @filipefurtad0 for specs!!!
2023-06-29 10:40:01 +02:00
filipefurtad0
6b84fbf2b8 Adds after block, to remove configurations
Sets pending shared examples
2023-06-29 10:40:01 +02:00
filipefurtad0
504ee50dd4 Sets up a spec for #11085 2023-06-29 10:40:00 +02:00
David Cook
0ba342bf11 Merge pull request #10965 from macanudo527/fix_linelength_bundle2
Fix Layout/LineLength - Bundle 2
2023-06-29 15:27:08 +10:00
Maikel
dd1e1328cc Merge pull request #11080 from rioug/fix-bulk-order-cancelation-spec
Fix bulk order cancellation test
2023-06-29 14:44:04 +10:00
Maikel
46ddab3781 Merge pull request #11088 from Matt-Yorkley/deployments-check
Update workflow permissions check to latest version
2023-06-29 14:34:46 +10:00
Maikel
6392c2c115 Merge pull request #11075 from mkllnk/test-cache
Use Redis for caching in test environment
2023-06-29 14:33:09 +10:00
Maikel Linke
029364d4a3 Express spec intent with DSL instead of comment 2023-06-29 14:25:50 +10:00
David Cook
714642f331 Use different Redis database for test environment 2023-06-29 14:15:18 +10:00
Filipe
ba99f85f5c Merge pull request #10914 from abdellani/fix-stripe-sca-failure
redirect user to payment when the card doesn't have enough credit
2023-06-28 19:58:18 +01:00
Matt-Yorkley
ace2c5778f Call matomo manually on Turbo page visits 2023-06-28 12:52:54 +01:00
Matt-Yorkley
a0a1f8f910 Merge pull request #11002 from openfoodfoundation/voucher-prep
Vouchers part 1
2023-06-28 11:30:12 +01:00
Maikel Linke
78d6d129e8 Simplify with extracted helper method 2023-06-28 14:11:50 +10:00
Maikel Linke
d21e6f99bb Swaggerise CatalogItems spec 2023-06-28 14:11:50 +10:00
Maikel Linke
883e637545 Create deterministic test data for stable API docs
Otherwise the auto-generated Swagger file changes all the time without
code changes.
2023-06-28 13:50:54 +10:00
Maikel Linke
df29eaab98 Document DFC example body to create a product 2023-06-28 13:50:54 +10:00
Maikel Linke
db77d1591c Add test examples to DFC API documentation
In other API specs, you provide example values in the schema. So the
specs contain examples which can be used for the documentation. But
instead of defining example data separately, we can use the generated
data by the specs. This way we document real output and don't have to
double up on documentation.

Note that we don't have schema definitions for the DFC API yet. And it
wouldn't make sense to replicate the DFC Ontology manually in JSON
Schema for this purpose. The DFC Connector ensures already that we
comply with the ontology. But I hope that we can use a tool at some
point to generate JSON Schema from the DFC Ontology which would add more
detail to the Swagger docs, I think.
2023-06-28 13:50:54 +10:00
Maikel Linke
b14c9bdf4c Swaggerize SuppliedProduct spec 2023-06-28 13:50:54 +10:00
Maikel Linke
f0a5475563 Swaggerize Enterprise spec 2023-06-28 13:50:54 +10:00
Maikel Linke
7c0a4108d8 Show api-docs in production as well
We were hiding that before because the API is not officially released
yet but that's actually quite annoying. It's very conenient to have the
UI on production and be able to try out endpoints.
2023-06-28 13:50:54 +10:00
Maikel Linke
494c5e78de Swaggerize Person spec
I chose the simplest spec first to demonstrate how it works. The UI at
/api-docs now shows this endpoint with two possible responses.

The docs are missing an example response which I hope to add later.
2023-06-28 13:50:54 +10:00
Maikel Linke
8368a6ccc9 Announce the new DFC endpoint
We need to declare in each spec file for which endpoint the spec is
because it was just choosing the first declared one by default. The
first one was v1 and now it's dfc-v1.7.
2023-06-28 13:50:54 +10:00
Maikel Linke
de51a7833d Add script to swaggerize DFC API in its engine
Rswag doesn't look for specs in engines by default. We haven't added any
Rswag specs in the dfc_provider engine yet but that will come.

The generated API schema has some superfluous whitespace removed due to
a fix in the rswag gems.
2023-06-28 13:50:54 +10:00
David Cook
f280881126 Style tables with relaxed and condensed rows
* attempt with shadows, but they are between every row: http://jsfiddle.net/d872e3nb/
 * another attempt at applying styles to tbody groups http://jsfiddle.net/sb38cLdu/
2023-06-28 09:59:57 +10:00
David Cook
2c14fe0434 Add variant rows and price column 2023-06-28 09:59:57 +10:00
David Cook
9c573f823a Move .content under main content div
The .content div provides overall page margins and a max width, and is already nested inside the nav menus (this allows the nav background to fill the full width of the page.
The main content area should be structured the same way, so we can have flexibility needed to allow some screens to use the full page.

This doesn't seem to change the layout of any screens in the admin interface.

Now the table content can stretch full width
2023-06-28 09:59:57 +10:00
David Cook
6a2025b271 Add products table
With ellipsis clipping for long lines.
2023-06-28 09:59:57 +10:00
David Cook
809c15b197 Load products page with reflex
We will add the products in the next commit.
2023-06-28 09:59:57 +10:00
David Cook
841192fb96 Add new products page
Hidden behind admin_style_v3 feature toggle.
2023-06-28 09:59:57 +10:00
David Cook
efcaab5deb Rename colour variables 2023-06-28 09:59:57 +10:00
dependabot[bot]
d65239fe47 chore(deps): bump view_component from 3.2.0 to 3.3.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.2.0 to 3.3.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/v3.2.0...v3.3.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-06-27 10:03:13 +00:00
Filipe
748cdaaa52 Merge pull request #10963 from jibees/10956-orders-page-uncaught-error-missing-target-element-tooltip-for-tooltip-controller
Admin, Orders list: add tooltip on Edit action icon + capitalize tooltip (instead of uppercasing)
2023-06-27 09:58:34 +01:00
Mohamed ABDELLANI
e678c6149f extract payment_faild from processing_failed 2023-06-27 09:26:26 +01:00
Mohamed ABDELLANI
4cca823a66 redirect user to payment when the card doesn't have enough credit 2023-06-27 09:14:48 +01:00
Neal Chambers
a4220891c5 Update .rubocop_todo.yml 2023-06-26 13:06:57 +09:00
Neal Chambers
5b6f45931c Fix Layout/LineLength 2023-06-26 13:06:56 +09:00
Maikel Linke
c3d49bf31a Speed up, simplify helper with ActiveRecord scopes 2023-06-26 12:56:00 +10:00
Maikel Linke
61c4fb936a Test OrderCycleHelper with real data, not mocks
It's more realistic and doesn't break with the next change.
2023-06-26 12:55:57 +10:00
Maikel Linke
7f94fbc085 Add common whitespace to spec 2023-06-26 12:48:54 +10:00
Maikel
014fb69d4b Merge pull request #10964 from macanudo527/fix_linelength_bundle1
Fix Layout/LineLength - Bundle 1
2023-06-26 12:10:39 +10:00
Maikel
bb5c5ffc7b Merge pull request #11078 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.126.0
chore(deps): bump aws-sdk-s3 from 1.124.0 to 1.126.0
2023-06-26 11:11:39 +10:00
Maikel
a7915b8089 Merge pull request #10849 from mkllnk/report-cable
Show "loading" screen for background reports and display when ready
2023-06-26 10:25:48 +10:00
Konrad
49db2f30bc Merge pull request #11014 from mkllnk/specs
Restore line item ordering
2023-06-25 21:45:26 +02:00
Konrad
8a8d78c081 Merge pull request #11041 from cillian/export-ofn-uid-column
Add an OFN UID column to the Users & Enterprises report
2023-06-25 20:46:18 +02:00
Maikel Linke
ff588cec40 Restore line item ordering
The line item sorting by id has been replaced by sorting by completed_at
time: ccb183d60b

While that's a good idea, the query param to order was only defined in
the client Javascript and there was no default ordering. Line items also
get their completed_at date from the order. So it's the same for all
items of the same order and the ordering with that group of line items
was random.

Now we are adding an order in addition. Items are first sorted by date
and then by id if there's any ambiguity.
2023-06-25 19:24:58 +02:00
Cillian O'Ruanaidh
8ab077bed8 Create enterprise inside :it block because it's only needed there so far 2023-06-25 19:01:42 +02:00
Cillian O'Ruanaidh
1984a1feeb Use more readable click_button helper instead of find and click in users_and_enterprises_spec.rb 2023-06-25 19:01:42 +02:00
Cillian O'Ruanaidh
40b0bfb433 Add an OFN UID column to the Users & Enterprises report 2023-06-25 19:01:42 +02:00
dependabot[bot]
5010d3bbf3 chore(deps): bump aws-sdk-s3 from 1.124.0 to 1.126.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.124.0 to 1.126.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-06-25 18:26:42 +02:00
David Cook
6240baec0d Update app/controllers/admin/enterprises_controller.rb
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2023-06-23 16:18:45 +09:00
Maikel
e065910d2d Merge pull request #10939 from Matt-Yorkley/master-variants
Remove master variants
2023-06-23 13:42:58 +10:00
Maikel Linke
33d212d274 Gracefully deal with missing S3 config
I could have split this into several commits:

* DRY direct linking to images.
* Check S3 config before direct linking.
* Just check if service is public instead of relying on name.

Developers may copy a staging or production database or experiment with
S3 storage. But when the S3 config is missing then calling `service`
raises an ArgumentError due to a missing name.

Now we only try to call `service` if the S3 config is present.
2023-06-23 12:41:36 +10:00
David Cook
4bf65e330b Enable master variants with associated order cycles
There's only 5 in UK prod. keeping them is easier than figuring out if it's safe to delete.
2023-06-23 11:50:26 +10:00
David Cook
2025a98f58 Delete stock_items for master variants
All variants have stock_items records, but master variants never use them, so these were always redundant.
2023-06-23 11:49:29 +10:00
David Cook
3bff7a9f13 Fix query
With deep nesting syntax.

I chose the longer alias 'left_outer_joins' because it's more explicit, and matches the use up on line 121.
2023-06-23 09:11:03 +09:00
Neal Chambers
172b1eea94 Update .rubocop_todo.yml 2023-06-23 09:11:02 +09:00
Neal Chambers
1e4034534c Fix Layout/LineLength 2023-06-23 09:08:04 +09:00
Filipe
bca7813320 Merge pull request #10323 from abdellani/enterprise-fee-w-tax-by-order
Enterprise fee w tax by order
2023-06-22 23:25:11 +01:00
Filipe
9293dd379b Merge pull request #11087 from Matt-Yorkley/image-error-notifications
Add image error Bugsnag notifications
2023-06-22 16:30:57 +01:00
Filipe
b4c4381473 Merge pull request #10987 from jibees/10979-white-label-trix-link-unlink-buttons-are-white-text-on-white-background
[White Label] Fix colors of custom content editor to have beautiful toolbar
2023-06-22 16:12:25 +01:00
Jean-Baptiste Bellet
7ce3c3f447 Overide a text-transform: uppercase to capitalize
Inherit comes from `app/webpacker/css/admin/components/buttons.scss`
2023-06-22 14:15:43 +02:00
Jean-Baptiste Bellet
91d24ba8ab Add Edit tooptip for action icon in orders table 2023-06-22 14:15:43 +02:00
Matt-Yorkley
c88799618f Set master variants which are associated to line items to non-master
Line items which reference a master variant is a scenario that in theory shouldn't have been valid or even possible for at least 5-6 years, and these old bits of data in theory should have been cleaned up at the time those changes were made. But a couple of servers have some really old data that's not in a nice state.

Here we can just flip the is_master flag to false for those specific (legacy data) cases before deleting any other master variants, to keep the legacy line item data intact.
2023-06-22 13:10:47 +01:00
jibees
22a3b31172 Merge pull request #11100 from mkllnk/remove-json-patch
Revert "Fix json v1.8.6 common.rb warning"
2023-06-22 11:11:21 +02:00
jibees
8eee90118e Merge pull request #11093 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.4.2
chore(deps): bump @floating-ui/dom from 1.3.0 to 1.4.2
2023-06-22 10:25:13 +02:00
jibees
5ba9c815cf Merge pull request #11082 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.20.2
chore(deps-dev): bump rubocop-rails from 2.19.1 to 2.20.2
2023-06-22 10:18:26 +02:00
jibees
300c4ceed2 Merge pull request #11083 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.1.2
chore(deps-dev): bump knapsack_pro from 5.1.0 to 5.1.2
2023-06-22 10:17:44 +02:00
Mohamed ABDELLANI
b072da142e filter distributors before listing on checkout options 2023-06-22 09:00:39 +01:00
Maikel Linke
08a06d21fa Allow access to DFC API with OFN API token 2023-06-22 16:58:12 +10:00
Maikel Linke
82fc6a2a9d Prepare spec to authenticate with other means
I want to add OFN API key support.
2023-06-22 16:27:04 +10:00
Maikel Linke
e7fe04f526 Revert "Fix json v1.8.6 common.rb warning"
This reverts commit 21b80db0ee.

This fix was needed for an old version of the JSON module with a newer
version of Ruby. But we updated the json gem since and don't need this
any more.
2023-06-22 12:47:28 +10:00
Matt-Yorkley
f9185ea56e Remove line items related to master variants
These shouldn't technically exist, but apparently they can be present if the dataset is old enough. They can trigger a foreign key violation if they are present when a master variant is deleted, so they need to be dropped if present.
2023-06-21 18:08:21 +01:00
Matt-Yorkley
6f5d3ceacc Remove inventory units related to master variants
These shouldn't technically exist, but apparently they can be present if the dataset is old enough. They can trigger a foreign key violation if they are present when a master variant is deleted, so they need to be dropped if present.
2023-06-21 17:20:28 +01:00
Jean-Baptiste Bellet
d2534d6645 Be more specific via !important than the default button rule
This one should override the default one
2023-06-21 15:01:14 +02:00
Jean-Baptiste Bellet
7d9018c590 Instead of overriding css rules, prefer to not select rules for trix buttons 2023-06-21 15:01:14 +02:00
dependabot[bot]
c532e822e5 chore(deps): bump @floating-ui/dom from 1.3.0 to 1.4.2
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.3.0 to 1.4.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.4.2/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-06-21 09:57:46 +00:00
Jean-Baptiste Bellet
5d1c32e8cd Remove linksDropdown which is now unused 2023-06-21 10:29:48 +02:00
Jean-Baptiste Bellet
4ec41572b1 Add spec on Canceling an order
Strange that it doesn't exist, but anyway, let's create it!
2023-06-21 10:29:48 +02:00
Jean-Baptiste Bellet
ce28c14544 Replace AngularJS directive to a StimulusJS one
Delete _order_links.html.haml_spec.rb
2023-06-21 10:29:48 +02:00
Jean-Baptiste Bellet
7421691506 Creates a dropdown controller with its specs 2023-06-21 10:29:47 +02:00
David Cook
5ec872c6fd Merge pull request #11008 from mkllnk/dfc-connector-import
Prototype: Import products via DFC Connector
2023-06-21 12:23:58 +10:00
Maikel Linke
14b2e0f962 Remove datadog gem, too expensive 2023-06-21 11:44:21 +10:00
Matt-Yorkley
98a56bfcf8 Update workflow permissions check to latest version 2023-06-20 14:41:17 +01:00
Matt-Yorkley
776eac9f52 Add image error Bugsnag notifications 2023-06-20 14:14:19 +01:00
Matt-Yorkley
24aa55e053 Remove array syntax on new product form for product image 2023-06-20 13:14:52 +01:00
dependabot[bot]
e8e3aa5f5d chore(deps-dev): bump knapsack_pro from 5.1.0 to 5.1.2
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.1.0 to 5.1.2.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.1.0...v5.1.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>
2023-06-20 09:31:26 +00:00
dependabot[bot]
584a25052f chore(deps-dev): bump rubocop-rails from 2.19.1 to 2.20.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.19.1 to 2.20.2.
- [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.19.1...v2.20.2)

---
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-06-20 09:14:06 +00:00
Gaetan Craig-Riou
ea73781668 Fix bulk order cancellation
Add unticking of "send cancellation email to customer" to match
the current test expectation
2023-06-20 10:03:55 +10:00
Maikel Linke
a9f8c7c4ab Update DFC API docs, describe all endpoints 2023-06-19 16:20:35 +10:00
Maikel Linke
ec8c710e3a Import simple DFC SuppliedProduct
OFN products and variants need more data like a price but the DFC
stores that in a different object. We may get a larger graph containing
that information but we don't have any test data yet.
2023-06-19 16:19:48 +10:00
Maikel Linke
df9e1ac2b4 Encapsulate SuppliedProductBuilder
And improve EnterpriseBuilder. It was builder products twice.
2023-06-19 16:19:48 +10:00
Maikel Linke
1adfb5463a Import DFC measures 2023-06-19 16:19:40 +10:00
Maikel Linke
949019a277 Map has* predicates to Connector attributes 2023-06-19 16:19:40 +10:00
Maikel Linke
bfd084d9b6 Import graphs including anonymous objects 2023-06-19 16:18:58 +10:00
Maikel Linke
3c6f90dbb3 Import from IO objects for convenience, efficiency
The Connector exports to a String but Rails' `request.body` is an IO
object. Since the used JSON-LD parser needs an IO object anyway and it
can lower the memory usage we take IO objects as well and handle
in-memory Strings only when given.
2023-06-19 16:18:58 +10:00
Maikel Linke
f5f8c349e1 Resolve DFC Connector objects when importing graph 2023-06-19 16:18:51 +10:00
Maikel Linke
12d56d725b Import properties which contains lists
Not just single values.
2023-06-19 16:18:51 +10:00
Maikel Linke
2abad60511 Import DFC graphs with multiple objects 2023-06-19 16:18:42 +10:00
Maikel Linke
15dd38d6c6 Import simple data from DFC 2023-06-19 16:16:18 +10:00
Maikel Linke
cceca5f936 Use Redis for caching in test environment
All other environments use it.
2023-06-19 15:35:17 +10:00
Maikel Linke
f6db69104f Update Gemfile.lock with new Ruby version 2023-06-19 15:03:44 +10:00
Maikel
7e20415490 Merge pull request #10888 from mkllnk/ruby3.1
Bump Ruby from 3.0.3 to 3.1.4
2023-06-19 10:08:20 +10:00
Maikel
101e72726c Merge pull request #11032 from dacook/show-current-version2
Show current version2
2023-06-19 10:07:49 +10:00
Konrad
dab5436444 Merge pull request #10532 from abdellani/invoices
Invoices
2023-06-18 21:44:29 +02:00
Mohamed ABDELLANI
d059680f4b remove white label from feature toggle 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
27c1fd0d30 test invoice model 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
639567e903 replace attr with attr_reader 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
fff0b1e577 Update lib/open_food_network/feature_toggle.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
7a0686786d Update db/migrate/20230308075421_create_invoices.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
73cdcca022 fix linter issues 2023-06-18 21:03:13 +02:00
Matt-Yorkley
4eb05a1d73 Reduce public interface of OrderInvoiceComparator 2023-06-18 21:03:13 +02:00
Matt-Yorkley
3946e7a6f5 Memoize presenters in OrderInvoiceComparator
This is now twice as fast and triggers half the number of database queries if both comparison methods get called
2023-06-18 21:03:13 +02:00
Matt-Yorkley
c6ec13443e Drop next_invoice_number method from Spree::Order 2023-06-18 21:03:13 +02:00
Matt-Yorkley
d3a31bd0bd Rename @invoice_presenter instance variable to @order in invoice templates 2023-06-18 21:03:13 +02:00
Matt-Yorkley
352ad20681 Fix display_checkout_taxes_hash in invoice_table4 template 2023-06-18 21:03:13 +02:00
Matt-Yorkley
68ab539ed3 Include completed_at attribute 2023-06-18 21:03:13 +02:00
Matt-Yorkley
113e1344f2 Include tax adjustments in serializer and presenter 2023-06-18 21:03:13 +02:00
Matt-Yorkley
5bbc63f716 Fix options_text displaying when there is no options_text 2023-06-18 21:03:13 +02:00
Matt-Yorkley
72e537b598 Update *_amount_with_adjustments methods on LineItem presenter
These methods are slightly different and they're both needed in the template for invoice4
2023-06-18 21:03:13 +02:00
Matt-Yorkley
208840b99d Use @invoice_presenter.checkout_adjustments 2023-06-18 21:03:13 +02:00
Matt-Yorkley
a44f24ad43 Remove prefixes from invoice data representation so it conforms to the same interface as order 2023-06-18 21:03:13 +02:00
Matt-Yorkley
8dba1618b1 Don't call information from @order in new invoice templates
Previously this template was calling various bits of data from the @order object and not the @invoice_presenter object
2023-06-18 21:03:13 +02:00
Matt-Yorkley
c3d6b2280f Update reference to removed method 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0ed7599267 extract methods related to invoices from the order model to the OrderInvoiceComparator 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
61d58df56f fix linter issues 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
d86173c509 add feature toggle
seperate the invoice templates that rely on presenters from the old ones.
2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
fa14dc370b implement the invoice data generator 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
d9efd10ac0 update attributes relevant for the comparaison 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0fbf88190e Generate invoice model
There are three main components:
1. The invoice model
2. order serializers: serialize the order for the invoice
3. data presenters: the object that will be use to access the order's serialize data
2023-06-18 21:03:13 +02:00
Matt-Yorkley
ae24b2d688 Update ScopeVariantsForSearch logic to match both product and variant SKUs 2023-06-16 21:26:28 +01:00
Matt-Yorkley
0f253bb2a0 Blank out product SKU when cloning a product
This was effectively being done before for the product's sku (stored on the master variant) via the #duplicate_variant method, but now it needs to be done explicitly on the product in #duplicate_product
2023-06-16 21:26:28 +01:00
Matt-Yorkley
15000c7ed1 Remove unnecessary iterator 2023-06-16 21:26:28 +01:00
Matt-Yorkley
733dd3c428 Disable variant is_master column 2023-06-16 21:23:44 +01:00
Matt-Yorkley
be72bbebb9 Remove master images data migration tests 2023-06-16 21:23:44 +01:00
Matt-Yorkley
fbd09869bb Remove is_master from variant serializer 2023-06-16 21:23:44 +01:00
Matt-Yorkley
ced60d4382 Remove superfluous method from products controller 2023-06-16 21:23:44 +01:00
Matt-Yorkley
b59bdc75e9 Delete master variants 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1daab8994d Remove is_master and not_master scopes 2023-06-16 21:23:44 +01:00
Matt-Yorkley
0703bb4583 Remove unused is_master references in tests 2023-06-16 21:23:44 +01:00
Matt-Yorkley
85059bfb26 Remove master variant validation conditionals 2023-06-16 21:23:44 +01:00
Matt-Yorkley
8247dce2dc Improve validation feedback on new variant page and add test coverage 2023-06-16 21:23:44 +01:00
Matt-Yorkley
618900767f Fix flaky spec: use milliseconds in cache service and remove sleep 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1e36043a2e Set unit_value to true when cloning a product
This value doesn't get persisted, but it's presence is validated. The product's duplicated variants store the actual :unit_value attribute
2023-06-16 21:23:44 +01:00
Matt-Yorkley
1922598d2d Reorganise associations, validations, scopes and callbacks for clarity 2023-06-16 21:23:44 +01:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
21cba0aa13 Migrate first master variant image to product image 2023-06-16 21:23:44 +01:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
d8649fc9fb Migrate master variant :sku to product 2023-06-16 21:21:40 +01:00
Matt-Yorkley
6b9b5ea347 Stop storing unit_value and unit_description on master variant 2023-06-16 21:21:40 +01:00
Matt-Yorkley
8c0b8dad85 Stop using master variant for storing :display_as value 2023-06-16 21:21:40 +01:00
Matt-Yorkley
1b06c20197 Stop using master variant as a potential store for prices 2023-06-16 21:21:40 +01:00
Matt-Yorkley
80a0138b48 Update old specs that rely on master variant instead of real variants 2023-06-16 21:21:40 +01:00
Matt-Yorkley
d4188da7c1 Simplify product images delegation mess 2023-06-16 21:21:40 +01:00
Matt-Yorkley
42a5a48816 Remove dead code 2023-06-16 21:21:40 +01:00
Matt-Yorkley
dd224b953d Update stage.yml 2023-06-16 14:24:23 +01:00
Matt-Yorkley
cfe5d9a740 Update stage.yml 2023-06-16 14:00:30 +01:00
Matt-Yorkley
09bfe14ae9 Update stage.yml 2023-06-16 13:39:12 +01:00
Mohamed ABDELLANI
68503e4e8b remove useless variable 2023-06-16 06:54:11 +01:00
Mohamed ABDELLANI
65bc8e23c1 move update instructions to let blocks 2023-06-16 06:50:45 +01:00
Mohamed ABDELLANI
2b79258fdc renamed: spec/system/admin/reports/enterprise_summary_fees/enterprise_summary_fee_with_tax_report_by_order.rb -> spec/system/admin/reports/enterprise_summary_fees/enterprise_summary_fee_with_tax_report_by_order_spec.rb 2023-06-16 06:39:38 +01:00
Mohamed ABDELLANI
c21a35a9fc fix typo on lib/reporting/reports/enterprise_fee_summary/enterprise_fees_with_tax_report_by_order.rb 2023-06-16 06:38:15 +01:00
Mohamed ABDELLANI
c8c3e65498 Update lib/reporting/reports/list.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
2cfa435b54 Update spec/system/admin/reports/enterprise_summary_fees/enterprise_summary_fee_with_tax_report_by_order.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
3e61830b40 optimize total_excl_tax & enterprise_fee_adjustemnt_ids 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
10fc816bba update rubocop_todo list 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
542811b9ad implement filtering by entreprise fee owner 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
9d53d775a6 add filtering by fee name 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
f66d9b9626 remove producers filter 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
83b951662a add filters 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
e9671e4e1f test enterprise fees with tax report by order 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
e9367b1f86 add enterprise fees with tax report by order 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
535f651c7e implement enterprise fee report filters 2023-06-16 06:35:01 +01:00
Mohamed ABDELLANI
a120329aa6 rename EnterpriseFeeSummary::Base to EnterpriseFeeSummary::FeeSummary 2023-06-16 06:35:01 +01:00
Maikel
4e1f735630 Include feature toggle heading in release notes 2023-06-16 14:13:41 +10:00
Maikel Linke
2453084a6b Update translations 2023-06-16 14:02:47 +10:00
Maikel
39183547aa Merge pull request #11033 from openfoodfoundation/revert-10455-dependabot/bundler/redis-5.0.6
Revert "Fix `redis` and `hiredis-client` version requirements "
2023-06-16 13:42:55 +10:00
Maikel
24000b2ce3 Revert "Fix redis and hiredis-client version requirements " 2023-06-16 13:09:25 +10:00
Maikel
8e86f76278 Merge pull request #11018 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.2
chore(deps): bump sidekiq from 7.1.1 to 7.1.2
2023-06-16 12:08:25 +10:00
Maikel
4a91c180a3 Merge pull request #11017 from openfoodfoundation/dependabot/bundler/ddtrace-1.12.1
chore(deps): bump ddtrace from 1.12.0 to 1.12.1
2023-06-16 11:14:10 +10:00
Maikel
d192024786 Merge pull request #11019 from filipefurtad0/flaky_cache_spec
Clears cache around examples
2023-06-16 11:12:24 +10:00
Maikel
ec7de516aa Merge pull request #11011 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.124.0
chore(deps): bump aws-sdk-s3 from 1.123.1 to 1.124.0
2023-06-16 10:59:56 +10:00
David Cook
56e4b3b843 Load git version once at initialisation
Co-authored-by: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com>
2023-06-16 09:36:16 +10:00
David Cook
47745b5e49 Merge pull request #11004 from dacook/show-current-version
Show current version at bottom of admin dashboard
2023-06-16 09:26:00 +10:00
Matt-Yorkley
3301c7cabc Update stage.yml 2023-06-16 00:18:36 +01:00
David Cook
35d9837f24 Show current version at bottom of admin dashboard
With generic link to the releases page. We could provide a link to latest tag with `git describe --tags --abbrev=0`. But I thought it better to keep things simple.
2023-06-16 09:11:59 +10:00
Matt-Yorkley
436deb9797 Update stage.yml 2023-06-16 00:03:16 +01:00
Matt-Yorkley
57451f2639 Update stage.yml 2023-06-15 23:26:27 +01:00
Matt-Yorkley
d56ad66ab8 Update stage.yml 2023-06-15 20:57:40 +01:00
Matt-Yorkley
fc5a53ebd9 Update stage.yml 2023-06-15 20:53:20 +01:00
Matt-Yorkley
f27472106e Update stage.yml 2023-06-15 20:52:07 +01:00
Matt-Yorkley
5729e33f69 Merge pull request #11031 from Matt-Yorkley/deployment-workflow
Add workflow for deploying to staging
2023-06-15 20:40:10 +01:00
Matt-Yorkley
584f6297f5 Allow manual workflow triggers 2023-06-15 20:18:44 +01:00
Matt-Yorkley
12bf17e21e Add workflow for deploying to staging 2023-06-15 19:37:18 +01:00
Matt-Yorkley
7068df5d4b Merge pull request #10804 from Matt-Yorkley/public-images
Update ActiveStorage image processing
2023-06-15 15:49:11 +01:00
Konrad
7a10edff82 Merge pull request #10988 from jibees/10980-white-label-trix-bullets-and-numbers-are-displayed-outside-the-text-field
[White Label] Custom tab content editor: order and unordered list should have a margin-left set
2023-06-15 16:13:19 +02:00
Konrad
5c0db892e5 Merge pull request #10983 from jibees/10982-admin_style_v3-use-oidc-settings-instead-of-oidc-settings-in-navigation
[OIDC] Translate 'Enterprises' > 'OIDC Settings' tab title
2023-06-15 16:07:07 +02:00
filipefurtad0
598f69f42f Clears cache around examples
for specs testing cache
2023-06-15 11:28:01 +01:00
dependabot[bot]
ca5de6b0b2 chore(deps): bump sidekiq from 7.1.1 to 7.1.2
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.1 to 7.1.2.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.1...v7.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 10:05:58 +00:00
dependabot[bot]
b0c9c6e6e1 chore(deps): bump ddtrace from 1.12.0 to 1.12.1
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.12.0 to 1.12.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.12.0...v1.12.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-06-15 09:58:24 +00:00
David Cook
d195882645 Use builtin Rails method 2023-06-15 15:26:22 +10:00
Maikel Linke
a46917a7b7 Remove NULL possibility from customer flag
It should only be true or false. This was flagged by Rubocop. I also
added another Rubocop suggestion and combined two migrations because
they are related.
2023-06-15 12:02:45 +10:00
Maikel Linke
75cce8bc19 Simplify customer code
The API endpoint merges the created_manually flag in the params already.
No need to write it separately.
2023-06-15 12:02:45 +10:00
Maikel Linke
a655d3d787 Remove unnecessary writes on customer creation
The form only submits enterprise id and email address. We don't need to
assign any other attributes.
2023-06-15 12:02:45 +10:00
Maikel Linke
9bd6615dad Change spec to "unhide" customers on create 2023-06-15 12:02:45 +10:00
Maikel Linke
ebebcf7a13 Remove useless code 2023-06-15 12:02:45 +10:00
Maikel Linke
22a6861f6f Place class methods above instance methods 2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
298ae8ffc3 set create_manualll flag if the customer already exists 2023-06-15 12:02:45 +10:00
Maikel Linke
107b17addb Add index of much used created_manually column 2023-06-15 12:02:45 +10:00
Maikel Linke
9910d10eb8 Simplify and speed-up customers migration
This reduces the migration run time from 9.6 seconds to 0.16 seconds on
a production database.

* Simplify model naming.
* Remove unnecessary model code.
* Use Rails `missing` scope for efficient simplicity.
* Add `down` method for rollback instead of running `change` again.
2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
608ff054b0 set the created_manually flag to true for all customers that don't have any orders 2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
ebc3073604 use Customer#visible on the customers listing endpoints
Update app/models/customer.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

authorize created_manually field to be set on APIv1
2023-06-15 12:02:45 +10:00
Maikel
701fef84f3 Merge pull request #10850 from mkllnk/require-belongs-to--part1
Require belongs_to associations - part 1
2023-06-15 09:20:42 +10:00
Konrad
cf3692e688 Merge pull request #10992 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.0.4
chore(deps): bump active_storage_validations from 1.0.3 to 1.0.4
2023-06-14 22:25:16 +02:00
Konrad
863fed56ce Merge pull request #10455 from openfoodfoundation/dependabot/bundler/redis-5.0.6
Fix `redis` and `hiredis-client` version requirements
2023-06-14 22:09:13 +02:00
Filipe
e6d42a0c4f Merge pull request #10999 from Matt-Yorkley/bom-issues
Fix BOM order loading issue
2023-06-14 19:01:54 +01:00
Matt-Yorkley
64508d3c3d Add unit test for direct image URLs 2023-06-14 12:53:20 +01:00
Matt-Yorkley
395cf7fb8d Use direct image URLs for enterprise logos 2023-06-14 12:53:20 +01:00
Matt-Yorkley
5ad37ce6a5 Return default image url on ActiveStorage errors in image loading 2023-06-14 12:53:20 +01:00
dependabot[bot]
6e9721b64c chore(deps): bump aws-sdk-s3 from 1.123.1 to 1.124.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.123.1 to 1.124.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-06-14 09:58:54 +00:00
Matt-Yorkley
4c7e947738 Migrate data
So it turns out all images uploaded before the ActiveStorage migration are internally set to "public-read", and all images uploaded after the migration are internally set to "private". This migration switches all images in S3 buckets back to "public-read".
2023-06-14 10:56:10 +01:00
Matt-Yorkley
b510668ecf Render direct URLs for s3 images 2023-06-14 10:56:10 +01:00
Matt-Yorkley
6f12d012ed Use #url helper 2023-06-14 10:56:10 +01:00
Matt-Yorkley
551d0d3a93 Simplify calling #url_for in models 2023-06-14 10:56:10 +01:00
Matt-Yorkley
a898915724 Use named image variants 2023-06-14 10:56:10 +01:00
Matt-Yorkley
e54cff2274 Set images to public-read
Defining an alternate s3 configuration set to `public: true` means we can use it selectively. It sets the objects to `acl: "public-read"` by default (read-only) and means any image tags for those assets can use direct public links in the src attribute (without hitting the ActiveStorage::Representation endpoint). The default non-public service will still be used by default for any other files on instances using s3.
2023-06-14 10:56:10 +01:00
Matt-Yorkley
202b0041d1 Remove voucher processing from checkout edit action 2023-06-14 10:19:30 +01:00
Matt-Yorkley
1a744de37a Improve voucher #calculate tests 2023-06-14 10:19:30 +01:00
Matt-Yorkley
93df70c0a7 Use order total excluding discounts in voucher calculations 2023-06-14 10:19:30 +01:00
Matt-Yorkley
52806a35ee Fix Rubocop complaint 2023-06-14 10:19:30 +01:00
Matt-Yorkley
11382a518e Fix test setup in BOM spec 2023-06-14 10:19:30 +01:00
Matt-Yorkley
ef09492883 Update adjustment spec to use orders past delivery state 2023-06-14 10:19:30 +01:00
Matt-Yorkley
6fa381197a Don't tax fees before payment state 2023-06-14 10:19:30 +01:00
Matt-Yorkley
837e581c29 Reload order after cancelling it in tests that check shipment states 2023-06-14 10:19:30 +01:00
Matt-Yorkley
06c9697d0d Don't try to cancel shipments that might already be cancelled 2023-06-14 10:19:30 +01:00
Matt-Yorkley
c5dfecbb69 Reapply taxes at model level if order address changes
This should be done at the model level
2023-06-14 10:19:30 +01:00
Matt-Yorkley
a0f23fc510 Extract before_payment_state? method 2023-06-14 10:19:30 +01:00
Matt-Yorkley
13a22c56f4 Move taxing of admin adjustments out of customer details controller 2023-06-14 10:19:30 +01:00
Matt-Yorkley
65b6a75c9b Reorder callback definitions 2023-06-14 10:19:30 +01:00
Matt-Yorkley
a0d0f8fd2f Tidy up checkout tax spec 2023-06-14 10:19:30 +01:00
Maikel Linke
c2605b2606 Display loading spinner before quick reports
We had a race condition that could first display the report and then
replace it again with the "loading" spinner. That doesn't seem to happen
now that we changed the order of cable events.
2023-06-14 15:40:52 +10:00
Maikel Linke
91d0dabc1d Require associations on DistributorShippingMethod 2023-06-14 15:09:12 +10:00
Maikel Linke
bd11475fe1 Require associations on DistributorPaymentMethod 2023-06-14 15:08:22 +10:00
Maikel Linke
ed231ec512 Update belongs_to default in Customer model 2023-06-14 15:08:05 +10:00
Maikel Linke
fc00a48d67 Require associations of CoordinatorFee 2023-06-14 15:08:05 +10:00
Maikel Linke
c02c90317f Require user of column preference record
It doesn't make sense to have a preference without a user. And it was
already enforced in the database.
2023-06-14 15:07:43 +10:00
Maikel Linke
2d4cfd7548 Validate and enforce AdjustmentMetadata associations 2023-06-14 15:07:43 +10:00
Maikel Linke
d88781a083 Start to adopt new default to require belongs_to
Newer version of Rails have this option as default. We can slowly
transition to opt in gradually, model by model. Once all models are
covered, we can change the default and remove the setting from the
models again.

The style violation was added to the todo file because it's temporary.

We have 60 models using `belongs_to`. And changing them all at once
breaks some specs. So let's do it gradually.
2023-06-14 15:06:59 +10:00
Maikel
989a88e252 Merge pull request #10848 from mkllnk/totals-report
Fix error on summarising total_units in Order Cycle Supplier Totals report
2023-06-14 13:59:48 +10:00
Matt-Yorkley
074eb4b592 Move tax charge logic out of checkout controller and update payment transition 2023-06-13 17:53:46 +01:00
Matt-Yorkley
bf912ae4d3 Remove angular loading element in darkwarm layout 2023-06-13 17:35:13 +01:00
Filipe
9c42781ff1 Merge pull request #10913 from abdellani/remove-split-checkout-toggle-and-legacy-checkout
Remove split checkout toggle and legacy checkout
2023-06-13 17:00:07 +01:00
Matt-Yorkley
73b2d37224 Don't try to load orders if the number of line_items with the current filters applied is zero
This ends up sending a request to the orders endpoint with no filters and no search params, which then tries to load every order in the entire database if the user is superadmin, which blows up.
2023-06-13 15:47:19 +01:00
Mohamed ABDELLANI
2654d3b866 update the rubocop_todo list 2023-06-13 14:58:16 +01:00
Matt-Yorkley
5fa81d1333 Fix invalid test setup in old tax tests 2023-06-13 14:58:16 +01:00
Matt-Yorkley
4e7fab6914 Delete dead code Checkout#find_transition
This method is only called from tests and nowhere else in the codebase. We may as well remove it.
2023-06-13 14:58:16 +01:00
Matt-Yorkley
8d633234f4 Set voucher specs to pending temporarily 2023-06-13 14:58:16 +01:00
Matt-Yorkley
d5a625bdeb Fix Paypal spec 2023-06-13 14:58:16 +01:00
Matt-Yorkley
0e289a23c1 Set some legacy checkout specs that we might want to rewrite later to pending 2023-06-13 14:58:16 +01:00
Matt-Yorkley
5487aa19fc Fix missing checkout_state_path 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
345f540723 fix spec/models/spree/tax_rate_spec.rb 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
78617905c6 remove spec/requests/checkout/concurrency_spec.rb 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
56204b2315 fix ./spec/routing/stripe_spec.rb 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
905187f3ce fix ./spec/services/order_tax_adjustments_fetcher_spec.rb:100 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
7e84579aa3 spec/system/consumer/shopping/checkout_stripe_spec
these tests are using the legacy checkout
2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
bd0e7cdfc8 remove legacy checkout tests 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
907c65d98c run create_tax_charge! after transition to payment state 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
c2aaf88e98 remove checkout controller 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
fc0cca2210 remove legacy checkout view 2023-06-13 14:58:16 +01:00
jibees
c379dcacc5 Merge pull request #10993 from openfoodfoundation/dependabot/bundler/jwt-2.7.1
chore(deps): bump jwt from 2.7.0 to 2.7.1
2023-06-13 15:05:30 +02:00
jibees
64e6d639c1 Merge pull request #10995 from openfoodfoundation/dependabot/bundler/rubocop-1.52.1
chore(deps-dev): bump rubocop from 1.52.0 to 1.52.1
2023-06-13 15:03:45 +02:00
jibees
374904f473 Merge pull request #10996 from openfoodfoundation/dependabot/bundler/test-unit-3.6.0
chore(deps): bump test-unit from 3.5.9 to 3.6.0
2023-06-13 15:03:03 +02:00
jibees
fb7ae9fd58 Merge pull request #10991 from openfoodfoundation/dependabot/bundler/view_component-3.2.0
chore(deps): bump view_component from 3.1.0 to 3.2.0
2023-06-13 15:02:26 +02:00
dependabot[bot]
19bd05ce5a chore(deps): bump test-unit from 3.5.9 to 3.6.0
Bumps [test-unit](https://github.com/test-unit/test-unit) from 3.5.9 to 3.6.0.
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](https://github.com/test-unit/test-unit/compare/3.5.9...3.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 10:11:47 +00:00
dependabot[bot]
f9abec4346 chore(deps-dev): bump rubocop from 1.52.0 to 1.52.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.52.0 to 1.52.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.52.0...v1.52.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-06-13 10:10:38 +00:00
dependabot[bot]
3e7ad17f69 chore(deps): bump jwt from 2.7.0 to 2.7.1
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.7.0 to 2.7.1.
- [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.7.0...v2.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 10:08:44 +00:00
dependabot[bot]
b813879330 chore(deps): bump active_storage_validations from 1.0.3 to 1.0.4
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/compare/1.0.3...1.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 10:02:26 +00:00
Filipe
12bb8db7b3 Merge pull request #10933 from Matt-Yorkley/fix-payment-intents
Fix ProcessPaymentIntent service
2023-06-13 11:00:27 +01:00
dependabot[bot]
c3846ad269 chore(deps): bump view_component from 3.1.0 to 3.2.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.1.0 to 3.2.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/v3.1.0...v3.2.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-06-13 09:58:11 +00:00
Matt-Yorkley
93c3241bb5 Add more test coverage in stripe controller spec 2023-06-13 10:14:09 +01:00
Matt-Yorkley
abd55b2104 Move order to completed whether it's current state is payment or confirmation 2023-06-13 10:14:09 +01:00
Matt-Yorkley
47df9493ae Fix ProcessPaymentIntent service 2023-06-13 10:14:09 +01:00
Gaetan Craig-Riou
694e46d1fb Fix Bundler/OrderedGems 2023-06-13 15:35:40 +10:00
Gaetan Craig-Riou
4564021f79 Remove redis version limitation 2023-06-13 15:06:52 +10:00
David Cook
b85cf26907 Add comment 2023-06-13 15:00:09 +10:00
Jean-Baptiste Bellet
02432ee2ec Do not upgrade to redis >= 5
since Redis >= 3, < 5 is actually a requirement of Action Cable Redis subscription adapter until Rails 7.0.4.

https://github.com/rails/rails/blob/v6.1.7/actioncable/lib/action_cable/subscription_adapter/redis.rb
2023-06-13 15:00:09 +10:00
Jean-Baptiste Bellet
520ced350e Do not specify redis version 2023-06-13 14:59:19 +10:00
Jean-Baptiste Bellet
e41d1f2205 Following the doc, remove hiredis and use hiredis-client
Reference:
 - https://github.com/redis/redis-rb/issues/1178
 - https://github.com/redis/redis-rb#hiredis-binding
2023-06-13 14:59:19 +10:00
David Cook
c5ce49e08c Merge pull request #10948 from dacook/buu-table-styles
[admin_v3] Update all table styles
2023-06-13 13:08:55 +10:00
David Cook
e4c65ea87d Prettify palette file 2023-06-13 11:46:28 +10:00
David Cook
f007cf3dad Fix up table borders 2023-06-13 11:45:39 +10:00
David Cook
edcdcd3f74 Use header colour for table headers 2023-06-13 11:45:39 +10:00
David Cook
16534319b6 Replace dark blue with "Sherpa blue"
It looks like it’s used in headers, some buttons and a loading message
2023-06-13 11:45:39 +10:00
David Cook
d85ea628e2 Change default font colour to near-black
It looks like this is the main font colour in the new designs.
2023-06-13 11:45:39 +10:00
David Cook
821446e150 Style pagination links
And provide a basic hover state for most other buttons.
The pagination button hover and active states will need updating.

The darker background colour sometimes wraps a whole table (eg products table).
2023-06-13 11:45:39 +10:00
David Cook
744f95809a Remove uppercase styling of form elements 2023-06-13 11:45:39 +10:00
David Cook
fb17a679c0 First pass at new table colours
There is more to do, for example the dropshadows.

I've continued with the unopinionated colour naming (eg color-7), but would like to consider giving them more meaningfule names..
2023-06-13 11:45:39 +10:00
David Cook
2ae91bdbe2 Use variable for font size reset
The current value is 13px already, but I'd like to experiment changing this.

I'm not sure if we even need the reset, but am not delving into that right now.
2023-06-13 11:44:48 +10:00
David Cook
3967f54533 Use different variables and table styles for admin_v3 2023-06-13 11:44:48 +10:00
Konrad
6bd66585a9 Merge pull request #10935 from openfoodfoundation/dependabot/bundler/i18n-1.14.1
chore(deps): bump i18n from 1.13.0 to 1.14.1
2023-06-12 17:39:42 +02:00
Konrad
11f84b5276 Merge pull request #10934 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.123.1
chore(deps): bump aws-sdk-s3 from 1.122.0 to 1.123.1
2023-06-12 17:24:20 +02:00
Filipe
23239bad8b Merge pull request #10970 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.1.0
chore(deps-dev): bump knapsack_pro from 4.1.0 to 5.1.0
2023-06-12 16:19:32 +01:00
Konrad
a207a445b1 Merge pull request #10907 from jibees/3041-missing-translation-in-product-variant-selection-upon-order-creation
Admin, Create an order, Select a product: translate some messages in the product selection search box
2023-06-12 17:08:52 +02:00
Jean-Baptiste Bellet
16256ee114 Order and Unordered list should have a margin-left set
Has been reset to 0 via `typography.scss`
2023-06-12 16:58:00 +02:00
dependabot[bot]
15e9c4eb37 chore(deps): bump i18n from 1.13.0 to 1.14.1
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.13.0 to 1.14.1.
- [Release notes](https://github.com/ruby-i18n/i18n/releases)
- [Changelog](https://github.com/ruby-i18n/i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby-i18n/i18n/compare/v1.13.0...v1.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 14:44:01 +00:00
Konrad
3e3ae5d8ae Merge pull request #10929 from openfoodfoundation/dependabot/bundler/ddtrace-1.12.0
chore(deps): bump ddtrace from 1.11.1 to 1.12.0
2023-06-12 16:43:01 +02:00
Konrad
48c107bde1 Merge pull request #10974 from cillian/ignore-whitespace-in-product-import
Ignore leading and trailing whitespace when importing products via a spreadsheet
2023-06-12 16:32:15 +02:00
Konrad
80dd8755b0 Merge pull request #10915 from mkllnk/mini-racer
Remove unused mini_racer gem
2023-06-12 16:05:52 +02:00
Konrad
791518988d Merge pull request #10918 from openfoodfoundation/dependabot/bundler/view_component-3.1.0
chore(deps): bump view_component from 3.0.0 to 3.1.0
2023-06-12 15:36:21 +02:00
Jean-Baptiste Bellet
149ec5511c Translate select2 messages 2023-06-12 15:11:23 +02:00
dependabot[bot]
351343fb6c chore(deps): bump aws-sdk-s3 from 1.122.0 to 1.123.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.122.0 to 1.123.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-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 15:06:04 +02:00
dependabot[bot]
6145413b1a chore(deps): bump ddtrace from 1.11.1 to 1.12.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.11.1 to 1.12.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.11.1...v1.12.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-06-12 15:05:11 +02:00
dependabot[bot]
d87e40bb69 chore(deps): bump view_component from 3.0.0 to 3.1.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.0.0 to 3.1.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/v3.0.0...v3.1.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-06-12 15:04:17 +02:00
Maikel Linke
d6859e0bf7 Remove unused mini_racer gem
All asset compilation is done with webpacker at the moment.
2023-06-12 15:01:11 +02:00
Konrad
1f2f5e2eec Merge pull request #10892 from openfoodfoundation/dependabot/bundler/rails-7.0.5
chore(deps): bump rails from 7.0.4.3 to 7.0.5
2023-06-12 14:58:07 +02:00
jibees
b53aba3844 Merge pull request #10986 from openfoodfoundation/dependabot/bundler/capybara-3.39.2
chore(deps-dev): bump capybara from 3.39.1 to 3.39.2
2023-06-12 14:42:48 +02:00
jibees
45dcdf1611 Merge pull request #10985 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.0.1
chore(deps-dev): bump jasmine-core from 5.0.0 to 5.0.1
2023-06-12 14:31:03 +02:00
jibees
8c971f2efa Merge pull request #10984 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.3.0
chore(deps): bump @floating-ui/dom from 1.2.9 to 1.3.0
2023-06-12 14:29:56 +02:00
dependabot[bot]
8a8200a039 chore(deps-dev): bump capybara from 3.39.1 to 3.39.2
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.39.1 to 3.39.2.
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.39.1...3.39.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 09:58:05 +00:00
dependabot[bot]
8a376e782a chore(deps-dev): bump jasmine-core from 5.0.0 to 5.0.1
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.0.0 to 5.0.1.
- [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/v5.0.0...v5.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 09:57:39 +00:00
dependabot[bot]
6ab1bfb2ab chore(deps): bump @floating-ui/dom from 1.2.9 to 1.3.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.9 to 1.3.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.3.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-06-12 09:57:18 +00:00
Sigmund Petersen
c2305615a6 Merge pull request #10971 from filipefurtad0/mouse_hover_spec
Adds spec for tooltips on orders page
2023-06-12 09:53:16 +02:00
Jean-Baptiste Bellet
ff0f81167a Translate 'Enterprises' > 'OIDC Settings' tab title 2023-06-12 09:19:16 +02:00
Gaetan Craig-Riou
41b3ddae08 Merge pull request #10714 from macanudo527/fix_linelength
Fix Style/LineLength
2023-06-12 09:53:23 +10:00
Konrad
fc09f95fa1 Merge pull request #10961 from jibees/10946-white-label-trix-editor-changes-on-the-custom-tab-content-do-not-trigger-the-update-button
[WhiteLabel] Make update button active when changing custom tab content
2023-06-09 21:46:02 +02:00
Konrad
13037d2d9d Merge pull request #10949 from jibees/10630-buu-as-an-enterprise-user-i-can-see-the-back-office-with-new-brand-colours
[`admin_style_v3`] As an enterprise user i can see the back office with new brand colours
2023-06-09 21:24:01 +02:00
Konrad
9125c730ed Merge pull request #10960 from jibees/customize-trix-editor-to-have-the-right-colors
[White Label] Customize colors of custom content editor to have beautiful toolbar
2023-06-09 20:35:36 +02:00
Matt-Yorkley
70170078d1 Merge pull request #10976 from Matt-Yorkley/payment-localized-number
Require localized_number in Payment class
2023-06-09 18:45:13 +01:00
Konrad
bd505bbee7 Merge pull request #10959 from jibees/10945-white-label-narrow-screen-width-no-marging-on-custom-tab-content
[WhiteLabel] Add some margin to custom tab content for a shop
2023-06-09 19:45:04 +02:00
Matt-Yorkley
24200de8dd Require localized_number in Payment class
There seems to be some contexts (jobs for subscriptions) where the Payment class loads but LocalizedNumber is an undefined constant. It lives in the /lib directory so it's not auto-loaded.
2023-06-09 18:16:37 +01:00
Konrad
d0f4c44add Merge pull request #10938 from jibees/10931-white-label-custom-tab-without-a-title-impossible-to-disable-the-custom-tab
[White Label] Validate the presence of a custom tab title before creating it (+ max 20 characters length)
2023-06-09 19:01:13 +02:00
Cillian O'Ruanaidh
5cde4de512 Ignore leading and trailing whitespace in spreadsheet when importing products 2023-06-09 16:23:18 +01:00
Konrad
502b5e8664 Merge pull request #10937 from jibees/10900-white-label-remove-ofn-navigation-for-small-width-screens
[White Label] Remove ofn navigation for small width screens as well when option is activated
2023-06-09 16:28:22 +02:00
Konrad
35fef9e7ac Merge pull request #10876 from dacook/prettier-css-admin
Prettier css admin
2023-06-09 16:02:11 +02:00
filipefurtad0
24913476ac Adds spec for tooltips on orders page 2023-06-09 11:23:42 +01:00
dependabot[bot]
515a9a9b1c chore(deps-dev): bump knapsack_pro from 4.1.0 to 5.1.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 4.1.0 to 5.1.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v4.1.0...v5.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 10:02:21 +00:00
Neal Chambers
a65b43d32f Update .rubocop_todo.yml 2023-06-09 16:39:29 +09:00
Neal Chambers
9a8551e3ea Shorten Where Statement 2023-06-09 16:39:29 +09:00
Neal Chambers
a35a07b441 Rewrite sum to be more Readable 2023-06-09 16:39:29 +09:00
Neal Chambers
449430cabc Indent code to be more Readable 2023-06-09 16:39:29 +09:00
Neal Chambers
252697b782 Rewrite If and Unless Statements to be more Readable 2023-06-09 16:39:26 +09:00
Maikel Linke
ec865627d2 Wait for page setup to avoid flaky spec
I'm hiding a real bug here. There's a race condition when the cable event of
the finished report is sent before the loading spinner rendered. The
spinner then overwrites the report again. I added a spec for that but
don't have a solution yet.

I also noticed that the loading spinner is not displayed in testing but
we can assert on the CSS class of the container.
2023-06-09 16:22:01 +10:00
Jean-Baptiste Bellet
74fd1814e4 Create a trixeditor controller and broadcast a change event on form
Therefore, AngularJS can set form as dirty

+ add associated spec
2023-06-09 08:03:17 +02:00
Maikel Linke
d312a5912a Style Layout/MultilineMethodCallIndentation 2023-06-09 14:45:06 +10:00
Maikel Linke
828b2f6f44 Replace too long list of arguments with keywords
Rubocop was complaining about too many arguments. But
`ApplicationJob#perform` needs all arguments handled in one call. While
we could allow the `perform` method generally to have more arguments,
there could be other methods called `perform` which should still be
scrutinised. Instead, it seems acceptable to me to have more arguments
as long as they are clearly named as keyword arguments. Rails uses this
a lot to document all options including their default values, for
example in Active Storage. It's better then bundling several arguments
in an undocumented hash just to reduce the number of given arguments.

And once we upgraded to Ruby 3.1, we can clean the method calls up as
well. `call(user: user)` becomes `call(user:)` without repetition.
2023-06-09 14:44:54 +10:00
Maikel Linke
e56c06571c Remove outdated report timeout handling
Since we don't wait for the report any more, a timeout is very unlikely
and we don't need special handling for it.
2023-06-09 14:44:54 +10:00
Matt-Yorkley
7caf4b03d4 Improve flakyness on report specs 2023-06-09 14:44:53 +10:00
Matt-Yorkley
b230b37284 Update report email spec 2023-06-09 14:44:53 +10:00
Matt-Yorkley
524d1f0264 Switch to tighter Channel scoping...
This is not a normal pattern for setting up ActionCable channels, so it might need some notes. It ensures the broadcasts from the ReportJob are unique not just to the user session but also to the specific tab in the user's browser. Otherwise if the user has two different report pages open in separate tabs with the same session, the broadcast would overwrite the #report-table element in both of them.
2023-06-09 14:44:53 +10:00
Matt-Yorkley
a3ef604797 Run reports in background 2023-06-09 14:44:53 +10:00
Matt-Yorkley
ced959ad6a Load reports show page without all the legacy javascript 2023-06-09 14:44:53 +10:00
Matt-Yorkley
242c74ceaf DRY admin javascript imports 2023-06-09 14:44:53 +10:00
Maikel Linke
6803e0a8f9 Fix error on summarising total_units 2023-06-09 09:55:33 +10:00
Maikel Linke
71e4d2c6ed Spec total_units report column
Current reports don't deal with invalid legacy data.
2023-06-09 09:55:33 +10:00
Maikel Linke
00e171a8f1 Reduce indentation in report spec
Specs should also test from the outside instead of declaring modules and
test from within those modules.
2023-06-09 09:55:33 +10:00
Jean-Baptiste Bellet
5d43285834 Update all locales with the latest Transifex translations 2023-06-08 17:36:04 +02:00
Filipe
ca03e1596b Merge pull request #10952 from Matt-Yorkley/full-name
Improve nil-safety in variant naming methods
2023-06-08 16:26:28 +01:00
Filipe
c12415a340 Merge pull request #10955 from Matt-Yorkley/bulk-invoice-bug
Ensure directory exists before saving invoices pdf
2023-06-08 15:22:27 +01:00
Matt-Yorkley
f4261b85b8 Merge pull request #10940 from Matt-Yorkley/order-tidyup
Order class tidyup
2023-06-08 15:06:59 +01:00
Filipe
7974e1eaa6 Merge pull request #10936 from abdellani/fix-order-progressing-automatically-on-BOO
fix Viewing an order in state "confirmation" changes the state to "complete"
2023-06-08 14:50:04 +01:00
Jean-Baptiste Bellet
457d5a6c83 Override some css classes, to have a beautiful trix editor toolbar buttons
- buttons background are transparent (instead of blue)
 - buttons background on hovering are transparent (instead of green)
 - disabled buttons cursor is default (instead of pointer)
2023-06-08 11:43:59 +02:00
Jean-Baptiste Bellet
05104841cd Add some margin to custom tab content via columns css class 2023-06-08 11:36:06 +02:00
Jean-Baptiste Bellet
d1d050e6a4 Limit size to 20 char for the custom tab title 2023-06-08 11:27:07 +02:00
David Cook
e2ba18f828 Set sentence case tab names in Ruby instead of CSS
I chose .capitalize instead of .humanize, because the latter has extra features which may not be desired.
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
d6cb483f0d Adjust color to the title of the page 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
d7f7ff7436 Remove background, border and adjust margin top 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
905220a055 Add new color: $color-8 #191c1d Near-black 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
b865d8c1c0 Copy/Paste file admin/shared/layout under admin_v3 folder
+ prettier
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
51f47fc351 Add border bottom when hovering or selected
+ add some padding to separate those borders then
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
1b4236640d Add border with box-shadow to menu and sub-menu 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
2057449dac Add new color: $color-7 #EFF1F2 Light grey 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
ba98039e95 Adjust color to orange when selected or hover 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
d51786ac9e Adjust font size for labels in menu 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
ccd7466ede No more white on labels but dark grey 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
b163d4a584 Remove background-color on menu 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
a4d3011e27 Add new color: $color-9 #2E3132 Dark Grey 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
dd48092728 Prettier file 2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
5ee3550ebd Change case to Sentence case
CSS property `capitalize` uppercase all first letter of each words.

I need to use a small trick with `::first-letter` selector
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
eab46b67e3 Copy/Paste file admin/components/navigation under admin_v3 folder
+ prettier
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
e34f4a9971 AdminV3: Remove icon from icon from primary navigation menu
Co-Authored-By: Maikel <maikel@email.org.au>
2023-06-08 11:24:43 +02:00
Neal Chambers
dde775d2b7 Remove Old Code and Comments 2023-06-08 15:20:04 +10:00
Neal Chambers
3432e30465 Fix Style/UnlessGuard 2023-06-08 15:20:04 +10:00
Neal Chambers
12aa4f9970 Fix Layout/IndentationStyle 2023-06-08 15:20:04 +10:00
Neal Chambers
b04879604a Rewrite Ternary Expression to Prevent Layout/LineLength 2023-06-08 15:20:04 +10:00
Maikel Linke
4ecbbae55e Adapt large browser window as default
We were really close to that anyway. It simplifies the code a bit.
2023-06-08 13:51:29 +10:00
Maikel Linke
7cf68cd33b Ensure that specs restore default window size 2023-06-08 13:51:25 +10:00
Maikel Linke
241b307762 Fix typos 2023-06-08 11:34:05 +10:00
David Cook
7d26158e06 Code cleanup
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-08 11:31:37 +10:00
Maikel Linke
99fbf80b4c Style Layout/MultilineMethodCallIndentation 2023-06-08 11:15:42 +10:00
Matt-Yorkley
98f78927b7 Update app/jobs/bulk_invoice_job.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-08 00:56:24 +01:00
Matt-Yorkley
bf051fc35b Pull checkout-workflow-related callback methods out into the Checkout module which defines checkout state changes 2023-06-07 18:54:20 +01:00
Matt-Yorkley
760bf269ca Pull validations-related methods out into a separate module 2023-06-07 18:54:20 +01:00
Matt-Yorkley
bed2fe69f6 Update regression tests 2023-06-07 16:39:37 +01:00
jibees
c6b5eda85c Merge pull request #10951 from openfoodfoundation/dependabot/bundler/faraday-2.7.6
chore(deps): bump faraday from 2.7.5 to 2.7.6
2023-06-07 17:34:10 +02:00
Matt-Yorkley
b091a0ed1a Ensure directory exists before saving pdf
These directories can get wiped during deployments
2023-06-07 16:25:53 +01:00
Mohamed ABDELLANI
fbf55cf7bd Merge pull request #2 from Matt-Yorkley/fix-order-progressing-automatically-on-BOO
Fix pre-existing issues with admin order controller
2023-06-07 13:49:06 +01:00
David Cook
3ce48848f0 Prettify the rest 2023-06-07 14:23:57 +02:00
David Cook
548a6f8d2e Prettify app/webpacker/css/admin/plugins/ 2023-06-07 14:23:57 +02:00
David Cook
10c52959ad Prettify app/webpacker/css/admin/hacks/ 2023-06-07 14:23:57 +02:00
David Cook
08dc3e3cbe Prettify more admin css
yarn prettier --write
2023-06-07 14:23:02 +02:00
David Cook
fbf5862c66 Ignore some css subfolders
Prettier changes these files dramatically and they're arguably not easier to read.
2023-06-07 14:21:34 +02:00
dependabot[bot]
01dcf068f9 chore(deps): bump rails from 7.0.4.3 to 7.0.5
Bumps [rails](https://github.com/rails/rails) from 7.0.4.3 to 7.0.5.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.0.4.3...v7.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 14:12:34 +02:00
Matt-Yorkley
b58b555e38 Improve flaky spec 2023-06-07 13:01:37 +01:00
Matt-Yorkley
983353e078 Remove dead code
I'm pretty sure this was here because advancing the order was adding order errors in some cases
2023-06-07 13:01:37 +01:00
Matt-Yorkley
968bf882c4 Fix flaky spec 2023-06-07 13:01:37 +01:00
Matt-Yorkley
daf243996b Improve flaky spec 2023-06-07 13:01:37 +01:00
Matt-Yorkley
7a7ab17db4 Improve customer tests 2023-06-07 13:01:37 +01:00
Matt-Yorkley
6daf29400f Improve distribution and line items tests 2023-06-07 13:01:37 +01:00
Matt-Yorkley
f3ee10dd5a Simplify by moving conditional to guard clause 2023-06-07 13:01:37 +01:00
Matt-Yorkley
cf0f148dba Advance order when creating a shipment
This action gets called from the order edit page when adding line items and it's one of the places that needs to advance the order *before* redirecting back to the order edit action
2023-06-07 13:01:37 +01:00
Matt-Yorkley
bb73d70e57 Improve nil-safety in variant naming methods 2023-06-07 12:17:50 +01:00
dependabot[bot]
24343c769e chore(deps): bump faraday from 2.7.5 to 2.7.6
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.5 to 2.7.6.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.5...v2.7.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 09:57:34 +00:00
Filipe
2d28a57c6f Merge pull request #10922 from jibees/10903-white-label-make-logo-url-link-more-tolerant-in-terms-of-format-and-add-example
[White Label] Make logo url link more tolerant in terms of format
2023-06-07 10:00:31 +01:00
Maikel
1c9a09d88d Merge pull request #10943 from openfoodfoundation/dependabot/bundler/paranoia-2.6.2
chore(deps): bump paranoia from 2.6.1 to 2.6.2
2023-06-07 16:31:01 +10:00
Maikel Linke
1ebacf96ad Ignore accidental spaces around whitelabel URL 2023-06-07 13:12:06 +10:00
Matt-Yorkley
acc34d1deb Update advance to payment logic 2023-06-07 00:58:43 +01:00
Matt-Yorkley
e1b37090be Use _path helper instead of _url 2023-06-07 00:58:43 +01:00
Matt-Yorkley
6e8ed1f612 Hide secondary form until the order has line items 2023-06-07 00:58:43 +01:00
Matt-Yorkley
c7bb24e2a0 Remove dead code and clarify update logic 2023-06-07 00:58:43 +01:00
Matt-Yorkley
e88843c733 Ensure order number is generated nicely on new records 2023-06-07 00:58:43 +01:00
Matt-Yorkley
67c3e09dba Use RESTful routes for orders controller actions 2023-06-07 00:35:47 +01:00
Konrad
1b6147db30 Merge pull request #10896 from jibees/10571-bom-orders-not-sorted-by-most-recent-date
BOM: Sort by order completed at desc for line items by default
2023-06-06 17:37:54 +02:00
Matt-Yorkley
2bfb57a1a1 Clarify shipments partial inclusion 2023-06-06 14:59:53 +01:00
Matt-Yorkley
8813edaed8 Fix variables in form partial 2023-06-06 14:59:03 +01:00
Jean-Baptiste Bellet
7dc8c4b891 Hide OFN navigation also on small width screens 2023-06-06 14:55:41 +02:00
Jean-Baptiste Bellet
a8b85a65e9 Add context for visiting a path 2023-06-06 14:44:05 +02:00
Jean-Baptiste Bellet
5c3e07db52 Test that OFN navigation is on mobile views as well 2023-06-06 14:44:05 +02:00
dependabot[bot]
10ca09eaef chore(deps): bump paranoia from 2.6.1 to 2.6.2
Bumps [paranoia](https://github.com/rubysherpas/paranoia) from 2.6.1 to 2.6.2.
- [Release notes](https://github.com/rubysherpas/paranoia/releases)
- [Changelog](https://github.com/rubysherpas/paranoia/blob/core/CHANGELOG.md)
- [Commits](https://github.com/rubysherpas/paranoia/compare/v2.6.1...v2.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 10:00:41 +00:00
Jean-Baptiste Bellet
daaeca88e8 Add some helpers to test mobile views 2023-06-06 12:00:16 +02:00
Mohamed ABDELLANI
77554e21fc move advance_to_payment on order's details page from edit to update 2023-06-06 10:23:01 +01:00
Matt-Yorkley
7c72969792 Move Order #state_changed method out into Checkout concern (alongside order states logic) 2023-06-05 23:54:04 +01:00
Matt-Yorkley
a62e51c0d0 Remove Order #refresh_shipment_rates method 2023-06-05 23:54:04 +01:00
Matt-Yorkley
1a7d70772a Make Order #products_available_from_new_distribution method private 2023-06-05 23:54:04 +01:00
Matt-Yorkley
3dd4e7ef03 Delegate order updater method 2023-06-05 23:54:04 +01:00
Matt-Yorkley
8a27dd84fe Make Order #disallow_guest_order method private 2023-06-05 21:30:49 +01:00
Matt-Yorkley
05a715a43a Remove Order #distribution_set? method 2023-06-05 21:30:46 +01:00
Matt-Yorkley
17b10d10c0 Make Order #deliver_order_confirmation_email method private 2023-06-05 21:30:43 +01:00
Matt-Yorkley
10dbeb32b2 Remove Order #credit_cards method 2023-06-05 21:30:40 +01:00
Matt-Yorkley
b3bd112cdb Remove Order #shipped_shipments method 2023-06-05 21:30:36 +01:00
Jean-Baptiste Bellet
93cf562d59 Update en.yml 2023-06-05 15:48:02 +02:00
Jean-Baptiste Bellet
5938577bd1 Update custom_tab_spec.rb 2023-06-05 15:43:11 +02:00
Jean-Baptiste Bellet
1594d1c718 Validate custom tab title 2023-06-05 15:41:33 +02:00
Jean-Baptiste Bellet
abe63e5b04 Add context for visiting a path 2023-06-05 12:08:43 +02:00
Jean-Baptiste Bellet
40111910b6 Validates white_label_logo_link on enterprise model 2023-06-05 11:24:07 +02:00
Jean-Baptiste Bellet
4edb159ef8 Avoid flaky spec by matching the array
Context: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/5081492387/jobs/9129944001?pr=10896
2023-06-05 10:05:09 +02:00
Jean-Baptiste Bellet
ccb183d60b Sort by order_date desc for line_items in BOM
+ update spec to have different order time
2023-06-05 10:05:09 +02:00
jibees
a785b4d5e0 Merge pull request #10928 from openfoodfoundation/dependabot/bundler/rubocop-1.52.0
chore(deps-dev): bump rubocop from 1.51.0 to 1.52.0
2023-06-05 09:28:04 +02:00
Maikel Linke
16fba20686 Update rubocop todo file 2023-06-05 12:13:35 +10:00
Maikel Linke
1cbb45a618 Style Lint/RedundantSafeNavigation
The cop suggested to change more but they were false positives:

* https://github.com/rubocop/rubocop/pull/11915
2023-06-05 12:09:32 +10:00
Maikel Linke
38bd31d0e3 Style Layout/TrailingWhitespace 2023-06-05 10:42:21 +10:00
Konrad
750b6b284d Merge pull request #10910 from jibees/10902-white-label-for-uploading-custom-logo-use-same-design-as-for-enterprise-logobanner-and-provide-required-image-dimensions
[White Label] Backoffice: improve design for logo used in shopfront
2023-06-04 14:50:49 +02:00
dependabot[bot]
78338864d8 chore(deps-dev): bump rubocop from 1.51.0 to 1.52.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.51.0 to 1.52.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.51.0...v1.52.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-06-02 09:57:30 +00:00
filipefurtad0
840da55941 Update all locales with the latest Transifex translations 2023-06-02 09:17:23 +01:00
Jean-Baptiste Bellet
880ba85791 Add http to white label logo link if this do not start with http 2023-06-01 17:37:05 +02:00
Jean-Baptiste Bellet
ced8f8aa58 Use shared_examples as we will test many URLs later on
"It's a Surprise Tool That Will Help Us Later"
2023-06-01 17:37:05 +02:00
jibees
d63c47e0f1 Merge pull request #10920 from openfoodfoundation/dependabot/bundler/sidekiq-scheduler-5.0.3
chore(deps): bump sidekiq-scheduler from 5.0.2 to 5.0.3
2023-06-01 17:26:54 +02:00
jibees
fd7d68d0a8 Merge pull request #10919 from openfoodfoundation/dependabot/bundler/rspec-rails-6.0.3
chore(deps-dev): bump rspec-rails from 6.0.2 to 6.0.3
2023-06-01 17:25:58 +02:00
Jean-Baptiste Bellet
2e0191e603 Improve UX: same as enterprise logo and promo image 2023-06-01 17:16:22 +02:00
Filipe
12159edaca Merge pull request #10833 from Matt-Yorkley/order-angular
Remove Angular from admin orders index page
2023-06-01 13:57:39 +01:00
Filipe
2ba0f635f2 Merge pull request #10860 from Matt-Yorkley/order-cycle-deleting
Delete exchange variants in bulk when deleting an order cycle
2023-06-01 13:49:32 +01:00
Filipe
d67227deb8 Merge pull request #10812 from Matt-Yorkley/options-values
Remove OptionValue and OptionType code
2023-06-01 13:49:16 +01:00
Matt-Yorkley
1128fd9c02 Visual tweak to ship/capture buttons and success feedback 2023-06-01 12:13:12 +01:00
dependabot[bot]
3e46115f79 chore(deps): bump sidekiq-scheduler from 5.0.2 to 5.0.3
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 5.0.2 to 5.0.3.
- [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.2...v5.0.3)

---
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-06-01 10:00:31 +00:00
dependabot[bot]
e428944849 chore(deps-dev): bump rspec-rails from 6.0.2 to 6.0.3
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.2 to 6.0.3.
- [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/v6.0.2...v6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 09:59:07 +00:00
Matt-Yorkley
e99c328643 Update app/services/variant_units/variant_and_line_item_naming.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-01 10:12:19 +01:00
Matt-Yorkley
0ac10472cf Update app/models/spree/line_item.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-06-01 10:12:19 +01:00
Matt-Yorkley
7f5d1be792 Guard against unsaved variant's product in OptionValueNamer for product import 2023-06-01 10:12:19 +01:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Matt-Yorkley
35b41fc7fe Persist unit_value on variant and "option value text" on variant and line_item and improve related AR callbacks 2023-06-01 10:12:19 +01:00
Matt-Yorkley
bfcf1203ac Delete dead code 2023-06-01 10:11:20 +01:00
Matt-Yorkley
896e4c45f2 Clarify confusing class 2023-06-01 10:11:20 +01:00
Matt-Yorkley
3e5ecba738 Remove unhelpful Helper 2023-06-01 10:11:20 +01:00
Matt-Yorkley
e5eb622ac7 Cut dead code 2023-06-01 10:11:20 +01:00
Filipe
6b98e2b3cb Merge pull request #10911 from jibees/10901-white-label-customized-logo-on-small-screens-doesnt-use-the-customized-url
[White Label] Small width screens : use the white label link if exists for logo in nav bar
2023-06-01 08:16:53 +01:00
Filipe
61b70a25d9 Merge pull request #10897 from openfoodfoundation/dependabot/npm_and_yarn/mrujs-1.0.0
chore(deps): bump mrujs from 0.10.1 to 1.0.0
2023-06-01 08:03:32 +01:00
Filipe
e0d24ed5c0 Merge pull request #10912 from openfoodfoundation/dependabot/bundler/puma-6.3.0
chore(deps): bump puma from 6.2.2 to 6.3.0
2023-06-01 07:42:22 +01:00
Filipe
2d4d8e26f5 Merge pull request #10875 from jibees/10561-allow-user-to-create-custom-tab-in-shop-navigation
[White Label] Allow user to create custom tab in shop navigation
2023-06-01 07:21:25 +01:00
Maikel
add725b6c0 Merge pull request #10861 from mkllnk/dfc-import
Update products with DFC Prototype
2023-06-01 08:48:39 +10:00
Filipe
5f429c77f8 Merge pull request #10791 from dacook/10630-new-brand-colours
[admin_v3] New brand colours in admin interface
2023-05-31 16:03:18 +01:00
dependabot[bot]
1b6815515e chore(deps): bump puma from 6.2.2 to 6.3.0
Bumps [puma](https://github.com/puma/puma) from 6.2.2 to 6.3.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.2.2...v6.3.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-05-31 10:01:43 +00:00
Jean-Baptiste Bellet
ac30e8b9da Use the white label link if exists, otherwise, use the main_app.root_path 2023-05-31 10:46:23 +02:00
Filipe
668a573f12 Merge pull request #10908 from filipefurtad0/flaky_simple_spec
Changes date through keystrokes; removes Retry option
2023-05-30 16:43:36 +01:00
filipefurtad0
c5358b1303 Changes date through keystrokes; removes Retry option 2023-05-30 10:02:44 +01:00
jibees
7b6077d01f Merge pull request #10905 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.9
chore(deps): bump @floating-ui/dom from 1.2.8 to 1.2.9
2023-05-29 14:57:34 +02:00
dependabot[bot]
841a021bc4 chore(deps): bump @floating-ui/dom from 1.2.8 to 1.2.9
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.8 to 1.2.9.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.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>
2023-05-29 09:59:12 +00:00
jibees
7ea2aa699d Merge pull request #10904 from mkllnk/update-job-spec
Simplify background report spec after rspec fix
2023-05-29 10:19:31 +02:00
Maikel Linke
3fa62ceccf Simplify background report spec after rspec fix
The rspec-rails gem had an issue which was fixed in the last release.
Now we can remove my workaround and simplify the spec.
2023-05-29 13:25:44 +10:00
David Cook
24c407f920 Merge pull request #10898 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.1
chore(deps): bump sidekiq from 7.1.0 to 7.1.1
2023-05-29 13:09:15 +10:00
Maikel Linke
77f716306d Remove redundant test 2023-05-29 10:07:34 +10:00
Konrad
fff02a7ddb Merge pull request #10893 from jibees/10853-white-label-remove-ofn-logo-on-navigation-menu-for-small-width-screens
[White Label] Small width screens: Hide OFN logo and use the customized logo if activated
2023-05-28 12:00:49 +02:00
Maikel Linke
0dcd87dda9 Update stock and SKU from DFC
The input has been observed with the nginx access log including
$request_body when the DFC Protoype pushed an update.
2023-05-28 10:39:08 +02:00
Maikel Linke
375b3a3cb0 Update variant's quantity from DFC 2023-05-28 10:39:08 +02:00
Maikel Linke
48a52582e6 Update variant description with DFC description
We used the name before because the DFC Prototype only displays the
description.
2023-05-28 10:39:08 +02:00
Maikel Linke
63837381e0 Update DFC test data with observation
This request came from the current DFC prototype. The changes are
probably implementing DFC v1.7.

I observed by including `$request_body` in the nginx log on the staging
server.
2023-05-28 10:39:08 +02:00
Maikel Linke
50ef06c973 Name DFC test data to clarify content
The DFC has several products like PhysicalProduct and SuppliedProduct.
Here we have a supplied product.
2023-05-28 10:39:08 +02:00
Maikel Linke
7344eb678b Remove now unused helper
It was only used in controller specs which were all converted to request
specs.
2023-05-28 10:39:08 +02:00
Maikel Linke
dde4ea9334 Convert CatalogItems controller spec to request spec 2023-05-28 10:39:08 +02:00
Maikel Linke
207a15e55c Convert SuppliedProducts controller spec to request spec 2023-05-28 10:39:08 +02:00
Maikel Linke
742468efd2 Convert EnterpriseController spec to request spec
Also testing request of unrelated enterprise instead of non-existing
enterprise because authorisation is important to test.
2023-05-28 10:39:08 +02:00
Maikel Linke
d338c61d2c Convert PersonsController spec request spec
It's much more realistic and also tests the routing and authentication.
Besides using real authentication I also improved the matchers.
2023-05-28 10:39:08 +02:00
Maikel Linke
67c29dd38f Activate DFC provider engine, remove feature toggle 2023-05-28 10:39:08 +02:00
Jean-Baptiste Bellet
01b3b3b5bb Add some specs around tab for a shop 2023-05-26 15:19:27 +02:00
Jean-Baptiste Bellet
6b29f7e3c5 Sanitize content with a new TrixScrubber
specifically made for trix editor with its allowed tags
2023-05-26 15:19:27 +02:00
Jean-Baptiste Bellet
f26ecdf4f9 Don't need to pass the order through the nested view 2023-05-26 15:19:27 +02:00
Jean-Baptiste Bellet
6775e0b8f1 Add custom_ prefix to avoid name collision
One can name the custom tab `shop` which can be confusing.
2023-05-26 15:19:27 +02:00
Jean-Baptiste Bellet
9e67bd5824 Use specified values to be sure they aren't empty 2023-05-26 15:19:27 +02:00
dependabot[bot]
2f1e3a5c96 chore(deps): bump sidekiq from 7.1.0 to 7.1.1
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.0 to 7.1.1.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.0...v7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 10:01:59 +00:00
dependabot[bot]
856fcd9e18 chore(deps): bump mrujs from 0.10.1 to 1.0.0
Bumps [mrujs](https://github.com/KonnorRogers/mrujs) from 0.10.1 to 1.0.0.
- [Changelog](https://github.com/KonnorRogers/mrujs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KonnorRogers/mrujs/compare/v0.10.1...v1.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 09:58:38 +00:00
Matt-Yorkley
e34c2acba8 Move CablecarResponses include to ApplicationController 2023-05-26 10:35:41 +01:00
Matt-Yorkley
2373d044f7 Update app/services/orders_bulk_cancel_service.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-05-26 10:33:23 +01:00
Jean-Baptiste Bellet
a24604f146 Remove unused enterprise declaration 2023-05-26 10:24:11 +02:00
David Cook
14345ef1fa Change warning orange to Mojo
> That way we only have one orangy/red colour and we start simplifying things.
2023-05-26 15:11:23 +10:00
David Cook
0df7c45a61 Change warning red to Mojo
Some templates still had this colour hardcoded. They are using angular so I didn't spend time updating them.
2023-05-26 15:11:23 +10:00
David Cook
dcf857cafb Move warning colour definition to CSS
This also changes the orange to red, but that's part of the plan.
2023-05-26 15:11:23 +10:00
David Cook
e674c53535 Change error red color to Mojo
color-5 is used for error messages.
2023-05-26 15:11:23 +10:00
David Cook
719a704985 Change blue colour as per design
https://github.com/openfoodfoundation/openfoodnetwork/issues/10630#issue-1644928392
2023-05-26 15:11:23 +10:00
David Cook
60ec24b92b Use variables for spree-blue
Aka 'Havelock Blue', which is going to be changing.
2023-05-26 15:11:23 +10:00
David Cook
e928e74ae6 Use different palette for admin styles v3
Note that mail.css is still referring to the old palette.
2023-05-26 15:10:49 +10:00
David Cook
31fa9c2c04 Add admin_style_v3 feature toggle 2023-05-26 15:10:27 +10:00
David Cook
01b3901b08 Add admin_style_v3
Individual files may be copied in order to replace the old files.

NOTE: these may need manually re-syncing. If any of the copied files have changed on master in the meantime, we'll need to manaully review to consider bringing those changes to the new design.
2023-05-26 15:10:27 +10:00
David Cook
9051318147 Move colour palette to new file
This seemed like a good separation which will probably help with the upcoming changes.

Co-authored-by: jibees <jb.bellet@gmail.com>
2023-05-26 15:09:59 +10:00
Maikel
b013d3f2d4 Merge pull request #10895 from jibees/10894-flaky-speccontrollersapiv0order_cycles_controller_specrb89
Fix flaky spec: Prefer using `match_array` over `eq` to compare array
2023-05-26 14:06:14 +10:00
Maikel Linke
2e52a633ae Acknowledge new style violations 2023-05-26 13:34:48 +10:00
Maikel Linke
15ef826ac1 Style Style/ClassAndModuleChildren 2023-05-26 13:27:34 +10:00
Maikel Linke
f674d5cd37 Style Layout/TrailingEmptyLines 2023-05-26 13:26:30 +10:00
David Cook
875f68b0e2 Update one more translation 2023-05-26 11:46:22 +10:00
Jean-Baptiste Bellet
cf9342f2c4 Prefer using match_array over eq to compare array
As we don't need order: https://rubydoc.info/github/rspec/rspec-expectations/RSpec%2FMatchers:match_array
2023-05-25 15:24:25 +02:00
Jean-Baptiste Bellet
eea1db4c4a Hide OFN logo and use the customized logo if activated 2023-05-25 15:17:04 +02:00
jibees
8dde81c498 Merge pull request #10891 from openfoodfoundation/dependabot/bundler/test-unit-3.5.9
chore(deps): bump test-unit from 3.5.8 to 3.5.9
2023-05-25 13:34:38 +02:00
dependabot[bot]
2084d84c7a chore(deps): bump test-unit from 3.5.8 to 3.5.9
Bumps [test-unit](https://github.com/test-unit/test-unit) from 3.5.8 to 3.5.9.
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](https://github.com/test-unit/test-unit/compare/3.5.8...3.5.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 09:58:28 +00:00
Filipe
8b7ca292af Merge pull request #10884 from openfoodfoundation/10882-cookie-banner-is-displayed-on-every-page-even-after-accepting
Do not show cookies banner once user accept it
2023-05-25 10:36:27 +01:00
Jean-Baptiste Bellet
f961548da2 Deactivate file upload for trix editor
Source: https://benborgers.com/posts/trix-disable-files
2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
e434eb17f0 Use full width since we use a WYSIWYG editor with toolbar 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
bb211bfc84 Allow HTML via trix editor for custom tab content
+ update spec as well
2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
4dede3b361 Add trix editor 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
6e677f15ec Can delete custom tab if uncheck the checkbox 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
f0665b0862 Add custom tab on shop 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
916b2313ab Some links does not include _panel suffix. Add if needed.
Yep. Sounds like a hack.

+ Use the right URL anchor with `_panel` in href for each tab

+ update specs
2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
fc21fdb485 Customize default tab: could be either shop or home 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
6b1d1ddbce On order cycle change, go to shop panel 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
a28a792642 Allow communication between controllers via event 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
bb6b1e59f9 Use tabs_and_panels_controller.js instead of PageSelectionCtrl
Prefer StimulusJS over Angular
2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
925b0e0308 Add a form in admin to create/update a custom tab for an enterprise 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
839419791f Create CustomTab model, that belongs to an enterprise 2023-05-25 09:19:51 +02:00
David Cook
f890d9ceb4 Update all locales with the latest Transifex translations 2023-05-25 17:12:10 +10:00
jibees
abc0a29ddb Merge pull request #10889 from mkllnk/dead-code
Remove dead reference to removed model
2023-05-25 09:10:14 +02:00
Maikel Linke
86c35fe2dc Remove dead reference to removed model 2023-05-25 16:13:33 +10:00
Filipe
6d032002f1 Merge pull request #10750 from jibees/10560-allow-hide-of-groups-tab-in-shop-navigation
White Label: allow hide of groups tab in shop navigation
2023-05-24 21:11:04 +01:00
filipefurtad0
ca107c036c Enables caching for cookies_spec.rb 2023-05-24 19:46:28 +02:00
jibees
e60376e6bd Merge pull request #10885 from openfoodfoundation/dependabot/bundler/faraday-2.7.5
chore(deps): bump faraday from 2.7.4 to 2.7.5
2023-05-24 15:18:10 +02:00
jibees
d704157fef Merge pull request #10886 from openfoodfoundation/dependabot/bundler/knapsack_pro-4.1.0
chore(deps-dev): bump knapsack_pro from 4.0.0 to 4.1.0
2023-05-24 15:17:16 +02:00
dependabot[bot]
b985ab8d99 chore(deps-dev): bump knapsack_pro from 4.0.0 to 4.1.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 4.0.0 to 4.1.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v4.0.0...v4.1.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-05-24 10:10:08 +00:00
dependabot[bot]
d60ba96fe9 chore(deps): bump faraday from 2.7.4 to 2.7.5
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.4 to 2.7.5.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.4...v2.7.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 10:08:17 +00:00
Jean-Baptiste Bellet
3cd53cbd41 Adds some keys to this cached element, due to cookie banner
Once the user accept the cookie, we should not show the cookie banner element. This is handled via `app/helpers/footer_links_helper.rb#cookies_policy_link` and boolean:

```
!Web::CookiesConsent.new(cookies, request.host).exists? && Spree::Config.cookies_consent_banner_toggle
```
2023-05-24 10:45:06 +02:00
Maikel Linke
b4deb21872 Bump Ruby from 3.0.3 to 3.1.4
Major 3.1 highlights:

* https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
2023-05-24 16:52:34 +10:00
Maikel
32d425dd58 Merge pull request #10880 from openfoodfoundation/dependabot/bundler/knapsack_pro-4.0.0
Bump knapsack_pro from 3.11.0 to 4.0.0
2023-05-24 14:05:09 +10:00
Maikel
ce1317933b Merge pull request #10815 from Pauloparakleto/issue-7483
refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
2023-05-24 11:57:44 +10:00
Maikel
340f10b323 Merge pull request #10539 from filipefurtad0/spec_for_enterprise_fee_selection_tax_inherit
Adds a spec to check enterprise fees creation
2023-05-24 11:29:27 +10:00
Maikel
8c11bf3033 Merge pull request #10839 from mkllnk/valid-email
Validate user's email address
2023-05-24 10:37:00 +10:00
Konrad
0854287b92 Merge pull request #10744 from jibees/10556-remove-ofn-header-banner-in-order-confirmation-emails
White Label: remove OFN banner from order confirmation emails when `hide_ofn_navigation` is activated for the shop
2023-05-24 01:14:16 +02:00
dependabot[bot]
6dc1cb6baa Bump knapsack_pro from 3.11.0 to 4.0.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.11.0 to 4.0.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.11.0...v4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 10:01:38 +00:00
Maikel Linke
ef3422bf58 Update syntax and clarify use of outdated gem 2023-05-23 08:23:58 +02:00
Maikel Linke
90cbac7176 Validate email domains
The gem checks the DNS system for a valid domain entry.
2023-05-23 08:23:58 +02:00
Maikel Linke
ffc45f77cf Validate user email syntax on change
We probably have invalid entries in the database and we don't want these
records to suddenly become invalid. People would not be able to log in.
2023-05-23 08:23:58 +02:00
Maikel Linke
101b9025b4 Spec user email validation
The pending spec addresses:

 * https://github.com/openfoodfoundation/openfoodnetwork/issues/10808
2023-05-23 08:23:58 +02:00
Konrad
b56b36f617 Merge pull request #10859 from filipefurtad0/change_voucher_default_message_en
[Vouchers] Updates warning_forfeit_remaining_amount default message
2023-05-23 08:20:41 +02:00
filipefurtad0
5e248aa715 Improving shared_example naming 2023-05-22 12:27:04 +01:00
filipefurtad0
554d515875 Introduces prefix to simplify assertions 2023-05-22 12:27:04 +01:00
Matt-Yorkley
459ef5f0d1 Only delete related exchange variants if exchange is outgoing 2023-05-22 11:09:29 +01:00
Jean-Baptiste Bellet
0bec7562a0 When hide_groups_tab is set to false, do not display group in shopfront
Co-Authored-By: Maikel <maikel@email.org.au>
2023-05-22 10:29:57 +02:00
Jean-Baptiste Bellet
0d98ec8f4c In admin, add form to set hide_groups_tab attribute
+ add specs
2023-05-22 10:29:56 +02:00
Jean-Baptiste Bellet
38cc8a89d1 Add hide_groups_tab to Enterprise model 2023-05-22 10:29:56 +02:00
Matt-Yorkley
7c5067ff42 Update "special instructions" note tooltip and add missing test coverage 2023-05-21 14:06:14 +01:00
Matt-Yorkley
005d95e882 Fix "Resend Confirmation" link and add missing test coverage 2023-05-21 13:33:29 +01:00
Matt-Yorkley
dcdcdb4fc0 Align filter buttons centrally 2023-05-21 00:15:32 +01:00
Matt-Yorkley
abf00353ea Permit explicit params 2023-05-21 00:15:32 +01:00
Matt-Yorkley
be1ed2bbcf Update tomselect multiselect styling 2023-05-21 00:15:32 +01:00
Matt-Yorkley
52450028a1 Fix checkbox alignment 2023-05-21 00:15:32 +01:00
Matt-Yorkley
d50ac4bf45 Reinstate dropdown-with-prepend 2023-05-21 00:15:32 +01:00
Matt-Yorkley
4ddde65a04 Reimplement saving and restoring submitted search filters between page loads 2023-05-21 00:15:32 +01:00
Matt-Yorkley
7d33e0f74d Allow programmatically refreshing flatpickr element via "flatpickr:change" event after changing the select's value externally 2023-05-21 00:15:32 +01:00
Matt-Yorkley
2ba2a826db Clean up event handlers on disconnect in Flatpickr controller 2023-05-21 00:15:32 +01:00
Matt-Yorkley
d64a9afece Replace angular ofn-with-tip directive on capture/ship buttons 2023-05-21 00:15:32 +01:00
Matt-Yorkley
770880c062 Update specs 2023-05-21 00:15:32 +01:00
Matt-Yorkley
310577c49d Close dropdown after selection with multiselect
This conforms with the previous select2 multiselect behaviour
2023-05-21 00:15:32 +01:00
Matt-Yorkley
c3cf79f5ef Delete angular ordersCtrl 2023-05-21 00:15:32 +01:00
Matt-Yorkley
71c4f2a5be Update styling on multiselect tabs for tom-select 2023-05-21 00:15:32 +01:00
Matt-Yorkley
95f1643cec Combine related reflex actions 2023-05-21 00:15:32 +01:00
Matt-Yorkley
bee46720f4 Combine bulk action controllers and pass reflex as an argument 2023-05-21 00:15:32 +01:00
Matt-Yorkley
5930d0c1f5 Make bulk actions more generic 2023-05-21 00:15:32 +01:00
Matt-Yorkley
55d9deb5bd Update order cancelling bulk action 2023-05-21 00:15:32 +01:00
Matt-Yorkley
134f1ab151 Replace angular bulkInvoiceCtrl 2023-05-21 00:15:32 +01:00
Matt-Yorkley
27290e5b57 Make modal controller creatable and destroyable 2023-05-21 00:15:32 +01:00
Matt-Yorkley
25aecfa5b9 Add reflex for shipping orders 2023-05-21 00:15:32 +01:00
Matt-Yorkley
e58a37f65b Add reflex for capturing orders 2023-05-21 00:15:32 +01:00
Matt-Yorkley
61849d84e7 Extract order capturing to OrderCaptureService 2023-05-21 00:15:32 +01:00
Matt-Yorkley
73b41154cc Update admin flashes 2023-05-21 00:15:32 +01:00
Matt-Yorkley
048df6230b Remove angular from admin orders index page 2023-05-21 00:15:32 +01:00
Matt-Yorkley
5ad68f25e3 Handle old jquery_ujs buttons 2023-05-21 00:15:30 +01:00
Matt-Yorkley
3df166fb2f Drop jquery_ujs 2023-05-20 19:47:41 +01:00
Matt-Yorkley
59fd4ad251 Tidy up JS imports 2023-05-20 19:47:41 +01:00
Matt-Yorkley
48a8f57262 Prep admin JS 2023-05-20 19:47:41 +01:00
Matt-Yorkley
f181b35a90 Add minimal admin js setup 2023-05-20 19:47:41 +01:00
Matt-Yorkley
c4bc0a7bbd Rename select-all-controller 2023-05-20 19:47:41 +01:00
paulo-felipe
3a35f12801 chore(spec/system/admin/subscriptions_spec.rb): issue #7483
Group together sample tests to avoid rebuilding browser state.
2023-05-19 19:55:27 -03:00
paulo-felipe
c9ab092f7c chore(spec/system/admin/subscriptions_spec.rb): issue #7483
Add back comment explaining bill address has been pre-loaded.
2023-05-19 19:55:27 -03:00
paulo-felipe
1e1d4b07d1 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Remove the old chained smoke test.
2023-05-19 19:55:27 -03:00
paulo-felipe
bd05f40b17 lint(spec/system/admin/subscriptions_spec.rb): issue #7483
Solve line too long offense and separate variables from expectations.
2023-05-19 19:55:27 -03:00
paulo-felipe
105d695f18 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
add unit test to check creation of standing line items when click create subscription without changing shipping address.
2023-05-19 19:55:27 -03:00
paulo-felipe
4df550fcf1 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
add unit test to check basic Subscription properties when click create subscription without changing shipping address.
2023-05-19 19:55:27 -03:00
paulo-felipe
49ceec8b8e refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
share common before action Create subscription between samples.
2023-05-19 19:55:27 -03:00
paulo-felipe
03aade4072 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when click Create Subscription button on third page after click next button previously on second page.

It has selector for price, input for quantity and selector for total price.
2023-05-19 19:55:27 -03:00
paulo-felipe
f0da85d723 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when click Create Subscription button on third page after click next button previously on second page.
2023-05-19 19:55:27 -03:00
paulo-felipe
8c709e13e0 lint(spec/system/admin/subscriptions_spec.rb): issue #7483
Solve line too lng offense.
2023-05-19 19:55:27 -03:00
paulo-felipe
c63a8d12f7 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page and adding a product AND deleting the existing product AND adding a new product and click next button.
2023-05-19 19:55:26 -03:00
paulo-felipe
5a5aa4c067 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page and adding a product AND deleting the existing product AND adding a new product.
2023-05-19 19:55:26 -03:00
paulo-felipe
5776bdb31c refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page and adding a product AND deleting the existing product.
2023-05-19 19:55:26 -03:00
paulo-felipe
b0623ab4de refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page and adding a product.
2023-05-19 19:55:26 -03:00
paulo-felipe
f05e2618be refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page and click next button without adding at least one product.
2023-05-19 19:55:26 -03:00
paulo-felipe
35ce463811 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on third page.
2023-05-19 19:55:26 -03:00
paulo-felipe
7efc68281e refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when using copy button to fill in ship address.
2023-05-19 19:55:26 -03:00
paulo-felipe
aa16110e9a refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when resetting the billing address after clearing the bill address. MOve scenario to its before do block.
2023-05-19 19:55:26 -03:00
paulo-felipe
39a76861f3 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when resetting the billing address after clearing the bill address.
2023-05-19 19:55:26 -03:00
paulo-felipe
79ff13e8ba refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Move on second page to a before action and clearing some elements of bill address to a before action. Let the unit test with the action isolated.
2023-05-19 19:55:26 -03:00
paulo-felipe
573ab1beb0 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context on second page when clearing some elements of the bill address.
2023-05-19 19:55:26 -03:00
paulo-felipe
384ad1ba12 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Group context for first page scenarios. Extract common customer actions to its before do block.
2023-05-19 19:55:26 -03:00
paulo-felipe
77857a0168 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Add context when date field is filled. It goes to the next page with preloaded data.
2023-05-19 19:55:26 -03:00
paulo-felipe
47b0d626e2 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Isolate when no field is filled on first screen describe it better as per reviewer suggestion.
2023-05-19 19:55:26 -03:00
paulo-felipe
0bf7e53ce4 refactor(spec/system/admin/subscriptions_spec.rb): issue #7483
Isolate when no field is filled on first screen.
2023-05-19 19:55:26 -03:00
Konrad
fed7c3da51 Merge pull request #10761 from rioug/vouchers-any-amount
[Vouchers] Flat rate of any amount
2023-05-19 17:39:33 +02:00
Matt-Yorkley
a8559e621f Simplify exchange variant callback and prefer delete over destroy
Delete is faster than destroy but should only be used if the object has no callbacks or touches.
2023-05-19 11:26:33 +01:00
Matt-Yorkley
434c9ae110 Delete exchange variants in bulk when deleting an order cycle 2023-05-19 10:46:55 +01:00
David Cook
9d7316c553 Use a fixed value for voucher factory 2023-05-19 17:19:54 +10:00
Maikel Linke
37441be371 Update translations 2023-05-19 14:33:23 +10:00
Maikel
0d403f4087 Merge pull request #10814 from Matt-Yorkley/serializer-eager-loading
Improve eager-loading on admin products page
2023-05-19 14:31:25 +10:00
Maikel
f943b411c5 Merge pull request #10823 from abdellani/fix-file-name-used-as-parameter
[Security] Validate product import file path
2023-05-19 14:28:09 +10:00
Maikel
7af14e37fa Merge pull request #10488 from mkllnk/dfc-connector
Serialize DFC catalog items with DFC Connector
2023-05-19 11:31:23 +10:00
filipefurtad0
8d2885e147 Updates spec after merging #10512 2023-05-18 16:04:30 +01:00
filipefurtad0
51b144f174 Covers editing into invalid combinations 2023-05-18 15:59:48 +01:00
filipefurtad0
4e2095f0fb Tests enterprise fee creation
...when inheriting tax category from product

as shared examples
2023-05-18 15:59:48 +01:00
Filipe
3d1b0816ed Merge pull request #10512 from abdellani/fix-tax-not-charged-when-tax-category-set-to-inherit-from-product
Prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product'
2023-05-18 13:43:14 +01:00
Konrad
39bb1f6f41 Merge pull request #10832 from Matt-Yorkley/cloning
Clone all ExchangeVariant objects in bulk
2023-05-18 14:32:30 +02:00
filipefurtad0
c99829e457 Updates spec to reflect change on en.yml 2023-05-18 12:11:37 +01:00
filipefurtad0
7ea3834900 Updates warning_forfeit_remaining_amount default message 2023-05-18 11:57:15 +01:00
David Cook
360a241402 Style fix 2023-05-18 10:07:52 +10:00
Filipe
0d23b63bbd Merge pull request #10779 from dacook/10634-remove-admin_style_v2
10634 Remove admin_style_v2 feature
2023-05-17 15:37:05 +01:00
Konrad
19caadb1a0 Merge pull request #10800 from dacook/remove-localisation
Also remove localized number logic from weight calculator
2023-05-17 14:57:26 +02:00
David Cook
c0c123a92a Remove localized number logic from weight calculator
Follow-on from a46eef291c
2023-05-17 14:10:58 +02:00
Konrad
f26bef5f98 Merge pull request #10813 from saunmanoj888/fix-fullname-search-issue-on-bulk-orders
Fix searching issue with full name on bulk order management
2023-05-17 13:58:04 +02:00
saunmanoj888
aee7645e29 Fix searching issue with full name on bulk order management 2023-05-17 13:14:10 +02:00
Konrad
02873d7596 Merge pull request #10817 from Matt-Yorkley/permissions-scoping
Scope orders before bulk actions
2023-05-17 12:44:07 +02:00
Matt-Yorkley
e1b0a03819 Scope orders before bulk actions 2023-05-17 12:03:40 +02:00
Jean-Baptiste Bellet
2336981ca0 Do not display OFN banner on order confirmation email if white label 2023-05-17 11:35:18 +02:00
Jean-Baptiste Bellet
dfafbfe996 Create an order confirmation email preview of the last completed order
Available on `/rails/mailers/order_mailer/confirm_email_for_customer`
2023-05-17 11:35:06 +02:00
Jean-Baptiste Bellet
f7d06fe0e8 Do not display OFN banner on subscription confirmation email if white label
+ add specs that test for the presence of the footer logo which is in the header (I know it's a bit contradictory)
2023-05-17 11:34:35 +02:00
Jean-Baptiste Bellet
3ed89fc2db Create a subscription confirmation email preview of the last completed order
Available on: `/rails/mailers/subscription_mailer/confirmation_email`
2023-05-17 11:34:16 +02:00
Maikel Linke
eaf3bd0bae Update spec after new import file validation 2023-05-17 15:18:29 +10:00
Mohamed ABDELLANI
fcb8550cb1 extract file path sanitizer to an independent class 2023-05-17 15:09:48 +10:00
Mohamed ABDELLANI
4d5ba6a7e6 add file path validation 2023-05-17 15:09:48 +10:00
Maikel Linke
a0d05b26d1 Spec current product import vulnerabilities
I didn't use pending specs but deliberately passing specs on wrong
behaviour. This is not how it should be but how it is at the moment.
2023-05-17 15:09:01 +10:00
Konrad
4a66b62fa7 Merge pull request #10825 from jibees/10824-remove-feature-toggle-on-white-label-feature
Activate white label feature
2023-05-16 13:50:58 +02:00
Maikel
16329e953f Merge pull request #10844 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.0.0
Bump jasmine-core from 4.6.0 to 5.0.0
2023-05-16 17:50:39 +10:00
Gaetan Craig-Riou
abf2105df7 Admin::VoucherController check enterprise permission 2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
355af9e818 Per review comment, build enterprise instead of create
Speed up testing by removing unnecessarily created record
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
b585f77be4 Make enterprise mandatory for a voucher
It should have already been the case...
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
2d8fa24862 Add a voucher factory
As vouchers are getting more complicated, it makes sense to use a
factory to simplify writing test.
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
b427e420ce Update admin pages to allow entering an amount 2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
15eee8175e Add amount to voucher
Change value to amount to be more consistent
2023-05-16 16:19:59 +10:00
Maikel
10c918be75 Merge pull request #10732 from mkllnk/report-email
[Hidden] Notify about completed report with download link via email
2023-05-16 10:25:23 +10:00
Maikel
a979f7c8df Merge pull request #10587 from rioug/10432-vouchers-bare-minimum-checkout
10432 vouchers bare minimum checkout
2023-05-16 09:19:06 +10:00
Maikel Linke
08aff56e20 Expire report files after 1 week, maximum for S3
We didn't see this in tests which use disk storage. But AWS S3 has a
maximum of one week for URL expiry.
2023-05-15 19:41:45 +02:00
Maikel Linke
5ae04a5a3e Hide report link which only works at unknown time
It was bad UX to show a link that doesn't work straight away. At the
time, it was the only way to download the report but now we send an
email which is a much better way to go.

I leave the rest of the code because we want to implement a reflex which
shows the download link once it's ready.
2023-05-15 19:41:45 +02:00
Maikel Linke
299bc253a4 Expire report download links in a month, not 5mins 2023-05-15 19:41:45 +02:00
Maikel Linke
8a8c53ceee Add ReportMailer preview for devs 2023-05-15 19:41:45 +02:00
Maikel Linke
860fe85af9 Add report download link to email notification
I added a system spec to verify that the download link can be generated
within the mailer in a background job. ActiveStorage is a bit particular
when it comes to genererating URLs and depending on the situation it may
generate a redirect URL, a proxy URL or link directly to the storage.
But we want a redirect URL here.
2023-05-15 19:41:45 +02:00
Maikel Linke
cf5a8a26ce Notify only about slow reports
It would be annoying to get an email for reports which display on the
screen immediately.
2023-05-15 19:41:45 +02:00
Maikel Linke
1f4af7f990 Send (dummy) email when background report is done
I'll fill it out in future commits.
2023-05-15 19:41:45 +02:00
Jean-Baptiste Bellet
aaa9bac4dd Remove white_label feature toggle
White label is now activated for everyone.

+ add mock for `spec/controllers/spree/orders_controller_spec.rb`
2023-05-15 17:10:50 +02:00
jibees
d43678c68b Merge pull request #10827 from filipefurtad0/logging_out_spec
Adds test case for logging out
2023-05-15 15:33:56 +02:00
Jean-Baptiste Bellet
ec0cbc5bf9 Avoid warning by being more precise about *.erb files 2023-05-15 15:29:28 +02:00
jibees
a1e4c45daa Merge pull request #10843 from openfoodfoundation/dependabot/bundler/rubocop-1.51.0
Bump rubocop from 1.50.2 to 1.51.0
2023-05-15 15:03:24 +02:00
jibees
edeedc0704 Merge pull request #10841 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.8
Bump @floating-ui/dom from 1.2.7 to 1.2.8
2023-05-15 15:02:22 +02:00
jibees
d2539b34e0 Merge pull request #10840 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.7
Bump rails-i18n from 7.0.6 to 7.0.7
2023-05-15 15:01:12 +02:00
jibees
fea3957481 Merge pull request #10845 from openfoodfoundation/dependabot/bundler/test-unit-3.5.8
Bump test-unit from 3.5.7 to 3.5.8
2023-05-15 15:00:03 +02:00
jibees
b183832fbb Merge pull request #10842 from openfoodfoundation/dependabot/bundler/capybara-3.39.1
Bump capybara from 3.39.0 to 3.39.1
2023-05-15 12:22:59 +02:00
dependabot[bot]
8a352132a0 Bump test-unit from 3.5.7 to 3.5.8
Bumps [test-unit](https://github.com/test-unit/test-unit) from 3.5.7 to 3.5.8.
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](https://github.com/test-unit/test-unit/compare/3.5.7...3.5.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 10:00:55 +00:00
dependabot[bot]
0e59a5db91 Bump jasmine-core from 4.6.0 to 5.0.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 4.6.0 to 5.0.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/v4.6.0...v5.0.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-05-15 10:00:22 +00:00
dependabot[bot]
340fe91e07 Bump rubocop from 1.50.2 to 1.51.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.50.2 to 1.51.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.50.2...v1.51.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-05-15 10:00:15 +00:00
dependabot[bot]
6c126cfc33 Bump capybara from 3.39.0 to 3.39.1
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.39.0 to 3.39.1.
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.39.0...3.39.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 09:59:19 +00:00
dependabot[bot]
82c6eaab4e Bump @floating-ui/dom from 1.2.7 to 1.2.8
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.7 to 1.2.8.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.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>
2023-05-15 09:57:51 +00:00
dependabot[bot]
d4918893a7 Bump rails-i18n from 7.0.6 to 7.0.7
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.6 to 7.0.7.
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.6...v7.0.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 09:57:24 +00:00
jibees
1e05bc5b5c Merge pull request #10789 from jibees/10770-bom-cancelling-an-order-always-restocks-the-line-item
BOM: when deleting the last item of order that leads to order cancellation, take into account the restock items checkbox
2023-05-15 09:50:13 +02:00
Mohamed ABDELLANI
7f52684488 add check_calculators_compatibility_with_taxes before running enterprise bulk update 2023-05-15 07:35:52 +01:00
Gaetan Craig-Riou
5eb6097101 Fix error handling when creating a voucher adjustment
I wrongly assumed that `voucher.create_adjustment` would return nil
if failing to create an adjustment. I will in fact return an
adjustment object with errors.
2023-05-15 13:42:40 +10:00
David Cook
ccff3379ea Update schema.rb
On a freshly mirrored prod db, I found these changes.

I don't know why.. but hopefully this is correct.
2023-05-15 13:42:40 +10:00
Gaetan Craig-Riou
d29119f5c5 Remove non need belongs_to associations from Adjustments
It turns out the "tax_rate" association isn't used and wasn't working.
Same for the "voucher" one, which I added to be consistent with existing
code.
Both of these weren't caught by the specs because you can't test associations
with a custome relation with 'shouda-matchers' see: https://github.com/thoughtbot/shoulda-matchers/issues/981
2023-05-15 13:42:40 +10:00
Gaetan Craig-Riou
b67f5ae154 Fixing Rubocop issue
My editor automatically remove blank character on empty line, that's
why rubocop got grumpy here.
2023-05-15 13:42:40 +10:00
Matt-Yorkley
9b1725d39f Fix model name in adjustment association 2023-05-15 13:42:40 +10:00
Gaetan Craig-Riou
b80274f49d Per review comment, Use named value on voucher submit button to distinguish between submission types
The voucher apply button is inside form that has another a submit button,
it leads to a weird situation where either one will submit the whole
payments page form. Adding a named parameter on the voucher apply button
means we can distinguish between the two by checking for the presence
of params[:apply_voucher].
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
92bcd937dc Per review comment, remove form object from the partial
This partial is rendered inside another <form> element, nested form
don't work.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
0a249d7722 Fix ButtonEnableToggleController to remove hacky button disable
As per review comment, use data-disable-with="false" do prevent Rails
from automatically enabling the "Apply" button. We can then remove
the timeout hack.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
236f6926d9 Cleaning up left over TODOs 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
aa526a639c Checkout payment page, enable voucher "apply" button when code entered
The "apply" button is disabled by default. If left enabled, a customer
could try to apply an empty voucher, which results in system trying
to move to the order summary step, an unexpected behaviour!
We only enable the button when something is entered in the input.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
e5f14177d3 Fix rubocop warning
I guess the new cops are effective :)
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
815dcbcefe Fix translations 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
a2e1e6ca33 Review comment, use dig to access voucher_code param 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
2f1fe6d096 Fix rubocop warning 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
17e32a89f8 Add VoucherAdjustmentsService to handle calculation
Refactor Voucher to move voucher adjustments calculation
to VoucherAdjustmentsService
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
56e981d300 Refactor Voucher to get rid of CalculatedAdjustments
Voucher adjustment have complicated calculation that prevent us from
using Spree::Calculator, and we need to override CalculatedAdjustments
method, so no point using it.
We still keep the same methods to stay as consitent as possible in
regards to adjustments
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
3f37554ff9 Add VoucherAdjustmentsController and specs
Refactor split checkout to use the new controller. But unfortunately
we can't have nested form, so adding a voucher is still handled by
SplitCheckoutController.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
43ab881181 Rename order association to voucher_adjustments
The name vouchers is a bit confusing as the order is linked to a
voucher adjutment and not the actual voucher
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
fe9b94a80e Fix cart disappearing bug after adding a voucher
The split checkout page uses `mrujs` and `CableCar` to set the form as
a remote one and perform `CableCar` operation if any : https://mrujs.com/how-tos/integrate-cablecar
The previous solution broke the cart handled by angularJS, it looks like
`morpdom` (https://mrujs.com/references/remote-forms-and-links Navigation Adapter section )
was doing something that angularJS didn't like when redirecting to
the current page.
With the power of `CableCar`, we now replace the #voucher-section on the
split checkout page instead of doing a redirect.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
94294fa161 Voucher adjustment, add ordering by created_at
It gives us a consistent result when calling #vouchers
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
a1ad25f217 Fix failing specs 2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
bb9d835bd8 Fix rubocop warning 2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
87cc525d27 Refactor #vouchers
Use "has_many" instead of a method
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
4b5d6d7eac Fix voucher adjustments association
Add missing, "inverse_of" and "dependent" options. Use :nullify as
for "dependent" because we would want to keep the adjustments on order
even if the voucher is deleted.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
58469adfeb Adjustments spec, add association test 2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
5064bf5383 Allow voucher adjustment to be created with an amount of 0
Although unlikely, we should still be able to create a voucher amount
with. This can happen if the order.total is for instance.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
9789911523 Rework how voucher are applied to an order and handle tax calculation
At the time when we can apply a voucher to an order (payment step) we
don't have any data on possible taxes and payment fees. These are
calculated when we move to the summary step. So voucher are applied in
two step:
- create an "open" voucher adjustment on the order when a customer enters
a voucher code.
- when we move to the summary step, recalulate the amount and
possible tax for the voucher adjustment, once taxes and payment fees
have been included in the order. And then close the original and update
order to reflect the changes
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
d157d91054 When voucher cover more than order total, use only amount needed
The checkout payment step will also show a warning.
The amount used is stored in the adjustment created, so we will be able
to track how much has been used down the line.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
3f609d3842 Add error message if adding a voucher fails
It's not really useful to the user but better than failing silently
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
596c775af6 Add controller spec to cover voucher in split checkout 2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
74e0b0f6b5 Add voucher adjustment loading to CheckoutCallbacks
This is needed so the voucher is loaded properly when the "checkout"
partials are render via cable_car.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
74a8730f04 Highlight voucher on order summary step 2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
856386fcb0 SplitCheckoutController refactor add_voucher
Now all redirection/render_error happen in #update, it makes it
easier to understand.
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
e487ed0532 Add link to remove voucher when a voucher has been applied
Improve styling to match the design
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
b6213b25e9 add acts_as_paranoid to voucher
This is so the relation
`belongs_to :originator, -> { with_deleted }, polymorphic: true`
setup in Spree::Adjustement works as expected.
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
a9d9b33f7d First take at adding a voucher to an order
Use voucher.create_adjustment to add an adjustment to the order
Currently doesn't take into account tax part
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
3ec58d8791 Add #vouchers, return an array of voucher adjustments 2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
9b680e1a92 Add CalculatedAdjustments to Voucher
Vouchers are only flat rate of 10 for now, so we add a FlatRate
calculator in a before_validation callback
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
f7ee01b9f8 Add voucher input on checkout payment's step
Voucher input is displayed  only if the distributor has any voucher
2023-05-15 13:42:37 +10:00
Maikel
4f7059d0c7 Merge pull request #10838 from filipefurtad0/fix_negative_adjustment_error
Adds minus sign to validation criteria
2023-05-15 11:07:45 +10:00
Gaetan Craig-Riou
d715b6b3bb Spec fix LocalisedNumber validation to allow negative number
As part of this PR https://github.com/openfoodfoundation/openfoodnetwork/pull/10329
LocalisedNumber validation was tightened, but that means negative number
were not valid anymore.

This commit has been cherry-picked after this fix has already been
applied. Now we just change the order of characters in the regex because
humans are used to reading the minus at the beginning of the number. But
this change doesn't change the logic at all.
2023-05-15 10:55:59 +10:00
Maikel
5045e26792 Merge pull request #10834 from mkllnk/variant-spec
Improve readability and performance of variant spec
2023-05-15 09:48:06 +10:00
filipefurtad0
0442f2da7e Fixes spec warning
An example was being ignored due to legacy syntax - WARNING: ignoring the provided expectation message argument since it is not a string or a proc.
2023-05-14 23:02:44 +01:00
filipefurtad0
e7ab839fb3 Adds minus sign as validation criteria
Removes pending from passing examples
2023-05-14 23:02:44 +01:00
filipefurtad0
596b318778 Adds spec on negative adjustment
with different localization settings

Using shared examples and setting failing

ones as pending
2023-05-14 23:02:00 +01:00
Filipe
3c7337b53a Merge pull request #10836 from jibees/10835-on-small-width-screen-the-cart-element-is-missplaced
Fix bad indentation (and hierarchy) of DOM elements causing bad rendering on small width screens
2023-05-12 11:24:49 +01:00
Jean-Baptiste Bellet
60edb4363e Fix bad indentation (and hierarchy)
`%section` must be siblings each others

introduced by https://github.com/openfoodfoundation/openfoodnetwork/pull/10772
2023-05-12 09:30:37 +02:00
Maikel Linke
6596225a99 Fix typo in VCR cassette name 2023-05-12 14:48:00 +10:00
Maikel Linke
87c4c5373b Spec more variant naming with realistic data 2023-05-12 14:10:54 +10:00
Maikel Linke
f70607259a Spec Variant#product_and_full_name with real data
Mocking skips a lot of code execution which we want to test as well.
2023-05-12 13:34:34 +10:00
Maikel Linke
ce180caad9 Test with in-memory data when possible
This should speed up specs but I observed only one second less run time.
2023-05-12 13:21:58 +10:00
Maikel Linke
01be934caf Reduce spec run time by not creating unused subject
The `variant` instance isn't used in all specs and doesn't need to be
created every time. This reduced run time from 1min5sec to 43sec on my
machine.
2023-05-12 13:21:58 +10:00
Maikel Linke
54c6559b97 Move Spree::Variant spec out of Spree module
I also discovered that some specs were just in the Spee module and not
within the `describe Variant` block. I moved them inside the block.
2023-05-12 13:21:19 +10:00
Maikel
93c0a06403 Merge pull request #10829 from filipefurtad0/flaky_order_spec_error
Splits assertions to allow JS table populate
2023-05-12 11:49:06 +10:00
Maikel Linke
636b365304 Tell Rubocop and devs about bulk insert 2023-05-12 10:30:47 +10:00
Jean-Baptiste Bellet
51d6fb81dd Fwd to request the restock_items input value when adjusting items qty 2023-05-11 22:58:44 +02:00
Jean-Baptiste Bellet
f679d8733e Pass the restock_items params to each methods and request call
+ update spec to test whether the restock item checkbox is checked or not.
2023-05-11 22:58:44 +02:00
Matt-Yorkley
b139087c5f Clone ExchangeVariant objects in bulk
An ExchangeVariant is a simple representation of a join table between Exchange and Variant. Previously this code was triggering an additional INSERT query for every variant added to the newly cloned exchange. Some exchanges have ~3000 variants! The code now creates them in bulk in a single INSERT statement. When cloning large order cycles this can improve performance by ~1000% or so.
2023-05-11 20:51:20 +01:00
Filipe
1bdb668cd3 Merge pull request #10769 from Matt-Yorkley/visible-line-items-query
Improve `Permissions::Order#visible_line_items` querying
2023-05-11 15:36:32 +01:00
filipefurtad0
d035d4bb87 Update all locales with the latest Transifex translations 2023-05-11 15:25:39 +01:00
Mohamed ABDELLANI
6771d2e7be test enterprise fees creation with tax category inheritance flag 2023-05-11 12:46:17 +01:00
Mohamed ABDELLANI
a22fe9f948 fix existing invalid enterprise fees 2023-05-11 12:46:17 +01:00
Maikel Linke
25b7f1749c Simplify error when tax rate can't be inherited
I changed the text to focus on the resolution: the user needs to choose
a tax category or a different calculator.

I associated the error to the model to prevent the attribute name from
being included in the error message. Alternatively, we could have
changed the name of the attribute to match the UI. But this error
affects the combination of two attributes, none of them is invalid on
its own.

I'm using Rails' default lazy lookup for error messages which results in
shorter code and a standard structure.

I also added a simple spec.
2023-05-11 12:46:17 +01:00
Mohamed ABDELLANI
89eb3a1967 fix existing tests 2023-05-11 12:46:17 +01:00
Mohamed ABDELLANI
7eca32e84f prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product' 2023-05-11 12:46:17 +01:00
filipefurtad0
f5eb72c804 Adds sleep(1) 2023-05-11 11:29:24 +01:00
Konrad
2836751698 Merge pull request #10805 from jibees/10717-bo-orders-changing-customer-does-not-update-customer_id
Admin, Edit customer details for an order: when changing to another customer, update `customer_id` as well
2023-05-10 19:08:57 +02:00
Filipe
bf7a559a32 Merge pull request #10772 from Matt-Yorkley/view-caching
Locale-aware Fragment Caching
2023-05-10 11:18:08 +01:00
filipefurtad0
82f307ae61 Adds test case for logging out 2023-05-10 10:41:43 +01:00
Matt-Yorkley
d90653c682 Merge pull request #10793 from jibees/fix-webpack-configuration-use-the-default-one
Use the default webpack configuration for dev env
2023-05-10 10:09:28 +01:00
jibees
ca5300284c Merge pull request #10820 from Matt-Yorkley/js-dependencies
Remove indirect JS dependencies
2023-05-10 09:57:05 +02:00
Matt-Yorkley
406cb572ea Remove indirect JS dependencies 2023-05-10 09:27:00 +02:00
jibees
ca90b5cee2 Merge pull request #10810 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.122.0
Bump aws-sdk-s3 from 1.121.0 to 1.122.0
2023-05-10 09:23:44 +02:00
jibees
760860a06d Merge pull request #10811 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.11.0
Bump knapsack_pro from 3.10.0 to 3.11.0
2023-05-10 09:21:46 +02:00
jibees
189207f751 Merge pull request #10822 from openfoodfoundation/dependabot/bundler/debug-1.8.0
Bump debug from 1.7.2 to 1.8.0
2023-05-10 09:20:34 +02:00
Matt-Yorkley
1bd9182cea Update menu cache blocks 2023-05-09 16:46:09 +01:00
David Cook
04a5c7452e Remove admin_style_v2 description
Partially reverts 9a1b1498bf
2023-05-09 21:26:47 +10:00
David Cook
e29df5ea8f Remove unused secondary class
This partially reverts 97c3aaebb2 because it referred to the new feature toggle which has been removed.
2023-05-09 21:26:47 +10:00
David Cook
3ec659d82b Revert pull #10025
[WIP 🚧 ] Admin, behind feature toggle admin_style_v2: adjust some colors

This reverts commits 60f0a58508ce77666fa96c73d76dc0620f23daaf~1..09bcc772ff089f911a56bb
2023-05-09 21:26:47 +10:00
David Cook
be70cd7893 Revert pull #10054
[WIP 🚧 ] Admin/Orders, behind feature toggle admin_style_v2: adjust colors

This reverts commits 5cab0f7f3d495daaeb97fd786208a24355b630fe..4ef5609b0eb08fe7e48803de166ae3e979103c1b
2023-05-09 21:26:47 +10:00
David Cook
0ff540e1e3 Revert pull #10080
[WIP 🚧 ] Admin - Order edition, behind feature toggle admin_style_v2: adjust colors

This reverts commits faf106b2824f248812f523c10b688bd9b254dc14..74b618230ff736ac7929246e2c83ed95067a4dd0
2023-05-09 21:25:29 +10:00
David Cook
c21ff075de Revert pull #10131
[WIP 🚧 ] /admin/order_cycles behind feature toggle admin_style_v2

This reverts commits ccfc632149f062fca546784c7c2f14708d91a08e~1..e403a2c174def34cfa115eab038c86923482bfbf
2023-05-09 21:24:25 +10:00
dependabot[bot]
969d0b6687 Bump debug from 1.7.2 to 1.8.0
Bumps [debug](https://github.com/ruby/debug) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.7.2...v1.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-09 10:03:20 +00:00
Maikel Linke
3c6f55732d Add dummy product type to DFC export 2023-05-09 17:01:00 +10:00
Maikel Linke
b2e8af0cd1 Add stock to DFC Offer as well 2023-05-09 16:51:26 +10:00
Maikel Linke
c81230d334 Add old DFC API name for prototype compatibility 2023-05-09 16:51:26 +10:00
Maikel Linke
54137067dd Export variant's display_name if present
The `#name` method is simply delegated to a variant's product.
2023-05-09 16:51:26 +10:00
Maikel Linke
0c5ab783ca Update DFC API route to reflect Connector version 2023-05-09 16:51:26 +10:00
Maikel Linke
80edc44ef5 Replace SuppliedProductSerializer with DFC Connector
And remove the BaseSerializer because this was the last serializer.
2023-05-09 16:51:26 +10:00
Maikel Linke
0b808a4b1e Add product quantity to DFC export 2023-05-09 16:51:26 +10:00
Maikel Linke
1e23cf1c92 Replace EnterpriseSerializer with DFC Connector
And move same test coverage to a new builder spec.
2023-05-09 16:51:26 +10:00
Maikel Linke
683ad0f5b9 Replace PersonSerializer with DFC Connector
And the address serializer was just an empty placeholder.
2023-05-09 16:51:26 +10:00
Maikel Linke
c60d622818 List catalog items with DFC Connector 2023-05-09 16:51:25 +10:00
Maikel Linke
7f8ce08d4e Include DFC Offer in the export with valid id 2023-05-09 16:51:25 +10:00
Maikel Linke
78cf3b5a1d Serialize DFC catalog item with DFC Connector
This is work in progress. The DFC Connector uses a more recent DFC
version and other endpoints still use the old serializers. We need to
update those endpoints as well and update the version number in the API
URL.
2023-05-09 16:51:25 +10:00
Maikel Linke
5187201796 Add DFC vocabularies
- Add a script for downloading updated files.
- Add a service for easier loading of vocab files.
2023-05-09 16:51:25 +10:00
Maikel Linke
352c350840 Add gem datafoodconsortium-connector
We hope that replacing our own JSON generation with this gem will reduce
maintenance. Same for parsing DFC input.
2023-05-09 16:51:25 +10:00
David Cook
8fe20ecfbe Merge pull request #10794 from openfoodfoundation/dependabot/npm_and_yarn/babel/core-7.21.8
Bump @babel/core from 7.21.5 to 7.21.8
2023-05-09 16:37:42 +10:00
Maikel
83141ec05c Merge pull request #10818 from mkllnk/schema-order
Fixup order of statements in db schema
2023-05-09 14:21:03 +10:00
Matt-Yorkley
4b707b9310 Extract locale file digest logic to a separate class and add tests 2023-05-08 14:09:00 +01:00
Matt-Yorkley
1c277e5547 Cache some html fragments 2023-05-08 14:07:50 +01:00
Matt-Yorkley
be48a6c295 Implement cache_with_locale helper for fragment caching with locales 2023-05-08 14:07:50 +01:00
Matt-Yorkley
11f45dc2f8 Give ContentConfig an updated_at attribute and a usable cache_key 2023-05-08 14:07:50 +01:00
Konrad
4303cabe56 Merge pull request #10792 from mkllnk/feature-deletion
Remove unknown (deleted) feature toggles at boot
2023-05-08 14:49:42 +02:00
Maikel Linke
f1f3ecc4f7 Fixup order of statements in db schema
It looks like the resolution of a merge conflict introduced the wrong
ordering of schema statements. Rails wants to sort tables alphabetically
and running `./bin/rails db:migrate` on a fresh database altered the
schema.rb file. This should be fixed here.

Rails also omits the default setting of `precision: 6` since Rails 7.
The vouchers feature was developed during the upgrade to Rails 7.
2023-05-08 14:37:33 +10:00
Maikel
ad033e8d44 Merge pull request #10767 from Matt-Yorkley/remove-session-cookie-upgrader
Remove SessionCookieUpgrader from middleware
2023-05-08 12:50:42 +10:00
Gaetan Craig-Riou
f25a3650bd Merge pull request #10802 from openfoodfoundation/dependabot/bundler/ddtrace-1.11.1
Bump ddtrace from 1.11.0 to 1.11.1
2023-05-08 11:45:07 +10:00
Konrad
e4d8dd9f87 Merge pull request #10780 from dacook/enable-prettier-css
Enable prettier for Admin SCSS
2023-05-06 18:24:58 +02:00
Matt-Yorkley
1995a44848 Improve eager-loading on admin products page adn resolve issue with serializer
For some reason eager-loaded data isn't passed to nested serializers when using associations. Defining the association as a method and passing in some optional paramaters resolves the issue.

This reduces queries run by the controller action by around 75%, as well as the response times.
2023-05-06 17:15:27 +01:00
dependabot[bot]
b29d38f3fb Bump knapsack_pro from 3.10.0 to 3.11.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.10.0 to 3.11.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.10.0...v3.11.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-05-05 10:01:08 +00:00
dependabot[bot]
1c52fe1648 Bump aws-sdk-s3 from 1.121.0 to 1.122.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.121.0 to 1.122.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-05-05 09:59:02 +00:00
David Cook
a170b93cc1 Simplify further
Co-authored-by: Maikel <maikel@email.org.au>
2023-05-05 15:34:23 +10:00
Maikel Linke
2a943ecafb Spec setting up all feature toggle names 2023-05-05 11:09:10 +10:00
Jean-Baptiste Bellet
3a1579104f Submit customer_id as params when updating customer details on order 2023-05-04 16:40:58 +02:00
jibees
ec4c7b79bf Merge pull request #10803 from openfoodfoundation/dependabot/bundler/rspec-rails-6.0.2
Bump rspec-rails from 6.0.1 to 6.0.2
2023-05-04 13:55:37 +02:00
dependabot[bot]
9f12295a89 Bump rspec-rails from 6.0.1 to 6.0.2
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.1 to 6.0.2.
- [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/v6.0.1...v6.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-04 09:58:54 +00:00
dependabot[bot]
46fd6b1a3a Bump ddtrace from 1.11.0 to 1.11.1
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.11.0 to 1.11.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.11.0...v1.11.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-05-04 09:58:25 +00:00
Jean-Baptiste Bellet
8a5608435c Update all locales with the latest Transifex translations 2023-05-03 17:30:48 +02:00
Konrad
d02d0b8847 Merge pull request #10763 from openfoodfoundation/dependabot/bundler/ddtrace-1.11.0
Bump ddtrace from 1.10.1 to 1.11.0
2023-05-03 17:27:13 +02:00
Konrad
4b6ef7796e Merge pull request #10762 from mkllnk/report-encoding
Preserve encoding of stored reports
2023-05-03 17:08:44 +02:00
Konrad
b60a6fbd05 Merge pull request #10329 from thejwuscript/9861-improve-input-validation
Improve input validation on new and edit Payment Method pages
2023-05-03 16:11:21 +02:00
jibees
2e267091f6 Merge pull request #10795 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.10.0
Bump knapsack_pro from 3.9.0 to 3.10.0
2023-05-03 14:31:11 +02:00
dependabot[bot]
eb3fe1b7a5 Bump knapsack_pro from 3.9.0 to 3.10.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.9.0 to 3.10.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.9.0...v3.10.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-05-03 10:06:11 +00:00
dependabot[bot]
61f34a23a7 Bump @babel/core from 7.21.5 to 7.21.8
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.21.5 to 7.21.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.8/packages/babel-core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 09:57:57 +00:00
Jean-Baptiste Bellet
2d7356f2bb Use the default webpack configuration for dev env
We used to override the output filename but this was a misunderstanding of an error (due to webpacke(r) incompatibles versions)

https://medium.com/@web_developer/hash-vs-chunkhash-vs-contenthash-e94d38a32208

https://github.com/webpack/webpack.js.org/issues/2096

Context: https://github.com/openfoodfoundation/openfoodnetwork/pull/10631#pullrequestreview-1410083331
2023-05-03 10:10:17 +02:00
jibees
62c2d9a290 Merge pull request #10782 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.0
Bump sidekiq from 7.0.9 to 7.1.0
2023-05-03 09:56:07 +02:00
jibees
a329aab007 Merge pull request #10774 from openfoodfoundation/dependabot/npm_and_yarn/babel/core-7.21.5
Bump @babel/core and @babel/preset-env from 7.21.4 to 7.21.5
2023-05-03 09:26:10 +02:00
Maikel Linke
e24198fe85 Bump @babel/preset-env from 7.21.4 to 7.21.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.21.4 to 7.21.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.5/packages/babel-preset-env)

I did this manually:

```
$ yarn upgrade "@babel/preset-env"
yarn upgrade v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > stimulus_reflex@3.5.0-rc2" has unmet peer dependency "@hotwired/stimulus@>= 3.0".
[4/4] Rebuilding all packages...
success Saved lockfile.
success Saved 35 new dependencies.
info Direct dependencies
└─ @babel/preset-env@7.21.5
info All dependencies
├─ @babel/code-frame@7.21.4
├─ @babel/helper-builder-binary-assignment-operator-visitor@7.21.5
├─ @babel/helper-function-name@7.21.0
├─ @babel/helper-module-imports@7.21.4
├─ @babel/helper-replace-supers@7.21.5
├─ @babel/helper-string-parser@7.21.5
├─ @babel/helper-wrap-function@7.20.5
├─ @babel/highlight@7.18.6
├─ @babel/parser@7.21.5
├─ @babel/plugin-transform-arrow-functions@7.21.5
├─ @babel/plugin-transform-computed-properties@7.21.5
├─ @babel/plugin-transform-for-of@7.21.5
├─ @babel/plugin-transform-modules-commonjs@7.21.5
├─ @babel/plugin-transform-regenerator@7.21.5
├─ @babel/plugin-transform-unicode-escapes@7.21.5
├─ @babel/preset-env@7.21.5
├─ @babel/regjsgen@0.8.0
├─ @babel/template@7.20.7
├─ @babel/traverse@7.21.5
├─ @jridgewell/resolve-uri@3.1.0
├─ color-convert@1.9.3
├─ escape-string-regexp@1.0.5
├─ is-core-module@2.12.0
├─ js-tokens@4.0.0
├─ jsesc@2.5.2
├─ ms@2.1.2
├─ regenerate-unicode-properties@10.1.0
├─ regenerator-runtime@0.13.11
├─ regexpu-core@5.3.2
├─ regjsparser@0.9.1
├─ to-fast-properties@2.0.0
├─ unicode-canonical-property-names-ecmascript@2.0.0
├─ unicode-match-property-ecmascript@2.0.0
├─ unicode-match-property-value-ecmascript@2.1.0
└─ unicode-property-aliases-ecmascript@2.1.0
Done in 16.54s.
```
2023-05-03 15:33:57 +10:00
Maikel Linke
b30e962cdd Remove unknown (deleted) feature toggles at boot 2023-05-03 15:20:26 +10:00
Maikel Linke
5f1f717974 Spec FeatureToggle.setup! 2023-05-03 15:02:08 +10:00
Maikel Linke
b6f2fe0e92 Avoid defining modules in specs
We avoid some indent and show how code outside of the module works.
2023-05-03 14:58:59 +10:00
dependabot[bot]
a9bf7a2498 Bump @babel/core from 7.21.4 to 7.21.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.21.4 to 7.21.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.5/packages/babel-core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 12:18:41 +10:00
David Cook
e11518938f Prettify admin components scss
Largely whitespace, but some other updates too, including uppercase colour codes and standardising numbers.

Best viewed with whitespace ignored.
2023-05-03 12:10:58 +10:00
David Cook
c4dc5e0718 Prettier: use double quotes by default
Unfortunately Prettier won't let you do one rule at a time (https://stackoverflow.com/q/63813336/421243), so I'll break it into file chunks.
2023-05-03 12:10:58 +10:00
David Cook
c67d61a376 Don't ignore admin scss for prettying
...and watch the changes flow in!
2023-05-03 12:09:22 +10:00
David Cook
0b4556e72b Allow line length up to 100char
Same as we have for Ruby code: https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.rubocop_styleguide.yml#L78-L80

This will avoid unnecessary reformatting.
2023-05-03 12:09:22 +10:00
David Cook
8c7f92d42e Explicitly ignore each css folder
With the goal to progressively un-ignore them.
2023-05-03 12:09:22 +10:00
Konrad
21a0017352 Merge pull request #10756 from jibees/10743-admin-add-unregistered-users-modal-some-html-is-rendered-as-plain-text-instead-of-being
Admin, Add unregistered user: Fix a reflex-morph issue that lead to a HTML escaping error
2023-05-02 19:28:48 +02:00
Konrad
d115c4ce2c Merge pull request #10733 from jibees/9782-shops-list-overlapping-and-overflowing-texts-on-mobile2
Shops list: fix some overlapping and overflowing texts on mobile
2023-05-02 12:15:19 +02:00
dependabot[bot]
b05d46c3e3 Bump sidekiq from 7.0.9 to 7.1.0
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.9 to 7.1.0.
- [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.9...v7.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-02 09:57:28 +00:00
jibees
aae0fc59fb Merge pull request #10768 from Matt-Yorkley/query-logs
Improve query logging in development
2023-05-02 11:44:19 +02:00
Gaetan Craig-Riou
d1f7cc1b2a Merge pull request #10764 from Matt-Yorkley/remove-data-hooks
Remove `data-hook` attributes
2023-05-02 16:35:46 +10:00
Gaetan Craig-Riou
964481f188 Merge pull request #10765 from Matt-Yorkley/update-webpack-packages
Update webpack packages
2023-05-02 15:19:37 +10:00
Maikel
9bca22ae3b Merge pull request #10775 from openfoodfoundation/dependabot/bundler/mini_portile2-2.8.2
Bump mini_portile2 from 2.8.1 to 2.8.2
2023-05-02 11:54:37 +10:00
dependabot[bot]
064c843c90 Bump mini_portile2 from 2.8.1 to 2.8.2
Bumps [mini_portile2](https://github.com/flavorjones/mini_portile) from 2.8.1 to 2.8.2.
- [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.1...v2.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 10:02:13 +00:00
Maikel
482d438ec9 Merge pull request #10766 from filipefurtad0/remove_asertion_on_js_element_loading_orders
Removes assertions on transient JS element - "Loading orders"
2023-05-01 13:36:44 +10:00
Maikel Linke
9f0a66659a Delete now unused SessionCookieUpgrader 2023-05-01 13:35:52 +10:00
Konrad
1176ea2a5f Merge pull request #9941 from basilawwad/conditionally-send-cancellation-email
Conditionally send cancellation email when cancelling order.
2023-04-28 21:54:42 +02:00
Matt-Yorkley
dfc651ed2c Convert Permissions::Order#visible_line_items to a relation with or query
This change looks innocuous but the result of converting this into a nice relation instead of two queries stuck together with the pipe operator (|) can make a huge difference when chaining this into subqueries. The result set is ultimately the same, but the queries can be built without first returning all the ids and then sticking those ids in an array.
2023-04-28 19:13:22 +01:00
Matt-Yorkley
f42a9e3a66 Add query_count gem in development
A very simple gem that counts the total number of queries triggered by each request and displays a little number in the log. Nice.
2023-04-28 15:02:02 +01:00
Matt-Yorkley
8d9a8d8db5 Enable verbose query logs in development
This is a new feature in Rails 7. Whenever a query is triggered it not only show you the query (as before), but also tells you (directly in the logs) exactly which line of code was responsible for triggering the query. It's unbelievably useful for debugging and performance work.
2023-04-28 14:35:16 +01:00
Matt-Yorkley
84df1bfeab Remove SessionCookieUpgrader from middleware
This was a transitional bit of code to allow us to rename our session cookies without killing active sessions and logging users out. It's done it's job, the transition is finished, and it isn't doing anything useful now. It can be removed from the middleware stack.
2023-04-28 14:01:15 +01:00
Matt-Yorkley
b9431cd121 Remove data-hook attributes 2023-04-28 13:03:13 +01:00
filipefurtad0
74d18fb6ff Removes assertions on transient JS element 2023-04-28 12:48:59 +01:00
Matt-Yorkley
5e26e49764 Update webpack packages
`webpack-cli` is a dependency of `@rails/webpacker` but needs to be at version 3.x, we can just cut it from the explicit dependecy list and the correct version will be installed.

`webpack-dev-server` version 3.x corresponds (unhelpfully) to `webpacker` 4.x, and needs to be left that way. Dependabot tries to change it occasionally, but it should not be updated to 4.x
2023-04-28 12:48:21 +01:00
dependabot[bot]
c9dada4215 Bump ddtrace from 1.10.1 to 1.11.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 1.10.1 to 1.11.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.10.1...v1.11.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-04-28 10:00:28 +00:00
Maikel Linke
630169f8bb Preserve encoding of stored reports
Active Storage reads stored strings as ASCII and that can clash with
Rails' default UTF-8 encoding when special characters are present.
2023-04-28 16:38:06 +10:00
Gaetan Craig-Riou
152af5e105 Merge pull request #10751 from mkllnk/mail-config
Remove unused feature to intercept emails
2023-04-28 16:28:41 +10:00
David Cook
918425fd93 Remove customised error message
We're now handling these values on the frontend, so can keep this simple.

fixes up:
 Add numericality validation for *
 Add translation for Active Record error message
2023-04-28 14:02:12 +10:00
David Cook
a46eef291c Remove localized number logic from calculators
The browser is now responsible for dealing with the decimal separator, for all numeric preferences (as input[type=number]; see Spree::Admin::BaseHelper::preference_field_tag). Calculators are the only place that numeric preferences are used.

It will enforce that only one comma or dot (depending on user's locale) is entered, thus avoiding any ambiguity, and mis-interpretation (eg 100,001 could be interpreted as more than 100 thousand or 100 with a decimal place).
2023-04-28 13:54:16 +10:00
David Cook
d2fbb0bde2 Update translations
js: admin: orders: order_state: confirmation
2023-04-27 14:49:28 +10:00
David Cook
c42dfdde10 Merge pull request #10748 from openfoodfoundation/dependabot/bundler/view_component-3.0.0
Bump view_component from 2.82.0 to 3.0.0
2023-04-27 14:46:09 +10:00
Jean-Baptiste Bellet
959dcb82e1 Morph the form itself instead of morphing a parent DOM element
This seems to avoid HTML parsing error
2023-04-26 17:41:28 +02:00
jibees
51d5817665 Merge pull request #10755 from openfoodfoundation/dependabot/bundler/i18n-1.13.0
Bump i18n from 1.12.0 to 1.13.0
2023-04-26 15:45:59 +02:00
jibees
a8384b3155 Merge pull request #10754 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.7
Bump @floating-ui/dom from 1.2.6 to 1.2.7
2023-04-26 15:44:04 +02:00
Konrad
394bfd00d8 Merge pull request #10586 from jibees/10563-allow-custom-url-on-logo-click
White Label: can link an URL to the white label logo
2023-04-26 13:52:10 +02:00
dependabot[bot]
bda1a527d3 Bump i18n from 1.12.0 to 1.13.0
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/ruby-i18n/i18n/releases)
- [Changelog](https://github.com/ruby-i18n/i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby-i18n/i18n/compare/v1.12.0...v1.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 09:57:48 +00:00
dependabot[bot]
77bd832dd6 Bump @floating-ui/dom from 1.2.6 to 1.2.7
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.6 to 1.2.7.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.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>
2023-04-26 09:57:09 +00:00
Jean-Baptiste Bellet
b1de28eeea When there is a white_label_logo_link pref. use it!
+ update spec as well

 + use an an helper to get the main logo link for a shopfront

Co-Authored-By: Maikel <maikel@email.org.au>
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
679fcc0114 When removing the logo, also delete white_label_logo_link preference
since it has no sense without the logo
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
35778ecf1d If enterprise has a white_label_logo attached, then can edit its link 2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
70a6e9f44b Add a white_label_logo_link attribute to enterprise model 2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
30ba29382a Avoid name collision by renaming some classes with a prefix flex-
This classes should only be used with `.flex`
2023-04-26 09:52:24 +02:00
Jean-Baptiste Bellet
9584205a8e Use .flex class in utilities.scss file
No need to have multiple definition as already included
2023-04-26 09:51:28 +02:00
Jean-Baptiste Bellet
3644dbc0fd Small fix of a prettier formatter error 2023-04-26 09:51:17 +02:00
Jean-Baptiste Bellet
05a7276c9c Create an utilities.scss file that contains some utility classes
Finally Tailwind is coming? ;)
2023-04-26 09:47:23 +02:00
David Cook
1fc60d498a Merge pull request #10746 from openfoodfoundation/dependabot/bundler/rswag-specs-2.9.0
Bump rswag-specs from 2.8.0 to 2.9.0
2023-04-26 14:08:30 +10:00
Maikel Linke
dae8703b02 Remove unused feature to intercept emails
This option came from Spree and we never used it. The config input field
is disabled in the admin interface and I checked our managed databases.

I don't think that we will want this feature in the future either.
Staging sends unmodified emails which is more realistic and we haven't
had a use case to intercept those emails. There's still the BCC option
if we need additional access.
2023-04-26 13:50:31 +10:00
Maikel
3078c599f9 Merge pull request #10747 from openfoodfoundation/dependabot/bundler/rswag-ui-2.9.0
Bump rswag-ui from 2.8.0 to 2.9.0
2023-04-26 12:04:09 +10:00
dependabot[bot]
5d91ac217d Bump rswag-specs from 2.8.0 to 2.9.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.8.0 to 2.9.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.8.0...2.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 02:03:53 +00:00
Maikel
f2edb6d404 Merge pull request #10745 from openfoodfoundation/dependabot/bundler/rswag-api-2.9.0
Bump rswag-api from 2.8.0 to 2.9.0
2023-04-26 12:02:38 +10:00
David Cook
7cd1b5d5db Update link
The old project was closed in favour of a new one.
2023-04-26 09:44:58 +10:00
dependabot[bot]
ad82f66173 Bump rswag-api from 2.8.0 to 2.9.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.8.0 to 2.9.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.8.0...2.9.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>
2023-04-25 10:10:17 +00:00
dependabot[bot]
62bfa9e04c Bump view_component from 2.82.0 to 3.0.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.82.0 to 3.0.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.82.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 09:38:51 +00:00
dependabot[bot]
28c9d72342 Bump rswag-ui from 2.8.0 to 2.9.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.8.0 to 2.9.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.8.0...2.9.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>
2023-04-25 09:38:22 +00:00
jibees
7317d6ca34 Merge pull request #10742 from filipefurtad0/fix_broken_build
Considers recent changes on login test helpers
2023-04-25 11:36:56 +02:00
filipefurtad0
edb8da4b4d Considers recent changes on login test helpers
PR #10696 introduced changes on the login helpers which were not considered, when merging a recent PR; This broke the build
2023-04-24 18:35:10 +01:00
Konrad
00d5bd9165 Merge pull request #10684 from MadisonBowron/master
Fix admin product variants form to close issues #10579 & Wishlist: 430
2023-04-24 18:18:01 +02:00
Jean-Baptiste Bellet
1730c9eb60 Fix one warning: Modal window with text has been opened, ...
```
Modal window with text `An invoice for this order will be sent to the customer. Are you sure you want to continue?` has been opened, but you didn't wrap your code into (`accept_prompt` | `dismiss_prompt` | `accept_confirm` | `dismiss_confirm` | `accept_alert`), accepting by default
```
2023-04-24 15:18:35 +02:00
Jean-Baptiste Bellet
5b9815f4a3 Test that restock has been called or not, depending on checkbox checked 2023-04-24 15:03:14 +02:00
jibees
445eb45ad7 Merge pull request #10737 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.8
Bump prettier from 2.8.7 to 2.8.8
2023-04-24 14:43:20 +02:00
jibees
8770471ada Merge pull request #10738 from openfoodfoundation/dependabot/npm_and_yarn/karma-6.4.2
Bump karma from 6.4.1 to 6.4.2
2023-04-24 14:43:07 +02:00
dependabot[bot]
6d45940ca4 Bump karma from 6.4.1 to 6.4.2
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.1 to 6.4.2.
- [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.4.1...v6.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 09:58:22 +00:00
dependabot[bot]
69383ac621 Bump prettier from 2.8.7 to 2.8.8
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.7 to 2.8.8.
- [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.7...2.8.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 09:58:05 +00:00
Maikel
945cb84127 Merge pull request #10683 from filipefurtad0/update-the-build-env-to-ubuntu-2204
Updates build environment to Ubuntu 22.04
2023-04-24 15:27:05 +10:00
Maikel
343a2db1bf Merge pull request #10722 from mkllnk/rubocop-autocorrect-script
Add script for bulk autocorrect with Rubocop
2023-04-24 10:58:43 +10:00
Maikel Linke
de8f5e13b3 Explain gotcha in case it breaks one day 2023-04-24 09:39:21 +10:00
Konrad
75b5d1fd6f Merge pull request #10712 from jibees/6133-backoffice-orders-endless-spinner-and-error-500-after-skipping-oc-selector
Admin, create new order: distributor and order cycle are now mandatory on step 1 (aka the set_distribution step)
2023-04-22 16:04:15 +02:00
Konrad
0c1606e50c Merge pull request #10728 from jibees/10718-missing-translation-confirmation-order-state
Admin, `/orders`: adds translation for order in `confirmation` state
2023-04-22 11:56:23 +02:00
jibees
fa05554f15 Merge pull request #10734 from openfoodfoundation/dependabot/npm_and_yarn/karma-chrome-launcher-3.2.0
Bump karma-chrome-launcher from 3.1.1 to 3.2.0
2023-04-21 14:13:19 +02:00
Jean-Baptiste Bellet
2cc509de15 Do not check Metrics/BlockLength for shared_examples_for block
They can contains a lot of `it` tests
2023-04-21 11:59:24 +02:00
dependabot[bot]
41afad73e4 Bump karma-chrome-launcher from 3.1.1 to 3.2.0
Bumps [karma-chrome-launcher](https://github.com/karma-runner/karma-chrome-launcher) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/karma-runner/karma-chrome-launcher/releases)
- [Changelog](https://github.com/karma-runner/karma-chrome-launcher/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma-chrome-launcher/compare/v3.1.1...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 09:57:29 +00:00
Jean-Baptiste Bellet
b17b25516f Use a UTF-8 character 2023-04-21 10:37:20 +02:00
Jean-Baptiste Bellet
8444fca19a Fix syntax error 2023-04-21 10:36:47 +02:00
Jean-Baptiste Bellet
18d90114fe Be more responsive: use flex, ellipsis, less columns 2023-04-21 10:36:21 +02:00
Gaetan Craig-Riou
2f17a02974 Merge pull request #10726 from mkllnk/spec-email-helper
Remove useless email test setup
2023-04-21 15:43:19 +10:00
Gaetan Craig-Riou
135bc7e2f8 Removing env variable $runs_on
Seting "env" under "jobs" doesn't work it gets picked up as a job. I moved
runs_on to the top level env. but I couldn't fine a way to get it to work.
I tried all syntax I could think of: $runs_on, ${{ runs_on }}  env.runs_on,
${{ env.runs_on }} and their capitalized versions.
2023-04-21 15:14:20 +10:00
Gaetan Craig-Riou
3810d79cad Merge pull request #10695 from macanudo527/rename_inversables
Rename Inversable Method Names
2023-04-21 11:38:58 +10:00
Maikel Linke
4960402643 Update translations 2023-04-21 09:45:45 +10:00
jibees
3557c10cd6 Merge pull request #10730 from openfoodfoundation/dependabot/bundler/stringex-2.8.6
Bump stringex from 2.8.5 to 2.8.6
2023-04-20 15:50:19 +02:00
jibees
45dd421f1f Merge pull request #10729 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.121.0
Bump aws-sdk-s3 from 1.120.1 to 1.121.0
2023-04-20 15:48:46 +02:00
Jean-Baptiste Bellet
81606e841a Canceling an order: clicking on cancel btn or cancel action in dropdown 2023-04-20 14:38:59 +02:00
basilawwad
e633670e01 Use a shared_examples for the order cancellation tests 2023-04-20 14:38:59 +02:00
Filipe
11653c9430 Merge pull request #10575 from jibees/10559-allow-upload-of-custom-header-logo
White Label: can upload a custom header logo
2023-04-20 13:27:52 +01:00
dependabot[bot]
d068094044 Bump stringex from 2.8.5 to 2.8.6
Bumps [stringex](https://github.com/rsl/stringex) from 2.8.5 to 2.8.6.
- [Release notes](https://github.com/rsl/stringex/releases)
- [Commits](https://github.com/rsl/stringex/compare/v2.8.5...v2.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 10:06:33 +00:00
dependabot[bot]
b892bf726e Bump aws-sdk-s3 from 1.120.1 to 1.121.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.120.1 to 1.121.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-04-20 10:00:05 +00:00
basilawwad
fa373518fb applied modal function
Update variant_autocomplete.js.erb

Applied modal function

refactored function

fix indentation and removed old function
2023-04-20 11:46:02 +02:00
Jean-Baptiste Bellet
76357789a3 Avoid line break between state wording and its little colored circle 2023-04-20 09:09:29 +02:00
Jean-Baptiste Bellet
5dd7246b85 Rename confirm to use confirmation
`confirmation` is the state used by order model
2023-04-20 09:07:01 +02:00
Jean-Baptiste Bellet
ba45dd84dd Solves rubocop linter errors 2023-04-20 08:46:19 +02:00
Jean-Baptiste Bellet
92e2a83e0e Use Rails7 command for image variant syntax 2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
f42f513f8c Display white_label_logo image when hide_ofn_navigation is set to true
for both desktop and mobile view
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
54342254b6 Do not show white label logo is hide_ofn_navigation is not checked
They are both strongly linked
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
470761da86 Add a simple CheckboxDisplay controller that show/hide content
depending on the checkbox state (checked or not)
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
6fdf9fa038 Add/Remove white label logo in enterprise preferences panel 2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
bbec01a9cb Create a concern for reflexes that handle Enterprise update 2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
e3001cc8c4 Add white_label_logo to enterprise model as attachment
Co-Authored-By: Maikel <maikel@email.org.au>
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
ad0d0e393e ConfirmModalComponent is ready to receive data-reflex
And not only `data-action`
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
2690ff5eb5 Add comment, which links these two files together 2023-04-20 08:45:03 +02:00
jibees
2594382488 Merge pull request #10723 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.9
Bump sidekiq from 7.0.8 to 7.0.9
2023-04-20 08:31:46 +02:00
Maikel Linke
9b3cfe80ff Remove useless clearing of test emails
They are cleared by the test environment anyway.
2023-04-20 13:35:40 +10:00
Maikel Linke
04d33adaf2 Remove duplicate declaration of test mail delivery
Our test environment sets the mail delivery method already. We don't
have to do it in individual spec files.
2023-04-20 13:28:59 +10:00
Maikel Linke
915bd19d7b Remove useless email test setup
We always deliver emails these days.
2023-04-20 12:18:04 +10:00
Maikel Linke
9998025687 Remove useless test header setup for emails
Once upon a time we needed a helper to set the `from` header of emails.
This is now set in the ApplicationMailer and not necessary any more.
2023-04-20 12:15:34 +10:00
Maikel
89cb3b7c14 Merge pull request #10707 from mkllnk/mailer-previews
Fix ShipmentMailer preview autoload path
2023-04-20 11:30:25 +10:00
Maikel Linke
1955a6719c Fix commit message formatting
Git needs a blank line between the summary and the longer description.
And `echo` doesn't interpret `\n` by default.
2023-04-20 11:19:32 +10:00
Maikel Linke
f71e5ee43c Limit number of rubocop autocorrect runs
The typical use case is to create a small number of commits for a pull
request to ease the review. And you can still run it for all cops with
`-n 999` or `-n -0`.
2023-04-20 11:19:32 +10:00
Maikel Linke
0ac2358f2c Regenerate Rubocop's TODO file without timestamp 2023-04-20 10:34:35 +10:00
Filipe
3e0b358370 Merge pull request #10461 from vviekk/9978
Updating price, on_hand, on_demand validations for product import
2023-04-19 16:09:49 +01:00
Filipe
f206b7ed9e Merge pull request #10661 from mkllnk/report-download
[Hidden] Provide download link for reports generated in the background
2023-04-19 11:53:14 +01:00
dependabot[bot]
946b69242c Bump sidekiq from 7.0.8 to 7.0.9
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.8 to 7.0.9.
- [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.8...v7.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-19 09:58:13 +00:00
Filipe
a409d3b97e Merge pull request #10201 from saunmanoj888/fix-invalid-image-upload
Fix corrupt and invalid image upload issue
2023-04-19 10:45:04 +01:00
Jean-Baptiste Bellet
a27b64a66b Add confirmation state translation 2023-04-19 11:32:51 +02:00
Jean-Baptiste Bellet
0f54d3950d Save can have a context: simplify then 2023-04-19 10:15:35 +02:00
Jean-Baptiste Bellet
7e306693a8 Use Rails standard naming: same name for the route and the method 2023-04-19 10:15:35 +02:00
Maikel
1f661c1e69 Merge pull request #10716 from jibees/10048-stimulusreflex-caching-warning
Adds caching by default in development environment to avoid StimulusReflex warning
2023-04-19 16:22:37 +10:00
saunmanoj888
97f51d24b8 Validate image on creating product from products/new 2023-04-19 16:11:46 +10:00
saunmanoj888
c3d274c84f Fix corrupt and invalid image upload issue 2023-04-19 16:11:46 +10:00
Maikel Linke
213fb42a05 Safely autocorrect Gemspec/RequireMFA
Inspecting 1404 files
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................W.....................W....................................W...........................W.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

engines/catalog/catalog.gemspec:7:1: W: [Corrected] Gemspec/RequireMFA: metadata['rubygems_mfa_required'] must be set to 'true'.
Gem::Specification.new do |s| ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/catalog/catalog.gemspec:14:1: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
s.metadata['rubygems_mfa_required'] = 'true'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/dfc_provider/dfc_provider.gemspec:9:1: W: [Corrected] Gemspec/RequireMFA: metadata['rubygems_mfa_required'] must be set to 'true'.
Gem::Specification.new do |spec| ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/dfc_provider/dfc_provider.gemspec:21:1: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
spec.metadata['rubygems_mfa_required'] = 'true'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/order_management.gemspec:7:1: W: [Corrected] Gemspec/RequireMFA: metadata['rubygems_mfa_required'] must be set to 'true'.
Gem::Specification.new do |s| ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/order_management.gemspec:14:1: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
s.metadata['rubygems_mfa_required'] = 'true'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/web/web.gemspec:7:1: W: [Corrected] Gemspec/RequireMFA: metadata['rubygems_mfa_required'] must be set to 'true'.
Gem::Specification.new do |s| ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/web/web.gemspec:14:1: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
s.metadata['rubygems_mfa_required'] = 'true'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1404 files inspected, 8 offenses detected, 8 offenses corrected
2023-04-19 15:35:30 +10:00
Maikel Linke
bde46fa1e9 Safely autocorrect Gemspec/DeprecatedAttributeAssignment
Inspecting 1404 files
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................W.....................W....................................W...........................W.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

engines/catalog/catalog.gemspec:14:3: W: [Corrected] Gemspec/DeprecatedAttributeAssignment: Do not set test_files in gemspec.
  s.test_files = Dir["test/**/*"]
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/dfc_provider/dfc_provider.gemspec:17:3: W: [Corrected] Gemspec/DeprecatedAttributeAssignment: Do not set test_files in gemspec.
  spec.test_files = Dir['spec/**/*']
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/order_management.gemspec:14:3: W: [Corrected] Gemspec/DeprecatedAttributeAssignment: Do not set test_files in gemspec.
  s.test_files = Dir["spec/**/*"]
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/web/web.gemspec:14:3: W: [Corrected] Gemspec/DeprecatedAttributeAssignment: Do not set test_files in gemspec.
  s.test_files = Dir["test/**/*"]
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1404 files inspected, 4 offenses detected, 4 offenses corrected
2023-04-19 15:35:29 +10:00
Maikel Linke
dc560d3793 Safely autocorrect Bundler/OrderedGems
Inspecting 1404 files
.C..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

Gemfile:18:1: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem angular-rails-templates should appear before rexml.
gem 'angular-rails-templates', '>= 0.3.0'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:19:1: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem awesome_nested_set should appear before rexml.
gem 'awesome_nested_set'
^^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:20:1: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem ransack should appear before rexml.
gem 'ransack', '~> 2.6.0'
^^^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:21:1: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem responders should appear before rexml.
gem 'responders'
^^^^^^^^^^^^^^^^
Gemfile:74:1: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem omniauth-rails_csrf_protection should appear before openid_connect.
gem 'omniauth-rails_csrf_protection'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:154:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before factory_bot_rails.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:155:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before fuubar.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:156:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before json_spec.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:157:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before knapsack_pro.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:158:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before letter_opener.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:159:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before rspec-rails.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:160:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before rspec-retry.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:161:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before rswag-specs.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:162:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before shoulda-matchers.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:163:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem debug should appear before timecop.
  gem 'debug', '>= 1.0.0'
  ^^^^^^^^^^^^^^^^^^^^^^^
Gemfile:179:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem foreman should appear before rails-erd.
  gem 'foreman'
  ^^^^^^^^^^^^^
Gemfile:180:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem listen should appear before rails-erd.
  gem 'listen'
  ^^^^^^^^^^^^
Gemfile:181:3: C: [Corrected] Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem pry should appear before rails-erd.
  gem 'pry', '~> 0.13.0'
  ^^^^^^^^^^^^^^^^^^^^^^

1404 files inspected, 18 offenses detected, 18 offenses corrected
2023-04-19 15:35:29 +10:00
Maikel Linke
52f134fc9e Regenerate Rubocop's TODO file 2023-04-19 15:35:29 +10:00
Maikel Linke
c08e264afa Add script for bulk autocorrect with Rubocop
We also had an old script which wasn't used and needed manual steps.
2023-04-19 15:35:29 +10:00
Maikel
0b03152f3b Merge pull request #10697 from mkllnk/rubocop-config-update
Update Rubocop config and replace deprecated TimeWithZone#to_s with argument
2023-04-19 11:23:34 +10:00
Maikel
6f492d868c Merge pull request #10688 from mkllnk/application-mailer
Apply Rails standard to base mailer class
2023-04-19 10:29:16 +10:00
jibees
dab2a4af75 Merge pull request #10693 from jibees/10658-move-all-managed-instances-to-fully-enabled-split_checkout-toggle
Activate `split_checkout` feature by default
2023-04-18 17:33:48 +02:00
Jean-Baptiste Bellet
f7935bde34 Enable caching dy default, to avoid StimulusReflex warning
```
Heads up! 🔥

👉 StimulusReflex requires caching to be enabled. Caching allows the session to be modified during ActionCable requests.

To enable caching in development, run:

rails dev:cache
```

Documentation: https://docs.stimulusreflex.com/hello-world/setup.html#manual-configuration
2023-04-18 16:02:02 +02:00
Jean-Baptiste Bellet
61850f7e92 Remove duplicate line
Probably due to a bad merge conflict resolution

Line is already on line `#25`
2023-04-18 16:01:04 +02:00
Neal Chambers
4e32bfd70b Rename Inversable Method Names 2023-04-18 22:58:06 +09:00
jibees
7df456c1e3 Merge pull request #10715 from openfoodfoundation/dependabot/bundler/puma-6.2.2
Bump puma from 6.2.1 to 6.2.2
2023-04-18 15:04:17 +02:00
Konrad
2fa86492d1 Merge pull request #10653 from openfoodfoundation/10645-pagination-in-bom-not-aggregating-results-when-clicking-a-productvariant
BOM: When selecting a specific variant, trigger a new search that avoid pagination issues
2023-04-18 14:49:14 +02:00
Jean-Baptiste Bellet
722c660697 Do not show any links to other steps when no distribution set
distribution means tuple: distributor + order cycle
2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
ac666a6fce Validate presence of distributor and order_cycle in set_distribution step 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
ba1d985932 update the set_distribution form on the same path
and use the same method `OrdersController#set_distribution`
2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
0f28d318ac Fix rubocop error and prefer using a return clause 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
6172d1f2e5 Extract method on_update that will be used elsewhere 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
05a040b4c3 No need to ensure if the distribution is set on new action
This will be handled by validation on set_distribution action
2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
73a81310f8 Create a new url /orders/ORDER_ID/distribution
That handles the step when distributor and order_cycle must be selected
2023-04-18 14:21:23 +02:00
dependabot[bot]
85860692ae Bump puma from 6.2.1 to 6.2.2
Bumps [puma](https://github.com/puma/puma) from 6.2.1 to 6.2.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/v6.2.1...v6.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 09:59:41 +00:00
jibees
8ad4d2cc2e Merge pull request #10708 from openfoodfoundation/dependabot/npm_and_yarn/webpack-dev-server-4.13.3
Bump webpack-dev-server from 4.13.2 to 4.13.3
2023-04-18 10:15:01 +02:00
David Cook
c967eca9c4 Merge pull request #10713 from openfoodfoundation/dependabot/npm_and_yarn/ansi-regex-4.1.1
Bump ansi-regex from 4.1.0 to 4.1.1 (security patch)
2023-04-18 15:34:24 +10:00
David Cook
7fff82eec3 Merge pull request #10710 from openfoodfoundation/dependabot/bundler/rubocop-1.50.2
Bump rubocop from 1.50.1 to 1.50.2
2023-04-18 15:24:40 +10:00
dependabot[bot]
c30ed0f7c8 Bump rubocop from 1.50.1 to 1.50.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.50.1 to 1.50.2.
- [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.50.1...v1.50.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 04:51:38 +00:00
David Cook
cde420716b Merge pull request #10709 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.19.1
Bump rubocop-rails from 2.19.0 to 2.19.1
2023-04-18 14:50:11 +10:00
David Cook
ee37c5d4a3 Merge pull request #10699 from dacook/sass-deprecations
Sass deprecations
2023-04-18 11:48:56 +10:00
dependabot[bot]
e9d236f761 Bump ansi-regex from 4.1.0 to 4.1.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 00:05:00 +00:00
Gaetan Craig-Riou
8b78c28feb Merge pull request #10702 from openfoodfoundation/dependabot/npm_and_yarn/cable_ready-5.0.0
Bump cable_ready from 5.0.0-rc2 to 5.0.0
2023-04-18 10:02:59 +10:00
David Cook
43e51cb592 Simplify login spec helpers, avoid long lines
Follow on from 5c6d9a092e
2023-04-18 10:01:23 +10:00
David Cook
6570891349 Fix linter issues
Although I don't think the size was an issue here, small hashes can easily fit on one line.
2023-04-18 09:50:08 +10:00
David Cook
0f3e2ae572 Use browser validation for calculator values
They're all numbers, so we can reliably validate in the browser, removing the need for additional validation logic.
They will still be validated server-side, and in the unlikely even that there is an error, the generic 'Calculator is invalid' message will appear, with the relevant fields highlighted red. I think that's fine.
2023-04-18 09:50:08 +10:00
David Cook
f0110d20a2 Move config to base helper
This config is relevant for all specs, including system specs.
2023-04-18 09:50:08 +10:00
David Cook
353acfd6ae Validate associated calculator with built in error handling
Except that pesky generic message was appearing. I still don't know how to control that so just deleted it.
2023-04-18 09:39:39 +10:00
David Cook
e43a018dc7 [wip] Copy each calculator error
But we still have the duplicate problem.
Wait a minute, it copies them in the same format that I am copying them. So.. I don't need to copy them at all!

Now I see that we just needed the right format in the translation file.
2023-04-18 09:39:39 +10:00
David Cook
f6fac018ea [wip] Use a custom message format for associated errors
This is much simpler. Multiple messages get combined onto one line though, which is not perfect.

And.. it still seems to duplicate the errors. Weird, it's fine on my frontend though.
2023-04-18 09:39:39 +10:00
David Cook
ce1bd12760 Consolidate specs
It takes time to set up this test case. Given that there's no interactions in the expectations, we should save time to generate it only once.
2023-04-18 09:39:39 +10:00
David Cook
364ccc2146 Add comment 2023-04-18 09:39:39 +10:00
James Wu
2a7cb50fa9 Keep and display submitted data on new payment method page 2023-04-18 09:39:39 +10:00
James Wu
29ddc68d20 Fix duplicate validation error message 2023-04-18 09:39:39 +10:00
James Wu
d40f3414ea fixup! Add translation for Active Record error message 2023-04-18 09:39:39 +10:00
James Wu
f5e2edb028 fixup! Modify Calculator validation error messages [wip]
DC: the error message has now become "Amount Invalid input".
2023-04-18 09:39:39 +10:00
James Wu
7af26e6579 Add errors for invalid input with number localization enabled 2023-04-18 09:39:39 +10:00
James Wu
824d4adf21 Rename spec file 2023-04-18 09:39:39 +10:00
James Wu
00cc8da2fc Fix rubocop class length error 2023-04-18 09:39:39 +10:00
James Wu
ae5f2cc19d Fix error saving data on new Calculator 2023-04-18 09:39:39 +10:00
James Wu
41ce4fbc16 Fix cache issue with invalid form data 2023-04-18 09:39:39 +10:00
James Wu
48753df5f0 Improve input validation and error notification 2023-04-18 09:39:39 +10:00
James Wu
1f3e66316b Modify Calculator validation error messages 2023-04-18 09:39:39 +10:00
James Wu
6b1426d0c6 Add numericality validation for PriceSack 2023-04-18 09:39:39 +10:00
James Wu
c68987c0f2 Add numericality validation for PerItem 2023-04-18 09:39:39 +10:00
James Wu
2cb25e6366 Add numericality validation for FlexiRate 2023-04-18 09:39:39 +10:00
James Wu
073f46e590 Add numericality validation for FlatRate 2023-04-18 09:39:39 +10:00
James Wu
23beea8a13 Add numericality validation for FlatPercentPerItem 2023-04-18 09:39:39 +10:00
James Wu
096e388fdf Add numericality validation for FlatPercentItemTotal 2023-04-18 09:39:39 +10:00
James Wu
3dfaf882a3 Add translation for Active Record error message 2023-04-18 09:39:39 +10:00
James Wu
7b51f45b4d Fix spelling in test description 2023-04-18 09:39:39 +10:00
James Wu
b9b2fa7c94 Fix error converting String to BigDecimal 2023-04-18 09:39:39 +10:00
James Wu
ee30d3d139 Fix PaymentMethodFactory creating extra Calculator 2023-04-18 09:39:39 +10:00
Filipe
871b2f8816 Merge pull request #10696 from mkllnk/login-as-admin
Simplify login test helpers
2023-04-17 12:14:06 +01:00
dependabot[bot]
214bdc6fbe Bump rubocop-rails from 2.19.0 to 2.19.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.19.0 to 2.19.1.
- [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.19.0...v2.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 10:01:45 +00:00
dependabot[bot]
d2fce053a7 Bump webpack-dev-server from 4.13.2 to 4.13.3
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.13.2 to 4.13.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.13.2...v4.13.3)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 09:57:50 +00:00
Jean-Baptiste Bellet
11a7aa9f96 When clicking on "Clear Filters" button, to not reset variant selection
+ add some specs to cover that particular case
2023-04-17 11:08:17 +02:00
Jean-Baptiste Bellet
c0203e7091 Refactor by putting two specs into a shared_example
"It's a Surprise Tool That Will Help Us Later"
2023-04-17 11:06:23 +02:00
Maikel
44cc5cc665 Merge pull request #10677 from mkllnk/spec-helpers
Simplify spec helpers
2023-04-17 16:16:29 +10:00
Maikel Linke
6c8e383ab8 Fix ShipmentMailer preview autoload path
The Zeitwerk autoloader requires class names and file names to match. In
this case, the class had a Spree namespace without being in a spree
folder. The preview couldn't be displayed. Now it can be displayed.
2023-04-17 15:18:22 +10:00
Maikel Linke
5c6d9a092e Simplify login spec helpers, avoid long lines
The `login_as_admin_and_visit` helper was used a lot but isn't really
shorter than:

    login_as_admin
    visit path_visit

Calling those methods separately reduces line length. It also removes
the potential impression that it may be more efficient to use the
helper. Now we have less indirection if one of the calls fails and see
the failing spec line straight away.
2023-04-17 11:08:32 +10:00
Maikel Linke
8d500a2c27 Remove superflouous login test helper
It was often used with a `visit` statement after which resulted in
unnecessary page loads. There was only one case where a `visit` was
expected but it wasn't needed either.
2023-04-17 10:56:51 +10:00
Maikel Linke
425674c4e5 Remove unused return value of admin login helper
Well, there was one use of the return helper. But I don't think that
it's a very intuitive method.
2023-04-17 10:56:51 +10:00
Konrad
e91e827f29 Merge pull request #10664 from abdellani/fix-remove-duplicated-cusomter-from-mailing-list-report
Fix Repeated customer entries on Mailing List Report
2023-04-16 21:17:33 +02:00
Konrad
8f201c830a Merge pull request #10665 from abdellani/fix-remove-duplicated-cusomter-from-addresses-list-report
Fix Repeated customer entries on Addresses List Report
2023-04-16 20:40:56 +02:00
Konrad
1b536d9265 Merge pull request #10601 from abdellani/fix-v1-customers-endpoint-should-only-return-managed-enterprise-customers
fix: v1/customers endpoint should load customers of managed enterprises only
2023-04-16 16:22:02 +02:00
Mohamed ABDELLANI
1b8a9244a6 test when user is a non-persisted object 2023-04-15 06:16:40 +01:00
dependabot[bot]
a40e883d17 Bump cable_ready from 5.0.0-rc2 to 5.0.0
Bumps [cable_ready](https://github.com/stimulusreflex/cable_ready) from 5.0.0-rc2 to 5.0.0.
- [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/v5.0.0)

---
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-04-14 09:57:54 +00:00
Jean-Baptiste Bellet
6bf21d2abd SASS loader: Do not print warnings from dependencies 2023-04-14 11:09:39 +02:00
David Cook
29b9777a96 Replace deprecated sass division operator
https://sass-lang.com/documentation/breaking-changes/slash-div
> Sass currently treats / as a division operation in some contexts and a separator in others. This makes it difficult for Sass users to tell what any given / will mean, and makes it hard to work with new CSS features that use / as a separator.

There's a handy migrator:

    npm install -g sass-migrator
    sass-migrator division **/*.scss

And it cleverly avoids the need for the ugly division method in most cases.
2023-04-14 17:59:01 +10:00
David Cook
283dd84ad6 Add expected whitespace
The migrator refused to proceed until I fixed this.
2023-04-14 17:56:24 +10:00
Maikel Linke
03828c5608 Style Rails/ToSWithArgument 2023-04-14 16:34:51 +10:00
Maikel Linke
dad4061ff9 Style Rails/ToFormattedS 2023-04-14 16:32:39 +10:00
Maikel Linke
b19df0dfbf Enable new Rubocop cops
This detects an additional 639 offenses which I added to the todo file.
From now on, when Dependabot bumps rubocop the build may fail due to new
cops. But that's a great opportunity to utilise those new cops and fix
violations straight away. Otherwise we'll never get to them and lose out
on useful autocorrection, for example for updating deprecated syntax.
2023-04-14 16:28:20 +10:00
Maikel Linke
efb2ae6843 Style Rails/Pick - rubocop passes completely 2023-04-14 16:22:46 +10:00
Maikel Linke
407fca17cb Style Rails/IndexWith 2023-04-14 16:19:21 +10:00
Maikel Linke
33409725a5 Run rubocop-rails with current Rails version 7.0
This adds three new issues I will address in the next commits.

```
Offenses:

app/json_schemas/json_api_schema.rb:40:7: C: [Correctable] Rails/IndexWith: Prefer index_with over to_h { ... }.
      relationships.to_h { |name| [name, relationship_schema(name)] }
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/base.rb:18:11: C: [Correctable] Rails/IndexWith: Prefer index_with over map { ... }.to_h.
          data_attributes.map { |attr| [attr, I18n.t("header.#{attr}", scope: i18n_scope)] }.to_h
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/sales_tax/sales_tax_totals_by_order.rb:140:14: C: [Correctable] Rails/Pick: Prefer pick('sum(amount)') over pluck('sum(amount)').first.
            .pluck('sum(amount)').first || 0
             ^^^^^^^^^^^^^^^^^^^^^^^^^^

1404 files inspected, 3 offenses detected, 3 offenses autocorrectable
```
2023-04-14 16:15:13 +10:00
Maikel Linke
c70a694111 Style line length - rubocop passes completely 2023-04-14 16:12:14 +10:00
Maikel Linke
9c88c77066 Style empty lines 2023-04-14 16:05:50 +10:00
Maikel Linke
42585bb074 Remove redundant cop disable directive 2023-04-14 16:04:57 +10:00
MadisonBowron
697f2795d4 Remove arbitrary comments 2023-04-14 01:25:14 -04:00
Maikel
b0211d0930 Merge pull request #10686 from filipefurtad0/truncates_product_description
Sets too long line truncation spec as pending
2023-04-14 15:11:31 +10:00
Maikel
0675422509 Merge pull request #10678 from dacook/show-commit-in-ci
Show commit in CI
2023-04-14 14:43:44 +10:00
Maikel
5ff1b0d358 Merge pull request #10676 from filipefurtad0/fix_spec_ts_and_cs
Adds pending test for default ToS
2023-04-14 14:00:32 +10:00
Maikel Linke
43cbac7d17 Simplify report filename generation 2023-04-14 11:29:36 +10:00
Maikel Linke
98e4f867b4 Provide download link for generated reports 2023-04-14 11:29:35 +10:00
Maikel Linke
ebb15781d5 Store report's filename within the blob
For future downloads outside the ReportsController.
2023-04-14 11:29:35 +10:00
Maikel Linke
028c4f4281 Simplify ReportJob by extracting model for result
This makes the code heaps simpler.
2023-04-14 11:29:35 +10:00
Maikel Linke
ef7dfa3b4f Store reports with Active Storage
This will enable us to offer download links and clean them up
automatically.
2023-04-14 11:29:35 +10:00
Maikel Linke
71f9415d21 Use ApplicationJob as it's a Rails default 2023-04-14 11:29:35 +10:00
Maikel Linke
12848acf21 Fix typo 2023-04-14 11:29:35 +10:00
Maikel Linke
4f751c2711 Leverage test helpers for enqueued jobs
The production code calls `perform_later` and it's better to do the same
in specs. Handy test helper allow us to control the execution.

Credit to https://github.com/cyrillefr.
2023-04-14 11:29:35 +10:00
jibees
920e2564a4 Merge pull request #10692 from openfoodfoundation/dependabot/bundler/rubocop-1.50.1
Bump rubocop from 1.50.0 to 1.50.1
2023-04-13 13:45:28 +02:00
Jean-Baptiste Bellet
6b4e150e2a Active split_checkout feature by default 2023-04-13 13:21:23 +02:00
dependabot[bot]
2d43e32688 Bump rubocop from 1.50.0 to 1.50.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.50.0 to 1.50.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.50.0...v1.50.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-04-13 09:57:38 +00:00
David Cook
a6cd393c57 Update all locales with the latest Transifex translations 2023-04-13 16:45:38 +10:00
Filipe
b1060bf1c9 Merge pull request #10640 from openfoodfoundation/dependabot/bundler/stripe-8.5.0
Bump stripe from 8.3.0 to 8.5.0
2023-04-12 19:27:18 +01:00
Filipe
1bf5fbaf3a Merge pull request #10449 from macanudo527/fix_ER
Update OCs after ER Permissions are Revoked
2023-04-12 18:59:20 +01:00
Konrad
2ace3afd67 Merge pull request #10606 from thejwuscript/10116-improve-bom-sorting
Sort orders by last name
2023-04-12 16:36:45 +02:00
Konrad
0bfceb877d Merge pull request #10666 from jibees/9723-admin-missing-translation-in-payment-report
Admin, Payment reports: add missing translation for payment state
2023-04-12 15:47:23 +02:00
Filipe
c1d28b2e8f Merge pull request #10119 from binarygit/donot-hide-producers-name-in-products
Display producer's name in products inspite of hide all refs option
2023-04-12 13:07:52 +01:00
Jean-Baptiste Bellet
2841b42296 Specify truncate parameter as we don't always truncate description
Only when too long.
2023-04-12 10:34:30 +02:00
jibees
98e44e7a40 Merge pull request #10687 from openfoodfoundation/dependabot/bundler/nokogiri-1.14.3
Bump nokogiri from 1.14.2 to 1.14.3
2023-04-12 10:25:56 +02:00
jibees
51c6c19f80 Merge pull request #10669 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.8
Bump sidekiq from 7.0.7 to 7.0.8
2023-04-12 10:24:59 +02:00
filipefurtad0
26947a64c0 Adds test to check pagination upon line-item selection 2023-04-12 09:58:01 +02:00
Jean-Baptiste Bellet
df5c21048a Clear on bulk submenu should reset some filters + refresh data as well 2023-04-12 09:58:01 +02:00
Jean-Baptiste Bellet
8a124fb6be BOM: once variant has been selected, refresh data with a new search
- Remove variant_filter
 - instantiate a new search to avoid pagination issues
2023-04-12 09:58:00 +02:00
filipefurtad0
7d51979c06 Updates build environment to Ubuntu 22.04
Creates environment variable to set OS version
2023-04-12 09:19:14 +02:00
Maikel Linke
ced49e0217 Apply Rails standard to base mailer class
It has the advantage that `rails generate mailer` works out of the box
and we comply with rubocop rules.
2023-04-12 16:39:20 +10:00
dependabot[bot]
75b7a1864b Bump nokogiri from 1.14.2 to 1.14.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.2 to 1.14.3.
- [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.14.2...v1.14.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 06:24:59 +00:00
Maikel Linke
281d0eb417 Simplify mailers with Rails default "from" setting 2023-04-12 16:15:51 +10:00
Maikel Linke
496f5199c9 Use DatabaseCleaner recommendation of late cleaning
https://github.com/DatabaseCleaner/database_cleaner#rspec-with-capybara-example
2023-04-12 14:24:07 +10:00
Maikel Linke
f13c0e1dca Bring all Rspec config for database cleaning together 2023-04-12 14:23:09 +10:00
David Cook
f801d4a4cb Move single-used variables to their own example
They were created three times each, but only used once.
2023-04-12 11:05:11 +10:00
David Cook
d94da8df1e Update comment 2023-04-12 11:04:00 +10:00
MadisonBowron
8c6e0a841c Fix rubocop extra blank line error 2023-04-11 15:35:37 -04:00
filipefurtad0
70d9cfa08e Sets too long line truncation spec as pending 2023-04-11 19:46:11 +01:00
jibees
193ae7936e Merge pull request #10681 from openfoodfoundation/dependabot/bundler/rubocop-1.50.0
Bump rubocop from 1.49.0 to 1.50.0
2023-04-11 20:40:55 +02:00
Filipe
0971e8d9b5 Merge pull request #10644 from mkllnk/report-timeout-message
[Hidden] Display a friendly message when a background report times out
2023-04-11 19:40:42 +01:00
Jean-Baptiste Bellet
e78b44b9ca Do not shows <a /> if producers is hidden
Different style as it does not open any modal
2023-04-11 14:27:57 +02:00
binarygit
c5779eff81 Do not open modal for producer's who are 'hidden' 2023-04-11 14:27:57 +02:00
Jean-Baptiste Bellet
b616c14f63 Don't hide producer's name in products despite hide all refs opt selected 2023-04-11 14:26:47 +02:00
Mohamed ABDELLANI
03cb14c926 define manage_by scope on customer model 2023-04-11 12:18:15 +01:00
Mohamed ABDELLANI
da78e06a39 load customers of managed enterprises only 2023-04-11 12:10:07 +01:00
dependabot[bot]
f4c351febf Bump rubocop from 1.49.0 to 1.50.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.49.0 to 1.50.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.49.0...v1.50.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-04-11 10:05:30 +00:00
Maikel Linke
30184ac6aa Background reports time out earlier than nginx
This allows us to display a friendly message before nginx displays its
default error.
2023-04-11 16:44:13 +10:00
David Cook
a123d45eca Fix spec
It's worth noting that this page hasn't been updated by this PR.
I honestly don't know why it broke, but don't care anymore. It seems the extra `login_as_admin_and_visit` was causing a race condition on one spec. It's not necessary so I've removed this context.

Best viewed with whitespace ignored.
2023-04-11 16:38:49 +10:00
James Wu
a75f16e23c Implement full_name_for_sorting 2023-04-11 15:25:20 +10:00
James Wu
546e90b286 Sort orders by last names 2023-04-11 15:25:20 +10:00
David Cook
bf9f47a000 Show commit in CI
actions/checkout@v3 actually creates a merge commit into master, to ensure you're testing the latest as close to master as possible.
That's all well and good, but quite confusing when you see errors in CI that aren't present in the actual PR branch. Hopefully this will be a clue when such confusions arise.
2023-04-11 15:22:19 +10:00
David Cook
3da6e6b5ed Link to CI page 2023-04-11 15:22:12 +10:00
Maikel Linke
111705f6f2 Clarify DatabaseCleaner use only for concurrency
Otherwise we use transactions.
2023-04-11 14:07:27 +10:00
Maikel Linke
68d5327b12 Load all spec helpers in one place
These helpers are loaded depending on the spec type. We don't need to
separate them into different files.
2023-04-11 12:56:28 +10:00
Maikel Linke
688285c374 Remove loading of unused spec helpers
We have only one feature spec left and it's loading the
system_helper instead of the spec_helper. These lines were dead code.
2023-04-11 12:14:02 +10:00
MadisonBowron
9d0a69cceb Fix admin product variants form to close issues #10579 & #430 2023-04-10 18:53:01 -04:00
Konrad
15058299d8 Merge pull request #10641 from openfoodfoundation/dependabot/npm_and_yarn/babel/preset-env-7.21.4
Bump @babel/preset-env from 7.18.2 to 7.21.4
2023-04-10 20:00:06 +02:00
filipefurtad0
4e92f33b1c DRYes spec; adds pending test for default ToS 2023-04-10 12:08:35 +01:00
Jean-Baptiste Bellet
c7cb982c9a Update browser list
```
npx update-browserslist-db@latest
```
2023-04-10 11:20:19 +02:00
Jean-Baptiste Bellet
34e9112c0a Fix dependencies warning: adds core and `plugin-transform-runtime 2023-04-10 11:20:19 +02:00
dependabot[bot]
28eb11bda5 Bump @babel/preset-env from 7.20.2 to 7.21.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.20.2 to 7.21.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.4/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 11:20:19 +02:00
jibees
d8e82d9c88 Merge pull request #10668 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.120.1
Bump aws-sdk-s3 from 1.120.0 to 1.120.1
2023-04-10 11:12:45 +02:00
Mohamed ABDELLANI
061fc321b4 group records before rending the report 2023-04-07 18:44:19 +01:00
Mohamed ABDELLANI
5201e54f82 group orders before rendering the report 2023-04-07 18:16:12 +01:00
jibees
5192a08082 Merge pull request #10673 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.19.0
Bump rubocop-rails from 2.18.0 to 2.19.0
2023-04-07 14:33:31 +02:00
jibees
94d3f136e2 Merge pull request #10672 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.6
Bump @floating-ui/dom from 1.2.5 to 1.2.6
2023-04-07 14:32:45 +02:00
dependabot[bot]
db3a923ea7 Bump rubocop-rails from 2.18.0 to 2.19.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.18.0 to 2.19.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.18.0...v2.19.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-04-07 09:59:34 +00:00
dependabot[bot]
619eb43c57 Bump @floating-ui/dom from 1.2.5 to 1.2.6
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.6/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-04-07 09:58:01 +00:00
filipefurtad0
680b6a7122 Update all locales with the latest Transifex translations 2023-04-07 10:17:13 +01:00
Filipe
d9e9add78b Merge pull request #10527 from vviekk/10456
Fixing 'unsaved' alert behaviour for order cycle edit forms
2023-04-06 17:05:49 +01:00
Filipe
8893824b06 Merge pull request #10635 from jibees/fix-content-security-policy-for-local-images
Fix content security policy: authorize `ENV["SITE_URL"]` as trusted domain for images
2023-04-06 11:25:05 +01:00
dependabot[bot]
5c221621d3 Bump sidekiq from 7.0.7 to 7.0.8
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.7 to 7.0.8.
- [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.7...v7.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 09:58:23 +00:00
dependabot[bot]
60d7ed5036 Bump aws-sdk-s3 from 1.120.0 to 1.120.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.120.0 to 1.120.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-04-06 09:57:53 +00:00
Filipe
e71a747925 Merge pull request #10667 from jibees/10662-flaky-specqueriescustomers_with_balance_specrb26
Flaky: Avoid flaky spec by sorting array before comparing on `spec/queries/customers_with_balance_spec.rb:26`
2023-04-06 10:47:32 +01:00
Jean-Baptiste Bellet
eedd421055 Avoid flaky spec by sorting array before comparing 2023-04-06 10:41:42 +02:00
Jean-Baptiste Bellet
e74328f1d7 Add i18n for payment state key
+ update spec
2023-04-06 10:28:44 +02:00
Jean-Baptiste Bellet
bb502c2e65 Authorize localhost:3000 as trusted domain for images 2023-04-06 10:10:44 +02:00
Jean-Baptiste Bellet
6abd652251 Factorize into inherited method from Base: payment_state(order) 2023-04-06 09:50:50 +02:00
Filipe
2f6b730ed4 Merge pull request #10614 from cillian/business-address-country-state-placeholders
Add placeholders to business address country and state select fields
2023-04-05 19:55:07 +01:00
dependabot[bot]
3821eede51 Bump stripe from 8.3.0 to 8.5.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 8.3.0 to 8.5.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.3.0...v8.5.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-04-05 16:38:33 +00:00
Filipe
2ff464321c Merge pull request #10619 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.0-rc1
Bump stimulus_reflex and cable_ready from 3.5.0-preX to 3.5.0-rc2
2023-04-05 17:37:15 +01:00
Filipe
fc8d9252d5 Merge pull request #10605 from abdellani/fix-impossible-to-reach-OCs-older-than-6-months
Fix load order cycles by date ranges
2023-04-05 17:33:51 +01:00
Rachel Arnould
3e5becf70a Merge pull request #10538 from jibees/10537-shopfront-product-description-is-too-long
Shopfront: Force product description to be on one line
2023-04-05 17:42:18 +02:00
Maikel
ef841b161f Merge pull request #10660 from MadisonBowron/master
Fix bug #10596, missing translation for editing shipping category
2023-04-05 16:12:20 +10:00
Maikel
c11dd2c1fb Merge pull request #10642 from macanudo527/fix_rubocop_errors
Fix Rubocop Layout/LineLength
2023-04-05 16:11:08 +10:00
Maikel Linke
8bbc545e39 Cover untranslated text by spec 2023-04-05 15:03:42 +10:00
Maikel
fc08913152 Merge pull request #10648 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.120.0
Bump aws-sdk-s3 from 1.119.2 to 1.120.0
2023-04-05 14:44:22 +10:00
Maikel
19ae3651fa Merge pull request #10643 from dacook/update-node-docker
Update node for docker
2023-04-05 14:43:24 +10:00
Jean-Baptiste Bellet
66307c9277 cable_ready changed its Content-Type ; update the mrujs one as well
Thanks @marcoroth for the great debugging session! 🙏
2023-04-05 14:19:34 +10:00
Jean-Baptiste Bellet
65084422cb cable_ready is already imported in app/webpacker/controllers/index.js 2023-04-05 14:19:34 +10:00
Jean-Baptiste Bellet
6f8ab56d2e Replace deprecated call render operations:
```
DEPRECATED: CableReady's `render operations:` call has been renamed to `render cable_ready:`. Please update your render call.
```
2023-04-05 14:19:34 +10:00
dependabot[bot]
ab6cdd4c78 Bump stimulus_reflex from 3.5.0-pre9 to 3.5.0-rc2
Updating JS and Ruby libraries. This commit was started by Dependabot
for 3.5.0-rc1. Then we updated to rc2.

Old Dependabot message about rc1:
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.0-pre9 to 3.5.0-rc1.
- [Release notes](https://github.com/stimulusreflex/stimulus_reflex/releases)
- [Changelog](https://github.com/stimulusreflex/stimulus_reflex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusreflex/stimulus_reflex/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>

Bump cable_ready from 5.0.0-pre10 to 5.0.0-rc1

Bumps [cable_ready](https://github.com/stimulusreflex/cable_ready) from 5.0.0-pre10 to 5.0.0-rc1.
- [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-04-05 14:19:16 +10:00
David Cook
865d81d28f Apply suggestions from code review 2023-04-05 14:05:26 +10:00
Maikel Linke
020af0c0e4 Explain report timeout better to user 2023-04-05 09:59:02 +10:00
emiliecm
5abda22831 Fix bug #10596, missing translation for editing shipping category 2023-04-04 19:48:16 -04:00
Cillian O'Ruanaidh
89dac47aa6 Add placeholders to business address country and state select fields 2023-04-04 19:22:22 +01:00
jibees
e18d973047 Merge pull request #10655 from filipefurtad0/fix_flaky_oc_form_spec
Sorts plucked shipping/payment methods
2023-04-04 15:34:39 +02:00
jibees
afeeaf0a9b Merge pull request #10657 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.23
Bump combine_pdf from 1.0.22 to 1.0.23
2023-04-04 14:31:06 +02:00
jibees
3010717ece Merge pull request #10656 from openfoodfoundation/dependabot/bundler/devise-4.9.2
Bump devise from 4.9.1 to 4.9.2
2023-04-04 14:30:11 +02:00
dependabot[bot]
0c48dbe0d5 Bump combine_pdf from 1.0.22 to 1.0.23
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.22 to 1.0.23.
- [Release notes](https://github.com/boazsegev/combine_pdf/releases)
- [Changelog](https://github.com/boazsegev/combine_pdf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/boazsegev/combine_pdf/compare/v1.0.22...v1.0.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-04 10:04:31 +00:00
dependabot[bot]
f7b215b7ac Bump devise from 4.9.1 to 4.9.2
Bumps [devise](https://github.com/heartcombo/devise) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/heartcombo/devise/releases)
- [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heartcombo/devise/compare/v4.9.1...v4.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-04 09:58:37 +00:00
filipefurtad0
29520542db Sorts plucked shipping/payment methods 2023-04-04 09:30:36 +01:00
Maikel Linke
00a3976905 Display a friendly message when a report times out
Once we get a download link for a report, we can display this message
sooner. But for now we just use the existing request timeout.
2023-04-04 11:08:20 +10:00
Maikel Linke
3bd8e430f9 Use Rack::Timeout for more realistic tests
The closer the test environment is to the production environment the
more realistic the tests will be, and the more code we test.

We are now able to test the app behaviour on timeouts which I want to do
for reports. We can also catch incompatibilities with the rack-timeout
gem during testing.
2023-04-04 11:08:20 +10:00
Neal Chambers
940f806e5f Fix Rubocop Layout/LineLength 2023-04-04 09:44:15 +09:00
Neal Chambers
77733169fc Update OCs after ERs Permissions are Revoked 2023-04-04 09:37:13 +09:00
David Cook
c34ced2f65 Merge pull request #10639 from openfoodfoundation/dependabot/bundler/puma-6.2.1
Bump puma from 6.1.1 to 6.2.1
2023-04-04 10:08:57 +10:00
Filipe
2051d811cf Merge pull request #10567 from jibees/10557-allow-hide-of-ofn-main-navigation
White Label: Allow enterprise to hide ofn main navigation on `/shop`, `/cart`, `/checkout`, `/orders` pages
2023-04-03 20:29:37 +01:00
jibees
0335cf2441 Merge pull request #10647 from openfoodfoundation/dependabot/npm_and_yarn/webpack-dev-server-4.13.2
Bump webpack-dev-server from 4.13.1 to 4.13.2
2023-04-03 16:47:02 +02:00
jibees
d3ddc8a221 Merge pull request #10650 from openfoodfoundation/dependabot/bundler/devise-4.9.1
Bump devise from 4.9.0 to 4.9.1
2023-04-03 16:44:46 +02:00
jibees
25e00d5210 Merge pull request #10649 from openfoodfoundation/dependabot/bundler/capybara-3.39.0
Bump capybara from 3.38.0 to 3.39.0
2023-04-03 16:42:53 +02:00
jibees
2a556ab329 Merge pull request #10651 from openfoodfoundation/dependabot/bundler/rubocop-1.49.0
Bump rubocop from 1.48.1 to 1.49.0
2023-04-03 16:42:08 +02:00
dependabot[bot]
80a94011b8 Bump rubocop from 1.48.1 to 1.49.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.48.1 to 1.49.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.48.1...v1.49.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-04-03 10:06:36 +00:00
dependabot[bot]
d4f2704213 Bump devise from 4.9.0 to 4.9.1
Bumps [devise](https://github.com/heartcombo/devise) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/heartcombo/devise/releases)
- [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heartcombo/devise/compare/v4.9.0...v4.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 10:02:14 +00:00
dependabot[bot]
91bf3c67cd Bump capybara from 3.38.0 to 3.39.0
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.38.0 to 3.39.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.38.0...3.39.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 10:01:25 +00:00
dependabot[bot]
307a9effb0 Bump aws-sdk-s3 from 1.119.2 to 1.120.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.119.2 to 1.120.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-04-03 10:00:03 +00:00
dependabot[bot]
56e8f7b0c6 Bump webpack-dev-server from 4.13.1 to 4.13.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.13.1...v4.13.2)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 09:58:14 +00:00
Maikel
de58aa1187 Merge pull request #10529 from mkllnk/setup
Update setup script with newest template and merge with old script
2023-04-03 15:44:29 +10:00
Maikel Linke
da0ef8531b Install our used bundler version 2023-04-03 14:37:31 +10:00
Maikel Linke
08f2254a0e Leverage bin/setup within script/setup
And remove duplicate output. `bin/setup` is the Rails default for
updating your environment after code updates and `script/setup` is our
convenience script for the initial setup and starting with sample data.
2023-04-03 14:37:31 +10:00
Maikel Linke
477524039f Update bundler version when necessary
Not just when it's missing.
2023-04-03 14:37:31 +10:00
Maikel Linke
e5e5bf8c17 Install ruby automatically if rbenv is available
People may use other ways to provide the right Ruby version but if they
use rbenv then we can use it automatically.
2023-04-03 14:37:30 +10:00
Maikel Linke
4999e231bc Avoid permission warning when running sudo as root
The command is switching to an unprivileged user which can't access
/root and therefore there was a warning when executing. Adding `--login`
to the sudo command switches to that user properly and avoids the
warning.
2023-04-03 14:36:07 +10:00
Maikel Linke
6b857a5683 Make code examples easier to copy without $ sign
The $ sign used to indicate shell commands. But with markdown it's
obvious that we are entering commands.

Github has a quick copy button for all code examples which used to copy
the $ sign as well. Removing it allows to copy and paste easier with
that button.
2023-04-03 14:35:52 +10:00
Maikel Linke
f12ee186ee Speed up setup script when restarting rails 2023-04-03 14:33:39 +10:00
Maikel Linke
93ef95f58e Update JS dependencies with setup script 2023-04-03 14:33:39 +10:00
Maikel Linke
49dd1dd1fa Update setup script with newest template
I used the script from a new Rails 7 project.
2023-04-03 14:32:22 +10:00
David Cook
04d2f3f50d Install nodenv to use correct Node version
Copying what we do for rbenv, using the same plugins that we use in https://github.com/openfoodfoundation/ofn-install/blob/master/roles/node/tasks/main.yml
2023-04-03 14:11:28 +10:00
David Cook
f43bdec0f4 Update to latest node v17
Really this should install nodenv though..
2023-04-03 11:41:54 +10:00
Jean-Baptiste Bellet
b79bd8ef05 Removes empty <p> tags from product description 2023-03-31 11:37:30 +02:00
Jean-Baptiste Bellet
4dfc56954c Force .product-description to be one line
and make it as a `div`
2023-03-31 10:41:27 +02:00
dependabot[bot]
8c08827d35 Bump puma from 6.1.1 to 6.2.1
Bumps [puma](https://github.com/puma/puma) from 6.1.1 to 6.2.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.1...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 08:13:31 +00:00
Maikel Linke
a56081ad5b Update translations 2023-03-31 14:59:16 +11:00
jibees
996c6d35f3 Merge pull request #10633 from openfoodfoundation/dependabot/bundler/debug-1.7.2
Bump debug from 1.7.1 to 1.7.2
2023-03-30 14:08:13 +02:00
Jean-Baptiste Bellet
89036db666 Do not use a preference, but create a new column for hide_ofn_navigation 2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
dd9fec58a4 Instead of parsing URLs pass order through method for Orders Ctrl
Use methods for before_actions

Maybe we should for hide_of_navigation too, but a name 'hide_ofn_navigation_for_order_distributor' seemed unhelpful..
2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
4fa44e6c64 Put the white label behind a feature toggle white_label
+ update specs as well

+ for admin section also
2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
4ad2a1a723 Prefer a concern that set a variable instead of a global helper
Therefor, for the right controllers, simply implements:

```
include WhiteLabel

before_action :hide_ofn_navigation, only: [:show, :edit]
```

This is mort robust, since we're working in a controller level, not parsing URLs...
2023-03-30 09:17:57 +11:00
Jean-Baptiste Bellet
5279be4dc6 Improve spec: visiting order confirmation with distributor
Two cases:
 - the current distributor is the same than the order of the order confirmation page
 - the current distributor *is not* the same than the order of the order confirmation page (and has not set `hide_ofn_navigation` preference to `true`)
2023-03-30 09:17:57 +11:00
Jean-Baptiste Bellet
348c1ff7da Hide the OFN navigation menu when distributor as set its preference
Hide, when preference is true, for page:
 - shop
 - cart
 - checkout
 - order confirmation
2023-03-30 09:17:57 +11:00
Jean-Baptiste Bellet
c20ae0de1e Edit hide_ofn_navigation in 'white label' panel for an enterprise 2023-03-30 09:17:57 +11:00
Jean-Baptiste Bellet
3452864503 Add "white label" panel in enterprise settings page 2023-03-30 09:17:57 +11:00
Jean-Baptiste Bellet
d2f29b7d73 Some refactoring to avoid rubocop class too long warning 2023-03-30 09:13:35 +11:00
Filipe
62cdda2ce2 Merge pull request #10523 from rioug/10431-voucher-minimum-backend
Voucher bare minimum backoffice
2023-03-29 20:21:57 +01:00
Filipe
e6123969d2 Merge pull request #10607 from mkllnk/zone-spec
Sort zones by name again, in the admin panel
2023-03-29 17:57:50 +01:00
Filipe
90ce52612d Merge pull request #10615 from mkllnk/background-report-job
Run background reports with Sidekiq, not fork
2023-03-29 17:38:48 +01:00
jibees
7e6d40f370 Merge pull request #10621 from openfoodfoundation/dependabot/bundler/valid_email2-4.0.6
Bump valid_email2 from 4.0.5 to 4.0.6
2023-03-29 17:13:34 +02:00
Filipe
b6e4ff908f Merge pull request #10566 from mkllnk/products-meta-description
Remove unused product meta description
2023-03-29 15:58:31 +01:00
Filipe
c16c1a5e62 Merge pull request #10544 from filipefurtad0/test_pdf_reports
Adds pdf comparison; removes csv, xlsx, pdf file fixtures
2023-03-29 14:03:25 +01:00
dependabot[bot]
3f5aceff99 Bump debug from 1.7.1 to 1.7.2
Bumps [debug](https://github.com/ruby/debug) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.7.1...v1.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-29 10:00:12 +00:00
dependabot[bot]
b8e9925601 Bump valid_email2 from 4.0.5 to 4.0.6
Bumps [valid_email2](https://github.com/micke/valid_email2) from 4.0.5 to 4.0.6.
- [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.5...v4.0.6)

---
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-03-29 07:51:47 +00:00
Maikel
667a514ed2 Merge pull request #10623 from jibees/10622-flaky-specservicesorder_cycle_form_specrb403
Flaky: Sort array to avoid flaky spec when comparing values
2023-03-29 16:32:44 +11:00
filipefurtad0
25108f4c70 Removes all fixture files; asserts on downloaded file
Changes helper method to assert there is one file only

load_file_txt will be useful in other spec files too, and could probably be moved to spec/support/file_helper.rb
2023-03-29 16:24:21 +11:00
Maikel Linke
6f83607aa8 Remove unused product meta description from DB 2023-03-29 14:35:16 +11:00
Maikel Linke
70aff98581 Remove unused product meta description from UI 2023-03-29 14:33:42 +11:00
Maikel
812fb974dd Merge pull request #10584 from openfoodfoundation/dependabot/bundler/devise-i18n-1.11.0
Bump devise-i18n from 1.10.3 to 1.11.0
2023-03-29 13:08:35 +11:00
filipefurtad0
0a91f3d392 Sorts all shipiping method arrays 2023-03-28 15:46:41 +02:00
Gaetan Craig-Riou
c7c19e47de Add feature toggle description 2023-03-28 13:46:51 +11:00
Gaetan Craig-Riou
e1845dddac Fix TabsAndPanelsController now that #! are removed from url
This PR https://github.com/openfoodfoundation/openfoodnetwork/pull/9729
remove #! from url. But unfortunately, AngularJs rewrite "example.com#panel"
as "example.com#/panel" thus breaking the original implementation.
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
2e10336a47 Add ability to manage voucher for enterprise user
Update spec accordingly
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
37d3c025e9 Make sure New voucher page can be accessed from voucher panel
Co-authored-by: David Cook <david@redcliffs.net>
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
6eb52aa540 TabsAndPanelsController specs, add missinrg panel scenario 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
6809198c96 Vouchers specs, remove obsolete step
Vouchers tabs now shows when returning from new voucher page,
no need to manually click on the 'vouchers' link in the menu
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
3b7aebd6da Enable vouchers feature toggle when running vouchers specs 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
7dc5bc87d1 Fix rubocop warnings 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
0c43d0f16a Put vouchers admin screen behind 'vouchers' feature toggle 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
fb1ad4c65f Remove non needed collumn from voucher list 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
04748b6e0e Move voucher value to the model
Use Spree::Money to display amount with currency
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
094fc039e9 Update tabs_and_panels to display tab and panel based on the url anchor
For Vouchers, this means the voucher tab and panel are displayed when
you come back to entreprise edit screen from the new vourcher page
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
e4f40d14b8 Fix enterprise voucher tab
Add harcoded voucher amount
Add missing translation
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
4085aa22dc Add create voucher action and system test 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
a4add889a8 Add form on the new voucher page 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
f9f6793d10 Add template and basic controller for backoffice voucher pages 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
a62687b1a7 Fix warning : The implicit block expectation syntax is deprecated 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
a48fd0828c Add Voucher model
A voucher belongs to an enterprise and an enterprise can have many
vouchers
2023-03-28 13:39:29 +11:00
Maikel
6cfb86e578 Link to merged feature toggle wiki page 2023-03-28 12:25:21 +11:00
Maikel
a168126cfa Merge pull request #10600 from mkllnk/features
Add all feature toggles with descriptions at boot
2023-03-28 10:58:40 +11:00
Jean-Baptiste Bellet
88c833ec83 Sort array to avoid flaky spec when comparing values 2023-03-27 15:57:46 +02:00
Konrad
c887efee54 Merge pull request #10519 from vviekk/viv/10515
Removing 'none' from shipping categories from product edit page
2023-03-27 14:01:11 +02:00
jibees
86abff224e Merge pull request #10616 from mkllnk/rails-7-schema
Update DB schema to Rails 7.0
2023-03-27 10:56:14 +02:00
vviekk
9a10c8c25a Removing none from shipping categories from product edit page 2023-03-27 11:56:10 +05:30
Maikel Linke
4461b33491 Sort zones by name again
Zones were intended to be sorted by name. But I guess that the syntax of
Ransack changed one day and we didn't notice because the spec was
creating entries in the right order already (which often reflects the
query result order without parameters). So the spec is fixed to fail if
the sorting doesn't happen and Ransack is configured to sort correctly.
The previous sort value was ignored.
2023-03-27 16:36:04 +11:00
Maikel Linke
5ae9016f09 Speed up spec by skipping additional page load
The login_as_admin helper has to load a page to log in. Providing the
page we want to go to avoids going to the default page first.
2023-03-27 16:36:04 +11:00
Maikel Linke
67ab8f63e0 Remove superfluous test setup
There are no zones at the start of the test. This is probably a
left-over from old times when specs were not encapsulated in
transactions.
2023-03-27 16:36:04 +11:00
Maikel Linke
40e64acd37 Update DB schema to Rails 7.0
This is the result of: `./bin/rails db:migrate`
2023-03-27 16:18:02 +11:00
Maikel Linke
78fea7c7f2 Run background reports with Sidekiq, not fork
Forking worked in theory but crashed the browser in system specs. It
also came with many other hurdles and isn't well known solution in the
Rails community. Sidekiq can give us better control over execution
limits as well.
2023-03-27 13:27:49 +11:00
Konrad
4c61666fc7 Merge pull request #10547 from vviekk/10419
Enable invoices config only controls Print bulk action
2023-03-26 13:53:20 +02:00
Konrad
0c6a12a6f0 Merge pull request #10241 from binarygit/provide-err-msg-when-using-text-in-var-field
Admin, edit variant: only allow numerical values for weight, height, width and depth fields
2023-03-26 13:03:20 +02:00
jibees
0da245f912 Merge pull request #10595 from jibees/10592-flaky-specservicesorder_cycle_form_specrb282
Flaky spec: Sort each array to ensure the order
2023-03-24 16:11:49 +01:00
jibees
eba0c9c4f7 Merge pull request #10609 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.7
Bump prettier from 2.8.6 to 2.8.7
2023-03-24 11:22:07 +01:00
dependabot[bot]
25618c009e Bump prettier from 2.8.6 to 2.8.7
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.6 to 2.8.7.
- [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.6...2.8.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-24 09:58:19 +00:00
jibees
068ac40a76 Merge pull request #10589 from openfoodfoundation/dependabot/npm_and_yarn/webpack-dev-server-4.13.1
Bump webpack-dev-server from 4.12.0 to 4.13.1
2023-03-24 10:52:01 +01:00
dependabot[bot]
5868fd1b7c Bump webpack-dev-server from 4.12.0 to 4.13.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.12.0 to 4.13.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.12.0...v4.13.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-24 09:36:40 +00:00
jibees
540129854e Merge pull request #10603 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.119.2
Bump aws-sdk-s3 from 1.119.1 to 1.119.2
2023-03-24 10:29:26 +01:00
jibees
f747ab568a Merge pull request #10604 from openfoodfoundation/dependabot/bundler/knapsack_pro-3.9.0
Bump knapsack_pro from 3.8.0 to 3.9.0
2023-03-24 10:23:01 +01:00
Jean-Baptiste Bellet
f9f619c036 Update all locales with the latest Transifex translations 2023-03-24 09:29:45 +01:00
Filipe
31ffeab4cd Merge pull request #10440 from mkllnk/rails7
Upgrade to Rails 7.0
2023-03-23 12:04:11 +00:00
Filipe
1673a18eb6 Merge pull request #9729 from binarygit/remove-angular-from-users
Admin, Enterprise Settings, Users tabs: remove tooltips directives + use reflex to invite user to be managers
2023-03-23 11:52:18 +00:00
Mohamed ABDELLANI
d3a25282de fix load order cycles by date ranges 2023-03-23 12:02:17 +01:00
Jean-Baptiste Bellet
29cdadd563 Avoid using exception but simply errors attribute contained in object
Co-Authored-By: Maikel <maikel@email.org.au>
2023-03-23 11:21:15 +01:00
Jean-Baptiste Bellet
8dffb38bf5 Sort each array to ensure the order
and then expect the right values.
2023-03-23 11:21:05 +01:00
binarygit
ecd5033efa Replace angular for when adding a new unregistered manager to an enterprise
Co-Authored-By: David Cook <david@redcliffs.net>
2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
a13227defa Add I18N to all reflexes 2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
465a295dfa Delete manager invitation controller 2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
9c84a6936a Create a concern for manager invitations
Can be used elsewhere

Update manager_invitations.rb
2023-03-23 11:21:05 +01:00
dependabot[bot]
f3d687cbea Bump knapsack_pro from 3.8.0 to 3.9.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.8.0 to 3.9.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.8.0...v3.9.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-23 10:05:23 +00:00
dependabot[bot]
6894cb5dd7 Bump aws-sdk-s3 from 1.119.1 to 1.119.2
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.119.1 to 1.119.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>
2023-03-23 10:04:05 +00:00
Filipe
809a57dbdb Merge pull request #10437 from openfoodfoundation/10436-the-cookie-policy-modal-does-not-appear-to-use-the-language-selected-by-the-user
Translate cookie policy into languages selected by the user
2023-03-23 10:00:38 +00:00
Filipe
6b30a654a6 Merge pull request #10516 from macanudo527/fix_taxonomy
Fix Sorting entries in a taxonomy is broken
2023-03-23 09:23:16 +00:00
Filipe
9b749ee2e0 Merge pull request #10466 from dacook/report-summaries
Report summaries in JSON (API) output
2023-03-22 23:34:48 +00:00
David Cook
c27974c5a3 Add marker for summary rows
This can be enabled in the reports API with the hidden parameter `fields_to_show[]=report_row_type` to help with parsing summary row output.
2023-03-22 11:47:26 +00:00
David Cook
6f41a4168d Allow headers and footers for JSON format
You wouldn't want it by default, but it can be enabled with a parameter like display_summary_row=true
2023-03-22 11:47:26 +00:00
David Cook
db7ac904e9 Allow column formatting and header/footer stripping to be specified independently
This will allow us to change the options in the following commit.
2023-03-22 11:47:26 +00:00
David Cook
96eaec908d Remove unused mock in specs
It looks like it was expected that the price and amount columns would be formatted, but this is not currently the case. So I cleaned this up to be less ambiguous.

If any of these columns were to be configured for formatting, this line could be added back to test for unformatted output.
2023-03-22 11:47:26 +00:00
Maikel Linke
e0fd180edd DRY Flipper UI config 2023-03-22 15:45:26 +11:00
Maikel Linke
fd68cbf56d Remove on-the-fly adding of feature toggle entries
We now have a new source of truth. You shouldn't use a feature toggle
without adding it to OpenFoodNetwork::FeatureToggle first. All toggles
are added at boot time already.
2023-03-22 15:36:08 +11:00
Maikel Linke
9a1b1498bf Add all feature toggles with descriptions at boot
So you can easily inspect and activate new features without trying to
use them first. It brings more visibility and will enable us to easily
remove retired features as well.
2023-03-22 15:36:08 +11:00
Filipe
12de3ae584 Merge pull request #10509 from mkllnk/filter-shipping-methods-by-category
Filter shipping methods by category
2023-03-21 17:47:22 +00:00
Rachel Arnould
75c3bf8b56 Merge pull request #9630 from binarygit/remove-angular-from-business-details
Remove angular from business details
2023-03-21 18:31:40 +01:00
Rachel Arnould
52c12ea896 Merge pull request #10554 from mkllnk/dfc-variants
Ignore master variants exporting to DFC
2023-03-21 18:30:05 +01:00
jibees
2e4bbb7740 Merge pull request #10590 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.6
Bump prettier from 2.8.5 to 2.8.6
2023-03-21 15:32:45 +01:00
dependabot[bot]
1b0880e7df Bump prettier from 2.8.5 to 2.8.6
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.5 to 2.8.6.
- [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.5...2.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 14:12:05 +00:00
Filipe
84f319894a Merge pull request #10594 from jibees/10593-deployment-failed-on-master
Move `webpack-*` as dependency (not devDependencies)
2023-03-21 14:09:52 +00:00
Jean-Baptiste Bellet
2a9b6f8e8c Sort each array to ensure the order
and then expect the right values.
2023-03-21 14:52:05 +01:00
Jean-Baptiste Bellet
c4e58eab3c Move webpack-* as dependency (not devDependencies) 2023-03-21 14:35:57 +01:00
Neal Chambers
920e9e65bd Merge remote-tracking branch 'origin/fix_taxonomy' into fix_taxonomy 2023-03-21 21:39:02 +09:00
David Cook
78b978efba Merge pull request #10458 from dacook/838-node-install-scripts
Node install script
2023-03-21 15:02:08 +11:00
Maikel Linke
31db35675b Add feature toggle for filtering shipping methods 2023-03-21 14:49:47 +11:00
Maikel Linke
6b25c36476 Filter ship methods by required shipping category
The products in an order may require several shipping categories like
refrigeration or express. We now filter the categories according to
their support of shipping categories.
2023-03-21 14:30:45 +11:00
Maikel Linke
73fa6295ec Simplify shipping method selection code 2023-03-21 14:30:44 +11:00
Maikel Linke
b5f43b3c1c Rename method because it's not changing the input
A common Ruby convention is to to use the bang naming `!` to mark method
which change the given parameter instead of returning a copy.
2023-03-21 14:30:44 +11:00
Maikel Linke
fcc68a0a19 Return new filtered list instead of modifying
This makes a clear distinction between the unfiltered and filtered list.
There may also be some gotchas when modifying the array of an
ActiveRecord relation. It also allows us to write shorter code without
storing a separate variable.
2023-03-21 14:30:44 +11:00
Maikel Linke
4c2d7c0d1c Rename confusing test variable
The "subject" is usually the code under test. In this spec it would be
the TagRuleApplicator and not the parameter given to it. So I renamed it
to avoid confusion here.
2023-03-21 14:30:44 +11:00
Maikel Linke
eee5e8eee7 Remove unnecessary tag rule code
The applicator converts the input to an array, even `nil` becomes an
empty array. Iterating over an empty array doesn't do anything either,
the result is the same.
2023-03-21 14:30:44 +11:00
Maikel Linke
e227cb912b Simplify tag rule spec
We don't need to know the internals. We want to know that the applicator
is not raising an error when we give `nil` or an empty collection.
2023-03-21 14:30:44 +11:00
Maikel Linke
6f3a0e8812 De-duplicate early for better performance 2023-03-21 14:30:44 +11:00
Maikel Linke
d7e4962fba Add method for easier reading 2023-03-21 14:30:44 +11:00
David Cook
7ad5181026 Merge pull request #10568 from openfoodfoundation/dependabot/npm_and_yarn/webpack-dev-server-4.12.0
Bump webpack-cli and webpack-dev-server from v3 to v4
2023-03-21 11:47:16 +11:00
jibees
c2133c8fa5 Merge pull request #10583 from openfoodfoundation/dependabot/bundler/flipper-active_record-0.26.2
Bump flipper-active_record from 0.26.0 to 0.26.2
2023-03-20 14:48:10 +01:00
dependabot[bot]
de5264138d Bump flipper-active_record from 0.26.0 to 0.26.2
Bumps [flipper-active_record](https://github.com/jnunemaker/flipper) from 0.26.0 to 0.26.2.
- [Release notes](https://github.com/jnunemaker/flipper/releases)
- [Changelog](https://github.com/jnunemaker/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/jnunemaker/flipper/compare/v0.26.0...v0.26.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 13:30:57 +00:00
Jean-Baptiste Bellet
bfbcdba98c Modify configuration to match new version of webpacker
Error was:
```
ERROR in chunk admin [entry]
js/[name]-[contenthash].js
Cannot use [chunkhash] or [contenthash] for chunk in 'js/[name]-[contenthash].js' (use [hash] instead)
```
2023-03-20 11:34:57 +01:00
David Cook
0632553a4a Remove @webpack-cli/serve
This now gets included as a dependency of webpack-cli v4. If webpack-cli had been upgraded earlier, we never would have needed to specify this.
2023-03-20 11:34:57 +01:00
David Cook
a97d416bfd Bump webpack-cli from 3.3.12 to 4.10.0
I don't know why, but Dependabot decided not to: https://github.com/openfoodfoundation/openfoodnetwork/pull/9798#issuecomment-1288583629

This is required for webpack-dev-server v4.
2023-03-20 11:34:56 +01:00
dependabot[bot]
b306539163 Bump webpack-dev-server from 3.11.3 to 4.12.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.11.3 to 4.12.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.11.3...v4.12.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 11:33:31 +01:00
jibees
caea53ab91 Merge pull request #10582 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.2.5
Bump @floating-ui/dom from 1.2.4 to 1.2.5
2023-03-20 11:23:56 +01:00
jibees
d7ee0ca434 Merge pull request #10580 from openfoodfoundation/dependabot/bundler/flipper-ui-0.26.2
Bump flipper-ui from 0.26.0 to 0.26.2
2023-03-20 11:20:11 +01:00
jibees
7fa4aa62f9 Merge pull request #10581 from openfoodfoundation/dependabot/npm_and_yarn/prettier-2.8.5
Bump prettier from 2.8.4 to 2.8.5
2023-03-20 11:17:14 +01:00
dependabot[bot]
ca97adb724 Bump devise-i18n from 1.10.3 to 1.11.0
Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.10.3 to 1.11.0.
- [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.3...v1.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 09:59:49 +00:00
dependabot[bot]
6295ecc7cf Bump @floating-ui/dom from 1.2.4 to 1.2.5
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.2.5/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-20 09:58:48 +00:00
dependabot[bot]
b207d3e7fd Bump prettier from 2.8.4 to 2.8.5
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.4 to 2.8.5.
- [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.4...2.8.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 09:58:31 +00:00
dependabot[bot]
b4f3655fae Bump flipper-ui from 0.26.0 to 0.26.2
Bumps [flipper-ui](https://github.com/jnunemaker/flipper) from 0.26.0 to 0.26.2.
- [Release notes](https://github.com/jnunemaker/flipper/releases)
- [Changelog](https://github.com/jnunemaker/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/jnunemaker/flipper/compare/v0.26.0...v0.26.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 09:58:17 +00:00
Jean-Baptiste Bellet
918e220557 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-20 08:37:47 +01:00
binarygit
a397ba1ca9 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-20 08:37:47 +01:00
Maikel Linke
7cd235c84d Translate AngularJS templates in the browser
AngularJS templates are compiled as assets on deploy. Any translatable
text can't be translated in Ruby during compilation because it's static
text. It needs to be translated with an AngularJS filter in the browser.
2023-03-20 17:02:10 +11:00
Jean-Baptiste Bellet
e97cd0a1fd That particular spec is actually failing ; this must be solved 2023-03-20 16:59:19 +11:00
Jean-Baptiste Bellet
a56f061663 Prepare the spec to be factorized and to be used in different context 2023-03-20 16:59:19 +11:00
Maikel
512cb44df5 Merge pull request #10330 from mickenorlen/8909-add-balance-to-api-v1-customer-endpoint
Add balance to api v1 customers endpoint
2023-03-20 15:47:41 +11:00
Maikel
0ab8e62749 Merge pull request #10405 from jibees/upgrade-node-version
Upgrade node version
2023-03-20 10:55:41 +11:00
Mohamed ABDELLANI
008b12a75d remove "/" from the partial path to load sub-report filters 2023-03-20 10:41:28 +11:00
Maikel Linke
2e51d9be4a Include Rails version in db schema
So Rails knows which defaults to apply.
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#rails-version-is-now-included-in-the-active-record-schema-dump
2023-03-20 10:41:28 +11:00
Maikel Linke
bd20e299f3 Support old cookie encryption
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#key-generator-digest-class-changing-to-use-sha256
2023-03-20 10:41:28 +11:00
Maikel Linke
90a92421f4 Remove obsolete setting of Zeitwerk
It's the default now.
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#the-setter-config-autoloader-has-been-deleted
2023-03-20 10:41:28 +11:00
Maikel Linke
84daa046ca Update I18n spec to Rails 7 2023-03-20 10:41:28 +11:00
Maikel Linke
61259bcfc2 Bump rails from 6.1.7 to 7.0.4
Result of:

    bundle update --conservative rails railties\
     actioncable actionmailbox actionmailer actionpack actiontext\
     actionview activejob activemodel activerecord activestorage activesupport
2023-03-20 10:41:15 +11:00
Maikel Linke
4f44d50943 Omit Rails version restriction 2023-03-20 10:38:57 +11:00
Konrad
2e426c701e Merge pull request #10232 from binarygit/show-correct-error-when-user-inputs-url-as-ig-acc
[Enterprise->Create] Show correct error message when user inputs url in instagram field
2023-03-19 21:57:02 +01:00
Konrad
99b3701e17 Merge pull request #10463 from openfoodfoundation/dependabot/bundler/devise-4.9.0
Bump devise from 4.8.1 to 4.9.0
2023-03-17 18:41:03 +01:00
Filipe
8bef0f9a43 Merge pull request #10337 from jibees/9419-send-invoices-per-email-in-bulk-from-the-admin-orders-page
Admin, orders list page: send invoices per email in bulk
2023-03-17 10:58:26 +00:00
jibees
d69aa04435 Merge pull request #10577 from openfoodfoundation/dependabot/bundler/flipper-0.26.2
Bump flipper from 0.26.0 to 0.26.2
2023-03-17 11:42:23 +01:00
dependabot[bot]
0b4a243d8e Bump flipper from 0.26.0 to 0.26.2
Bumps [flipper](https://github.com/jnunemaker/flipper) from 0.26.0 to 0.26.2.
- [Release notes](https://github.com/jnunemaker/flipper/releases)
- [Changelog](https://github.com/jnunemaker/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/jnunemaker/flipper/compare/v0.26.0...v0.26.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-17 10:01:35 +00:00
David Cook
ced9784fb8 Merge pull request #10576 from openfoodfoundation/revert-10474-fix-customer-can-checkout-non-matching-shipping-and-product-categories
Revert "Fix: Customers can checkout with non-matching shipping and product categories"
2023-03-17 15:41:04 +11:00
David Cook
788457618f Check ship address required based on all available methods
This check was implemented based on 'allowed' shipping methods, but we need to revert that logic. So for now, we can check all 'available' shipping methods.

This could potentially result in the same query being run twice, because load_shipping_methods also loads it. I opted to keep things simple and not try to optimise here.
2023-03-17 13:06:45 +11:00
David Cook
ef607da2c1 Revert "Fix: Customers can checkout with non-matching shipping and product categories" 2023-03-17 10:40:53 +11:00
Filipe
9ea6fa5c44 Merge pull request #9687 from dacook/9616-order-cycle-open-webhook
Add webhook triggered on Order Cycle Open
2023-03-16 17:24:22 +00:00
Konrad
a945f8f72f Merge pull request #10522 from mkllnk/flipper-upgrade
Bump flipper* from 0.20.4 to 0.26.0
2023-03-16 17:24:33 +01:00
jibees
0c3ee2e8fc Merge pull request #10574 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-4.6.0
Bump jasmine-core from 4.5.0 to 4.6.0
2023-03-16 14:59:33 +01:00
vviekk
54d5d0ed80 Accepting 0<unit values<1 in product import validations 2023-03-16 16:26:43 +05:30
dependabot[bot]
f6458e91c2 Bump jasmine-core from 4.5.0 to 4.6.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 4.5.0 to 4.6.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/v4.5.0...v4.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 09:59:04 +00:00
vviekk
ac5cbcf19e Merge branch 'openfoodfoundation:master' into 9978 2023-03-16 14:30:26 +05:30
David Cook
4757b82a80 Update all locales with the latest Transifex translations 2023-03-16 14:15:04 +11:00
David Cook
ad9e82e973 Merge pull request #10569 from openfoodfoundation/dependabot/bundler/sidekiq-7.0.7
Bump sidekiq from 7.0.6 to 7.0.7
2023-03-16 11:47:55 +11:00
Filipe
e8430eae6d Merge pull request #10460 from jibees/10400-pagination-in-bom-not-aggregating-results-from-quick-search-field
BOM: Add a search input that search for items with pagination
2023-03-15 16:31:32 +00:00
dependabot[bot]
584b013a49 Bump sidekiq from 7.0.6 to 7.0.7
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.0.6 to 7.0.7.
- [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.6...v7.0.7)

---
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-15 10:05:08 +00:00
Maikel
f15cb01f2a Merge pull request #10520 from mkllnk/return-auth-controller-spec
Correctly include order id in return auth spec for Rails 7 compatibility
2023-03-15 14:08:16 +11:00
Maikel Linke
f1a5c46685 Remove unnecessary Flipper memoizer config
Auto-config, yay.
2023-03-15 12:54:03 +11:00
Maikel Linke
00f2f92ce0 Remove unnecessary Flipper active_record config
This is now done automatically when including flipper-active_record in
the Gemfile.
2023-03-15 12:54:03 +11:00
Maikel Linke
fdd71cff51 Remove now unnecessary flipper_id method
Flipper does it for us.
2023-03-15 12:54:02 +11:00
Maikel Linke
c9ca020f05 Bump flipper* from 0.20.4 to 0.26.0 2023-03-15 12:54:02 +11:00
David Cook
d59074dabd Tidy up spec
The best way to check if something changed or not, is with 'change' of course.
2023-03-15 12:18:17 +11:00
jibees
6a874b9527 Merge pull request #10562 from openfoodfoundation/dependabot/bundler/rails-6.1.7.3
Bump rails from 6.1.7.2 to 6.1.7.3
2023-03-14 15:02:49 +01:00
dependabot[bot]
1f08da207f Bump rails from 6.1.7.2 to 6.1.7.3
Bumps [rails](https://github.com/rails/rails) from 6.1.7.2 to 6.1.7.3.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.2...v6.1.7.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 09:59:50 +00:00
Maikel Linke
9c3bdc6b9b Remove unnecessary table join
And use Rails syntax for clarity and future extensions.
2023-03-14 14:38:25 +11:00
Maikel Linke
2105c0d0ea Ignore master variants exporting to DFC 2023-03-14 14:38:24 +11:00
Maikel Linke
6e514acc77 Spec too many variants exported to DFC 2023-03-14 14:38:24 +11:00
Maikel Linke
b8338fb9af Removing engine namespace from services
Services are usually not namespaced because they are part of the app.
This engine has an isolated namespace which means that we don't need to
separate with out own namespacing here.
2023-03-14 13:49:21 +11:00
jibees
687d4593fb Merge pull request #10550 from openfoodfoundation/dependabot/bundler/database_cleaner-2.0.2
Bump database_cleaner from 2.0.1 to 2.0.2
2023-03-13 21:12:42 +01:00
dependabot[bot]
b62f88512f Bump database_cleaner from 2.0.1 to 2.0.2
Bumps [database_cleaner](https://github.com/DatabaseCleaner/database_cleaner) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/DatabaseCleaner/database_cleaner/releases)
- [Changelog](https://github.com/DatabaseCleaner/database_cleaner/blob/main/History.rdoc)
- [Commits](https://github.com/DatabaseCleaner/database_cleaner/compare/v2.0.1...v2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 15:24:41 +00: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
vviekk
2674df026a Fixing 'unsaved' alert behaviour for order cycle edit forms 2023-03-13 17:50:00 +05:30
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
vviekk
c1c0eca7c4 Enable invoices config only controls Print bulk action 2023-03-13 11:39:21 +05:30
vviekk
e10ea4b686 Merge branch 'openfoodfoundation:master' into 9978 2023-03-11 11:00:03 +05:30
David Cook
8f67e9839d Apply code suggestion
Avoids an error:
./script/nodenv-install.sh: line 13: brew: command not found

Co-authored-by: Maikel <maikel@email.org.au>
2023-03-10 13:38:59 +11: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
David Cook
fdeeab5750 Test twitter with (almost) real world example
I discovered that twitter doesn't have 'www' in the url anymore, no '@' symbol and interestingly no trailing slash. I added back the '@' just so we can test that still.

Using a regex group we can cater for optional www in a single regex.
2023-03-09 11:22:04 +11:00
David Cook
9e7e176cf9 Accept full URLs
It looks like the intention was there, so I made it work.
I've included a real world example, but added capitalisation to complete the test.
2023-03-09 11:21:52 +11: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
Jean-Baptiste Bellet
40a0d8e08c Improve design: make delete not a button but a link + close to file name 2023-03-08 10:38:28 +01:00
Jean-Baptiste Bellet
5cbec5521c Simplify ability
Co-Authored-By: David Cook <david@redcliffs.net>
2023-03-08 10:38:28 +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
binarygit
8f6fdf3e31 [Admin, Enterprise Settings] Remove Angular from Business Details tab 2023-03-08 10:26:05 +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
David Cook
9d5ca2255b Apply suggestions from code review
Co-authored-by: Maikel <maikel@email.org.au>
2023-03-07 15:38:50 +11:00
David Cook
00a823b2fc 6. Add webhook endpoints to user developer settings screen
Allowing creation and deleting via the user association.
It probably won't be much effort to allow editing and multiple records, but I cut it down to the minimum needed to avoid any further delays.

I couldn't find a way to test a failure in the destroy method, but decided to keep the condition because I thought it was worth having.
2023-03-07 15:38:50 +11:00
David Cook
3d81a6e280 Prevent creating duplicate webhook notifications [migration]
Using the clever concurrency testing borrowed from SubscriptionPlacementJob, but I thought a shorter pause time (just 100ms) would be sufficient.

I considered doing this with a new 'state' field (upcoming/open/close), but decided to keep it simple.
2023-03-07 15:38:50 +11:00
David Cook
739df4be01 4. OrderCycleOpenedJob triggers webhook 2023-03-07 15:38:50 +11:00
David Cook
b91cabc510 Also send webhook payloads for distributor owners
But not supplier owners.
2023-03-07 15:38:50 +11:00
David Cook
ba152f12ee 3. Add OrderCycleWebhookService to create webhook payloads for an order cycle event 2023-03-07 15:38:50 +11:00
David Cook
778baba118 User may have many WebhookEndpoints [migration]
Although we won't be allowing multiple in the this PR, we certainly plan to in the future.

The migration helper add_reference couldn't handle the custom column name, so I had to put it together manually.
2023-03-07 15:38:50 +11:00
David Cook
85c98c6d3e 2. Add model WebhookEndpoint [migration]
This will store the URL for each user that wants a notification.

We probably don't need URL validation (it's not done on Enterprise for example). It could be validated by browser input, and anyway will be validated if the webhook actually works or not.

Inspired by Keygen: https://keygen.sh/blog/how-to-build-a-webhook-system-in-rails-using-sidekiq/
2023-03-07 15:38:50 +11:00
David Cook
de9546587a Prevent webhooks to private addresses (SSRF) [add gem]
Best reviewed with whitespace hidden.

Unfortunately the spec isn't allowed in CI. But it worked on my environment, I promise.
I chose `xit` so that it doesn't run unnecessarily. Perhaps we could use `pending` instead, which would execute, and notify us if it suddenly started working one day. But I doubt it.
2023-03-07 15:38:50 +11:00
David Cook
9741935955 Raise error on server error
And thus retry later.
I tried to test that it actually retries, or ensuring the job remained in the queue to be retried, but couldn't get it to work.
2023-03-07 15:38:50 +11:00
David Cook
9d19f37fec 1. Add WebhookDeliveryJob
This job is responsible for delivering a payload for one webhook event only. It allows the action to run asynchronously (and not slow down the calling process).
2023-03-07 15:38:50 +11:00
David Cook
718ac0ab80 Add Faraday for making HTTP requests [add gem]
It's the most popular and flexible option, so should be able to cater for our future needs best.
2023-03-07 15:38:47 +11:00
Neal Chambers
d95c5ff8a8 Use Spree Taxon Controller instead of API Taxon Controller
Add tests for reordering taxons
2023-03-07 13:22:59 +11:00
Maikel Linke
797b98d686 Remove Rails 5.0 controller spec workaround
We added a method to work around a bug. But that's not needed any more.
2023-03-07 08:46:36 +11:00
Maikel Linke
3dc3ebe584 Correctly include order id in return auth spec
The route to update a return authorization must include the order number
as id:

    /admin/orders/:order_id/return_authorizations/:id(.:format)

The spec only worked because the controller's ivars were not reset
between requests and the order was already set. But Rails 7 will reset
the ivars and it failed finding the order without a given id.
2023-03-07 08:46:36 +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
filipefurtad0
6d05d57846 Fixes spec when introducing invalid instagram link
It seems that only the slash at the end of the address is making it invalid, which does not correspond to the error message. This is a separate issue.
2023-03-06 15:02:49 +01:00
Jean-Baptiste Bellet
d9b534b829 + update spec as well 2023-03-06 14:52:32 +01:00
Jean-Baptiste Bellet
ac739108a2 Improve readability by generating search string for ransack 2023-03-06 11:31:36 +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
Neal Chambers
3f3ae97a40 Add tests for reordering taxons 2023-03-06 18:57:02 +09:00
binarygit
ae166ae220 Fix: User does not get stuck when going backwards while creating new ent 2023-03-06 09:29:04 +01:00
binarygit
533f7048bf [Enterprise->Create] Show correct error message when user inputs url in instagram field 2023-03-06 09:29:04 +01:00
Neal Chambers
e399e27a7d Merge remote-tracking branch 'origin/fix_taxonomy' into fix_taxonomy 2023-03-06 15:09:13 +09:00
Neal Chambers
63ba3defec Use Spree Taxon Controller instead of API Taxon Controller 2023-03-06 15:07:52 +09: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
dependabot[bot]
fb01a6e244 Bump devise from 4.8.1 to 4.9.0
Bumps [devise](https://github.com/heartcombo/devise) from 4.8.1 to 4.9.0.
- [Release notes](https://github.com/heartcombo/devise/releases)
- [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heartcombo/devise/compare/v4.8.1...v4.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 14:47:11 +00: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
binarygit
fd81429f39 Specify weight, height, width and depth as numeric field 2023-03-01 16:32:18 +01: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
Jean-Baptiste Bellet
50bc48c96f Introduce some specs around searching in BOM 2023-03-01 14:54:46 +01:00
Jean-Baptiste Bellet
8ad532c41a Can search bill_address:phone, firstname, lastname and distributor:name 2023-03-01 14:54:46 +01:00
Jean-Baptiste Bellet
ebd5d706c2 Add search input
Actually this only search for `order_email` or `order_number` or `product_name` or `supplier_name`

+ Improve display by reduce each columns width
2023-03-01 14:40:12 +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
8658b1a743 Remove quick filter that search only on displayed line items
+ remove specs as well
2023-02-28 15:39:31 +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
5208094f05 Do not bulk send invoices if order is not 'complete' or 'resumed'
+ update specs as well
2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
8926a3f08d Having a cleaner syntax a prefer using map() instead of forEach() 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
58ea3a10e8 Invert condition on can send invoice 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
5ca5c32da4 Factorize what could be into two methods: success and orders 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
7a1a1286d2 Factorize two reflexes into one: BulkActionsInOrdersListReflex 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
5e61aa8a77 Create the bulk send invoice action in order list
using the same pattern than SendConfirmationEmail action

Co-Authored-By: David Cook <david@redcliffs.net>
2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
af92b9f464 Reorganize spec by dividing into two contexts: 'admin' and 'hub manager' 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
ffaf4a837f Extract common behavior to BulkActionsController 2023-02-27 14:30:58 +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
vviekk
913f8bbad0 Addressing comments 2023-02-26 15:50:34 +05:30
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
vviekk
fc951e92ac Updating price, on_hand, on_demand validations for product import 2023-02-18 13:52:35 +05:30
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
David Cook
d377300f32 Support installations with homebrew (macOS)
The officially recommended installation for Mac is via Homebrew.
2023-02-17 10:36:10 +11:00
David Cook
b7a3f7263b Add script to install current node version
The API is conveniently exactly the same as rbenv.
2023-02-17 10:17:48 +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
Mikael Norlén
f645f8fc79 Improve schema method get_extra_fields
Use double-splat for passing options and improve examples
2023-02-15 11:14:28 +01:00
Mikael Norlén
3d06b75892 Simplify customers_with_balance spec
Improve variable names and use multiple expectations
2023-02-15 11:14:28 +01:00
Mikael Norlén
af23375b04 Separate Structure from JsonApiSchema
Class was getting too long
2023-02-15 11:14:28 +01:00
Mikael Norlén
f15a4cc943 Add autogenerated whitespaces to swagger.yml
These whitespaces were generated by
bundle exec rails rswag.

Might be related to a new version of rswag or
developers' trim trailing whitespace settings.
2023-02-15 11:14:28 +01:00
Mikael Norlén
e95d08cae8 Add balance to api v1 customers endpoint
- customers#show: Add balance (data_type: double) to customer attributes.
- customers#index: Add balance only if specified in extra_fields
query parameter: extra_fields[customer]=balance
2023-02-15 11:14:27 +01:00
Mikael Norlén
3989843a21 Add support for extra fields in JsonApiSchemas
As we are now supporting optional extra fields,
We need to be able to construct schemas where
extra fields are optionally included.
2023-02-15 11:14:27 +01:00
Mikael Norlén
22b1dd3232 Add support for extra_fields query parameter
Api now supports optional fields.
These are included with the extra_fields query param.

Syntax: extra_fields[type]=field1,field2
2023-02-15 11:14:27 +01:00
Mikael Norlén
96c0057b03 Use Customers as argument for CustomersWithBalance
Change argument for CustomersWithBalance from
enterprise_id to Customers collection.

We have the need to calculate balance for customers in general,
not just for customers in a given enterprise.
2023-02-15 11:14:27 +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
Jean-Baptiste Bellet
1fb4e27064 Upgrade to latest 17.* node version 2023-02-09 14:00:19 +01:00
Jean-Baptiste Bellet
9f2a17c3e9 Upgrade to node 17 which requires a --openssl-legacy-provider option
Node 17 moved to OpenSSL3, see https://nodejs.org/en/blog/release/v17.0.0/#openssl-3-0 for more.
2023-02-09 12:54:11 +01:00
Jean-Baptiste Bellet
ac639fa283 Upgrade node to the next LTS version
(which is in maintenance mode, but let's be incremental to test)
2023-02-09 10:56:28 +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
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
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
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
1326 changed files with 44582 additions and 26115 deletions

View File

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

View File

@@ -5,9 +5,17 @@
#
# cp .env.development .env.local
VERBOSE_QUERY_LOGS=true
SECRET_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
OFN_REDIS_URL="redis://localhost:6379/1"
OFN_REDIS_JOBS_URL="redis://localhost:6379/2"
SITE_URL="0.0.0.0:3000"
# Deactivate rack-timeout in development.
# https://github.com/zombocom/rack-timeout#configuring
RACK_TIMEOUT_SERVICE_TIMEOUT="0"
RACK_TIMEOUT_WAIT_TIMEOUT="0"
RACK_TIMEOUT_WAIT_OVERTIME="0"

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>
@@ -41,7 +40,7 @@ The full process is described at https://github.com/openfoodfoundation/openfoodn
[Ready To Go]: #zenhub
[Transifex pull request]: https://github.com/openfoodfoundation/openfoodnetwork/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+head%3Atransifex
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A%23%23+User+facing+changes+:eyes:%0A%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A%23%23+User+facing+changes+:eyes:%0A%0A%0A%23%23%23+Experimental+features+for+testing+:sunglasses:%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A
[releases]: https://github.com/openfoodfoundation/openfoodnetwork/releases
[#instance-managers]: https://app.slack.com/client/T02G54U79/CG7NJ966B
[#testing]: https://openfoodnetwork.slack.com/app_redirect?channel=C02TZ6X00

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
@@ -41,6 +41,7 @@ jobs:
- name: Scan
continue-on-error: true
run: |
git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
brakeman -f sarif -o output.sarif.json .
# Upload the SARIF file generated in the previous step

View File

@@ -18,7 +18,7 @@ permissions:
jobs:
knapsack_rspec_controllers:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -57,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
@@ -68,7 +68,6 @@ jobs:
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 864ef557d85ea8e603e086c0387d5154
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
@@ -82,12 +81,12 @@ jobs:
# 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: |
git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
bundle exec rake knapsack_pro:rspec
knapsack_rspec_models:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -126,7 +125,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
@@ -156,7 +155,7 @@ jobs:
bundle exec rake knapsack_pro:rspec
knapsack_rspec_system_admin:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -195,7 +194,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
@@ -234,7 +233,7 @@ jobs:
if-no-files-found: ignore
knapsack_rspec_system_consumer:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -273,7 +272,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
@@ -312,7 +311,7 @@ jobs:
if-no-files-found: ignore
knapsack_rspec_engines:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -351,7 +350,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
@@ -390,7 +389,7 @@ jobs:
if-no-files-found: ignore
knapsack_rspec_test_the_rest:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -429,7 +428,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
@@ -460,7 +459,7 @@ jobs:
bundle exec rake knapsack_pro:rspec
non_knapsack_jest_karma:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
@@ -489,7 +488,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

View File

@@ -9,7 +9,11 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v1
- uses: ruby/setup-ruby@v1
- run: git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
- name: rubocop
uses: reviewdog/action-rubocop@v2
with:
@@ -24,6 +28,16 @@ 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
- run: git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
- name: prettier
uses: EPMatt/reviewdog-action-prettier@v1
with:

62
.github/workflows/stage.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: "Deploy to Staging"
on:
pull_request_target:
types: [labeled]
workflow_dispatch:
inputs:
server:
description: "Staging Server"
type: choice
required: true
options:
- staging.openfoodnetwork.org.uk
- staging.openfoodnetwork.org.au
- staging.coopcircuits.fr
jobs:
deploy_pr:
if: contains(fromJSON('["pr-staged-uk", "pr-staged-au", "pr-staged-fr"]'), github.event.label.name)
runs-on: ubuntu-latest
steps:
- name: "Check user has write access"
uses: "lannonbr/repo-permission-check-action@2.0.2"
with:
permission: "write"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Configure deployment key
if: success()
run: |
install -m 600 -D /dev/null ~/.ssh/id_rsa
echo "${{ secrets.DEPLOYMENT_KEY }}" > ~/.ssh/id_rsa
echo "${{ secrets.DEPLOYMENT_HOSTS }}" > ~/.ssh/known_hosts
- name: Deploy to Staging
if: success()
run: |
ssh ofn-deploy@${{ github.event.label.description }} -o LogLevel=ERROR "pull-request-${{ github.event.pull_request.number }} ."
deploy_branch:
if: ${{ inputs.server }}
runs-on: ubuntu-latest
steps:
- name: "Check user has write access"
uses: "lannonbr/repo-permission-check-action@2.0.2"
with:
permission: "write"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Configure deployment key
if: success()
run: |
install -m 600 -D /dev/null ~/.ssh/id_rsa
echo "${{ secrets.DEPLOYMENT_KEY }}" > ~/.ssh/id_rsa
echo "${{ secrets.DEPLOYMENT_HOSTS }}" > ~/.ssh/known_hosts
- name: Deploy to Staging
if: success()
run: |
ssh ofn-deploy@${{ inputs.server }} -o LogLevel=ERROR "$GITHUB_REF_NAME $GITHUB_SHA"

View File

@@ -1 +1 @@
14.16.1
17.9.1

View File

@@ -1,17 +1,26 @@
# Basically, ignore everythings expect app/webpacker/controllers/*.js and app/webpacker/packs/*.js
*.css
*.scss
# Except v2
!/app/webpacker/css/admin/v2/**/*.scss
# Ignore a lot of things, but we should enable where it can be helpful.
*.md
*.yml
*.yaml
*.json
*.html
# JS
# Enabled: app/webpacker/controllers/*.js and app/webpacker/packs/*.js
babel.config.js
postcss.config.js
# SCSS
# Enabled: most of admin
/app/webpacker/css/admin/globals/
/app/webpacker/css/admin/shared/
/app/webpacker/css/admin_v3/globals/variables.scss
/app/webpacker/css/darkswarm/
/app/webpacker/css/mail/
/app/webpacker/css/shared/
# More
/app/assets/
/config/
/coverage/

View File

@@ -1 +1,3 @@
{}
{
"printWidth": 100
}

View File

@@ -2,9 +2,8 @@
#
# These are the rules we agreed upon and we work towards.
AllCops:
NewCops: disable
NewCops: enable
SuggestExtensions: false
TargetRailsVersion: 5.0
Exclude:
- 'bin/**/*'
- 'db/**/*'
@@ -41,9 +40,13 @@ Metrics/BlockLength:
"resources",
"scenario",
"shared_examples",
"shared_examples_for",
"xdescribe",
]
Metrics/ParameterLists:
CountKeywordArgs: false
Rails/ApplicationRecord:
Exclude:
# Migrations should not contain application code:

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
3.0.3
3.1.4

View File

@@ -57,6 +57,7 @@ TL;DR:
* Maintain a clean commit history
* Use a style consistent with the rest of the codebase
* Before submitting, [rebase your work][rebase] on the current master branch
* After submitting, be sure to check the [CI test results](ci). Click on a ❌ result to view the logged results and investigate.
From here, your pull request will progress through the [Review, Test, Merge & Deploy process][process].
@@ -70,4 +71,5 @@ From here, your pull request will progress through the [Review, Test, Merge & De
[slack-dev]: https://openfoodnetwork.slack.com/messages/C2GQ45KNU
[ofn-transifex]: https://www.transifex.com/open-food-foundation/open-food-network/
[i18n]: https://github.com/openfoodfoundation/openfoodnetwork/wiki/Internationalisation-%28i18n%29
[welcome-dev]: https://github.com/orgs/openfoodfoundation/projects/2
[welcome-dev]: https://github.com/orgs/openfoodfoundation/projects/5
[ci]: https://github.com/openfoodfoundation/openfoodnetwork/wiki/Continuous-Integration

View File

@@ -28,14 +28,18 @@ RUN apt-get update && apt-get install -y \
gnupg
# Setup ENV variables
ENV PATH /usr/local/src/rbenv/shims:/usr/local/src/rbenv/bin:$PATH
ENV PATH /usr/local/src/rbenv/shims:/usr/local/src/rbenv/bin:/usr/local/src/nodenv/shims:/usr/local/src/nodenv/bin:$PATH
ENV RBENV_ROOT /usr/local/src/rbenv
ENV NODENV_ROOT /usr/local/src/nodenv
ENV CONFIGURE_OPTS --disable-install-doc
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} && \
@@ -50,10 +54,19 @@ RUN sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-10 libpq-dev
# Install NodeJs and yarn
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get install --no-install-recommends -y nodejs \
&& npm install -g yarn
# trim spaces and line return from .node-version file
COPY .node-version .node-version.raw
RUN cat .node-version.raw | tr -d '\r\t ' > .node-version
# Install Node and Yarn with Nodenv
RUN git clone --depth 1 https://github.com/nodenv/nodenv.git ${NODENV_ROOT} && \
git clone --depth 1 https://github.com/nodenv/node-build.git ${NODENV_ROOT}/plugins/node-build && \
git clone --depth 1 https://github.com/pine/nodenv-yarn-install.git ${NODENV_ROOT}/plugins/nodenv-yarn-install && \
git clone --depth 1 https://github.com/nodenv/nodenv-package-rehash.git ${NODENV_ROOT}/plugins/nodenv-package-rehash && \
echo 'eval "$(nodenv init -)"' >> /etc/profile.d/nodenv.sh && \
nodenv install $(cat .node-version) && \
nodenv global $(cat .node-version)
# Install Chrome
RUN wget --quiet -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \

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):
@@ -47,14 +48,14 @@ Fetch the latest version of `master` from `upstream` (ie. the main repo):
First, you need to create the database user the app will use by manually typing the following in your terminal:
```sh
$ sudo -u postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PASSWORD 'f00d'"
sudo --login --user=postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PASSWORD 'f00d'"
```
This will create the "ofn" user as superuser and allowing it to create databases. If this command fails, check the [troubleshooting section](#creating-the-database) for an alternative.
Next, it is _strongly recommended_ to run the setup script.
```sh
$ script/setup
./script/setup
```
If the script succeeds you're ready to start developing. If not, take a look at the output as it should be informative enough to help you troubleshoot.
@@ -113,13 +114,13 @@ Below are fixes to potential issues that can happen during the installation proc
#### Creating the database
If the ```$ sudo -u postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PASSWORD 'f00d'"``` command doesn't work, you can run the following commands instead:
If the `sudo -u postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PASSWORD 'f00d'"` command doesn't work, you can run the following commands instead:
```
$ createuser --superuser --pwprompt ofn
Enter password for new role: f00d
Enter it again: f00d
$ createdb open_food_network_dev --owner=ofn
$ createdb open_food_network_test --owner=ofn
createuser --superuser --pwprompt ofn
# Enter password for new role: f00d
# Enter it again: f00d
createdb open_food_network_dev --owner=ofn
createdb open_food_network_test --owner=ofn
```
If these commands succeed, you should be able to [continue the setup process](#get-it-running).

47
Gemfile
View File

@@ -1,12 +1,13 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby "3.0.3"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" }
ruby File.read('.ruby-version').chomp
gem 'dotenv-rails', require: 'dotenv/rails-now' # Load ENV vars before other gems
gem 'rails', '>= 6.1.4'
gem 'rails'
# Active Storage
gem "active_storage_validations"
@@ -14,11 +15,11 @@ gem "aws-sdk-s3", require: false
gem "image_processing"
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 'rexml'
gem 'webpacker', '~> 5'
gem 'i18n'
@@ -27,7 +28,7 @@ gem 'rails-i18n'
gem 'rails_safe_tasks', '~> 1.0'
gem "activerecord-import"
gem "db2fog", github: "openfoodfoundation/db2fog", branch: "rails-6"
gem "db2fog", github: "openfoodfoundation/db2fog", branch: "rails-7"
gem "fog-aws", "~> 2.0" # db2fog does not support v3
gem "mime-types" # required by fog
@@ -63,15 +64,16 @@ gem 'devise-token_authenticatable'
gem 'jwt', '~> 2.3'
gem 'oauth2', '~> 1.4.7' # Used for Stripe Connect
gem 'datafoodconsortium-connector'
gem 'jsonapi-serializer'
gem 'pagy', '~> 5.1'
gem 'rswag-api'
gem 'rswag-ui'
gem 'gitlab-omniauth-openid-connect', require: 'omniauth_openid_connect'
gem 'openid_connect', '~> 1.3'
gem 'omniauth_openid_connect'
gem 'omniauth-rails_csrf_protection'
gem 'openid_connect', '~> 1.3'
gem 'angularjs-rails', '1.8.0'
gem 'bugsnag'
@@ -83,16 +85,16 @@ 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 'rack-timeout'
gem 'roadie-rails'
gem 'hiredis'
@@ -101,33 +103,27 @@ gem 'redis', '>= 4.0', require: ['redis', 'redis/connection/hiredis']
gem 'sidekiq'
gem 'sidekiq-scheduler'
gem "cable_ready", "5.0.0.pre9"
gem "stimulus_reflex", "3.5.0.pre9"
gem "cable_ready", "5.0.0.rc2"
gem "stimulus_reflex", "3.5.0.rc2"
gem 'combine_pdf'
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
gem 'test-unit', '~> 3.5'
gem 'coffee-rails', '~> 5.0.0'
gem 'mini_racer', '0.4.0'
gem 'angular_rails_csrf'
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'
@@ -139,9 +135,10 @@ gem 'view_component_reflex', '3.1.14.pre9'
gem 'mini_portile2', '~> 2.8'
gem "faraday"
gem "private_address_check"
group :production, :staging do
gem 'ddtrace'
gem 'rack-timeout'
gem 'sd_notify' # For better Systemd process management. Used by Puma.
end
@@ -150,6 +147,7 @@ group :test, :development do
gem 'capybara'
gem 'cuprite'
gem 'database_cleaner', require: false
gem 'debug', '>= 1.0.0'
gem "factory_bot_rails", '6.2.0', require: false
gem 'fuubar', '~> 2.5.1'
gem 'json_spec', '~> 1.1.4'
@@ -160,7 +158,6 @@ group :test, :development do
gem 'rswag-specs'
gem 'shoulda-matchers'
gem 'timecop'
gem 'debug', '>= 1.0.0'
end
group :test do
@@ -175,16 +172,16 @@ end
group :development do
gem 'debugger-linecache'
gem 'rails-erd'
gem 'foreman'
gem 'listen'
gem 'pry', '~> 0.13.0'
gem 'query_count'
gem 'rails-erd'
gem 'rubocop'
gem 'rubocop-rails'
gem 'spring'
gem 'spring-commands-rspec'
gem 'web-console'
gem 'rack-mini-profiler', '< 3.0.0'
end

View File

@@ -1,19 +1,12 @@
GIT
remote: https://github.com/openfoodfoundation/db2fog.git
revision: 5b63343847452f52aa42f7fc169d6ab3af57cda3
branch: rails-6
revision: 6e88c0ab9eeb23d7ad9964b27becb1c04a83141f
branch: rails-7
specs:
db2fog (0.9.2)
activerecord (>= 3.2.0, < 7.0)
activerecord (>= 3.2.0)
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)
rails (>= 3.2.0)
GIT
remote: https://github.com/openfoodfoundation/select2-rails.git
@@ -51,66 +44,73 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.0)
actioncable (6.1.7)
actionpack (= 6.1.7)
activesupport (= 6.1.7)
actioncable (7.0.6)
actionpack (= 7.0.6)
activesupport (= 7.0.6)
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 (7.0.6)
actionpack (= 7.0.6)
activejob (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
mail (>= 2.7.1)
actionmailer (6.1.7)
actionpack (= 6.1.7)
actionview (= 6.1.7)
activejob (= 6.1.7)
activesupport (= 6.1.7)
net-imap
net-pop
net-smtp
actionmailer (7.0.6)
actionpack (= 7.0.6)
actionview (= 7.0.6)
activejob (= 7.0.6)
activesupport (= 7.0.6)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (6.1.7)
actionview (= 6.1.7)
activesupport (= 6.1.7)
rack (~> 2.0, >= 2.0.9)
actionpack (7.0.6)
actionview (= 7.0.6)
activesupport (= 7.0.6)
rack (~> 2.0, >= 2.2.4)
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 (7.0.6)
actionpack (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (6.1.7)
activesupport (= 6.1.7)
actionview (7.0.6)
activesupport (= 7.0.6)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
active_storage_validations (1.0.3)
active_storage_validations (1.0.4)
activejob (>= 5.2.0)
activemodel (>= 5.2.0)
activestorage (>= 5.2.0)
activesupport (>= 5.2.0)
activejob (6.1.7)
activesupport (= 6.1.7)
activejob (7.0.6)
activesupport (= 7.0.6)
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 (7.0.6)
activesupport (= 7.0.6)
activerecord (7.0.6)
activemodel (= 7.0.6)
activesupport (= 7.0.6)
activerecord-import (1.4.1)
activerecord (>= 4.2)
activerecord-postgresql-adapter (0.0.1)
@@ -121,24 +121,23 @@ 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 (7.0.6)
actionpack (= 7.0.6)
activejob (= 7.0.6)
activerecord (= 7.0.6)
activesupport (= 7.0.6)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7)
activesupport (7.0.6)
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)
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0)
afm (0.2.2)
@@ -158,43 +157,41 @@ GEM
awesome_nested_set (3.5.0)
activerecord (>= 4.0.0, < 7.1)
aws-eventstream (1.2.0)
aws-partitions (1.669.0)
aws-sdk-core (3.168.2)
aws-partitions (1.780.0)
aws-sdk-core (3.175.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.60.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (1.67.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.117.2)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-s3 (1.126.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.2)
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.15.0)
bootsnap (1.16.0)
msgpack (~> 1.2)
bugsnag (6.25.0)
bugsnag (6.25.2)
concurrent-ruby (~> 1.0)
builder (3.2.4)
bullet (7.0.4)
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
cable_ready (5.0.0.pre9)
actioncable (>= 5.2)
cable_ready (5.0.0.rc2)
actionpack (>= 5.2)
actionview (>= 5.2)
activerecord (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
thread-local (>= 1.1.0)
cancancan (1.15.0)
capybara (3.38.0)
capybara (3.39.2)
addressable
matrix
mini_mime (>= 0.1.3)
@@ -218,11 +215,11 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.12.2)
combine_pdf (1.0.22)
combine_pdf (1.0.23)
matrix
ruby-rc4 (>= 0.1.5)
concurrent-ruby (1.1.10)
connection_pool (2.3.0)
concurrent-ruby (1.2.2)
connection_pool (2.4.1)
crack (0.4.5)
rexml
crass (1.0.6)
@@ -231,21 +228,20 @@ GEM
cuprite (0.14.3)
capybara (~> 3.0)
ferrum (~> 0.13.0)
database_cleaner (2.0.1)
database_cleaner-active_record (~> 2.0.0)
database_cleaner-active_record (2.0.0)
database_cleaner (2.0.2)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.1.0)
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)
msgpack
debase-ruby_core_source (0.10.12)
debug (1.7.1)
datafoodconsortium-connector (1.0.0.pre.alpha.6)
virtual_assembly-semantizer (~> 1.0, >= 1.0.4)
date (3.3.3)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
debugger-linecache (1.2.0)
devise (4.8.1)
devise (4.9.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
@@ -253,8 +249,8 @@ GEM
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-i18n (1.10.2)
devise (>= 4.8.0)
devise-i18n (1.11.0)
devise (>= 4.9.0)
devise-token_authenticatable (1.1.0)
devise (>= 4.0.0, < 5.0.0)
diff-lcs (1.5.0)
@@ -264,7 +260,7 @@ GEM
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.10)
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)
@@ -287,15 +283,17 @@ GEM
websocket-driver (>= 0.6, < 0.8)
ffaker (2.21.0)
ffi (1.15.5)
flipper (0.20.4)
flipper-active_record (0.20.4)
activerecord (>= 5.0, < 7)
flipper (~> 0.20.4)
flipper-ui (0.20.4)
flipper (0.26.2)
concurrent-ruby (< 2)
flipper-active_record (0.26.2)
activerecord (>= 4.2, < 8)
flipper (~> 0.26.2)
flipper-ui (0.26.2)
erubi (>= 1.0.0, < 2.0.0)
flipper (~> 0.20.4)
flipper (~> 0.26.2)
rack (>= 1.4, < 3)
rack-protection (>= 1.5.3, < 2.2.0)
rack-protection (>= 1.5.3, <= 4.0.0)
sanitize (< 7)
fog-aws (2.0.1)
fog-core (~> 1.38)
fog-json (~> 1.0)
@@ -313,18 +311,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)
geocoder (1.8.2)
globalid (1.1.0)
activesupport (>= 5.0)
gmaps4rails (2.1.2)
good_migrations (0.2.1)
@@ -340,7 +334,7 @@ GEM
hiredis (0.6.3)
htmlentities (4.3.4)
httpclient (2.8.3)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
i18n-js (3.9.2)
i18n (>= 0.6.6)
@@ -351,7 +345,7 @@ GEM
activerecord (>= 3.0)
io-console (0.6.0)
ipaddress (0.8.3)
irb (1.6.2)
irb (1.6.4)
reline (>= 0.3.0)
jmespath (1.6.2)
jquery-rails (4.4.0)
@@ -361,12 +355,20 @@ GEM
jquery-ui-rails (4.2.1)
railties (>= 3.2.16)
json (2.6.3)
json-jwt (1.16.0)
json-canonicalization (0.3.1)
json-jwt (1.16.3)
activesupport (>= 4.2)
aes_key_wrap
bindata
faraday (~> 2.0)
faraday-follow_redirects
json-ld (3.2.3)
htmlentities (~> 4.3)
json-canonicalization (~> 0.3)
link_header (~> 0.0, >= 0.0.8)
multi_json (~> 1.15)
rack (~> 2.2)
rdf (~> 3.2, >= 3.2.9)
json-schema (3.0.0)
addressable (>= 2.8)
json_spec (1.1.5)
@@ -374,22 +376,26 @@ GEM
rspec (>= 2.0, < 4.0)
jsonapi-serializer (2.2.0)
activesupport (>= 4.2)
jwt (2.6.0)
knapsack_pro (3.6.0)
jwt (2.7.1)
knapsack_pro (5.1.2)
rake
language_server-protocol (3.17.0.3)
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)
link_header (0.0.8)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.19.1)
loofah (2.21.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
nokogiri (>= 1.12.0)
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,24 +407,27 @@ GEM
rake
mini_magick (4.11.0)
mini_mime (1.1.2)
mini_portile2 (2.8.1)
mini_racer (0.4.0)
libv8-node (~> 15.14.0.0)
minitest (5.16.3)
mini_portile2 (2.8.2)
minitest (5.18.1)
monetize (1.12.0)
money (~> 6.12)
money (6.16.0)
i18n (>= 0.6.4, <= 2)
msgpack (1.6.0)
msgpack (1.7.1)
multi_json (1.15.0)
multi_xml (0.6.0)
net-protocol (0.1.3)
timeout
net-smtp (0.3.2)
net-imap (0.3.6)
date
net-protocol
nio4r (2.5.8)
nokogiri (1.13.10)
mini_portile2 (~> 2.8.0)
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.9)
nokogiri (1.15.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oauth2 (1.4.11)
faraday (>= 0.17.3, < 3.0)
@@ -426,13 +435,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,14 +459,15 @@ 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)
parallel (1.23.0)
paranoia (2.6.2)
activerecord (>= 5.1, < 7.1)
parser (3.1.3.0)
parser (3.2.2.3)
ast (~> 2.4.1)
racc
paypal-sdk-core (0.3.4)
multi_json (~> 1.0)
xml-simple
@@ -467,16 +480,19 @@ GEM
ruby-rc4
ttfunk
pg (1.2.3)
power_assert (2.0.2)
private_address_check (0.5.0)
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.3.0)
nio4r (~> 2.0)
query_count (1.1.1)
activerecord (>= 4.2)
railties (>= 4.2)
raabro (1.4.0)
racc (1.6.1)
rack (2.2.4)
racc (1.7.1)
rack (2.2.7)
rack-mini-profiler (2.3.4)
rack (>= 1.2.0)
rack-oauth2 (1.21.3)
@@ -485,74 +501,78 @@ GEM
httpclient
json-jwt (>= 1.11.0)
rack (>= 2.1.0)
rack-protection (2.1.0)
rack-protection (3.0.5)
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-test (2.1.0)
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 (7.0.6)
actioncable (= 7.0.6)
actionmailbox (= 7.0.6)
actionmailer (= 7.0.6)
actionpack (= 7.0.6)
actiontext (= 7.0.6)
actionview (= 7.0.6)
activejob (= 7.0.6)
activemodel (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
bundler (>= 1.15.0)
railties (= 6.1.7)
sprockets-rails (>= 2.0.0)
railties (= 7.0.6)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
activesupport (>= 5.0.1.rc1)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
rails-dom-testing (2.1.1)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-erd (1.7.2)
activerecord (>= 4.2)
activesupport (>= 4.2)
choice (~> 0.2.0)
ruby-graphviz (~> 1.2)
rails-html-sanitizer (1.4.4)
loofah (~> 2.19, >= 2.19.1)
rails-i18n (7.0.6)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (7.0.7)
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 (7.0.6)
actionpack (= 7.0.6)
activesupport (= 7.0.6)
method_source
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
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.1)
reline (0.3.2)
rdf (3.2.9)
link_header (~> 0.0, >= 0.0.8)
redcarpet (3.6.0)
redis (4.8.1)
redis-client (0.14.1)
connection_pool
regexp_parser (2.8.1)
reline (0.3.3)
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 +583,62 @@ 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.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
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.5)
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.3)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.12)
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.3)
rswag-api (2.8.0)
rspec-support (3.12.0)
rswag-api (2.9.0)
railties (>= 3.1, < 7.1)
rswag-specs (2.8.0)
rswag-specs (2.9.0)
activesupport (>= 3.1, < 7.1)
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rspec-core (>= 2.14)
rswag-ui (2.8.0)
rswag-ui (2.9.0)
actionpack (>= 3.1, < 7.1)
railties (>= 3.1, < 7.1)
rubocop (1.41.1)
rubocop (1.54.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.1.2.1)
parser (>= 3.2.2.3)
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.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.24.0)
parser (>= 3.1.1.0)
rubocop-rails (2.17.4)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
rubocop-rails (2.20.2)
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)
@@ -625,6 +646,9 @@ GEM
rubyzip (2.3.2)
rufus-scheduler (3.8.2)
fugit (~> 1.1, >= 1.1.6)
sanitize (6.0.2)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
sass (3.4.25)
sass-rails (5.0.8)
railties (>= 5.2.0)
@@ -636,14 +660,14 @@ GEM
semantic_range (3.0.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.1.2)
concurrent-ruby (< 2)
connection_pool (>= 2.3.0)
rack (>= 2.2.4)
redis-client (>= 0.14.0)
sidekiq-scheduler (5.0.3)
rufus-scheduler (~> 3.2)
sidekiq (>= 4, < 7)
sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
simplecov (0.22.0)
docile (~> 1.1)
@@ -654,7 +678,7 @@ GEM
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)
@@ -664,43 +688,41 @@ GEM
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
state_machines (0.5.0)
state_machines-activemodel (0.8.0)
activemodel (>= 5.1)
state_machines (>= 0.5.0)
state_machines-activerecord (0.8.0)
activerecord (>= 5.1)
state_machines-activemodel (>= 0.8.0)
stimulus_reflex (3.5.0.pre9)
actioncable (>= 5.2)
actionpack (>= 5.2)
actionview (>= 5.2)
activesupport (>= 5.2)
cable_ready (>= 5.0.0.pre9)
nokogiri
rack
railties (>= 5.2)
redis
stringex (2.8.5)
stripe (8.0.0)
state_machines (0.6.0)
state_machines-activemodel (0.9.0)
activemodel (>= 6.0)
state_machines (>= 0.6.0)
state_machines-activerecord (0.9.0)
activerecord (>= 6.0)
state_machines-activemodel (>= 0.9.0)
stimulus_reflex (3.5.0.rc2)
actioncable (>= 5.2, < 8)
actionpack (>= 5.2, < 8)
actionview (>= 5.2, < 8)
activesupport (>= 5.2, < 8)
cable_ready (>= 5.0.0.rc2)
nokogiri (~> 1.0)
rack (>= 2, < 4)
railties (>= 5.2, < 8)
redis (>= 4.0, < 6.0)
stringex (2.8.6)
stripe (8.5.0)
swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
temple (0.8.2)
test-unit (3.5.7)
power_assert
thor (1.2.1)
thor (1.2.2)
thread-local (1.1.0)
tilt (2.0.11)
tilt (2.1.0)
timecop (0.9.6)
timeout (0.3.0)
timeout (0.4.0)
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.6)
activemodel (>= 3.2)
mail (~> 2.5)
validate_email (0.1.6)
@@ -709,8 +731,8 @@ GEM
validate_url (1.0.15)
activemodel (>= 3.0.0)
public_suffix
vcr (6.1.0)
view_component (2.80.0)
vcr (6.2.0)
view_component (3.3.0)
activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
@@ -718,6 +740,8 @@ GEM
rails (>= 5.2, < 8.0)
stimulus_reflex (>= 3.5.0.pre2)
view_component (>= 2.28.0)
virtual_assembly-semantizer (1.0.4)
json-ld (~> 3.2, >= 3.2.3)
warden (1.2.9)
rack (>= 2.0.9)
web-console (4.2.0)
@@ -732,7 +756,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)
@@ -749,7 +773,7 @@ GEM
xml-simple (1.1.8)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.6)
zeitwerk (2.6.8)
PLATFORMS
ruby
@@ -762,7 +786,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
@@ -775,7 +799,7 @@ DEPENDENCIES
bootsnap
bugsnag
bullet
cable_ready (= 5.0.0.pre9)
cable_ready (= 5.0.0.rc2)
cancancan (~> 1.15.0)
capybara
catalog!
@@ -783,8 +807,8 @@ DEPENDENCIES
combine_pdf
cuprite
database_cleaner
datafoodconsortium-connector
db2fog!
ddtrace
debug (>= 1.0.0)
debugger-linecache
devise
@@ -795,6 +819,7 @@ DEPENDENCIES
digest
dotenv-rails
factory_bot_rails (= 6.2.0)
faraday
ffaker
flipper
flipper-active_record
@@ -803,7 +828,6 @@ DEPENDENCIES
foreman
fuubar (~> 2.5.1)
geocoder
gitlab-omniauth-openid-connect
gmaps4rails
good_migrations
haml
@@ -825,31 +849,31 @@ DEPENDENCIES
mime-types
mimemagic (> 0.3.5)
mini_portile2 (~> 2.8)
mini_racer (= 0.4.0)
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
pg (~> 1.2.3)
private_address_check
pry (~> 0.13.0)
puma
query_count
rack-mini-profiler (< 3.0.0)
rack-rewrite
rack-ssl
rack-timeout
rails (>= 6.1.4)
rails
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
@@ -873,10 +897,9 @@ DEPENDENCIES
spring
spring-commands-rspec
state_machines-activerecord
stimulus_reflex (= 3.5.0.pre9)
stimulus_reflex (= 3.5.0.rc2)
stringex (~> 2.8.5)
stripe
test-unit (~> 3.5)
timecop
valid_email2
vcr
@@ -891,7 +914,7 @@ DEPENDENCIES
wkhtmltopdf-binary
RUBY VERSION
ruby 3.0.3p157
ruby 3.1.4p223
BUNDLED WITH
2.1.4
2.4.3

View File

@@ -1,5 +1,5 @@
# Foreman Procfile. Start all dev server processes with: `foreman start`
rails: bundle exec rails s -p 3000
rails: DEV_CACHING=true bundle exec rails s -p 3000
webpack: ./bin/webpack-dev-server
sidekiq: bundle exec sidekiq -q mailers -q default
sidekiq: DEV_CACHING=true bundle exec sidekiq -q mailers -q default

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

@@ -12,5 +12,6 @@ angular.module("ofn.admin", [
"admin.orders"
]).config ($httpProvider, $locationProvider, $qProvider) ->
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"
# for the next line, you should also probably check file: app/assets/javascripts/admin/utils/utils.js.coffee
$locationProvider.hashPrefix('')
$qProvider.errorOnUnhandledRejections(false)

View File

@@ -7,7 +7,6 @@
// jquery and angular
//= require jquery2
//= require jquery_ujs
//= require jquery.ui.all
//= require jquery.powertip
//= require jquery.cookie
@@ -69,25 +68,6 @@
//= require textAngular.min.js
//= require i18n/translations
//= require darkswarm/i18n.translate.js
//= require moment/min/moment.min.js
//= require moment/locale/ar.js
//= require moment/locale/ca.js
//= require moment/locale/de.js
//= require moment/locale/en-gb.js
//= require moment/locale/es.js
//= require moment/locale/fil.js
//= require moment/locale/fr.js
//= require moment/locale/it.js
//= require moment/locale/nb.js
//= require moment/locale/nl-be.js
//= require moment/locale/pt-br.js
//= require moment/locale/pt.js
//= require moment/locale/ru.js
//= require moment/locale/sv.js
//= require moment/locale/tr.js
//= require moment/locale/pl.js
//= require js-big-decimal/dist/web/js-big-decimal.min.js
// foundation
//= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js

View File

@@ -113,7 +113,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
(DirtyProducts.count() > 0 and confirm(t("unsaved_changes_confirmation"))) or (DirtyProducts.count() == 0)
editProductUrl = (product, variant) ->
"/admin/products/" + product.permalink_live + ((if variant then "/variants/" + variant.id else "")) + "/edit"
"/admin/products/" + product.id + ((if variant then "/variants/" + variant.id else "")) + "/edit"
$scope.editWarn = (product, variant) ->
if confirm_unsaved_changes()
@@ -162,7 +162,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
if confirm(t("are_you_sure"))
$http(
method: "DELETE"
url: "/api/v0/products/" + product.permalink_live + "/variants/" + variant.id
url: "/api/v0/products/" + product.id + "/variants/" + variant.id
).then (response) ->
$scope.removeVariant(product, variant)
else
@@ -352,9 +352,6 @@ filterSubmitProducts = (productsToFilter) ->
if product.hasOwnProperty("inherits_properties")
filteredProduct.inherits_properties = product.inherits_properties
hasUpdatableProperty = true
if product.hasOwnProperty("available_on")
filteredProduct.available_on = product.available_on
hasUpdatableProperty = true
if filteredMaster?
filteredProduct.master_attributes = filteredMaster
hasUpdatableProperty = true

View File

@@ -1,5 +0,0 @@
angular.module("admin.dropdown").directive "linksDropdown", ($window)->
restrict: "C"
scope:
links: "="
templateUrl: "admin/links_dropdown.html"

View File

@@ -55,28 +55,12 @@ 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")
$scope.removePromoImage = ->
$scope.performEnterpriseAction("removePromoImage", "immediate_promo_image_removal_warning", "removed_promo_image_successfully")
$scope.removeTermsAndConditions = ->
$scope.performEnterpriseAction("removeTermsAndConditions", "immediate_terms_and_conditions_removal_warning", "removed_terms_and_conditions_successfully")
$scope.performEnterpriseAction = (enterpriseActionName, warning_message_key, success_message_key) ->
return unless confirm($scope.translation(warning_message_key))

View File

@@ -1,32 +0,0 @@
angular.module("admin.enterprises").directive 'termsAndConditionsWarning', ($rootScope, $compile, $templateCache, DialogDefaults, $timeout) ->
restrict: 'A'
scope: true
link: (scope, element, attr) ->
# This file input click handler will hold the browser file input dialog and show a warning modal
scope.hold_file_input_and_show_warning_modal = (event) ->
event.preventDefault()
scope.template = $compile($templateCache.get('admin/modals/terms_and_conditions_warning.html'))(scope)
if scope.template.dialog
scope.template.dialog(DialogDefaults)
scope.template.dialog('open')
$rootScope.$evalAsync()
element.bind 'click', scope.hold_file_input_and_show_warning_modal
# When the user presses continue in the warning modal, we open the browser file input dialog
scope.continue = ->
scope.template.dialog('close')
$rootScope.$evalAsync()
# unbind warning modal handler and click file input again to open the browser file input dialog
element.unbind('click').trigger('click')
# afterwards, bind warning modal handler again so that the warning is shown the next time
$timeout ->
element.bind 'click', scope.hold_file_input_and_show_warning_modal
return
scope.close = ->
scope.template.dialog('close')
$rootScope.$evalAsync()
return

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

@@ -11,5 +11,6 @@ angular.module("admin.indexUtils").factory 'SortOptions', ->
sortingExpr
toggle: (predicate) ->
@reverse = (@predicate == predicate) && !@reverse
# predicate is a string or an array of strings
@reverse = (JSON.stringify(@predicate) == JSON.stringify(predicate)) && !@reverse
@predicate = predicate

View File

@@ -9,41 +9,51 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.sharedResource = false
$scope.columns = Columns.columns
$scope.sorting = SortOptions
$scope.sorting.toggle("order_date")
$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.filterByVariantId = null
searchThrough = ["order_distributor_name",
"order_bill_address_phone",
"order_bill_address_firstname",
"order_bill_address_lastname",
"order_bill_address_full_name",
"variant_product_supplier_name",
"order_email",
"order_number",
"product_name"].join("_or_") + "_cont"
$scope.confirmRefresh = ->
LineItems.allSaved() || confirm(t("unsaved_changes_warning"))
$scope.initStartAndEnDate = ->
$scope.startDate = moment().startOf('day').subtract(7, 'days').format('YYYY-MM-DD')
$scope.endDate = moment().startOf('day').format('YYYY-MM-DD')
$scope.resetFilters = ->
$scope.distributorFilter = ''
$scope.supplierFilter = ''
$scope.orderCycleFilter = ''
$scope.quickSearch = ''
$scope.initStartAndEnDate()
event = new CustomEvent('flatpickr:change', {
detail: {
startDate: $scope.startDate,
endDate: $scope.endDate
}
})
$scope.query = ''
$scope.startDate = undefined
$scope.endDate = undefined
event = new CustomEvent('flatpickr:clear')
window.dispatchEvent(event)
$scope.resetSelectFilters = ->
$scope.resetFilters()
$scope.refreshData()
$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 = ->
$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
@@ -51,57 +61,52 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.dereferenceLoadedData()
$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')
# throw a flatpickr:change event to change the date back in the datepicker
event = new CustomEvent('flatpickr:change', {
detail: {
startDate: $scope.startDate,
endDate: $scope.endDate
}
})
window.dispatchEvent(event)
$scope.loadOrders = ->
return $scope.orders = [] unless $scope.line_items.length
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[#{searchThrough}]": $scope.query,
"q[variant_id_eq]": $scope.filterByVariantId if $scope.filterByVariantId,
"q[order_state_not_eq]": "canceled",
"q[order_shipment_state_not_eq]": "shipped",
"q[order_completed_at_not_null]": "true",
"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,
"q[s]": "order_completed_at desc",
"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
@@ -121,16 +126,16 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
else
StatusMessage.display 'failure', t "unsaved_changes_error"
$scope.cancelOrder = (order, sendEmailCancellation) ->
$scope.cancelOrder = (order, sendEmailCancellation, restock_items) ->
return $http(
method: 'GET'
url: "/admin/orders/#{order.number}/fire?e=cancel&send_cancellation_email=#{sendEmailCancellation}")
url: "/admin/orders/#{order.number}/fire?e=cancel&send_cancellation_email=#{sendEmailCancellation}&restock_items=#{restock_items}")
$scope.deleteLineItem = (lineItem) ->
if lineItem.order.item_count == 1
ofnCancelOrderAlert((confirm, sendEmailCancellation) ->
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) ->
if confirm
$scope.cancelOrder(lineItem.order, sendEmailCancellation).then(->
$scope.cancelOrder(lineItem.order, sendEmailCancellation, restock_items).then(->
$scope.refreshData()
)
else
@@ -152,14 +157,18 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
willCancelOrders = true if (order.item_count == itemsPerOrder.get(order).length)
if willCancelOrders
ofnCancelOrderAlert((confirm, sendEmailCancellation) ->
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) ->
if confirm
itemsPerOrder.forEach (items, order) =>
if order.item_count == items.length
$scope.cancelOrder(order, sendEmailCancellation).then(-> $scope.refreshData())
$scope.cancelOrder(order, sendEmailCancellation, restock_items).then(-> $scope.refreshData())
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) ->
@@ -174,6 +183,17 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.setSelectedUnitsVariant = (unitsProduct,unitsVariant) ->
$scope.selectedUnitsProduct = unitsProduct
$scope.selectedUnitsVariant = unitsVariant
$scope.filterByVariantId = unitsVariant.id
$scope.page = 1
$scope.refreshData()
$scope.resetSelectedUnitsVariant = ->
$scope.selectedUnitsProduct = { }
$scope.selectedUnitsVariant = { }
$scope.filterByVariantId = null
$scope.sharedResource = false
$scope.page = 1
$scope.refreshData()
$scope.getLineItemScale = (lineItem) ->
if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume")
@@ -219,7 +239,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
@@ -263,4 +283,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.changePage = (newPage) ->
$scope.page = newPage
$scope.refreshData()
$scope.resetSelectFilters()

View File

@@ -1,6 +0,0 @@
angular.module("admin.lineItems").filter "variantFilter", ->
return (lineItems,selectedUnitsProduct,selectedUnitsVariant,sharedResource) ->
filtered = []
filtered.push lineItem for lineItem in lineItems when (angular.equals(selectedUnitsProduct,{}) ||
(lineItem.units_product.id == selectedUnitsProduct.id && (sharedResource || lineItem.units_variant.id == selectedUnitsVariant.id ) ) )
filtered

View File

@@ -18,7 +18,6 @@ angular.module('admin.orderCycles')
$scope.submit = ($event, destination) ->
$event.preventDefault()
NavigationCheck.clear()
StatusMessage.display 'progress', t('js.saving')
OrderCycle.update(destination, $scope.order_cycle_form)

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

@@ -33,9 +33,11 @@ angular.module("admin.orderCycles").controller "OrderCyclesCtrl", ($scope, $q, C
StatusMessage.display 'notice', "You have unsaved changes" if newVal
$scope.showMore = (days) ->
orderCycles = OrderCycles.index(ams_prefix: "index",
"q[orders_close_at_gt]": "#{daysFromToday($scope.ordersCloseAtLimit - days)}",
"q[orders_close_at_lteq]": "#{daysFromToday($scope.ordersCloseAtLimit)}"
)
$scope.ordersCloseAtLimit -= days
existingIDs = Object.keys(OrderCycles.byID)
orderCycles = OrderCycles.index(ams_prefix: "index", "q[orders_close_at_gt]": "#{daysFromToday($scope.ordersCloseAtLimit)}", "q[id_not_in][]": existingIDs)
orderCycles.$promise.then ->
$scope.orderCycles.push(orderCycle) for orderCycle in orderCycles
compileData()

View File

@@ -33,6 +33,4 @@ angular.module('admin.orderCycles').factory('Enterprise', ($resource) ->
variantsOf: (product) ->
if product.variants.length > 0
variant.id for variant in product.variants
else
[product.master_id]
})

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

@@ -1,32 +0,0 @@
angular.module("admin.orders").controller "bulkInvoiceCtrl", ($scope, $http, $timeout) ->
$scope.createBulkInvoice = ->
$scope.invoice_id = null
$scope.poll = 1
$scope.loading = true
$scope.message = null
$scope.error = null
$scope.poll_wait = 5 # 5 Seconds between each check
$scope.poll_retries = 80 # Maximum checks before stopping
$http.post('/admin/orders/invoices', {order_ids: $scope.selected_orders}).then (response) ->
$scope.invoice_id = response.data
$scope.pollBulkInvoice()
$scope.pollBulkInvoice = ->
$timeout($scope.nextPoll, $scope.poll_wait * 1000)
$scope.nextPoll = ->
$http.get('/admin/orders/invoices/'+$scope.invoice_id+'/poll').then (response) ->
$scope.loading = false
$scope.message = t('js.admin.orders.index.bulk_invoice_created')
.catch (response) ->
$scope.poll++
if $scope.poll > $scope.poll_retries
$scope.loading = false
$scope.error = t('js.admin.orders.index.bulk_invoice_failed')
return
$scope.pollBulkInvoice()

View File

@@ -1,117 +0,0 @@
angular.module("admin.orders").controller "ordersCtrl", ($scope, $timeout, RequestMonitor, Orders, SortOptions, $window, $filter, $location, KeyValueMapStore) ->
$scope.RequestMonitor = RequestMonitor
$scope.pagination = Orders.pagination
$scope.orders = Orders.all
$scope.sortOptions = SortOptions
$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.selected_orders = []
$scope.checkboxes = {}
$scope.selected = false
$scope.select_all = false
$scope.poll = 0
$scope.rowStatus = {}
KeyValueMapStore.localStorageKey = 'ordersFilters'
KeyValueMapStore.storableKeys = ["q", "sorting", "page", "per_page"]
$scope.initialise = ->
unless KeyValueMapStore.restoreValues($scope)
$scope.setDefaults()
$scope.fetchResults()
$scope.setDefaults = ->
$scope.per_page = 15
$scope.q = {
completed_at_not_null: true
}
e = new CustomEvent("flatpickr_clear");
window.dispatchEvent(e)
$scope.clearFilters = () ->
KeyValueMapStore.clearKeyValueMap()
$scope.setDefaults()
$scope.fetchResults()
$scope.fetchResults = (page=1) ->
startDateWithTime = $scope.appendStringIfNotEmpty($scope.q?.completed_at_gteq, ' 00:00:00')
endDateWithTime = $scope.appendStringIfNotEmpty($scope.q?.completed_at_lteq, ' 23:59:59')
$scope.resetSelected()
params = {
'q[completed_at_gteq]': startDateWithTime,
'q[completed_at_lteq]': endDateWithTime,
'q[state_eq]': $scope.q?.state_eq,
'q[number_cont]': $scope.q?.number_cont,
'q[email_cont]': $scope.q?.email_cont,
'q[bill_address_firstname_start]': $scope.q?.bill_address_firstname_start,
'q[bill_address_lastname_start]': $scope.q?.bill_address_lastname_start,
# Set default checkbox values to null. See: https://github.com/openfoodfoundation/openfoodnetwork/pull/3076#issuecomment-440010498
'q[completed_at_not_null]': $scope.q?.completed_at_not_null || null,
'q[distributor_id_in][]': $scope.q?.distributor_id_in,
'q[order_cycle_id_in][]': $scope.q?.order_cycle_id_in,
'q[s]': $scope.sorting || 'completed_at desc',
shipping_method_id: $scope.q?.shipping_method_id,
per_page: $scope.per_page,
page: page
}
KeyValueMapStore.setStoredValues($scope)
RequestMonitor.load(Orders.index(params).$promise)
$scope.appendStringIfNotEmpty = (baseString, stringToAppend) ->
return baseString unless baseString
return baseString if baseString.endsWith(stringToAppend)
baseString + stringToAppend
$scope.resetSelected = ->
$scope.selected_orders.length = 0
$scope.selected = false
$scope.select_all = false
$scope.checkboxes = {}
$scope.toggleSelection = (id) ->
index = $scope.selected_orders.indexOf(id)
if index == -1
$scope.selected_orders.push(id)
else
$scope.selected_orders.splice(index, 1)
$scope.toggleAll = ->
$scope.selected_orders.length = 0
$scope.orders.forEach (order) ->
$scope.checkboxes[order.id] = $scope.select_all
$scope.selected_orders.push order.id if $scope.select_all
$scope.$watch 'sortOptions', (sort) ->
return unless sort && sort.predicate != ""
$scope.sorting = sort.getSortingExpr()
$scope.fetchResults()
, true
$scope.capturePayment = (order) ->
$scope.rowAction('capture', order)
$scope.shipOrder = (order) ->
$scope.rowAction('ship', order)
$scope.rowAction = (action, order) ->
$scope.rowStatus[order.id] = "loading"
Orders[action](order).$promise.then (data) ->
$scope.rowStatus[order.id] = "success"
$timeout(->
$scope.rowStatus[order.id] = null
, 1500)
, (error) ->
$scope.rowStatus[order.id] = "error"
$scope.changePage = (newPage) ->
$scope.page = newPage
$scope.fetchResults(newPage)

View File

@@ -1,5 +0,0 @@
angular.module("admin.orders").directive "invoicesModal", ($modal) ->
restrict: 'C'
link: (scope, elem, attrs, ctrl) ->
elem.on "click", (ev) =>
scope.uploadModal = $modal.open(templateUrl: 'admin/modals/bulk_invoice.html', controller: ctrl, scope: scope, windowClass: 'simple-modal')

View File

@@ -14,7 +14,4 @@ angular.module("admin.resources").factory 'EnterpriseResource', ($resource) ->
'removePromoImage':
url: '/api/v0/enterprises/:id/promo_image.json'
method: 'DELETE'
'removeTermsAndConditions':
url: '/api/v0/enterprises/:id/terms_and_conditions.json'
method: 'DELETE'
})

View File

@@ -63,4 +63,3 @@ angular.module("admin.resources").factory 'Enterprises', ($q, $filter, Enterpris
removeLogo: performActionOnEnterpriseResource(EnterpriseResource.removeLogo)
removePromoImage: performActionOnEnterpriseResource(EnterpriseResource.removePromoImage)
removeTermsAndConditions: performActionOnEnterpriseResource(EnterpriseResource.removeTermsAndConditions)

View File

@@ -1,15 +0,0 @@
$ ->
($ '#new_image_link').click (event) ->
event.preventDefault()
($ '.no-objects-found').hide()
($ this).hide()
$.ajax
type: 'GET'
url: @href
data: (
authenticity_token: AUTH_TOKEN
)
success: (r) ->
($ '#images').html r

View File

@@ -1,7 +0,0 @@
($ '#cancel_link').click (event) ->
event.preventDefault()
($ '.no-objects-found').show()
($ '#new_image_link').show()
($ '#images').html('')

View File

@@ -15,7 +15,7 @@ $(document).ready(function() {
console.log(msg);
});
}
$('[data-hook=admin_order_edit_form] a.ship').click(handle_ship_click);
$('.admin-order-edit-form a.ship').click(handle_ship_click);
//handle shipping method edit click
$('a.edit-method').click(toggleMethodEdit);
@@ -37,7 +37,7 @@ $(document).ready(function() {
console.log(msg);
});
}
$('[data-hook=admin_order_edit_form] a.save-method').click(handle_shipping_method_save);
$('.admin-order-edit-form a.save-method').click(handle_shipping_method_save);
//handle tracking info edit/delete
@@ -64,8 +64,8 @@ $(document).ready(function() {
return Spree.url( Spree.routes.orders_api + "/" + order_number + "/shipments/" + shipmentNumber + ".json");
}
$('[data-hook=admin_order_edit_form] a.save-tracking').click(saveTrackingInfo);
$('[data-hook=admin_order_edit_form] a.delete-tracking').click(deleteTrackingInfo);
$('.admin-order-edit-form a.save-tracking').click(saveTrackingInfo);
$('.admin-order-edit-form a.delete-tracking').click(deleteTrackingInfo);
// handle note edit/delete
@@ -96,8 +96,8 @@ $(document).ready(function() {
});
}
$('[data-hook=admin_order_edit_form] a.save-note').click(saveNote);
$('[data-hook=admin_order_edit_form] a.delete-note').click(deleteNote);
$('.admin-order-edit-form a.save-note').click(saveNote);
$('.admin-order-edit-form a.delete-note').click(deleteNote);
// Makes API call for notes/tracking info
makeApiCall = function(url, params) {

View File

@@ -4,7 +4,8 @@ $(document).ready(function() {
initAlert()
initConfirm()
initCancelOrder()
initButtonCancel()
initLinkCancel()
if ($('#variant_autocomplete_template').length > 0) {
window.variantTemplate = Handlebars.compile($('#variant_autocomplete_template').text());
@@ -99,6 +100,7 @@ adjustItems = function(shipment_number, variant_id, quantity, restock_item){
doAdjustItems(shipment_number, variant_id, quantity, inventory_units, restock_item, () => {
var redirectTo = new URL(Spree.routes.cancel_order.toString());
redirectTo.searchParams.append("send_cancellation_email", sendEmailCancellation);
redirectTo.searchParams.append("restock_item", restock_item);
window.location.href = redirectTo.toString();
});
}
@@ -250,6 +252,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")}
@@ -264,17 +278,23 @@ ofnConfirm = function(callback) {
$('#custom-confirm').show();
}
initCancelOrder = function() {
$('#cancel_order_form').submit(function(e){
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) => {
if (confirm) {
var redirectTo = new URL(Spree.routes.cancel_order.toString());
redirectTo.searchParams.append("send_cancellation_email", sendEmailCancellation);
redirectTo.searchParams.append("restock_items", restock_items);
window.location.href = redirectTo.toString();
}
});
e.preventDefault();
return false;
initCancelAction = function(e){
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) => {
if (confirm) {
var redirectTo = new URL(Spree.routes.cancel_order.toString());
redirectTo.searchParams.append("send_cancellation_email", sendEmailCancellation);
redirectTo.searchParams.append("restock_items", restock_items);
window.location.href = redirectTo.toString();
}
});
e.preventDefault();
return false;
};
initButtonCancel = function() {
$('#cancel_order_form').submit(initCancelAction)
}
initLinkCancel = function() {
$('#links-dropdown a[href$="cancel"]').click(initCancelAction);
}

View File

@@ -8,7 +8,7 @@ handle_move = (e, data) ->
node = data.rslt.o
new_parent = data.rslt.np
url = new URL(base_url)
url = new URL(Spree.routes.admin_taxonomy_taxons)
url.pathname = url.pathname + '/' + node.attr("id")
data = {
_method: "put",

View File

@@ -10,6 +10,12 @@ angular.module("admin.utils").directive "variantAutocomplete", ($timeout) ->
element.select2
placeholder: t('admin.orders.select_variant')
minimumInputLength: 3
formatInputTooShort: ->
t('admin.select2.minimal_search_length', count: 3)
formatSearching: ->
t('admin.select2.searching')
formatNoMatches: ->
t('admin.select2.no_matches')
ajax:
url: Spree.routes.variants_search
datatype: "json"

View File

@@ -5,8 +5,8 @@ angular.module("admin.utils").factory "StatusMessage", ->
alert: {style: {color: 'grey'}}
notice: {style: {color: 'grey'}}
success: {style: {color: '#9fc820'}}
failure: {style: {color: '#da5354'}}
error: {style: {color: '#da5354'}}
failure: {style: {color: '#C85136'}}
error: {style: {color: '#C85136'}}
statusMessage:
text: ""

View File

@@ -1,2 +1,4 @@
angular.module("admin.utils", ["templates", "ngSanitize"]).config ($httpProvider) ->
angular.module("admin.utils", ["templates", "ngSanitize"]).config ($httpProvider, $locationProvider) ->
# for the next line, you should also probably check file: app/assets/javascripts/admin/admin_ofn.js.coffee
$locationProvider.hashPrefix('')
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"

View File

@@ -0,0 +1,15 @@
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery2
//= require admin/spree/spree-select2
//= require admin/spree/handlebar_extensions
//= require i18n/translations
//= require darkswarm/i18n.translate.js
window.angular = { module: function(noop){ return { value: function(){} } } }

View File

@@ -29,24 +29,6 @@
#
#= require angular-flash.min.js
#
#= require moment/min/moment.min.js
#= require moment/locale/ar.js
#= require moment/locale/ca.js
#= require moment/locale/de.js
#= require moment/locale/en-gb.js
#= require moment/locale/es.js
#= require moment/locale/fil.js
#= require moment/locale/fr.js
#= require moment/locale/it.js
#= require moment/locale/nb.js
#= require moment/locale/nl-be.js
#= require moment/locale/pt-br.js
#= require moment/locale/pt.js
#= require moment/locale/ru.js
#= require moment/locale/sv.js
#= require moment/locale/tr.js
#= require moment/locale/pl.js
#
#= require modernizr
#
#= require foundation-sites/js/foundation.js
@@ -67,11 +49,3 @@ document.addEventListener "turbo:before-render", ->
rootscope = null
window.injector = null
true
document.addEventListener "ajax:beforeSend", (event) =>
window.Turbo.navigator.adapter.progressBar.setValue(0)
window.Turbo.navigator.adapter.progressBar.show()
document.addEventListener "ajax:complete", (event) =>
window.Turbo.navigator.adapter.progressBar.setValue(100)
window.Turbo.navigator.adapter.progressBar.hide()

View File

@@ -1,22 +0,0 @@
angular.module('Darkswarm').controller "AccordionCtrl", ($scope, localStorageService, $timeout, $document, CurrentHub) ->
$scope.accordionSections = ["details", "billing", "shipping", "payment"]
$scope.accordion = { details: true, billing: true, shipping: true, payment: true }
$scope.show = (section) ->
$scope.accordion[section] = true
$scope.scrollTo = (section) ->
# Scrolling is confused by our position:fixed top bar - add an offset to scroll
# to the correct location, plus 5px buffer
offset_height = $("nav.top-bar").height() + 5
$document.scrollTo($("##{section}"), offset_height, 400)
$scope.$on 'purchaseFormInvalid', (event, form) ->
# Scroll to first invalid section
for section in $scope.accordionSections
if not form[section].$valid
$scope.show section
$timeout ->
$scope.scrollTo(section)
, 50
break

View File

@@ -1,12 +0,0 @@
angular.module('Darkswarm').controller "BillingCtrl", ($scope, $timeout, $controller) ->
angular.extend this, $controller('FieldsetMixin', {$scope: $scope})
$scope.name = "billing"
$scope.nextPanel = "shipping"
$scope.summary = ->
[$scope.order.bill_address.address1,
$scope.order.bill_address.city,
$scope.order.bill_address.zipcode]
$timeout $scope.onTimeout

View File

@@ -1,43 +0,0 @@
angular.module('Darkswarm').controller "CheckoutCtrl", ($scope, localStorageService, Checkout, CurrentUser, CurrentHub, $http) ->
$scope.Checkout = Checkout
$scope.submitted = false
# Bind to local storage
$scope.fieldsToBind = ["bill_address", "email", "payment_method_id", "shipping_method_id", "ship_address"]
prefix = "order_#{Checkout.order.id}#{CurrentUser.id or ""}#{CurrentHub.hub.id}"
for field in $scope.fieldsToBind
localStorageService.bind $scope, "Checkout.order.#{field}", Checkout.order[field], "#{prefix}_#{field}"
localStorageService.bind $scope, "Checkout.ship_address_same_as_billing", true, "#{prefix}_sameasbilling"
localStorageService.bind $scope, "Checkout.default_bill_address", false, "#{prefix}_defaultasbilladdress"
localStorageService.bind $scope, "Checkout.default_ship_address", false, "#{prefix}_defaultasshipaddress"
$scope.order = Checkout.order # Ordering is important
$scope.secrets = Checkout.secrets
$scope.enabled = !!CurrentUser.id?
$scope.purchase = (event, form) ->
event.preventDefault()
$scope.formdata = form
$scope.submitted = true
if CurrentUser.id
$scope.validateForm(form)
else
$scope.ensureUserIsGuest()
$scope.validateForm = ->
if $scope.formdata.$valid
$scope.Checkout.purchase()
else
$scope.$broadcast 'purchaseFormInvalid', $scope.formdata
$scope.ensureUserIsGuest = (callback = null) ->
$http.post("/user/registered_email", {email: $scope.order.email})
.then (response)->
window.CableReady.perform(response.data)
.catch ->
$scope.validateForm() if $scope.submitted
callback() if callback

View File

@@ -1,8 +0,0 @@
angular.module('Darkswarm').controller "CountryCtrl", ($scope, availableCountries) ->
$scope.countries = availableCountries
$scope.countriesById = $scope.countries.reduce (obj, country) ->
obj[country.id] = country
obj
, {}

View File

@@ -1,24 +0,0 @@
angular.module('Darkswarm').controller "DetailsCtrl", ($scope, $timeout, $http, CurrentUser, SpreeUser, $controller) ->
angular.extend this, $controller('FieldsetMixin', {$scope: $scope})
$scope.name = "details"
$scope.nextPanel = "billing"
$scope.login_or_next = (event) ->
event.preventDefault()
unless CurrentUser.id
$scope.ensureUserIsGuest($scope.next)
return
$scope.next()
$scope.summary = ->
[$scope.fullName(),
$scope.order.email,
$scope.order.bill_address.phone]
$scope.fullName = ->
[$scope.order.bill_address.firstname ? null,
$scope.order.bill_address.lastname ? null].join(" ").trim()
$timeout $scope.onTimeout

View File

@@ -1,19 +0,0 @@
angular.module('Darkswarm').controller "PaymentCtrl", ($scope, $timeout, savedCreditCards, Dates, $controller) ->
angular.extend this, $controller('FieldsetMixin', {$scope: $scope})
$scope.savedCreditCards = savedCreditCards
$scope.name = "payment"
$scope.months = Dates.months
$scope.years = Dates.years
$scope.secrets.card_month = "1"
$scope.secrets.card_year = moment().year()
for card in savedCreditCards when card.is_default
$scope.secrets.selected_card = card.id
break
$scope.summary = ->
[$scope.Checkout.paymentMethod()?.name]
$timeout $scope.onTimeout

View File

@@ -1,11 +0,0 @@
angular.module('Darkswarm').controller "ShippingCtrl", ($scope, $timeout, ShippingMethods, $controller) ->
angular.extend this, $controller('FieldsetMixin', {$scope: $scope})
$scope.ShippingMethods = ShippingMethods
$scope.name = "shipping"
$scope.nextPanel = "payment"
$scope.summary = ->
[$scope.Checkout.shippingMethod()?.name]
$timeout $scope.onTimeout

View File

@@ -25,6 +25,8 @@ angular.module('Darkswarm').controller "OrderCycleChangeCtrl", ($scope, $rootSco
Cart.reloadFinalisedLineItems()
ChangeableOrdersAlert.reload()
$rootScope.$broadcast 'orderCycleSelected'
event = new CustomEvent('orderCycleSelected')
window.dispatchEvent(event)
$scope.closesInLessThan3Months = () ->
moment().diff(moment(OrderCycle.orders_close_at(), "YYYY-MM-DD HH:mm:SS Z"), 'days') > -75

View File

@@ -1,22 +0,0 @@
angular.module('Darkswarm').controller "PageSelectionCtrl", ($scope, $rootScope, $location) ->
$scope.selectedPage = ->
# The path looks like `/contact` for the URL `https://ofn.org/shop#/contact`.
# We remove the slash at the beginning.
page = $location.path()[1..]
return $scope.whitelist[0] unless page
# If the path points to an unrelated path like `/login`, stay where we were.
return $scope.lastPage unless page in $scope.whitelist
$scope.lastPage = page
page
$scope.whitelistPages = (pages) ->
$scope.whitelist = pages
$scope.lastPage = pages[0]
# when an order cycle is changed, ensure the shop tab is active to save a click
$rootScope.$on "orderCycleSelected", ->
if $scope.selectedPage() != "shop"
$location.path("shop")

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

@@ -2,6 +2,7 @@ angular.module('Darkswarm').factory "EnterpriseModal", ($modal, $rootScope, $htt
# Build a modal popup for an enterprise.
new class EnterpriseModal
open: (enterprise)->
return if enterprise.visible == 'hidden'
scope = $rootScope.$new(true) # Spawn an isolate to contain the enterprise
scope.embedded_layout = window.location.search.indexOf("embedded_shopfront=true") != -1

View File

@@ -55,6 +55,10 @@ angular.module('Darkswarm').factory "EnterpriseRegistrationService", ($http, Reg
).catch((response) ->
Loading.clear()
alert(t('failed_to_update_enterprise_unknown'))
if response.data.errors.instagram
igErr = document.querySelector("#instagram-error")
igErr.style.display = 'block'
igErr.textContent = response.data.errors.instagram[0]
)
prepare: =>

View File

@@ -33,9 +33,9 @@ angular.module('Darkswarm').factory 'Products', (OrderCycleResource, OrderCycle,
prices = (v.price for v in product.variants)
product.price = Math.min.apply(null, prices)
product.hasVariants = product.variants?.length > 0
product.primaryImage = product.images[0]?.small_url if product.images
product.primaryImage = product.image?.small_url if product.image
product.primaryImageOrMissing = product.primaryImage || "/noimage/small.png"
product.largeImage = product.images[0]?.large_url if product.images
product.largeImage = product.image?.large_url if product.image
dereference: ->
for product in @fetched_products

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,10 +0,0 @@
.ofn-drop-down
%span
%i.icon-check
{{ 'admin.actions' | t }}
%i{ 'ng-class' => "expanded && 'icon-caret-up' || !expanded && 'icon-caret-down'" }
%div.menu{ 'ng-show' => "expanded" }
%a.menu_item{ 'ng-repeat' => "link in links", href: '{{link.url}}', target: "{{link.target || '_self'}}", data: { method: "{{ link.method || 'get' }}", confirm: "{{link.confirm}}" } }
%span
%i{ ng: { class: "link.icon" } }
%span {{ link.name }}

View File

@@ -1,14 +0,0 @@
%div
.margin-bottom-30.text-center
.text-big
{{ 'js.admin.modals.terms_and_conditions_warning.title' | t }}
.margin-bottom-30
%p
{{ 'js.admin.modals.terms_and_conditions_warning.message_1' | t }}
.margin-bottom-30
%p
{{ 'js.admin.modals.terms_and_conditions_warning.message_2' | t }}
.text-center
%input.button.red{ type: 'button', value: t('js.admin.modals.close'), ng: { click: 'close()' } }
%input.button.red{ type: 'button', value: t('js.admin.modals.continue'), ng: { click: 'continue()' } }

View File

@@ -3,7 +3,7 @@
.seven.columns.alpha
%h5#status-message{ ng: { show: "StatusMessage.invalidMessage == ''", style: 'StatusMessage.statusMessage.style' } }
{{ StatusMessage.statusMessage.text || "&nbsp;" }}
%h5#status-message{ ng: { show: "StatusMessage.invalidMessage !== ''" }, style: 'color: #da5354' }
%h5#status-message{ ng: { show: "StatusMessage.invalidMessage !== ''" }, style: 'color: #C85136' }
{{ StatusMessage.invalidMessage || "&nbsp;" }}
.nine.columns.omega.text-right{ ng: { transclude: true } }

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

@@ -15,6 +15,6 @@
.columns.small-12.medium-6.large-6.product-img
%img{"ng-src" => "{{::product.largeImage}}", "ng-if" => "::product.largeImage"}
%img.placeholder{ src: "/noimage/large.png", "ng-if" => "::!product.largeImage"}
%img.placeholder{ src: Spree::Image.default_image_url(:large), "ng-if" => "::!product.largeImage"}
%ng-include{src: "'partials/close.html'"}

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,13 @@
# frozen_string_literal: true
class ScopedChannel < ApplicationCable::Channel
class << self
def for_id(id)
"ScopedChannel:#{id}"
end
end
def subscribed
stream_from "ScopedChannel:#{params[:id]}"
end
end

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: true
class SessionChannel < ApplicationCable::Channel
def self.for_request(request)
"SessionChannel:#{request.session.id}"
end
def subscribed
return reject if current_user.nil?
stream_from "SessionChannel:#{session_id}"
end
end

View File

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

View File

@@ -0,0 +1,10 @@
%div{ id: @id, "data-controller": "modal #{@controller}", "data-action": "keyup@document->modal#closeIfEscapeKey", "data-#{@controller}-reflex-value": @reflex }
.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, "data-reflex": @confirm_reflexes }

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

@@ -1,18 +1,26 @@
# 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 { |c|
@image = @product.image if product.image.present?
@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'
@@ -20,11 +28,30 @@ class ProductComponent < ViewComponentReflex::Component
when 'price'
@product.price
when 'unit'
"#{@product.unit_value} #{@product.variant_unit}"
"#{@product.variants.first.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 '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

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

View File

@@ -3,27 +3,36 @@
class ProductsTableComponent < ViewComponentReflex::Component
include Pagy::Backend
SORTABLE_COLUMNS = ["name"].freeze
SELECTABLE_COMUMNS = [{ 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" }].sort { |a, b|
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.import_date"), value: "import_date" }
].sort do |a, b|
a[:label] <=> b[:label]
}.freeze
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
NAME_COLUMN = {
label: I18n.t("admin.products_page.columns.name"), value: "name", sortable: true
}.freeze
def initialize(user:)
super
@user = user
@selectable_columns = SELECTABLE_COMUMNS
@columns_selected = ["price", "unit"]
@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" }] +
@@ -40,16 +49,20 @@ class ProductsTableComponent < ViewComponentReflex::Component
@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]
@@ -59,26 +72,33 @@ class ProductsTableComponent < ViewComponentReflex::Component
end
def click_sort
@sort = { column: element.dataset['sort-value'],
direction: element.dataset['sort-direction'] == "asc" ? "desc" : "asc" }
# 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
@@ -86,10 +106,13 @@ class ProductsTableComponent < ViewComponentReflex::Component
private
def refresh_columns
@columns = @columns_selected.map { |column|
{ label: I18n.t("admin.products_page.columns.#{column}"), value: column,
sortable: SORTABLE_COLUMNS.include?(column) }
}.sort! { |a, b| a[:label] <=> b[:label] }
@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
@@ -144,9 +167,13 @@ class ProductsTableComponent < ViewComponentReflex::Component
def product_query_includes
[
master: [:images],
variants: [:default_price, :stock_locations, :stock_items, :variant_overrides,
{ option_values: :option_type }]
:image,
variants: [
:default_price,
:stock_locations,
:stock_items,
:variant_overrides
]
]
end
end

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

@@ -11,9 +11,8 @@ module Admin
@line_items = order_permissions.
editable_line_items.where(order_id: orders).
includes(variant: { option_values: :option_type }).
ransack(params[:q]).result.
reorder('spree_line_items.order_id ASC, spree_line_items.id ASC')
includes(:variant).
ransack(params[:q]).result.order(:id)
@pagy, @line_items = pagy(@line_items) if pagination_required?
@@ -35,7 +34,8 @@ module Admin
# and https://www.postgresql.org/docs/current/static/sql-select.html#SQL-FOR-UPDATE-SHARE
order.with_lock do
if order.contents.update_item(@line_item, line_item_params)
render body: nil, status: :no_content # No Content, does not trigger ng resource auto-update
# No Content, does not trigger ng resource auto-update
render body: nil, status: :no_content
else
render json: { errors: @line_item.errors }, status: :precondition_failed
end

View File

@@ -18,6 +18,8 @@ module Admin
end
end
ContentConfig.updated_at = Time.zone.now
flash[:success] =
t(:successfully_updated, resource: I18n.t('admin.contents.edit.your_content'))

View File

@@ -2,6 +2,7 @@
require 'open_food_network/address_finder'
# rubocop:disable Metrics/ClassLength
module Admin
class CustomersController < Admin::ResourceController
before_action :load_managed_shops, only: :index, if: :html_request?
@@ -35,8 +36,10 @@ module Admin
end
def create
@customer = Customer.new(customer_params)
@customer = Customer.find_or_initialize_by(customer_params.slice(:email, :enterprise_id))
if user_can_create_customer?
@customer.created_manually = true
if @customer.save
tag_rule_mapping = TagRule.mapping_for(Enterprise.where(id: @customer.enterprise))
render_as_json @customer, tag_rule_mapping: tag_rule_mapping
@@ -67,7 +70,7 @@ module Admin
def collection
if json_request? && params[:enterprise_id].present?
CustomersWithBalance.new(managed_enterprise_id).query.
CustomersWithBalance.new(customers).query.
includes(
:enterprise,
{ bill_address: [:state, :country] },
@@ -79,6 +82,15 @@ module Admin
end
end
def customers
return @customers if @customers.present?
@customers = Customer.visible.managed_by(spree_current_user)
return @customers if params[:enterprise_id].blank?
@customers = @customers.where(enterprise_id: params[:enterprise_id])
end
def managed_enterprise_id
@managed_enterprise_id ||= Enterprise.managed_by(spree_current_user).
select('enterprises.id').find_by(id: params[:enterprise_id])
@@ -120,3 +132,4 @@ module Admin
end
end
end
# rubocop:enable Metrics/ClassLength

View File

@@ -7,6 +7,7 @@ module Admin
before_action :load_enterprise_fee_set, only: :index
before_action :load_data
before_action :check_enterprise_fee_input, only: [:bulk_update]
before_action :check_calculators_compatibility_with_taxes, only: [:bulk_update]
def index
@include_calculators = params[:include_calculators].present?
@@ -24,7 +25,6 @@ module Admin
format.json {
render_as_json @collection, controller: self, include_calculators: @include_calculators
}
# format.json { @presented_collection = @collection.each_with_index.map { |ef, i| EnterpriseFeePresenter.new(self, ef, i) } }
end
end
@@ -62,7 +62,7 @@ module Admin
when :for_order_cycle
order_cycle = OrderCycle.find_by(id: params[:order_cycle_id]) if params[:order_cycle_id]
coordinator = Enterprise.find_by(id: params[:coordinator_id]) if params[:coordinator_id]
order_cycle = OrderCycle.new(coordinator: coordinator) if order_cycle.nil? && coordinator.present?
order_cycle ||= OrderCycle.new(coordinator: coordinator) if coordinator.present?
enterprises = OpenFoodNetwork::OrderCyclePermissions.new(spree_current_user,
order_cycle).visible_enterprises
EnterpriseFee.for_enterprises(enterprises).order('enterprise_id', 'fee_type', 'name')
@@ -119,5 +119,17 @@ module Admin
end
end
end
def check_calculators_compatibility_with_taxes
enterprise_fee_bulk_params['collection_attributes'].each do |_, enterprise_fee|
next unless enterprise_fee['inherits_tax_category'] == "true"
next unless EnterpriseFee::PER_ORDER_CALCULATORS.include?(enterprise_fee['calculator_type'])
flash[:error] = I18n.t(
'activerecord.errors.models.enterprise_fee.inherit_tax_requires_per_item_calculator'
)
return redirect_to redirect_path
end
end
end
end

View File

@@ -16,7 +16,8 @@ module Admin
@enterprise_relationship = EnterpriseRelationship.new enterprise_relationship_params
if @enterprise_relationship.save
render plain: Api::Admin::EnterpriseRelationshipSerializer.new(@enterprise_relationship).to_json
render plain: Api::Admin::EnterpriseRelationshipSerializer
.new(@enterprise_relationship).to_json
else
render status: :bad_request,
json: { errors: @enterprise_relationship.errors.full_messages.join(', ') }

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]
@@ -29,10 +29,11 @@ module Admin
after_action :geocode_address_if_use_geocoder, only: [:create, :update]
helper 'spree/products'
include OrderCyclesHelper
def index
load_enterprise_set_on_index
respond_to do |format|
format.html
format.json {
@@ -45,10 +46,11 @@ module Admin
def edit
@object = Enterprise.where(permalink: params[:id]).
includes(users: [:ship_address, :bill_address]).first
@object.build_custom_tab if @object.custom_tab.nil?
if params[:stimulus]
@enterprise.is_primary_producer = params[:is_primary_producer]
@enterprise.sells = params[:enterprise_sells]
render operations: cable_car.morph("#side_menu", partial("admin/shared/side_menu"))
render cable_ready: cable_car.morph("#side_menu", partial("admin/shared/side_menu"))
.morph("#permalink", partial("admin/enterprises/form/permalink"))
end
end
@@ -62,6 +64,8 @@ module Admin
update_tag_rules(tag_rules_attributes) if tag_rules_attributes.present?
update_enterprise_notifications
delete_custom_tab if params[:custom_tab] == 'false'
if @object.update(enterprise_params)
flash[:success] = flash_message_for(@object, :successfully_updated)
respond_with(@object) do |format|
@@ -100,7 +104,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)
@@ -116,8 +121,12 @@ module Admin
def for_order_cycle
respond_to do |format|
format.json do
render json: @collection,
each_serializer: Api::Admin::ForOrderCycle::EnterpriseSerializer, order_cycle: @order_cycle, spree_current_user: spree_current_user
render(
json: @collection,
each_serializer: Api::Admin::ForOrderCycle::EnterpriseSerializer,
order_cycle: @order_cycle,
spree_current_user: spree_current_user
)
end
end
end
@@ -133,6 +142,11 @@ module Admin
protected
def delete_custom_tab
@object.custom_tab.destroy if @object.custom_tab.present?
enterprise_params.delete(:custom_tab_attributes)
end
def build_resource
enterprise = super
enterprise.address ||= Spree::Address.new
@@ -148,8 +162,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
@@ -161,7 +182,7 @@ module Admin
when :for_order_cycle
@order_cycle = OrderCycle.find_by(id: params[:order_cycle_id]) if params[:order_cycle_id]
coordinator = Enterprise.find_by(id: params[:coordinator_id]) if params[:coordinator_id]
@order_cycle = OrderCycle.new(coordinator: coordinator) if @order_cycle.nil? && coordinator.present?
@order_cycle ||= OrderCycle.new(coordinator: coordinator) if coordinator.present?
enterprises = OpenFoodNetwork::OrderCyclePermissions.new(spree_current_user, @order_cycle)
.visible_enterprises
@@ -169,7 +190,7 @@ module Admin
if enterprises.present?
enterprises.includes(
supplied_products:
[:supplier, { master: [:images], variants: { option_values: :option_type } }]
[:supplier, :variants, :image]
)
end
when :index
@@ -178,7 +199,8 @@ module Admin
editable_enterprises.
order('is_primary_producer ASC, name')
elsif json_request?
OpenFoodNetwork::Permissions.new(spree_current_user).editable_enterprises.ransack(params[:q]).result
OpenFoodNetwork::Permissions.new(spree_current_user)
.editable_enterprises.ransack(params[:q]).result
else
Enterprise.where("1=0")
end
@@ -186,7 +208,6 @@ module Admin
OpenFoodNetwork::Permissions.new(spree_current_user).visible_enterprises
.includes(:shipping_methods, :payment_methods).ransack(params[:q]).result
else
# TODO was ordered with is_distributor DESC as well, not sure why or how we want to sort this now
OpenFoodNetwork::Permissions.new(spree_current_user).
editable_enterprises.
order('is_primary_producer ASC, name')
@@ -307,7 +328,9 @@ module Admin
:producer_properties_attributes).nil?
names = Spree::Property.pluck(:name)
enterprise_params[:producer_properties_attributes].each do |key, property|
enterprise_params[:producer_properties_attributes].delete key unless names.include? property[:property_name]
unless names.include? property[:property_name]
enterprise_params[:producer_properties_attributes].delete key
end
end
end
end

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

@@ -37,8 +37,14 @@ module Admin
end
def reset_absent_products
@importer = ProductImport::ProductImporter.new(File.new(params[:filepath]),
spree_current_user, import_into: params[:import_into], enterprises_to_reset: params[:enterprises_to_reset], updated_ids: params[:updated_ids], settings: params[:settings])
@importer = ProductImport::ProductImporter.new(
File.new(file_path),
spree_current_user,
import_into: params[:import_into],
enterprises_to_reset: params[:enterprises_to_reset],
updated_ids: params[:updated_ids],
settings: params[:settings]
)
if params.key?(:enterprises_to_reset) && params.key?(:updated_ids)
@importer.reset_absent(params[:updated_ids])
@@ -56,8 +62,13 @@ module Admin
end
def process_data(method)
@importer = ProductImport::ProductImporter.new(File.new(params[:filepath]),
spree_current_user, start: params[:start], end: params[:end], settings: params[:settings])
@importer = ProductImport::ProductImporter.new(
File.new(file_path),
spree_current_user,
start: params[:start],
end: params[:end],
settings: params[:settings]
)
begin
@importer.public_send("#{method}_entries")
@@ -112,5 +123,25 @@ module Admin
def model_class
ProductImport::ProductImporter
end
def file_path
@file_path ||= validate_file_path(sanitize_file_path(params[:filepath]))
end
def sanitize_file_path(file_path)
FilePathSanitizer.new.sanitize(file_path, on_error: method(:raise_invalid_file_path))
end
def validate_file_path(file_path)
return file_path if file_path.to_s.match?(TEMP_FILE_PATH_REGEX)
raise_invalid_file_path
end
def raise_invalid_file_path
redirect_to '/admin/product_import', notice: I18n.t(:product_import_no_data_in_spreadsheet_notice)
raise 'Invalid File Path'
end
TEMP_FILE_PATH_REGEX = %r{^/tmp/product_import[A-Za-z0-9-]*/import\.csv$}
end
end

View File

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

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