Compare commits

...

6235 Commits

Author SHA1 Message Date
filipefurtad0
7320fa3f09 Update all locales with the latest Transifex translations 2025-10-17 10:17:14 +01:00
Rachel Arnould
c4c266246c Merge pull request #13507 from rioug/tag-rules-remove-angular
[Variant Tags] Remove angular from tag rule admin page
2025-10-15 23:16:05 +02:00
Gaetan Craig-Riou
b4a64185dd Merge pull request #13576 from dacook/test-log-level
Add env var option for test log level
2025-10-15 13:40:23 +11:00
Gaetan Craig-Riou
a905acb56e Merge pull request #13601 from openfoodfoundation/dependabot/bundler/redis-5.4.1
Bump redis from 5.2.0 to 5.4.1
2025-10-15 13:22:37 +11:00
Ahmed Ejaz
067fa80d0f Merge pull request #13458 from rioug/docker-upgrade-postgres
Docker upgrade postgres
2025-10-15 02:24:16 +05:00
dependabot[bot]
980cc9c724 Bump redis from 5.2.0 to 5.4.1
Bumps [redis](https://github.com/redis/redis-rb) from 5.2.0 to 5.4.1.
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v5.2.0...v5.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 09:01:55 +00:00
Maikel
49d345e608 Merge pull request #13597 from deivid-rodriguez/fix-rspec-warning
Fix RSpec warning when running `Reporting::ReportRenderer.render_as` unit spec
2025-10-14 14:02:42 +11:00
David Cook
12a6f9ac40 Merge pull request #13593 from openfoodfoundation/dependabot/bundler/flipper-1.3.6
Bump flipper from 1.3.0 to 1.3.6
2025-10-14 14:02:01 +11:00
Maikel
7d4efe75c3 Merge pull request #13596 from deivid-rodriguez/upgrade-caniuse-lite-to-fix-webpack-warnings
Update caniuse-lite to fix `bin/webpack-dev-server` warnings
2025-10-14 14:01:39 +11:00
Maikel
2cd41f3b8f Merge pull request #13595 from deivid-rodriguez/migrate-old-rspec-syntax
Use supported RSpec syntax
2025-10-14 13:52:40 +11:00
Maikel
436d919fc3 Merge pull request #13594 from deivid-rodriguez/typo
Fix typo in getting started guide
2025-10-14 13:51:43 +11:00
Maikel Linke
7a12e7426f Pass actors instead of AR associations to Flipper
Apparently they removed support for checking collections of actors.
2025-10-14 13:32:51 +11:00
David Cook
bd58969fb5 Reduce test logging by default
These logs are rarely checked, and can take up a lot of disk space.

I wanted to reduce the dev log level too, but then realised it also affects the dev server stdout. So now the other suggestions seem like a good idea.. (eg link development.log to /dev/null)

Oh well, this change will at least reduce one source of unnecessary disk usage in a default installation, so I think worth doing.
2025-10-14 12:30:36 +11:00
David Cook
0a385cc67c Use same variable name as prod, staging and test 2025-10-14 12:07:12 +11:00
David Cook
be5a630b9d [fixup] shorter variable name 2025-10-14 12:06:14 +11:00
David Rodríguez
98889365f1 Fix RSpec warning when running Reporting::ReportRenderer.render_as unit spec
Before:

```
$ bundle exec rspec -e ".render_as"

(...)

Run options: include {:full_description=>/\.render_as/}
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 #<ActionController::BadRequest: report_format should be in [:csv, :json, :html, :xlsx, :pdf]>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /path/to/spec/lib/reports/report_renderer_spec.rb:34:in `block (3 levels) in <main>'.
.

Finished in 0.02544 seconds (files took 4.08 seconds to load)
1 example, 0 failures
```

After this patch:

```
$ bundle exec rspec -e ".render_as"

(...)

Run options: include {:full_description=>/\.render_as/}
.

Finished in 0.02488 seconds (files took 4.09 seconds to load)
1 example, 0 failures
```
2025-10-13 20:46:15 +02:00
David Rodríguez
9227660faf Update caniuse-lite to fix bin/webpack-dev-server warnings
This is the result of running:

$  npx update-browserslist-db@latest

And fixes warnings like

> Browserslist: caniuse-lite is outdated. Please run:
>   npx update-browserslist-db@latest
>   Why you should do it regularly: https://github.com/browserslist/update-db#readme

when running `bin/webpack-dev-server`.
2025-10-13 20:27:22 +02:00
David Rodríguez
bdafc1ff02 Use supported RSpec syntax
This spec was using a very old syntax no longer supported by RSpec. It's
not currently influencing specs result because the spec running into
the error is currently set as "pending". However, the spec is still run
and the error is still visible.

Fixing the syntax does not fix the spec, but lets it get a bit further.
2025-10-13 16:05:59 +02:00
David Rodríguez
9457b0505d Fix typo in getting started guide 2025-10-13 15:54:43 +02:00
dependabot[bot]
755116e713 Bump flipper from 1.3.0 to 1.3.6
Bumps [flipper](https://github.com/flippercloud/flipper) from 1.3.0 to 1.3.6.
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v1.3.0...v1.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 09:20:50 +00:00
David Cook
4852ee2c6e Merge pull request #13587 from mkllnk/json-response
Clean up request specs testing JSON
2025-10-13 14:24:26 +11:00
Maikel
9ba215316b Merge pull request #13513 from mkllnk/add-cqcm-staging-server
Add CQCM staging server to platforms to share data with
2025-10-13 13:42:12 +11:00
Maikel
084f7a8a47 Merge pull request #13590 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.22.0
Bump newrelic_rpm from 9.9.0 to 9.22.0
2025-10-13 10:05:50 +11:00
Gaetan Craig-Riou
7c60dfb75c Merge pull request #13591 from openfoodfoundation/dependabot/bundler/rack-2.2.20
Bump rack from 2.2.19 to 2.2.20
2025-10-13 09:55:05 +11:00
dependabot[bot]
e2410105ce Bump rack from 2.2.19 to 2.2.20
Bumps [rack](https://github.com/rack/rack) from 2.2.19 to 2.2.20.
- [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.19...v2.2.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 18:59:10 +00:00
dependabot[bot]
8b0207f4b1 Bump newrelic_rpm from 9.9.0 to 9.22.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.9.0 to 9.22.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.9.0...9.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 09:02:15 +00:00
Maikel Linke
d3319cfd69 Replace global spec helpers with faster let 2025-10-10 16:44:50 +11:00
Maikel Linke
378b5e656e Use already parsed JSON in specs
Existing helpers provide indifferent access already.
2025-10-10 16:44:08 +11:00
Maikel Linke
b2da57b496 Publish supplier of catalog item 2025-10-10 16:18:22 +11:00
Maikel Linke
c6a34cfe34 Move catalog_item builder into the right module 2025-10-10 16:18:22 +11:00
Maikel Linke
591a279927 DRY controller 2025-10-10 16:18:22 +11:00
Maikel Linke
86774b3e4e Tell data proxy the enterprise to update 2025-10-10 16:18:22 +11:00
Maikel Linke
2761cee5e6 Publish coordinates of addresses 2025-10-10 16:18:22 +11:00
Maikel Linke
9460d17417 Publish DFC endpoints as JSON 2025-10-10 16:18:22 +11:00
Maikel Linke
404c07a590 Spec DFC endpoint configuration
It looks like puma finds the file only under `/.well-known/dfc` and not
`/.well-known/dfc/` with a slash in staging environment while it works
here in dev and test.

And in any case, just placing the file in `public/` doesn't produce the
right content type.
2025-10-10 16:18:22 +11:00
Maikel Linke
f2f0d954c6 Move source of truth of platforms into one place
The first test tokens had an inconsistent client_id and I had to
introduce multiple mappings to get the right config. But that has been
harmonised and we can put the config in one place.
2025-10-10 16:18:22 +11:00
Maikel Linke
1028d42e35 Update test token for new dev client id 2025-10-10 16:18:22 +11:00
Maikel Linke
91ad63d1ed Use test token as source of truth for validity 2025-10-10 16:18:22 +11:00
Maikel Linke
2780ae78f7 Add CQCM production servers 2025-10-10 16:18:21 +11:00
Maikel Linke
bf661159c6 Notify data proxy of permission changes 2025-10-10 16:18:21 +11:00
Maikel Linke
ad78ef14ef Automate replacement of generated image URLs in Swagger doc 2025-10-10 16:18:21 +11:00
Maikel Linke
c7efa43cdb Add well-known config for SiB directory proxy 2025-10-10 16:18:21 +11:00
Maikel Linke
df6e553661 Add SuppliedProducts index endpoint 2025-10-10 16:18:21 +11:00
Maikel Linke
4d59343f6c List enterprises on DFC API 2025-10-10 16:18:21 +11:00
Maikel Linke
44d29e98e0 Fix publishing all enterprises when listing catalog 2025-10-10 16:18:21 +11:00
Maikel Linke
06c27d6aaf Spec current publish of catalog of all enterprises 2025-10-10 16:18:21 +11:00
Maikel Linke
cb9edfaed8 Show DPM platforms enabled for user 2025-10-10 16:18:21 +11:00
Maikel Linke
51a3085452 Add CQCM staging server to platforms 2025-10-10 16:18:21 +11:00
Maikel
8ccceccd92 Merge pull request #13580 from openfoodfoundation/dependabot/bundler/digest-3.2.0
Bump digest from 3.1.1 to 3.2.0
2025-10-10 11:16:05 +11:00
Filipe
5e58f11006 Merge pull request #13474 from garethdavisrogers/add-report-name-and-details
Add report name and details
2025-10-09 12:42:22 +01:00
Ahmed Ejaz
5d8ecc5e5c Merge pull request #13584 from openfoodfoundation/fix/dependabot-pr-error
use pull_request_target to run action in context of the base repo rather than forked dependabot repo
2025-10-09 03:37:35 +05:00
Ahmed Ejaz
12e70d729a use pull_request_target to run action in context of the base repo rather than forked dependabot repo 2025-10-09 03:33:41 +05:00
Gareth Rogers
dc61580da1 Merge branch 'master' into add-report-name-and-details 2025-10-08 17:23:28 -04:00
Gareth
b956d6f21b Added test coverage, converted instance_double to double as we do not need the actual method 2025-10-08 17:17:04 -04:00
dependabot[bot]
b5e3681eab Bump digest from 3.1.1 to 3.2.0
Bumps [digest](https://github.com/ruby/digest) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/ruby/digest/releases)
- [Commits](https://github.com/ruby/digest/compare/v3.1.1...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 09:02:21 +00:00
Maikel
c45ac93a12 Merge pull request #13575 from mkllnk/hanging-specs
Deactivate Puffing Billy to avoid hanging specs
2025-10-08 16:54:18 +11:00
David Cook
60ee33053d Apply suggestions from code review 2025-10-08 14:15:56 +11:00
David Cook
a4ea311439 Add env var option for test log level
The test log level is already debug by default, but perhaps you don't want that because it results in a very large file over time, which isn't automatically cleaned up.

In that case, why not change the default, maybe to :info?
2025-10-08 14:02:05 +11:00
Maikel Linke
5b383237ea Deactivate Puffing Billy to avoid hanging specs 2025-10-08 13:26:37 +11:00
Maikel
de8029f877 Merge pull request #13564 from mkllnk/config-log
Make log-level configurable in staging
2025-10-08 13:24:56 +11:00
Gaetan Craig-Riou
d818162a9f Merge pull request #13568 from openfoodfoundation/dependabot/bundler/undercover-0.8.1
Bump undercover from 0.7.4 to 0.8.1
2025-10-08 09:56:22 +11:00
Gaetan Craig-Riou
9bd4d29027 Merge pull request #13567 from openfoodfoundation/dependabot/bundler/mime-types-3.7.0
Bump mime-types from 3.5.2 to 3.7.0
2025-10-08 09:51:59 +11:00
Gaetan Craig-Riou
742d442929 Merge pull request #13566 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.10
Bump rails-i18n from 7.0.9 to 7.0.10
2025-10-08 09:45:04 +11:00
Gaetan Craig-Riou
f08f744077 Merge pull request #13565 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.12.0
Bump jasmine-core from 5.11.0 to 5.12.0
2025-10-08 09:44:05 +11:00
Gaetan Craig-Riou
72ab0ba3f5 Merge pull request #13573 from openfoodfoundation/dependabot/bundler/rack-2.2.19
Bump rack from 2.2.18 to 2.2.19
2025-10-08 09:39:42 +11:00
dependabot[bot]
bb4b483469 Bump rack from 2.2.18 to 2.2.19
Bumps [rack](https://github.com/rack/rack) from 2.2.18 to 2.2.19.
- [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.18...v2.2.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 19:44:09 +00:00
Gareth Rogers
585073a326 Merge branch 'master' into add-report-name-and-details 2025-10-07 11:02:56 -04:00
Gareth
c3189892af Removed other rows for now. Can be added in future PRs 2025-10-07 11:01:55 -04:00
Gareth
417011909c Removed other filter rows. They weren't working and maybe not even relevant. The idea was to include order cycles and distributor ids as well, but it wasn't really requested so I'm taking it out. 2025-10-07 11:01:55 -04:00
Gareth
9ed612410f Changed default checking behavior of metadata controller 2025-10-07 11:01:55 -04:00
David Cook
7098cf2224 Merge pull request #13570 from openfoodfoundation/task/13521-move-dependabot-to-code-review
Remove project write permissions from Dependabot PR workflow
2025-10-07 10:12:55 +11:00
Ahmed Ejaz
4713e9046c Remove project write permissions from Dependabot PR workflow 2025-10-07 03:57:11 +05:00
David Cook
037030cf60 Merge pull request #13548 from mkllnk/test_rake
Configure rake specs in one place
2025-10-07 09:31:02 +11:00
dependabot[bot]
286f05d05c Bump undercover from 0.7.4 to 0.8.1
Bumps [undercover](https://github.com/grodowski/undercover) from 0.7.4 to 0.8.1.
- [Release notes](https://github.com/grodowski/undercover/releases)
- [Changelog](https://github.com/grodowski/undercover/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grodowski/undercover/compare/v0.7.4...v0.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:06:51 +00:00
dependabot[bot]
e9a750ce6d Bump mime-types from 3.5.2 to 3.7.0
Bumps [mime-types](https://github.com/mime-types/ruby-mime-types) from 3.5.2 to 3.7.0.
- [Changelog](https://github.com/mime-types/ruby-mime-types/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mime-types/ruby-mime-types/compare/v3.5.2...v3.7.0)

---
updated-dependencies:
- dependency-name: mime-types
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:06:17 +00:00
dependabot[bot]
8942f3c72b Bump rails-i18n from 7.0.9 to 7.0.10
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.9 to 7.0.10.
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.9...v7.0.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:05:35 +00:00
dependabot[bot]
23b2c8e11b Bump jasmine-core from 5.11.0 to 5.12.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.11.0 to 5.12.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/v5.11.0...v5.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:05:06 +00:00
Gaetan Craig-Riou
9a9e9763cc Merge pull request #13546 from openfoodfoundation/task/13521-move-dependabot-to-code-review
Automate Dependabot PRs to Code Review column via GitHub Action
2025-10-06 16:21:14 +11:00
Maikel Linke
90cd2e0ba2 Make log-level configurable in staging
The new comment and code come from the Rails 8.0 default files.
2025-10-06 15:20:25 +11:00
Maikel
8c02bde7f2 Merge pull request #13472 from openfoodfoundation/dependabot/bundler/rswag-ui-2.16.0
Bump rswag-ui from 2.13.0 to 2.16.0
2025-10-06 15:14:58 +11:00
dependabot[bot]
8c1e0bae92 Bump rswag-ui from 2.13.0 to 2.16.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.13.0 to 2.16.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.13.0...2.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 03:54:07 +00:00
Maikel
09c7288b11 Merge pull request #13471 from openfoodfoundation/dependabot/bundler/rspec-rails-7.1.1
Bump rspec-rails from 6.1.2 to 7.1.1
2025-10-06 14:51:22 +11:00
dependabot[bot]
d27ffe5fca Bump rspec-rails from 6.1.2 to 7.1.1
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.1.2 to 7.1.1.
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v6.1.2...v7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 02:34:38 +00:00
David Cook
6c94650e51 Merge pull request #13516 from mkllnk/lock-sprockets
Lock sprockets dependency to major version 3
2025-10-06 12:05:10 +11:00
Ahmed Ejaz
79bb469332 Update all locales with the latest Transifex translations 2025-10-06 03:54:40 +05:00
Ahmed Ejaz
2c4df63879 Add permissions for contents, pull-requests, and project in workflow 2025-10-06 03:35:57 +05:00
Ahmed Ejaz
9f5d73184f Add .secrets file to define GitHub secrets values locally 2025-10-04 19:24:07 +05:00
Ahmed Ejaz
4a5938c0f7 Add installation retrieval mode and payload for Dependabot token generation 2025-10-04 18:50:47 +05:00
Gareth Rogers
f414e04dea Merge branch 'master' into add-report-name-and-details 2025-10-01 09:54:51 -04:00
Filipe
ef4d3ec138 Merge pull request #13506 from chahmedejaz/task/13505-remove-stripe-redirect-monkey-patch
Remove Stripe redirect monkeypatch and ensure reliable checkout flow
2025-10-01 13:03:58 +01:00
Gareth Rogers
0a9eb173ea Add report name and details to CSV files 2025-10-01 13:59:43 +10:00
Gaetan Craig-Riou
f5a9ec7fa9 Merge pull request #13551 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.11.0
Bump jasmine-core from 5.10.0 to 5.11.0
2025-10-01 09:29:17 +10:00
filipefurtad0
e190b87f12 Update all locales with the latest Transifex translations 2025-09-29 15:54:51 +01:00
Filipe
ff2e0f4d45 Merge pull request #13533 from chahmedejaz/task/13435-sort-products-by-on-hand-amount
Sort product list by 'on hand' amount
2025-09-29 15:07:00 +01:00
dependabot[bot]
d50bcbb70a Bump jasmine-core from 5.10.0 to 5.11.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.10.0 to 5.11.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/v5.10.0...v5.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 10:21:25 +00:00
Ahmed Ejaz
782f813a15 Add Dependabot PR test event and update workflow for token generation 2025-09-29 11:35:48 +05:00
Gaetan Craig-Riou
9b0545c33f Merge pull request #13550 from openfoodfoundation/dependabot/bundler/rack-2.2.18
Bump rack from 2.2.14 to 2.2.18
2025-09-29 09:39:35 +10:00
Gaetan Craig-Riou
55f162ff4a Create tag when tag input lose focus
This reflect the current behaviour of the angular tag input.
Plus fix spec helper.
2025-09-29 09:36:19 +10:00
Gaetan Craig-Riou
ede7650fc9 Replace space by -, to match angular tag functionality 2025-09-29 09:36:12 +10:00
dependabot[bot]
7631fd422e Bump rack from 2.2.14 to 2.2.18
Bumps [rack](https://github.com/rack/rack) from 2.2.14 to 2.2.18.
- [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.14...v2.2.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-25 17:32:06 +00:00
Gaetan Craig-Riou
c2c2a9503c Rename stimulus controller based on the new shorter naming 2025-09-24 10:47:59 +10:00
Gaetan Craig-Riou
bc1823e276 Add http error handling
Because we are using fetch here to manually request turbo stream we have
to handle errors ourselves.
2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
01d5830480 Move turbo http error handling to its own file 2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
bad7369e67 Per review, fix tag rule filter spec 2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
ab65b2d745 Per review, fix various syntax/misspell 2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
f38aa73434 Per review, remove test class
It's better to use an anonymous class, and it also prevent the test
class from leaking the global namespace
2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
3862e0206c Limit to only one tag per tag rule 2025-09-24 10:46:34 +10:00
Gaetan Craig-Riou
3a0722f39c Remove tag related methods 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
42f7f2606b Remove reordering testing
This functionality has been removed
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
9d9f7e8717 Remove Angularjs files related to tag rules 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
0cf244b211 Document variant filtering rule behavior
Add test to conver scenario where we have conficting rules
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
646ba18b8a Fix bug, load tag rule types when update errors 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
8bd631fbb7 Clean up tag rule form component template
Consolidate everything in one template and move visibility options to
the component.
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
5c3acf38d7 Clean up stimulus usage
Use value and parameter when possible instead of relying on hidden
input
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
afdc40d230 Move helper function to component
It's only used in the component so there is no need to keep it as an
helper.
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
771573af1c Fix system spec to work with refactored screen 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
953122b6f6 Fix adding new rule
We separate the default tag rules and the various tag rule groups by an
index of 1000. This is so the previous group does not overlap with the
current group. Rails will managed the non continusly numbered
tag_rule_attributes param just fine. It saves us from having to manage
the numbering of tag_rule_attributes in javascript
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
75325e2935 Consolidate modal to add rule into a component 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
7e48007d09 Add new tag group and add rule to tag group 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
50ab0a494c Move tag rule group form to a component 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
d3ef744daf Display existing grouped tag rules 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
ccdd12bf59 Small improvment
- add value for preferred customer tags
- allow passing html options to preferred customer tags hidden field
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
b66b033999 Small improvement
- allow passing html options to the hidden field with the tags values,
  to be used to add stimulus directive
- dispatch an input event when the hidden field with tags value gets
  updated, it allows stimulus controller (or javascript) to react to
  update
2025-09-24 10:40:34 +10:00
Gaetan Craig-Riou
35d37639af Refactor tag rule filter input
Consolidated four partials into one
2025-09-24 10:38:53 +10:00
Gaetan Craig-Riou
6790cad089 Add deleting tag rule
TagRuleController is now a subclass of Spree::Admin::BaseController
because Admin::ResourceController did not play well with turbo_stream.
And to be honest we did not need all the functionality provided by the
ResourceController
2025-09-24 10:38:53 +10:00
Gaetan Craig-Riou
7087d1b290 Add default tag rule
I tried to leverage turbo as much as possible
2025-09-24 10:38:53 +10:00
Gaetan Craig-Riou
8f0cdf8722 Move individual tag rule form to a component 2025-09-24 10:38:53 +10:00
Gaetan Craig-Riou
25f6db09a5 TagListInputComponent removed dependency on the form
This allows us to use the component in a context where there is no form
object defined.
2025-09-24 10:38:47 +10:00
Gaetan Craig-Riou
11006c3a60 Display default rule 2025-09-24 10:36:21 +10:00
Gaetan Craig-Riou
b2a3715a8b Fix bug
Don't add a leading coma when the tag list is empty
2025-09-24 10:36:21 +10:00
Gaetan Craig-Riou
693789d526 Merge pull request #13549 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-geosearch-4.2.2
Bump leaflet-geosearch from 4.2.1 to 4.2.2
2025-09-24 09:49:41 +10:00
dependabot[bot]
d26b407801 Bump leaflet-geosearch from 4.2.1 to 4.2.2
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: leaflet-geosearch
  dependency-version: 4.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 09:12:58 +00:00
Maikel Linke
6d284023fe Configure rake specs in one place
So we don't have to add it to every rake spec file.
2025-09-22 17:27:58 +10:00
Maikel Linke
570b72868b Simplify task loading code 2025-09-22 17:27:58 +10:00
Maikel Linke
286d9f8e7d Remove unneeded declaration of Rails environment task in specs 2025-09-22 17:27:58 +10:00
Ahmed Ejaz
b0c3265cdb update migration test to assert nil cvv_response_message for ineligible payments 2025-09-22 11:57:38 +05:00
Ahmed Ejaz
6bb709e85e update test description to reflect patching of redirect_auth_url in cvv_result 2025-09-22 11:57:37 +05:00
filipefurtad0
fe257162b7 Update all locales with the latest Transifex translations 2025-09-22 07:56:21 +01:00
Ahmed Ejaz
b510736a8d refactor migration to use SpreePayment model instead of Spree::Payment 2025-09-22 11:55:43 +05:00
Ahmed Ejaz
2df0078ea9 fix lint issues 2025-09-22 11:55:43 +05:00
Ahmed Ejaz
ca079e6e26 add migration to migrate cvv_message_response value to redirect_auth_url
- As per the patch, cvv_message_response contains 3D verification URL for those payments which require it. So need to migrate to the new column to maintain data integrity
2025-09-22 11:55:43 +05:00
Ahmed Ejaz
ac06126f59 replace cvv_response_message usage with redirect_auth_url 2025-09-22 11:55:43 +05:00
Ahmed Ejaz
aecb5f49c9 fix spec as per current response we get for cvv_result 2025-09-22 11:54:20 +05:00
Ahmed Ejaz
a18fd54916 Simplify redirect logic in PaymentsController 2025-09-22 11:54:20 +05:00
Ahmed Ejaz
626b802ea7 add redirect_auth_url column and replace cvv_response_message for redirection
- Added redirect_auth_url column to spree_payments table
- Updated payment redirection logic to use redirect_auth_url instead of cvv_response_message
- Cleans up old monkeypatch usage and improves Stripe checkout reliability
2025-09-22 11:54:20 +05:00
Ahmed Ejaz
28ab41c47f Potential fix for code scanning alert no. 253: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-09-18 03:17:22 +05:00
Ahmed Ejaz
17a85e9c1c Update GitHub Actions workflow to use specific Dependabot token and set organization name explicitly 2025-09-18 03:01:44 +05:00
Maikel
9e746d1b40 Merge pull request #13531 from rioug/better-stimulus-name-for-component
Load component stimulus controller with a shorter name
2025-09-17 17:10:37 +10:00
Filipe
273f78b214 Merge pull request #13530 from mkllnk/hub-address-feature
Remove retired hub_address feature
2025-09-16 17:23:42 +01:00
Filipe
bd1d9892a2 Merge pull request #13487 from rioug/security-241-fix-url-sanitization
Fix url sanitization for Stripe authorisation URL
2025-09-16 16:40:11 +01:00
David Cook
cb825df75b Merge pull request #13536 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-geosearch-4.2.1
Bump leaflet-geosearch from 4.2.0 to 4.2.1
2025-09-16 15:32:29 +10:00
Filipe
bfcadfd7c0 Merge pull request #13404 from cyrillefr/UnsavedChangesMustAppearOnRemovingSingleTagFromOrderCycle
Fixes Save button does not enable when removing only tag in OC
2025-09-15 13:27:26 +01:00
dependabot[bot]
255b5f1cd5 Bump leaflet-geosearch from 4.2.0 to 4.2.1
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: leaflet-geosearch
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 09:27:26 +00:00
Ahmed Ejaz
dffcd446fd Simplify backorderable priority SQL query in product sorting concern 2025-09-15 12:03:04 +05:00
Ahmed Ejaz
1987f0b667 Remove redundant SQL string checks in product sorting specs for clarity 2025-09-15 11:57:33 +05:00
Ahmed Ejaz
0b5efae8c4 Refactor sorting expectations in product_sort_by_stocks_spec for clarity and accuracy 2025-09-15 11:56:07 +05:00
Gaetan Craig-Riou
36bb7cb317 Fix vertical ellipsis menu compoenent spec 2025-09-15 10:46:16 +10:00
Ahmed Ejaz
49dbe1d039 Refactor comments for clarity in product sorting concerns 2025-09-15 02:15:03 +05:00
Ahmed Ejaz
c326aa6b23 Add comprehensive specs for sorting functionality 2025-09-15 01:59:40 +05:00
Ahmed Ejaz
ec91d717c7 Fix default sorting for 'on_hand' column to 'name asc' in admin products table 2025-09-13 01:31:38 +05:00
Ahmed Ejaz
da843d1ba1 Add sorting by stock levels using ransacker and update locale for 'on_hand' header 2025-09-13 01:11:21 +05:00
filipefurtad0
2c4b3ab8fc Update all locales with the latest Transifex translations 2025-09-12 08:41:29 +01:00
Gaetan Craig-Riou
1c7fbd1d2d Rename vertical ellipsis menu component files
There is no need to have a different name scheme to shorten stimulus
controller name. It's now inline with the other components
2025-09-10 15:27:56 +10:00
Gaetan Craig-Riou
8042dac74f Fix stimulus controller name to use the shorter version 2025-09-10 15:10:10 +10:00
Gaetan Craig-Riou
ad1ce00223 Generate a better stimulus name for component controller
Using the helper `definitionsFromContext` generate quite long name for
stimulus controller in component, ie :
`tag-list-input-component--tag-list-input`.
This custom loader will generate much more readable name, ie L
`tag-list-input`. It's expecting the following pattern :
ofn_component/ofn_controller.js and will fall back to the default
of replacing "_" by "- and "/" by "--" for controller not matching
the pattern.
2025-09-10 15:03:31 +10:00
Maikel Linke
d916ed2c96 Remove retired hub_address feature 2025-09-10 09:59:47 +10:00
Filipe
da66a2947c Merge pull request #13502 from cillian/replace-darker-background-disable-dynamically-inline-alert-page-alert-directives
Replace darker-background, disable-dynamically, inline-alert and page-alert Angular directives
2025-09-08 16:28:51 +01:00
David Cook
646d3b8ed9 Merge pull request #13524 from mkllnk/cleanup
Code cleanup
2025-09-08 14:31:34 +10:00
Gaetan Craig-Riou
1f15f094ce Per review, check the URL is from a stripe subdomain 2025-09-08 11:00:11 +10:00
filipefurtad0
adddee2c3c Update all locales with the latest Transifex translations 2025-09-05 09:52:44 +01:00
Cillian O'Ruanaidh
74e7bd5172 Update spec/system/consumer/shopping/cart_spec.rb test to use new disabled selector 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
66859f44ca Include LinkHelper which includes new :link_to_or_disable method to fix spec/views/spree/orders/edit.html.haml_spec.rb test 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
6f7a547e15 Add a :link_to_or_disabled helper method 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
c057c72321 Replace ofn-page-alert angular directive 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
7a3b4d394b Replace inline-alert angular directive 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
32e3fc0175 Replace disable-dynamically angular directive 2025-09-05 09:38:20 +01:00
Cillian O'Ruanaidh
23c9410a25 Replace darker-background angular directive 2025-09-05 09:38:20 +01:00
Maikel
7e9c5ea58b Merge pull request #13523 from filipefurtad0/content_spec_html
Adds coverage to homepage alert HTML content
2025-09-05 14:35:07 +10:00
Maikel Linke
6c313a1b5a Remove duplicate include of TimeHelpers in specs 2025-09-05 14:30:46 +10:00
Maikel Linke
244a88a1cd Removed unused user from report classes
We needed them for a feature toggle that doesn't exist anymore.
2025-09-05 14:29:01 +10:00
filipefurtad0
589315780c Adds coverage to homepage alert HTML content 2025-09-04 19:07:29 +01:00
Ahmed Ejaz
1654bb2b0a Rename job from 'move-pr-to-project' to 'move-pr-to-code-review' for clarity 2025-09-04 05:57:40 +05:00
Ahmed Ejaz
9f396a40b7 Update condition to move Dependabot PRs to Code Review for bump titles 2025-09-04 05:53:48 +05:00
Ahmed Ejaz
4bf1b7ac08 Add workflow to automatically move Dependabot PRs to Code Review 2025-09-04 05:53:28 +05:00
Gaetan Craig-Riou
2910082584 Merge pull request #13517 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.10.0
Bump jasmine-core from 5.9.0 to 5.10.0
2025-09-03 16:54:57 +10:00
dependabot[bot]
70b5fda632 Bump jasmine-core from 5.9.0 to 5.10.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.9.0 to 5.10.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/v5.9.0...v5.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 18:05:10 +00:00
Maikel Linke
8bc82685ae Bump sprockets from 3.7.2 to 3.7.5
Changelog: https://github.com/rails/sprockets/blob/3.x/CHANGELOG.md
2025-09-01 16:56:22 +10:00
Maikel Linke
63125705ac Lock version of sprockets 2025-09-01 16:54:44 +10:00
Maikel Linke
9bf2dad343 Update all locales with the latest Transifex translations 2025-08-29 15:15:19 +10:00
David Cook
05b3417f77 Merge pull request #13512 from mkllnk/remove-timecop-usage
Remove remaining Timecop usage
2025-08-29 14:09:50 +10:00
Maikel Linke
403aa6ac6f Remove remaining Timecop usage 2025-08-29 11:16:20 +10:00
Filipe
fbad3ee9f4 Merge pull request #13484 from cesarlr/patch-1
Update Gemfile.lock
2025-08-28 19:38:59 +01:00
Filipe
ddb8b2d08f Merge pull request #13496 from dacook/fix-link
Fix link to enterprise payment methods tab
2025-08-28 19:17:37 +01:00
Filipe
42c9ee033a Merge pull request #13503 from AndreyUsyaev/usandy/fix-i18n-sells-options
Fix missed I18n translations for enterprises sells options
2025-08-28 18:50:07 +01:00
Maikel Linke
524634b4ea Bump wkhtmltopdf-binary from 0.12.6.9 to 0.12.6.10 to support Debian 13 2025-08-28 11:46:21 +01:00
César López Ramírez
0b97171bb0 Update Gemfile.lock
Upgrade wkhtmltopdf-binary to support Ubuntu 24.04
2025-08-28 11:46:21 +01:00
Filipe
b0c7e29b0d Merge pull request #13468 from mkllnk/rails-config-updates
Add Rails 7.0 and 7.1 framework defaults
2025-08-28 11:44:44 +01:00
Andrey Usyaev
3d7799df19 Fix code review remarks 2025-08-27 13:21:44 +03:00
Andrey Usyaev
5f02d88a86 Fix missed I18n translations for enterprises sells options 2025-08-27 13:21:44 +03:00
Maikel
bdae8e6478 Merge pull request #13475 from mkllnk/dfc-sib-tokens
Accept tokens from Startin'Blox OIDC server
2025-08-27 14:55:30 +10:00
Gaetan Craig-Riou
053ef05baf Merge pull request #13480 from mkllnk/time-travel
Replace Timecop with Rails' time helpers
2025-08-27 09:34:58 +10:00
Ahmed Ejaz
7fcb31d563 Update all locales with the latest Transifex translations 2025-08-25 11:49:44 +05:00
Gaetan Craig-Riou
31a7374808 Merge pull request #13444 from garethdavisrogers/fix-docker-dependency-and-db-dev-env
Added cmake dep to dockerfile and added script for db:schema:load tha…
2025-08-25 14:10:10 +10:00
Gareth
e5ce06ae39 Updated branch 2025-08-22 12:49:24 -04:00
Gareth Rogers
5f64204d51 Merge branch 'master' into fix-docker-dependency-and-db-dev-env 2025-08-22 08:31:27 -04:00
Maikel Linke
94b75540e4 Replace Timecop with Rails' time helpers
Rails 4.1 added time helpers but we never bothered using them. But now
I'm getting rid of the Timecop dependency and use standard helpers.

Beware though that the new helpers always freeze time. When you travel
to a certain date then the clock stops ticking while Timecop maintained
the passing of time.

The freezing of time could cause problems if you are trying to enforce a
timeout. But all current specs don't seem affected.

In most cases, the freezing will make it easier to avoid flaky specs.
2025-08-22 16:57:04 +10:00
Maikel Linke
6e489d7770 Enforce required DFC permissions 2025-08-22 16:46:59 +10:00
Maikel Linke
81b1169e77 Configure undercover to exclude files 2025-08-22 16:13:20 +10:00
Maikel
4b558b4820 Merge pull request #13501 from openfoodfoundation/dependabot/npm_and_yarn/sha.js-2.4.12
Bump sha.js from 2.4.11 to 2.4.12
2025-08-22 16:12:26 +10:00
Maikel
e224b8f63b Merge pull request #13500 from openfoodfoundation/dependabot/npm_and_yarn/cipher-base-1.0.6
Bump cipher-base from 1.0.4 to 1.0.6
2025-08-22 16:11:30 +10:00
Maikel
80bb0606b4 Merge pull request #13499 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.4
Bump @floating-ui/dom from 1.7.3 to 1.7.4
2025-08-22 15:50:47 +10:00
dependabot[bot]
499fcc791e Bump sha.js from 2.4.11 to 2.4.12
Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
- [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/sha.js/compare/v2.4.11...v2.4.12)

---
updated-dependencies:
- dependency-name: sha.js
  dependency-version: 2.4.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 15:48:41 +00:00
dependabot[bot]
30dae3c3ea Bump cipher-base from 1.0.4 to 1.0.6
Bumps [cipher-base](https://github.com/crypto-browserify/cipher-base) from 1.0.4 to 1.0.6.
- [Changelog](https://github.com/browserify/cipher-base/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/cipher-base/compare/v1.0.4...v1.0.6)

---
updated-dependencies:
- dependency-name: cipher-base
  dependency-version: 1.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 15:23:41 +00:00
dependabot[bot]
af247c32a3 Bump @floating-ui/dom from 1.7.3 to 1.7.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.4/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 09:48:24 +00:00
Gareth
6f9dcf7e27 remove bundle check 2025-08-20 11:04:40 -04:00
Gareth
2d064bab64 Created a bundler service that runs once removing responsibilities from any other services. The bundler service always runs install which should still be pretty fast if nothing or only a few gems have changed. A healthcheck won't work unless bundler runs continuously which is impractical. Instead, a checksum is generated on bundle install and sentinels in the other services have a definite confirmation that bundle is complete. The nice thing about this approach is that web, webpack, and sidekiq (which share the same bundles dependencies) will not concurrently run bundle install solving dep install redundancies. 2025-08-20 10:13:20 -04:00
Gareth
b69eb9bdff Specified BUNDLE_PATH AND BUNDLE_APP_CONFIG in Dockerfile 2025-08-20 08:48:21 -04:00
David Cook
f79c1879bd Test that you can actually get to Stripe to connect your account
Well.. almost.
2025-08-20 13:06:59 +10:00
David Cook
646d538a3d Fix broken link
This link would go to the enterprise edit screen, but didn't successfully select the payment methods panel.

Ideally, the spec would try to follow the link and verify that you can see the Connect with Stripe button. But it opens the link in a new tab and I'm not sure how to test that.
2025-08-20 11:54:47 +10:00
David Cook
90288b8cbf Merge pull request #13492 from chahmedejaz/revert/dependabot/bundler/rexml-3.3.9
500 Error preventing check out with Stripe payment method
2025-08-19 10:50:09 +10:00
Ahmed Ejaz
c821b0a285 revert "Bump rexml from 3.2.9 to 3.3.9" 2025-08-19 05:27:58 +05:00
Gareth
b95d798a27 Fixed webpack service so that web relies on its bundles. This has re-enabled JS 2025-08-18 12:24:27 -04:00
Gareth
e1e4aeac1f Added conditions to sidekiq too as it races db as well. Everything seems functional now 2025-08-18 11:52:52 -04:00
Gareth
c7ae47053e Added health check to avoid docker container racing 2025-08-18 11:38:57 -04:00
Gareth Rogers
5892ae1800 Merge branch 'master' into fix-docker-dependency-and-db-dev-env 2025-08-18 09:32:21 -04:00
Gaetan Craig-Riou
c37376d67e Merge pull request #13485 from openfoodfoundation/dependabot/bundler/bullet-8.0.8
Bump bullet from 7.1.6 to 8.0.8
2025-08-18 13:58:39 +10:00
Gaetan Craig-Riou
d3a2c09f66 Upgrade to postgres 16
Postgres 16 is shipped with Ubuntu 24 which is the version we will be
moving to in production
2025-08-18 10:45:54 +10:00
Gaetan Craig-Riou
d596e692d8 Upgrade postgres to version 14
This is the version currently availablein Ubuntu 22
2025-08-18 10:45:24 +10:00
Gaetan Craig-Riou
2df95dcbab No need to expose the postgres port
There is no need to expose the port to the host, all container will be
running in the same network, so they will have access to database port.
2025-08-18 10:45:18 +10:00
Ahmed Ejaz
7aa9b164e6 Add scope for ordering products by stock levels and update admin table header for on_hand sorting 2025-08-17 07:16:46 +05:00
Gareth
74368f939b By creating the db in the container on composition, the first migration file rejects the schema of the empty database. All I had to do was remove db creation from docker so that db:prepare will default to creating open_food_network_dev from schema.rb rather than perceiving a mismatch from the precreated docker db 2025-08-15 14:23:13 -04:00
Gareth
cb02cd39fe Reverting unexpected change to schema.rb as requested 2025-08-15 12:27:10 -04:00
dependabot[bot]
49ec5b2089 Bump bullet from 7.1.6 to 8.0.8
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.6 to 8.0.8.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.6...8.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 09:56:17 +00:00
Maikel
92ef5fe3d5 Merge pull request #13483 from openfoodfoundation/dependabot/bundler/pdf-reader-2.15.0
Bump pdf-reader from 2.12.0 to 2.15.0
2025-08-15 10:29:09 +10:00
Filipe
ae477b7e52 Merge pull request #13455 from kirst-n/13366-only-load-necessary-flatpickr
Optimise loading of language-specific date pickers
2025-08-14 23:24:59 +01:00
Filipe
0e191e5fca Merge pull request #13459 from rioug/13454-fix-redeemeing-voucher-when-using-paypal
[VINE] Redeem voucher before redirecting to payment url
2025-08-14 16:30:22 +01:00
dependabot[bot]
64f9ea6fc0 Bump pdf-reader from 2.12.0 to 2.15.0
Bumps [pdf-reader](https://github.com/yob/pdf-reader) from 2.12.0 to 2.15.0.
- [Changelog](https://github.com/yob/pdf-reader/blob/main/CHANGELOG)
- [Commits](https://github.com/yob/pdf-reader/compare/v2.12.0...v2.15.0)

---
updated-dependencies:
- dependency-name: pdf-reader
  dependency-version: 2.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 10:01:32 +00:00
Maikel
058c6749da Merge pull request #13477 from openfoodfoundation/dependabot/bundler/timecop-0.9.10
Bump timecop from 0.9.8 to 0.9.10
2025-08-14 13:20:18 +10:00
Maikel
2d15ec4458 Merge pull request #13478 from openfoodfoundation/dependabot/bundler/activerecord-7.1.5.2
Bump activerecord from 7.1.5.1 to 7.1.5.2
2025-08-14 13:18:58 +10:00
dependabot[bot]
56eaa8bb98 Bump activerecord from 7.1.5.1 to 7.1.5.2
Bumps [activerecord](https://github.com/rails/rails) from 7.1.5.1 to 7.1.5.2.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v8.0.2.1/activerecord/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v7.1.5.1...v7.1.5.2)

---
updated-dependencies:
- dependency-name: activerecord
  dependency-version: 7.1.5.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 01:21:32 +00:00
Gaetan Craig-Riou
118e18a78e Tighten url validation
Per recommendation from https://github.com/openfoodfoundation/openfoodnetwork/security/code-scanning/241
2025-08-13 22:27:42 +10:00
Gaetan Craig-Riou
cbced144d5 Clean up styling 2025-08-13 22:21:35 +10:00
dependabot[bot]
1e1f1e1e1b Bump timecop from 0.9.8 to 0.9.10
Bumps [timecop](https://github.com/travisjeffery/timecop) from 0.9.8 to 0.9.10.
- [Changelog](https://github.com/travisjeffery/timecop/blob/master/History.md)
- [Commits](https://github.com/travisjeffery/timecop/compare/v0.9.8...v0.9.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 09:58:01 +00:00
Maikel Linke
1d2115766a Show product groups to platform user
I removed the caching of `managed_enterprises` in Permissions because
it's just a scope and calling it again is very cheap. And that makes the
method a lot easier to read now that we have a conditional here.

Accessing the managed enterprises via the user instead of a separate
scope on the Enterprise model also reduce the SQL queries. We may want
to use this method in more places. I prefer to keep the
admin-conditional in a permissions class instead of in the model.
2025-08-13 15:06:31 +10:00
Maikel Linke
6814ef43f4 Show addresses to platform users 2025-08-13 15:06:25 +10:00
Maikel Linke
c9e8294561 DRY with shared context 2025-08-13 15:02:09 +10:00
Maikel Linke
82d0e1bf68 Show enterprise to authorised platform user 2025-08-13 15:02:09 +10:00
Maikel Linke
b16e541a81 Show DFC catalog to authorised platform 2025-08-13 15:02:09 +10:00
Maikel Linke
c12d494de3 Demonstrate authentication as DFC client app 2025-08-13 15:02:09 +10:00
Maikel Linke
9be27842e1 Accepts tokens from Startin'Blox OIDC server
The API controllers don't know the new type of user yet and will raise
errors but we can work on that bit by bit.
2025-08-13 15:02:09 +10:00
Maikel Linke
2a7754edbf Add test for current token validation 2025-08-13 15:02:09 +10:00
Maikel Linke
cfeafbfc51 Update API docs with latest version 2025-08-13 15:02:08 +10:00
Maikel
1f8a9f9c76 Merge pull request #13470 from openfoodfoundation/dependabot/bundler/rack-2.2.14
Bump rack from 2.2.11 to 2.2.14
2025-08-13 12:45:59 +10:00
Maikel
b1893942ac Merge pull request #13469 from openfoodfoundation/dependabot/bundler/net-imap-0.4.20
Bump net-imap from 0.4.10 to 0.4.20
2025-08-13 12:40:50 +10:00
dependabot[bot]
ad59ed4d40 Bump rack from 2.2.11 to 2.2.14
Bumps [rack](https://github.com/rack/rack) from 2.2.11 to 2.2.14.
- [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.11...v2.2.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 00:02:14 +00:00
Maikel
8491a167ed Merge pull request #13350 from mkllnk/dfc-ui
Add permission module with example data
2025-08-13 10:00:53 +10:00
Maikel Linke
05b00f16ad Move config option to a better place 2025-08-12 20:24:16 +10:00
Maikel Linke
78fdaa68c8 Update config files with Rails 7.1 templates 2025-08-12 20:24:16 +10:00
dependabot[bot]
59277292fb Bump net-imap from 0.4.10 to 0.4.20
Bumps [net-imap](https://github.com/ruby/net-imap) from 0.4.10 to 0.4.20.
- [Release notes](https://github.com/ruby/net-imap/releases)
- [Commits](https://github.com/ruby/net-imap/compare/v0.4.10...v0.4.20)

---
updated-dependencies:
- dependency-name: net-imap
  dependency-version: 0.4.20
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 06:54:11 +00:00
Maikel Linke
e8813833fa Add Rails 7.1 framework defaults template 2025-08-12 15:43:45 +10:00
Gaetan Craig-Riou
354a7ab687 Merge pull request #13465 from openfoodfoundation/dependabot/bundler/fugit-1.11.1
Bump fugit from 1.8.1 to 1.11.1
2025-08-12 15:06:20 +10:00
Gaetan Craig-Riou
a5a1ee9bd9 Merge pull request #13462 from openfoodfoundation/dependabot/bundler/thor-1.4.0
Bump thor from 1.3.1 to 1.4.0
2025-08-12 15:02:23 +10:00
Gaetan Craig-Riou
ad3f78ef69 Merge pull request #13466 from openfoodfoundation/dependabot/bundler/uri-0.13.2
Bump uri from 0.13.0 to 0.13.2
2025-08-12 14:58:40 +10:00
Gaetan Craig-Riou
e02497b163 Merge pull request #13467 from openfoodfoundation/dependabot/bundler/rails-html-sanitizer-1.6.1
Bump rails-html-sanitizer from 1.6.0 to 1.6.1
2025-08-12 14:57:59 +10:00
Gaetan Craig-Riou
7d2d94398f Merge pull request #13464 from openfoodfoundation/dependabot/bundler/cgi-0.3.7
Bump cgi from 0.3.6 to 0.3.7
2025-08-12 14:49:47 +10:00
Gaetan Craig-Riou
0ecf004ff2 Merge pull request #13463 from openfoodfoundation/dependabot/bundler/rexml-3.3.9
Bump rexml from 3.2.9 to 3.3.9
2025-08-12 14:48:06 +10:00
dependabot[bot]
444f448207 Bump rails-html-sanitizer from 1.6.0 to 1.6.1
Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.6.0...v1.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:31:53 +00:00
dependabot[bot]
d9381b23d7 Bump uri from 0.13.0 to 0.13.2
Bumps [uri](https://github.com/ruby/uri) from 0.13.0 to 0.13.2.
- [Release notes](https://github.com/ruby/uri/releases)
- [Commits](https://github.com/ruby/uri/compare/v0.13.0...v0.13.2)

---
updated-dependencies:
- dependency-name: uri
  dependency-version: 0.13.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:31:50 +00:00
dependabot[bot]
6a9a2884d6 Bump fugit from 1.8.1 to 1.11.1
Bumps [fugit](https://github.com/floraison/fugit) from 1.8.1 to 1.11.1.
- [Changelog](https://github.com/floraison/fugit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/floraison/fugit/compare/v1.8.1...v1.11.1)

---
updated-dependencies:
- dependency-name: fugit
  dependency-version: 1.11.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:31:11 +00:00
dependabot[bot]
70edd4b898 Bump cgi from 0.3.6 to 0.3.7
Bumps [cgi](https://github.com/ruby/cgi) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/ruby/cgi/releases)
- [Commits](https://github.com/ruby/cgi/compare/v0.3.6...v0.3.7)

---
updated-dependencies:
- dependency-name: cgi
  dependency-version: 0.3.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:31:07 +00:00
dependabot[bot]
b57a2befd9 Bump rexml from 3.2.9 to 3.3.9
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.9 to 3.3.9.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.9...v3.3.9)

---
updated-dependencies:
- dependency-name: rexml
  dependency-version: 3.3.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:27:20 +00:00
dependabot[bot]
fef9a78198 Bump thor from 1.3.1 to 1.4.0
Bumps [thor](https://github.com/rails/thor) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/rails/thor/releases)
- [Commits](https://github.com/rails/thor/compare/v1.3.1...v1.4.0)

---
updated-dependencies:
- dependency-name: thor
  dependency-version: 1.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 04:24:48 +00:00
Maikel
dd86736170 Merge pull request #13461 from openfoodfoundation/dependabot/bundler/webrick-1.8.2
Bump webrick from 1.8.1 to 1.8.2
2025-08-12 13:54:23 +10:00
Maikel
0d8c7ef118 Merge pull request #13460 from openfoodfoundation/dependabot/bundler/nokogiri-1.18.9
Bump nokogiri from 1.16.5 to 1.18.9
2025-08-12 13:52:57 +10:00
dependabot[bot]
20730b8768 Bump webrick from 1.8.1 to 1.8.2
Bumps [webrick](https://github.com/ruby/webrick) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/ruby/webrick/releases)
- [Commits](https://github.com/ruby/webrick/compare/v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: webrick
  dependency-version: 1.8.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 03:43:07 +00:00
dependabot[bot]
ad7c69189b Bump nokogiri from 1.16.5 to 1.18.9
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.5 to 1.18.9.
- [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.16.5...v1.18.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 03:22:15 +00:00
Maikel Linke
a5f44cb9b2 Update inflection config to Rails 7.0 template 2025-08-12 12:49:06 +10:00
Maikel Linke
97d21d8cbe Update parameter filtering to Rails 7.0 template 2025-08-12 12:45:48 +10:00
Maikel Linke
7afdd13b64 Update CSP config with Rails 7.0 template 2025-08-12 12:41:24 +10:00
Maikel Linke
54c446f0a3 Update asset config to Rails 7.0 templates 2025-08-12 12:30:30 +10:00
Maikel Linke
4454c90575 Update test config with Rails 7.0 template 2025-08-12 12:22:23 +10:00
Maikel Linke
dd3a61acdf Update production config with Rails 7.0 default 2025-08-12 12:10:22 +10:00
Maikel Linke
6d8ddd1eda Update development config with Rails 7.0 defaults 2025-08-12 12:10:19 +10:00
Maikel Linke
b8e8ab15d1 Update environment config with Rails 7.0 default 2025-08-12 11:06:33 +10:00
Maikel Linke
bf1d2f3620 Update boot config from Rails 7.0 template 2025-08-12 10:59:46 +10:00
Maikel Linke
43026ddc6a Update application config with Rails 7.0 defaults 2025-08-12 10:56:34 +10:00
Maikel Linke
18b83d2423 Add Rails 7.0 framework defaults templates 2025-08-12 10:42:37 +10:00
Maikel Linke
3a72aefc1c Fail test when timeout reached
In this example it didn't matter but if we re-use the helper then it
needs to raise an error after the timeout has been reached.
2025-08-12 09:54:48 +10:00
David Cook
e855ea0dbd Merge pull request #13453 from mkllnk/rails-7.1
Allow only existing deprecations in Rails 7.1
2025-08-12 09:44:25 +10:00
David Cook
1eba950e19 Merge pull request #13451 from mkllnk/remove-person
Remove Person from product catalog
2025-08-12 09:42:40 +10:00
David Cook
9cd04c087e Merge pull request #13450 from mkllnk/engine-ruby-version
Losen engine gemspec requirement for Dependabot
2025-08-12 09:40:01 +10:00
David Cook
459d25e533 Merge pull request #13447 from mkllnk/cover-rake
Report code coverage on rake tasks
2025-08-12 09:37:51 +10:00
Kirst
b06e562425 Remove flatpickr controller test that isn't useful based on feedback 2025-08-11 20:29:11 +10:00
Kirst
2936cfebca Remove I18n assignment from flatpickr controller test from feedback 2025-08-11 20:29:11 +10:00
Kirst
b8ad428b5d Load only specified flatpickr locale
Dynamically import only the requested flatpickr locale.

English locale is bundled by default, so passing null triggers flatpickr's built-in English fallback without an explicit import.
2025-08-11 20:28:47 +10:00
Maikel Linke
ca34d24847 Replace long waits with better polling
Capybara polls under the hood as well. So we do something similar here
but tailored to the tested code. This reduced the test run time on my
machine from 35 seconds to 15 seconds.
2025-08-11 17:07:44 +10:00
Maikel Linke
6e581fce75 Remove unnecessary styling
The early dev versions of the DPM needed these styles. Now the module
looks fine without any additional styles.
2025-08-11 16:29:08 +10:00
Gaetan Craig-Riou
66041061fb Redeem VINE voucher before redirecting to payment url
When using paypal, we need to redeem the voucher before redirecting to
the payment gateway url, otherwise the voucher will never get redeemed.
2025-08-11 16:28:04 +10:00
Maikel Linke
e54c27c900 Use more precise regex 2025-08-11 16:23:08 +10:00
Maikel Linke
b3d3d6bf06 Allow DPM feature for specific users 2025-08-11 15:25:50 +10:00
Maikel Linke
5876c52318 Test all known scopes 2025-08-11 15:15:00 +10:00
Maikel Linke
842f4ae40e Re-enable CSRF check supported by DPM now 2025-08-11 15:13:35 +10:00
Maikel Linke
342ef4e9eb Complete smoke test of DFC data sharing
Working within a shadow root of the web component isn't well supported
by Capybara and I needed to find some workarounds. It's not pretty but
it works (on my machine). *fingers crossed*
2025-08-08 14:00:41 +10:00
Maikel Linke
210201514e Add gem capybara-shadowdom to access web component 2025-08-08 14:00:41 +10:00
Maikel Linke
2d3f18a71b Load DFC Permissions module in system spec
But we can't access the inside of the component yet.
2025-08-08 14:00:41 +10:00
Maikel Linke
9d284b7110 Set language to display scope labels 2025-08-08 14:00:41 +10:00
Maikel Linke
994f1ca6c6 Update scope ids 2025-08-08 14:00:41 +10:00
Maikel Linke
f65e4797cf Add feature toggle for DFC dev platform 2025-08-08 14:00:40 +10:00
Maikel Linke
52aeec5ac4 Update and list scopes for real 2025-08-08 14:00:40 +10:00
Maikel Linke
7032b3f463 Add endpoint to update scopes of platform
Dummy implementation only.
2025-08-08 14:00:40 +10:00
Maikel Linke
c26686b430 Add DfcPermission model to persist granted scopes 2025-08-08 14:00:38 +10:00
Maikel Linke
60c8f4ee20 Add DFC API endpoint for listing platforms
Only listing example JSON for now.

This is not part of the official DFC API but it's a DFC-related API and
therefore we put it in the same namespace.

The DFC Permission Module will make authenticated requests to grant
certain platforms certain permissions.
2025-08-08 14:00:01 +10:00
Maikel Linke
25f396c126 Add permission module with example data
It's basically just copied from the Readme file still pointing to the
development server and it's not interacting with OFN just yet.
2025-08-08 14:00:01 +10:00
Maikel Linke
0166abcd2a Remove deprecated and unnecessary config 2025-08-08 11:18:34 +10:00
Maikel Linke
4cd0071dd4 Allow only existing deprecations
* Allow deprecated cache_format_version
* Allow deprecated Rails.application.secrets
* Allow deprecated Passing the class as positional argument
* Allow deprecated alias_attribute with non-attribute targets
* Allow deprecated model aliases
* Allow deprecated action_dispatch.show_exceptions
2025-08-08 11:17:41 +10:00
Maikel Linke
32c96b72ad Update all locales with the latest Transifex translations 2025-08-08 10:24:04 +10:00
Maikel
30701d61e2 Merge pull request #13232 from chitty/rails7.1
Bump Rails to 7.1
2025-08-08 10:09:58 +10:00
Carlos Chitty
45b712ddcd Set latest invoce date explicitly in Orders::GenerateInvoiceService test
Solves CI failure:
https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14760883756/job/41441014958?pr=13232
2025-08-07 17:44:52 +02:00
Carlos Chitty
3153e99497 Update OpenOrderCycleJob test "syncing remote products" to expect 58 queries instead of 59
The main point of the test is to alert us if the query count increased (https://github.com/openfoodfoundation/openfoodnetwork/pull/13232#discussion_r2199896280).
The missing query in rails 7.1:

Spree::StockItem Load  SELECT "spree_stock_items"."id", "spree_stock_items"."variant_id", "spree_stock_items"."count_on_hand", "spree_stock_items"."created_at", "spree_stock_items"."updated_at", "spree_stock_items"."backorderable", "spree_stock_items"."deleted_at", "spree_stock_items"."lock_version" FROM "spree_stock_items" WHERE "spree_stock_items"."id" = $1 LIMIT $2 FOR UPDATE
2025-08-07 17:44:52 +02:00
Carlos Chitty
a2f263e081 User Rails.env.local?
https://github.com/rails/rails/pull/46786
Solves rubocop failure in rails 7.1 bump branch https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687970/job/41374340281?pr=13232
2025-08-07 17:44:52 +02:00
Carlos Chitty
3cb6a2617b Do not fail tests on deprecation warnings for the next rails version (7.2) 2025-08-07 17:44:52 +02:00
Carlos Chitty
420deca437 Bump rails from 7.0.8 to 7.1.5.1 2025-08-07 17:44:52 +02:00
Filipe
76aebf8a72 Merge pull request #13436 from chahmedejaz/task/13432-decommission-old-products-screen
Decommission Old Products UI and Related Code
2025-08-07 17:39:43 +02:00
Maikel Linke
1ec570375f Remove Person from product catalog
Early versions of the DFC standard demanded that all data is published
in relationship to the authenticated user. But that is not necessary
anymore and can add complications when a platform is authenticated as
client user.
2025-08-07 14:56:35 +10:00
Maikel Linke
75c33b29d5 Losen engine gemspec requirement for Dependabot
Dependabot doesn't seem to be able to resolve the version correctly. We
got this message:

```
Could not find compatible versions

Because every version of web depends on Ruby = 0.0.1
  and Gemfile depends on web >= 0,
  Ruby = 0.0.1 is required.
So, because current Ruby version is = 3.1.4,
  version solving has failed.
```
2025-08-07 12:59:32 +10:00
Maikel
1bfff91c72 Merge pull request #13449 from openfoodfoundation/dependabot/npm_and_yarn/tmp-0.2.4
Bump tmp from 0.2.1 to 0.2.4
2025-08-07 10:24:15 +10:00
Maikel Linke
d469552afc Fix schema version 2025-08-07 10:13:14 +10:00
Gareth
3750898c44 Looks like db:prepare never fully ran and that's why it did not work. The issue seems to be using foreman with web, webpack, and sidekiq in the same script. Though not dependent on each other, the build order or port assignment was causing web to exit early upon build 2025-08-06 15:21:30 -04:00
Gareth
d34f8900d7 divided foreman queued services into 3 containers. Web was exiting seemingly at random and seems to be a conflict between web, web-pack, and sidekiq being run through foreman. The division into 3 dev containers has been very consistent in building the project correctly 2025-08-06 15:05:45 -04:00
dependabot[bot]
e6cffde8fb Bump tmp from 0.2.1 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.1 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.1...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 18:31:11 +00:00
Maikel
910ded1a8c Typo
[skip ci]
2025-08-05 13:49:44 +10:00
Maikel Linke
2555a9e710 Ignore breaking code coverage for coverage spec
When we test our code coverage compilation, it breaks the code coverage
report for the current rspec process. By running that code separately,
we gain a correct coverage report for the rest of the code again.

So unfortunately, we can't report on the code coverage of this
particular task and have to ignore it. But at least CI depends on the
correct function of this task and would fail if it didn't work.
2025-08-05 12:45:05 +10:00
Maikel Linke
f532c4712e Load rake tasks only once for code coverage
Apparently, Rake's way of reloading the task code confuses the code
coverage report. Code tested by rake task specs was not recognised as
covered even though it was.
2025-08-05 12:44:13 +10:00
Gaetan Craig-Riou
3af28c4b5b Merge pull request #13441 from mkllnk/cover-more
Check more code for coverage
2025-08-04 16:49:56 +10:00
David Cook
63b864253d Merge pull request #13442 from mkllnk/puffing-billy
Add gem puffing-billy to record browser requests
2025-08-04 12:35:34 +10:00
David Cook
8efeec4301 Merge pull request #13440 from mkllnk/tidy
Remove unused test helper
2025-08-04 12:03:43 +10:00
Maikel Linke
bed33928e0 Declare simplecov as direct dependency
The undercover docs recommended to remove it from the Gemfile but that's
only valid if you use only undercover. We do rely directly on the
simplecov gem to generate reports though.
2025-08-04 11:55:26 +10:00
Maikel Linke
bb7a31b286 Update all locales with the latest Transifex translations 2025-08-01 12:37:40 +10:00
Ahmed Ejaz
75b2fe1dd4 revert API removals 2025-08-01 01:48:21 +05:00
Maikel Linke
c0924fbe5e Use new Undercover formatter for :nocov: support 2025-07-31 14:56:17 +10:00
Maikel Linke
d72bc49409 Compare coverage to upstream master when on fork 2025-07-31 14:56:17 +10:00
Maikel Linke
06867ff7ea Remove unnecessary simplecov filters
* /schemas doesn't exist.
* /lib/generators doesn't exist.
* /vendor doesn't contain rb files.
* /public doesn't contain rb files.
* /swagger doesn't contain rb files.
* /log doens't contain rb files.
2025-07-31 14:56:17 +10:00
Maikel Linke
76a1fe7767 Ignore inaccurate coverage of rake tasks
I tried several ways to get code coverage for rake tasks but I haven't
succeeded yet. Somehow rake is confusing simplecov.
2025-07-31 14:56:11 +10:00
Maikel Linke
3363c523ea Check more code for coverage
* ApplicationJob should be covered by tests.
* Spec should all be executed, except `xit` which should be avoided and
  can be flagged.
2025-07-31 14:53:51 +10:00
Maikel
91628f8daa Merge pull request #13443 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.3
Bump @floating-ui/dom from 1.7.2 to 1.7.3
2025-07-31 11:52:14 +10:00
Gareth
addf36a304 dummy commit for docker token check 2025-07-30 20:44:05 -04:00
Gareth
6a912b7d8c Added cmake dep to dockerfile and added script for db:schema:load that runs only if the schema is different than the latest migration 2025-07-30 20:12:53 -04:00
dependabot[bot]
f3dfbab109 Bump @floating-ui/dom from 1.7.2 to 1.7.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.3/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 10:00:39 +00:00
Maikel Linke
d01474ebcd Ignore Chrome's automatic requests to Google services 2025-07-30 12:25:34 +10:00
Maikel Linke
a062a7b697 Add Billy proxy to Chrome in system specs
And demonstrate the use of puffing-billy browser proxy.

Billy can cache and record responses to browser requests. For that to
work we need to allow network connections and disable VCR. But instead I
found that the Billy proxy is just like any other Ruby backend code and
its connections can be recorded with VCR instead.

And instead of stubbing requests via Billy.proxy, we can use standard
Webmock `stub_request`. Now we use puffing-billy just to relay browser
requests via our Ruby app.
2025-07-29 14:37:27 +10:00
Maikel Linke
fe8b805e1f Add gem puffing-billy 2025-07-29 14:37:27 +10:00
Maikel Linke
f3f43225cb Remove unused test helper 2025-07-29 13:42:51 +10:00
Maikel
65604f5b04 Merge pull request #13437 from dacook/remove-unused-method
Remove unused method
2025-07-28 16:29:15 +10:00
David Cook
661bb29029 Remove unused method
The name doesn't appear in the codebase so I guess it's unused.
2025-07-28 13:19:16 +10:00
Gaetan Craig-Riou
b725697972 Merge pull request #13433 from mkllnk/inventory-switch-august-4
Disable inventory only for future enterprises
2025-07-28 12:02:54 +10:00
David Cook
b8546db1e5 Update date for 11th Aug 2025-07-28 11:43:31 +10:00
Gaetan Craig-Riou
bc25a5ecd6 Merge pull request #13428 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.9.0
Bump jasmine-core from 5.8.0 to 5.9.0
2025-07-28 11:37:48 +10:00
Gaetan Craig-Riou
71de96e0a6 Merge pull request #13430 from openfoodfoundation/dependabot/npm_and_yarn/form-data-3.0.4
Bump form-data from 3.0.1 to 3.0.4
2025-07-28 10:50:12 +10:00
David Cook
23bcdc1cb7 Merge pull request #13434 from mkllnk/private-address-test
Provide open port for private address test
2025-07-28 09:27:07 +10:00
David Cook
60ac1c9fbe Merge pull request #13414 from mkllnk/remove-unused-hub
Remove unused instance variable
2025-07-28 09:22:15 +10:00
Ahmed Ejaz
fcd4d073c4 Update all locales with the latest Transifex translations 2025-07-27 08:02:49 +05:00
Ahmed Ejaz
df4cf4b768 Fix specs 2025-07-27 07:58:04 +05:00
Ahmed Ejaz
3f39d94bd3 Remove conditional rendering for previous page icon in pagination 2025-07-27 07:21:10 +05:00
Ahmed Ejaz
acfe3f6589 Remove admin_style_v3 feature toggle and related conditional logic 2025-07-27 07:20:16 +05:00
Ahmed Ejaz
1717c5376b Remove deprecated migrations for admin style v3 activation 2025-07-27 07:11:07 +05:00
Ahmed Ejaz
1426b6eeb7 Remove legacy admin styles in favor of v3 styling
Completes migration to the new admin v3 styling system by:
- Removing conditional stylesheet inclusion in admin head
- Deleting all legacy admin style files and components
- Making admin-style-v3 the default and only stylesheet

This change reduces maintenance overhead and simplifies the admin styling codebase by removing the old styling system that was being conditionally loaded based on feature flags.
2025-07-27 07:02:53 +05:00
Ahmed Ejaz
188b2eb754 Simplify pagination next button by removing conditional icon rendering 2025-07-27 06:44:02 +05:00
Ahmed Ejaz
6e055ddbdf Remove icon parameters from admin navigation tabs for simplification 2025-07-27 06:32:44 +05:00
Ahmed Ejaz
025fc784a8 Refactor products_return_to_url method to remove url_filters parameter and simplify usage in views 2025-07-27 06:26:12 +05:00
Ahmed Ejaz
fefd0239e6 Remove unused product image controller and directive; delete product image update route 2025-07-27 06:15:14 +05:00
Ahmed Ejaz
0fa67c69fd Remove bulk product update functionality
Removes the bulk product update feature and its associated components:
- Removes Angular-based bulk product editing controller and views
- Deletes bulk product API endpoints and related controller actions
- Removes product cloning and variant deletion functionality
- Removes associated JavaScript tests and specs

This appears to be part of a larger effort to modernize/simplify the product management interface, removing legacy Angular-based bulk editing in favor of a different approach.
2025-07-27 06:03:14 +05:00
Ahmed Ejaz
44cbe55c96 Update product routes and views for consistency and clarity 2025-07-27 05:25:50 +05:00
Filipe
56d3ac247d Merge pull request #13426 from cyrillefr/AlignPriceColumnTextToTheLeft
Align Cart Price column texts to the left
2025-07-24 22:51:36 +01:00
Filipe
0ed08f8f9d Merge pull request #13402 from mkllnk/hub-address
Hide the delivery address for pickup on checkout summary
2025-07-24 19:57:31 +01:00
Maikel Linke
667b49b7f1 Show hub address for pickup only when feature enabled 2025-07-24 15:24:32 +10:00
Maikel Linke
dd6d1ea64b Provide open port for private address test 2025-07-24 14:19:32 +10:00
Maikel Linke
f0dd1885c9 Fix: Check feature toggle for hub early 2025-07-24 13:41:26 +10:00
Maikel Linke
05b6200c8f Remove unused instance variable
I noticed this when reviewing another pull request.
2025-07-24 13:37:14 +10:00
Maikel Linke
fcd6897240 Prepare delivery details partial for conditional display 2025-07-24 13:30:40 +10:00
Maikel Linke
c23c773942 Simplify view code 2025-07-24 13:30:39 +10:00
Maikel
7af960fceb Merge pull request #13409 from filipefurtad0/sets_docker_no_sandbox_option_chrome
[Cuprite setup] Adds a DOCKER variable, to disable sandbox mode for system tests
2025-07-24 13:12:15 +10:00
Maikel Linke
45a0705379 Disable inventory only for future enterprises 2025-07-24 13:00:14 +10:00
Ahmed Ejaz
6da1200b64 Refactor product routes to remove feature toggle constraints and simplify access 2025-07-24 02:30:37 +05:00
Gaetan Craig-Riou
1cf31f4028 Merge pull request #13431 from dacook/bump-undercover
Bump undercover to 0.7.4
2025-07-23 10:36:19 +10:00
David Cook
6df71f28ca Bump undercover to 0.7.4
And its dependencies.
2025-07-23 09:42:06 +10:00
dependabot[bot]
9272d6d82f Bump form-data from 3.0.1 to 3.0.4
Bumps [form-data](https://github.com/form-data/form-data) from 3.0.1 to 3.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v3.0.4/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v3.0.1...v3.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 3.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 22:56:43 +00:00
Filipe
a8114e42a7 Merge pull request #13381 from rioug/add-feature-flag-inventory
Add feature flag to enable inventory
2025-07-21 17:59:54 +01:00
dependabot[bot]
17e02e7304 Bump jasmine-core from 5.8.0 to 5.9.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.8.0 to 5.9.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/v5.8.0...v5.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 10:36:34 +00:00
Gaetan Craig-Riou
6ba80f57b3 Disable Choose products from when inventory disabled 2025-07-21 13:47:28 +10:00
Gaetan Craig-Riou
d90200fb3f Disable Coordinator inventory when inventory is off 2025-07-21 11:41:30 +10:00
cyrillefr
08114b495a Align Cart Price column texts to the left 2025-07-17 14:17:57 +02:00
filipefurtad0
7b6b3d907c Update all locales with the latest Transifex translations 2025-07-15 18:58:34 +01:00
cyrillefr
8011449ce7 Adding a spec with one single tag
- need to add ids to ru the spec
2025-07-14 18:15:01 +02:00
Filipe
cf9ffd8931 Merge pull request #13419 from chahmedejaz/bugfix/13416-orders-page-inaccessible-by-admins
Orders page inaccessible as superadmin (error 504)
2025-07-14 13:50:51 +01:00
Ahmed Ejaz
e6b9373570 Refactor line items search to improve security and maintainability
Moves search field configuration from frontend to backend to prevent potential security issues with exposing internal field names. The change also improves maintainability by centralizing search logic in the controller.

Adds conditional logic to use name_alias for non-admin users when searching distributor names, enhancing data access control.
2025-07-13 18:07:14 +05:00
Ahmed Ejaz
ec44947b37 Add special handling for admin users in order permissions
Modifies order and line item permission logic to give admin users full access to all orders and line items, bypassing the regular complex joins queries to get orders editable by producers. These complex joins are needed for regular users but for user admins we need to return all orders.
2025-07-13 05:34:55 +05:00
Gaetan Craig-Riou
c0639b37bb Merge pull request #13412 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.15
Bump hotkeys-js from 3.13.14 to 3.13.15
2025-07-12 14:47:40 +10:00
filipefurtad0
38388be4da Only the .env.test.local file (not tracked) should be changed
This prevents contributors from inadvertently committing changes on the .env.test file (which is tracked)

Reverts changes to .env.test and changes README.md accordingly
2025-07-10 19:53:00 +01:00
filipefurtad0
352f1ba900 Adds a DOCKER env variable, to disable sandbox mode for system tests
Fixes rubocop offense - || instead of or

Comments out the DOCKER variable

Corrects the syntax for Markdown inline code
2025-07-10 19:53:00 +01:00
dependabot[bot]
7a0ecc777a Bump hotkeys-js from 3.13.14 to 3.13.15
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.14 to 3.13.15.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.14...v3.13.15)

---
updated-dependencies:
- dependency-name: hotkeys-js
  dependency-version: 3.13.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 09:41:28 +00:00
Gaetan Craig-Riou
aeefe841bf Merge pull request #13403 from chitty/cch/image_variant_url_for
Do not try to generate a URL for unpersisted blobs in development/test environment
2025-07-09 14:15:07 +10:00
Gaetan Craig-Riou
70757ccdef Add migration to enable inventory for existing Enterprises 2025-07-09 13:48:53 +10:00
Gaetan Craig-Riou
7450f8a530 Fix spec, enable inventory when needed 2025-07-09 13:43:18 +10:00
Gaetan Craig-Riou
618d597f6d ScopeVariantToHub require an Enterprise object
The hub parameter is used to check if inventory is enabled, so it breaks
if we just pass an id
2025-07-09 13:43:18 +10:00
Gaetan Craig-Riou
b7f969eed9 Move the inventory feature check to ScopeVariantToHub
Per review, the check is done on the same enterprise as the one use to
initialize ScopeVariantToHub. So it makes sense to move the actual
feature check to ScopeVariantToHub#scope
2025-07-09 13:43:12 +10:00
Gaetan Craig-Riou
b28e30cb6c Inventory is disabled by default
It will be enabled on release for existing Enterprises, we can use the
added group "enterprise_created_before_2025_07_04" to do so.
2025-07-09 11:35:27 +10:00
Gaetan Craig-Riou
681eee9309 Scope variant only when inventory is enabled
This wasn't pick up our specs, so I am not actually sure it's
usefull.Still for consistency sake we don't want to scope if inventory
is disabled
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
6937a133ae Move inventory enabled check to OpenFoodNetwork::ScopeVariantToHub 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
ddc45e1cd8 Post rebase, fix inventory landing page spec 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
28a11f1fee Enabled inventory by default
Currently inventory is enabled by default, but we enventually want to
disabled it by default. So we disable inventory for specs, it will be
enabled on specific specs to test inventory related code path.
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
1c4febd332 Enable inventory for variant override test 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
9e1de75db6 Scope variant only when inventory is enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
8829f6ad03 Only scope variant when inventory is enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
6212cd4d07 Only add variant override permission if inventory enabled
The permission shoul not be needed if inventory is disabled, but it will
prevent importing into the inventory if somehow we try to import into
inventory with inventory disabled.
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
29a24b7305 Scope variant to hub only when inventory enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
7c31c951a1 Refactor spec to use instance_double 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
33bac6f816 Fix specs to take into account inventory feature 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
a6f0a36b6d Enable inventory feature for inventory related specs 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
b253950075 Add feature flag for variant override specs 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
b19b987ed0 Remove variant rule type when inventory disabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
dc84d32028 Disable link to inventory related settings for enterprise
Metrics/CyclomaticComplexity is disabled on `enterprise_side_menu_items`
because even though there is a lot of branching it's still readable
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
82c99891eb Only scope with variant override when inventory enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
f30b899569 Disable inventory option for product import 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
cd8b7cd239 First step disable inventory 2025-07-09 11:35:26 +10:00
David Cook
d80481a106 Merge pull request #13405 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.2
Bump @floating-ui/dom from 1.7.1 to 1.7.2
2025-07-08 09:52:28 +10:00
David Cook
174be39c5e Merge pull request #13399 from openfoodfoundation/dependabot/npm_and_yarn/pbkdf2-3.1.3
Bump pbkdf2 from 3.1.1 to 3.1.3
2025-07-08 09:38:12 +10:00
Ahmed Ejaz
5f694276f1 Update all locales with the latest Transifex translations 2025-07-07 03:53:59 +05:00
Filipe
affb5d7281 Merge pull request #13338 from chahmedejaz/task/13287-add-producer-seller-ability-to-edit-orders
Allow producer who are also seller to edit their products on hubs' orders
2025-07-04 14:26:39 +01:00
Maikel
87b9eeb2f1 Merge pull request #13407 from rioug/fix-undercover-ci-step
CI - Do not run undercover CI step on the master branch
2025-07-02 11:04:29 +10:00
Gaetan Craig-Riou
81c75b2b71 Do not run undercover on the master branch
No need to compare master to itself.
2025-07-02 10:12:28 +10:00
dependabot[bot]
ec6d490676 Bump @floating-ui/dom from 1.7.1 to 1.7.2
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.2/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 12:15:11 +00:00
filipefurtad0
80aa8d71a5 Update all locales with the latest Transifex translations 2025-06-30 11:51:30 +01:00
Filipe
0408b74987 Merge pull request #13375 from chahmedejaz/task/13130-add-customer-email-and-phone-to-notify-producer-emails
Add customer email and phone to notify producer emails when enabled
2025-06-30 11:48:18 +01:00
cyrillefr
be0894653a Fixes Save button does not enable when removing only tag in OC 2025-06-30 12:41:41 +02:00
David Cook
9e9cc28062 Update spec/mailers/producer_mailer_spec.rb 2025-06-30 09:19:38 +02:00
Ahmed Ejaz
80fc0a5790 Exclude customer personal information from order summary in email 2025-06-30 09:19:38 +02:00
Ahmed Ejaz
5a13aa1c8a Add phone and email fields to customer order summary in ProducerMailer 2025-06-30 09:19:38 +02:00
Gaetan Craig-Riou
aabf3c861a Merge pull request #13398 from mkllnk/configure-wait-time
Increase default timeout in system specs
2025-06-30 13:34:41 +10:00
Gaetan Craig-Riou
01e4ca7d93 Merge pull request #13101 from filipefurtad0/adds_undercover_gem_to_the_stack
Adds undercover gem to the stack
2025-06-30 13:30:49 +10:00
Ahmed Ejaz
838e88a502 Refactor display_value_for_producer method to use Spree::Ability for supplier edit permissions 2025-06-29 19:41:41 +05:00
Ahmed Ejaz
4b19d38c58 Refactor variant creation in hub actions spec to use supplier association for clarity 2025-06-29 19:13:44 +05:00
Ahmed Ejaz
7725fae992 Refactor order cycle and order management abilities to improve producer edit permissions 2025-06-29 19:13:31 +05:00
Carlos Chitty
b43fa55a7b Do not try to generate a URL for unpersisted blobs in development/test environment
Explicitly raise an error in `image_variant_url_for` if an Active Storage variant's blob is not persisted.

This addresses `ArgumentError`/`URI::InvalidURIError` in Rails 7.1, which occurs when attempting to generate a URL for an unsaved Active Storage blob. By raising, we ensure existing error handling in calling methods (e.g., `Spree::Image#url`) can provide graceful fallbacks (default image URLs).

This should only affect test and development environments where blobs may not be immediately persisted. Tests in `SuppliedProductImporter` have been updated to reflect this behavior.

References:
  - Suggestion: https://github.com/openfoodfoundation/openfoodnetwork/pull/13232#discussion_r2071116581
  - Example of failing test due to this: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687958/job/41374346184?pr=13232
  - Related: https://github.com/rails/rails/issues/50234
2025-06-27 15:05:52 -04:00
filipefurtad0
1478990eac Removes fake method and spec 2025-06-27 12:29:32 +01:00
Maikel Linke
4a1e32e790 Spec fake method to show undercover working 2025-06-27 12:28:16 +01:00
filipefurtad0
75e0a71e10 Adds a fake method with no test coverage to test Undercover gem 2025-06-27 12:24:25 +01:00
filipefurtad0
e0efb34fe8 Adds undercover command to the build file
build setup patch
2025-06-27 12:24:22 +01:00
filipefurtad0
4cb9d870b4 Changes rake task to include merging of the lcov result files 2025-06-27 12:24:22 +01:00
filipefurtad0
5b7675cd9b Adds config file for undercover
undercover setup patch
2025-06-27 12:24:18 +01:00
filipefurtad0
b6fc117b17 Adds undercover gem to the gemfile 2025-06-25 14:58:23 +01:00
dependabot[bot]
d5c79be7d9 Bump pbkdf2 from 3.1.1 to 3.1.3
---
updated-dependencies:
- dependency-name: pbkdf2
  dependency-version: 3.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 09:47:41 +00:00
Maikel Linke
7d80033c8e Increase default timeout in system specs 2025-06-24 11:57:38 +10:00
Ahmed Ejaz
1b9d64ad5e Refactor search functionality in variants controller spec to include order_id for improved filtering 2025-06-21 16:39:15 +05:00
Ahmed Ejaz
c648249160 Refactor order view specs to improve clarity in expectations 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
765ce68c11 Add order_id to order controller, variant autocomplete, and search parameters for improved order management 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
020d90b957 Enhance line item management abilities by consolidating permissions for Spree::Order 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
8d407b1dc9 Fix lint issues 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
fe1b8aaab3 Add hub actions spec for producer order management functionality 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
ade35f2fa2 Fixes specs and update code respectively 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
cd01a27bdd Add distributor_name_alias to searchable attributes and implement ransacker for filtering line items 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
2f9c856645 Refactors order and line item permissions logic
Simplifies permission checking by:
- Extracting common managed/coordinated orders logic into separate method
- Combining producer-editable and managed/coordinated order clauses
- Merging producer and admin line item permission checks into single query
2025-06-21 16:19:31 +05:00
Ahmed Ejaz
8e8878e43a Add search_variants_as parameter to variant search functionality 2025-06-21 16:19:31 +05:00
Ahmed Ejaz
a37e08c2fd Refactor order management permissions for producers
Introduces granular permissions control for producers editing orders:

- Adds new :edit_as_producer_only permission for suppliers
- Refactors ability checks to clearly separate producer vs admin/distributor access
- Updates order views to properly restrict actions based on user role
- Prevents admins from being restricted by producer-only edit mode
2025-06-21 16:16:58 +05:00
Maikel Linke
75b2119dd1 Update all locales with the latest Transifex translations 2025-06-20 13:59:47 +10:00
Filipe
6ccc588113 Merge pull request #13342 from chitty/cch/refactor-unit-price
refactor: move unit price formatting logic out of model into helper
2025-06-19 16:19:03 +01:00
Gaetan Craig-Riou
7115eb3c0e Merge pull request #13372 from chitty/cch/add-respond-to-missing
Add `respond_to_missing?` and replace `method_missing` with explicit preference methods
2025-06-19 18:47:08 +10:00
Maikel
98ebbb2203 Merge pull request #13383 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.14
Bump hotkeys-js from 3.13.12 to 3.13.14
2025-06-19 15:31:23 +10:00
Maikel
3c1ee5f033 Merge pull request #13384 from cyrillefr/MetricsModuleLength
Fixes offenses Metrics/ModuleLength in engines spec
2025-06-19 15:30:27 +10:00
Maikel
23b8192b2c Merge pull request #13380 from openfoodfoundation/dependabot/npm_and_yarn/brace-expansion-1.1.12
Bump brace-expansion from 1.1.11 to 1.1.12
2025-06-19 15:19:52 +10:00
Carlos Chitty
37bf3f495f Refactor preference access to use define_method instead of method_missing
Replaces dynamic method handling with explicit getters and setters to
avoid recursion issues and improve clarity.
2025-06-18 13:59:46 -04:00
Carlos Chitty
f909bb2c30 Add respond_to_missing? to classes defining method_missing to improve respond_to? behavior 2025-06-18 13:59:42 -04:00
Maikel
213b977725 Merge pull request #13379 from dacook/map-currency
Map currency to DFC codes
2025-06-18 11:32:33 +10:00
David Cook
f723fe025e Rename file 2025-06-18 11:12:01 +10:00
David Cook
1525501a9d Monkey-patch SemanticObject module directly
This is the module that defines semanticPropertiesMap.
2025-06-18 11:11:58 +10:00
cyrillefr
a4c6514275 Style Metrics/ModuleLength in spec file 2025-06-17 15:46:30 +02:00
cyrillefr
8aba6e9782 Style Metrics/ModuleLength in spec file 2025-06-17 15:41:51 +02:00
cyrillefr
9a2cd3965c Style Metrics/ModuleLength in spec file 2025-06-17 15:38:25 +02:00
cyrillefr
b9eeb53901 Style Metrics/ModuleLength in spec file 2025-06-17 15:31:17 +02:00
cyrillefr
e19caa0caa Style Metrics/ModuleLength in spec file 2025-06-17 15:27:31 +02:00
cyrillefr
05995bc026 Style Metrics/ModuleLength in spec file 2025-06-17 15:12:09 +02:00
cyrillefr
6b2297b0e6 Style Metrics/ModuleLength in spec file 2025-06-17 15:09:46 +02:00
cyrillefr
46ba6b7f9c Style Metrics/ModuleLength in spec file 2025-06-17 14:50:35 +02:00
cyrillefr
e88a9dab4b Style Metrics/ModuleLength in spec file 2025-06-17 14:47:45 +02:00
cyrillefr
6a44c45699 Style Metrics/ModuleLength in spec file 2025-06-17 14:37:35 +02:00
cyrillefr
bb0a6b7f8d Style Metrics/ModuleLength in spec file 2025-06-17 14:33:15 +02:00
cyrillefr
abaa7c35a7 Style Metrics/ModuleLength in spec file 2025-06-17 14:18:42 +02:00
cyrillefr
97c4cd382b Style Metrics/ModuleLength in spec file 2025-06-17 14:05:21 +02:00
cyrillefr
089caa228f Style Metrics/ModuleLength in spec file 2025-06-17 13:48:22 +02:00
cyrillefr
d9194d3dce Style Metrics/ModuleLength in spec file 2025-06-17 13:44:43 +02:00
cyrillefr
a792a550b3 Style Metrics/ModuleLength in spec file 2025-06-17 13:40:55 +02:00
cyrillefr
8c50ed9a45 Style Metrics/ModuleLength in spec file 2025-06-17 13:38:29 +02:00
cyrillefr
9d09fa9d54 Style Metrics/ModuleLength in spec file 2025-06-17 13:35:23 +02:00
cyrillefr
8234cc580d Style Metrics/ModuleLength in spec file 2025-06-17 13:31:22 +02:00
cyrillefr
88b390dac6 Style Metrics/ModuleLength in spec file 2025-06-17 13:22:05 +02:00
cyrillefr
583acfcc79 Style Metrics/ModuleLength in spec file 2025-06-17 13:02:54 +02:00
cyrillefr
d9010c3cf3 Style Metrics/ModuleLength in spec file 2025-06-17 11:51:40 +02:00
cyrillefr
1837d6a381 Style Metrics/ModuleLength in spec file 2025-06-17 11:48:33 +02:00
cyrillefr
5b1b48afc6 Style Metrics/ModuleLength in spec file 2025-06-17 11:35:10 +02:00
cyrillefr
a872544b10 Style Metrics/ModuleLength in spec file 2025-06-17 11:28:54 +02:00
cyrillefr
2b1f75e87e Style Metrics/ModuleLength in spec file 2025-06-17 11:23:03 +02:00
cyrillefr
9b1c95cbc2 Style Metrics/ModuleLength in spec file 2025-06-17 11:20:06 +02:00
cyrillefr
3743efd5e4 Style Metrics/ModuleLength in spec file 2025-06-17 11:13:45 +02:00
dependabot[bot]
19e654b9e4 Bump hotkeys-js from 3.13.12 to 3.13.14
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.12 to 3.13.14.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.12...v3.13.14)

---
updated-dependencies:
- dependency-name: hotkeys-js
  dependency-version: 3.13.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 09:04:36 +00:00
cyrillefr
6b0f690170 Style Metrics/ModuleLength in spec file 2025-06-17 11:02:21 +02:00
cyrillefr
ffe93fc470 Style Metrics/ModuleLength in spec file 2025-06-17 10:52:58 +02:00
David Cook
a4f28a2fac Merge pull request #13377 from mkllnk/style
Style Metrics/ModuleLength in some spec files
2025-06-17 12:37:49 +10:00
dependabot[bot]
c1e6fff275 Bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 02:23:01 +00:00
Maikel
b5b50f0b5a Merge pull request #13378 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.12
Bump hotkeys-js from 3.13.11 to 3.13.12
2025-06-17 11:42:05 +10:00
David Cook
f9764b697d Found a cleaner way to patch inspect
I tried to move on, I really did, but I already had these things in my head and they suddenly clicked together, so I thought it worth updating now.
2025-06-17 10:52:20 +10:00
David Cook
0f3626f12d Monkey-patch a cleaner inspect
I would love to have hooked into the pretty inspect features which provide a better format, with indentation and colours for the console. But I couldn't find out how to.
2025-06-17 10:52:20 +10:00
David Cook
be1f4e91e1 Map currency to DFC codes
Probably should have just hardcoded it. Hopefully we can remove this soon anyway.
2025-06-17 10:50:24 +10:00
Carlos Chitty
3dcc4428fa Fix escaped HTML in unit price by marking output as html_safe 2025-06-16 12:53:41 +01:00
Carlos Chitty
2fe49b2070 Instantiate UnitPrice only once in app/models/spree/line_item.rb
Co-authored-by: Maikel <maikel@email.org.au>
2025-06-16 12:53:41 +01:00
Carlos Chitty
85e4f749f9 refactor: move unit price formatting logic out of model into helper
Solves Psych::DisallowedClass errors
Example: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687958/job/41374343627?pr=13232

unit_price returns object with amount and unit, as mentioned in https://github.com/openfoodfoundation/openfoodnetwork/pull/6905\#discussion_r578401368
2025-06-16 12:53:41 +01:00
dependabot[bot]
b671dfda5d Bump hotkeys-js from 3.13.11 to 3.13.12
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.11 to 3.13.12.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.11...v3.13.12)

---
updated-dependencies:
- dependency-name: hotkeys-js
  dependency-version: 3.13.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 10:34:44 +00:00
Gaetan Craig-Riou
e6ef52f91c Merge pull request #13374 from filipefurtad0/unit_price_checks
Adds Unit price checks
2025-06-16 18:31:03 +10:00
Maikel Linke
da5b147d29 Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:51:50 +10:00
Maikel Linke
b2fd4ccb11 Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:50:38 +10:00
Maikel Linke
5a497bc6ee Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:46:30 +10:00
Maikel Linke
77b7b5ea47 Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:45:00 +10:00
Maikel Linke
035e67c33f Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:43:47 +10:00
Maikel Linke
8e1fb76327 Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:13:11 +10:00
Maikel Linke
441844dd79 Style Metrics/ModuleLength in spec file
Best viewed without whitespace changes.
2025-06-16 16:11:08 +10:00
Maikel Linke
55f9afef77 Regenerate Rubocop's TODO file 2025-06-16 16:07:05 +10:00
Ahmed Ejaz
a9dee9d0ca Update all locales with the latest Transifex translations 2025-06-15 15:21:37 +05:00
filipefurtad0
2465880e77 Adds checks to unit price on order confirmation page 2025-06-14 13:39:59 +01:00
filipefurtad0
7c89f32eb7 Adds checks to unit price on shopfront and cart 2025-06-14 13:30:10 +01:00
filipefurtad0
229a87cf72 Removes debugger superfluous debuger flag 2025-06-14 13:28:41 +01:00
Filipe
4f3887fcc8 Merge pull request #13362 from jarihu/Add-Finnish-to-Flatpickr
Add Finnish to flatpickr controller
2025-06-12 23:47:02 +01:00
Maikel
77af4af277 Merge pull request #13370 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.11
Bump hotkeys-js from 3.13.10 to 3.13.11
2025-06-11 15:18:32 +10:00
dependabot[bot]
677c53303c Bump hotkeys-js from 3.13.10 to 3.13.11
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.10 to 3.13.11.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.10...v3.13.11)

---
updated-dependencies:
- dependency-name: hotkeys-js
  dependency-version: 3.13.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 10:10:16 +00:00
Maikel
a186de2f8f Merge pull request #13163 from cyrillefr/FixRailsUniqueValidationWithoutIndex
Fixes Rails/UniqueValidationWithoutIndex (part of #11482)
2025-06-10 16:35:13 +10:00
Maikel
ceeb5f0a3a Merge pull request #13367 from dacook/bump-stimulus_reflex-gem
Bump stimulus_reflex gem to 3.5.5
2025-06-10 15:06:33 +10:00
David Cook
418514b57d Bump stimulus_reflex gem to 3.5.5
Why didn't dependabot do this?
We have already updated the js package to 3.5.5.

hopefully this will help with some SR flakiness that is occurring on au_prod and au_staging bulkinvoice actions (but uk_staging seems fine)
2025-06-10 14:10:23 +10:00
David Cook
aa68b69fce Merge pull request #13364 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.8.0
Bump jasmine-core from 5.7.1 to 5.8.0
2025-06-10 11:09:03 +10:00
dependabot[bot]
87aed5d77f Bump jasmine-core from 5.7.1 to 5.8.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.7.1 to 5.8.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/v5.7.1...v5.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 09:43:29 +00:00
Jari Huttunen
287cd74b33 Merge branch 'openfoodfoundation:master' into Add-Finnish-to-Flatpickr 2025-06-07 23:44:11 +03:00
Jari Huttunen
d217a1394b Add Finnish to flatpickr controller 2025-06-07 23:34:09 +03:00
filipefurtad0
a95767eb04 Update all locales with the latest Transifex translations 2025-06-06 13:04:23 +01:00
Filipe
f1138b7a9d Merge pull request #13349 from mkllnk/vine-error-message
Clarify voucher code not found can mean fully redeemed
2025-06-06 12:46:11 +01:00
Gaetan Craig-Riou
cb1a7629c5 Merge pull request #13341 from chitty/rubocop-style--fixes
Rubocop Style corrections for Style/NestedModifier and Style/ReturnNilInPredicateMethodDefinition
2025-06-05 17:33:39 +10:00
Carlos Chitty
63d284e81a Use Orders::WorkflowService#complete! and #advance_to_payment in specs to replace code causing Style/NestedModifier rubocop offenses
Rewrite the loop "break unless a = order.next! while !order.delivery?" to correct the offenses. Not adding a helper because the change was only needed in a couple of places.
2025-06-04 12:46:58 -04:00
Carlos Chitty
00aa60c8a3 Correct Style/ReturnNilInPredicateMethodDefinition rubocop offenses
Explicitly return false instead of nil
2025-06-04 10:25:50 -04:00
Gaetan Craig-Riou
a1e0feef14 Merge pull request #13354 from openfoodfoundation/dependabot/npm_and_yarn/pretty-quick-4.2.2
Bump pretty-quick from 4.1.1 to 4.2.2
2025-06-03 19:00:45 +10:00
dependabot[bot]
1ce167ef16 Bump pretty-quick from 4.1.1 to 4.2.2
Bumps [pretty-quick](https://github.com/prettier/pretty-quick) from 4.1.1 to 4.2.2.
- [Release notes](https://github.com/prettier/pretty-quick/releases)
- [Changelog](https://github.com/prettier/pretty-quick/blob/v4.2.2/CHANGELOG.md)
- [Commits](https://github.com/prettier/pretty-quick/compare/v4.1.1...v4.2.2)

---
updated-dependencies:
- dependency-name: pretty-quick
  dependency-version: 4.2.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-03 07:43:00 +00:00
Gaetan Craig-Riou
5093fd6eb6 Merge pull request #13353 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.1
Bump @floating-ui/dom from 1.7.0 to 1.7.1
2025-06-03 17:40:55 +10:00
dependabot[bot]
0700c65557 Bump @floating-ui/dom from 1.7.0 to 1.7.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.1/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 09:53:27 +00:00
Maikel Linke
94cb1f45a0 Update all locales with the latest Transifex translations 2025-06-02 11:58:57 +10:00
cyrillefr
6f9a347b77 Add modified schema 2025-05-29 15:12:13 +10:00
cyrillefr
774aaf4fd8 Fixes Rails/UniqueValidationWithoutIndex (part of #11482)
- When you define a uniqueness validation in Active Record model,
  you also should add a unique index for the column.
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsuniquevalidationwithoutindex
- Therefore : migration files to match DB structure and Ruby code.
2025-05-29 15:11:17 +10:00
Maikel Linke
ef22269324 Clarify voucher code not found can mean fully redeemed 2025-05-29 14:18:32 +10:00
Maikel Linke
c9ec7e13d3 Add missing spec cassette 2025-05-29 11:42:53 +10:00
Maikel
d18328c3d1 Merge pull request #13347 from jarihu/add-fi-locale
Add Finnish locale support
2025-05-29 11:13:33 +10:00
Maikel
2b3cc71b3d Merge pull request #13339 from cyrillefr/FixSecurityOpenOffense
Fixes Rubocop SecurityOpen offense
2025-05-29 10:51:47 +10:00
Jari Huttunen
6c7676b1a1 Add Finnish locale 2025-05-28 10:02:17 +03:00
cyrillefr
400f431f88 Importer goal is to dl a file over https instead of local file 2025-05-27 17:10:48 +02:00
Maikel
e42015cfd3 Merge pull request #13340 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.5
Bump stimulus_reflex from 3.5.4 to 3.5.5
2025-05-27 11:11:23 +10:00
dependabot[bot]
37d647be94 Bump stimulus_reflex from 3.5.4 to 3.5.5
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.4 to 3.5.5.
- [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/compare/v3.5.4...v3.5.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 09:54:46 +00:00
cyrillefr
0ac5da33b0 Fixes Rubocop SecurityOpen offense 2025-05-26 08:17:00 +02:00
Maikel
d267fa2ea7 Merge pull request #13336 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.4
Bump stimulus_reflex from 3.5.3 to 3.5.4
2025-05-26 11:48:57 +10:00
Maikel
99bd0cd313 Merge pull request #13335 from cyrillefr/FixRSpecRailsInferredSpecType
Fixes RSpecRailsInferredSpecType offenses
2025-05-26 11:47:55 +10:00
Ahmed Ejaz
a127aa1134 Update all locales with the latest Transifex translations 2025-05-25 16:04:37 +05:00
Konrad
d7c39fcab7 Merge pull request #13297 from filipefurtad0/fix_#13264_BOM
Fixes bad display from Producer name on BOM page
2025-05-23 18:56:36 +02:00
dependabot[bot]
d98ca6f4c1 Bump stimulus_reflex from 3.5.3 to 3.5.4
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.3 to 3.5.4.
- [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/compare/v3.5.3...v3.5.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-23 09:44:32 +00:00
cyrillefr
b431b414a1 Fixes RSpecRailsInferredSpecType on routing 2025-05-21 09:45:03 +02:00
cyrillefr
758d78bfe4 Fixes RSpecRailsInferredSpecType 2025-05-21 09:43:24 +02:00
cyrillefr
2f5981af59 Fixes RSpecRailsInferredSpecType on models 2025-05-21 09:41:00 +02:00
cyrillefr
5788698e8e Fixes RSpecRailsInferredSpecType offenses in jobs & mailers 2025-05-20 12:57:11 +02:00
cyrillefr
8be1045f23 Fixes RSpecRailsInferredSpecType offenses in helpers 2025-05-20 12:54:04 +02:00
cyrillefr
67f5ae811b Fixes RSpecRailsInferredSpecType offenses in remaining controllers 2025-05-20 12:51:50 +02:00
cyrillefr
cf9395f42f Fixes RSpecRailsInferredSpecType in spree admin controllers 2025-05-20 12:45:34 +02:00
cyrillefr
a7eb95afc5 Fixes RSpecRailsInferredSpecType in base controllers 2025-05-20 12:45:34 +02:00
cyrillefr
90d8d9fc30 Fixes RSpecRailsInferredSpecType offense in api v0 2025-05-20 12:45:34 +02:00
cyrillefr
60413c2a12 Fixes RSpecRails InferredSpecType offenses in controller admin 2025-05-20 12:45:34 +02:00
cyrillefr
7cc4cb0181 Fixes RSpecRailsInferredSpecType cop in engines 2025-05-20 12:45:34 +02:00
Konrad
60914ac8cc Merge pull request #13326 from mcmpp/instance_configuration_options_inline
Change the layout for instance configuration options
2025-05-19 15:28:40 +02:00
filipefurtad0
56855277d7 Update all locales with the latest Transifex translations 2025-05-16 20:08:46 +01:00
Filipe
93ac10bb75 Merge pull request #13262 from cillian/remove-angular-on-enterprise-images-and-white-label-sections
Remove Angular from the Settings > Images section
2025-05-16 20:03:55 +01:00
Filipe
d6785b2f5a Merge pull request #13312 from mkllnk/stock-movement
Stop creating stock movements
2025-05-16 19:30:31 +01:00
Konrad
c657e31d07 Merge pull request #13318 from dacook/fix-13315
Prevent error on inventory page when logged out
2025-05-16 20:23:17 +02:00
Konrad
6432eceee5 Merge pull request #13313 from cyrillefr/FilterSelectionListNotDisplayingFullNames
Fixes dotted shipping method names bad display in select (filters)
2025-05-16 19:58:13 +02:00
Konrad
af3bb4c419 Merge pull request #13310 from mkllnk/reset-products
Fix product reset on import
2025-05-16 18:49:20 +02:00
Filipe
97ceed6cbe Merge pull request #13263 from chahmedejaz/bugfix/13180-oc-search-on-bom
Fix Order Cycle search on BOM page is not working for more than 5 OCs
2025-05-16 10:59:55 +01:00
Maikel
9c5d393ad1 Merge pull request #13328 from drummer83/typo_exiting
Fix typo in yml files: exiting vs. existing
2025-05-16 15:43:27 +10:00
Maikel
277c51cd51 Merge pull request #13327 from cyrillefr/FixRSpecRailsHttpStatus
Fixes RSpec Rails HttpStatus offenses
2025-05-16 15:41:06 +10:00
Filipe
3efa2832de Merge pull request #13257 from ashishp91/13221-make-shipped-orders-uneditable
13221 - Don't allow shipped orders to be editable
2025-05-15 19:23:33 +01:00
Mikel Cordovilla
f767437f5a Display instance config checkboxes inline 2025-05-15 11:46:04 +02:00
Konrad
943d21a767 Fix typo in yml files: exiting vs. existing 2025-05-15 10:03:48 +02:00
cyrillefr
529f3b85eb Fixes RSpec Rails HttpStatus offenses 2025-05-15 08:46:02 +02:00
Maikel
a37b3ed28b Merge pull request #13325 from cyrillefr/FixRSpecRailsHaveHttpStatus
Fixes RSpecRails HaveHttpStatus rubocop offenses
2025-05-15 12:31:18 +10:00
Mikel Cordovilla
559a85e4f2 In the instance configuration some of the options displayed as block instead of inline 2025-05-14 15:36:55 +02:00
cyrillefr
7f842d77ea Fixes RSpec Rails HaveHttpStatus cop in services & support 2025-05-14 11:47:03 +02:00
cyrillefr
8135aeaeda Fixes RSpec Rails HaveHttpStatus cop in requests 2025-05-14 11:04:01 +02:00
cyrillefr
5063a772f0 Fixes RSpec Rails HaveHttpStatus cop in controllers 2025-05-14 10:58:04 +02:00
cyrillefr
f810e500b5 Fixes RSpec Rails HaveHttpStatus cop in api v0 2025-05-14 10:46:36 +02:00
cyrillefr
b9e1eb2984 Fixes RSpecRails HaveHttpStatus cop in admin specs 2025-05-14 10:28:57 +02:00
Filipe
371d0fbf79 Merge pull request #13281 from rioug/13172-search-by-tags
[Variant tags] Search products by tags
2025-05-14 07:38:59 +01:00
David Cook
71b65b4b98 Merge pull request #13306 from cyrillefr/FixRubocopNamingVariableNumber
Fixes Rubocop naming variable number
2025-05-14 09:39:32 +10:00
Maikel Linke
d650d06049 Delete StockMovement model
I'm not dropping the database table just yet. Let's keep this change
reversible without data loss. And dropping the table would break the
currently running app code during deploy. We can do that another time.
2025-05-13 15:24:26 +10:00
Maikel Linke
be312246ec Stop referring to stock movements 2025-05-13 15:24:26 +10:00
Maikel Linke
729e62d7db Remove unused stock move originator parameter 2025-05-13 15:24:26 +10:00
David Cook
6a5faaef22 Add expectation for redirect 2025-05-13 15:20:07 +10:00
David Cook
82f94e3969 Ensure user is loaded before loading data 2025-05-13 15:12:16 +10:00
Maikel Linke
2197656606 Stop creating stock movements
Spree added stock movements to track the movements between stock
locations. But we got rid of stock locations and the only stock
movements we have now are just records of stock level changes.

These records were not created in all cases though and there were also
not created for variant overrides (inventory items). And since these
records aren't visible anywhere, I think it's best we remove them
altogether.

I do think that some kind of log would be useful but I don't think that
AR records like this are the best solution for that. And the
StockMovement model just added complexity to our already complex stock
level storage. The actual adjustment of the count_on_hand attribute of
the StockItem was performed in an after_create hook of the
StockMovement. Now we call it explicitely.
2025-05-13 14:56:29 +10:00
David Cook
ffea1cca81 Replace JB's method with mine
Obviously I'm biased, but I like mine better.
2025-05-13 14:52:20 +10:00
David Cook
d62740da10 Update helper to exclude line items
_scrolls down_ Oh... JB already did that 😆
Nice to see we were thinking along the same lines.
2025-05-13 14:52:06 +10:00
David Cook
fa9ed1a66b Add expectation for other line items 2025-05-13 14:42:46 +10:00
David Cook
3b1f267465 Declare which line items are being expected. 2025-05-13 14:41:03 +10:00
David Cook
cf30b792f9 Refactor: move shared code to context 2025-05-13 14:40:41 +10:00
David Cook
6daf94875a Rename varianbles based on OC number
It was a bit confusing that they don't line up.
2025-05-13 14:23:51 +10:00
cyrillefr
0fcf161889 Requested changes: menu_xx are to be ignored from cop 2025-05-12 17:16:15 +02:00
cyrillefr
7387b4078a Key shipping_method_names is not used any more 2025-05-12 15:19:00 +02:00
cyrillefr
e61d951dcf Requested changes - translation useless
- also useless in specs
2025-05-12 14:46:27 +02:00
David Cook
f199fb182b Add specs 2025-05-12 17:35:10 +10:00
Gaetan Craig-Riou
7f2638f910 Update app/components/tag_list_input_component/tag_list_input_component.html.haml
replace merge by double splat

Co-authored-by: David Cook <david@redcliffs.net>
2025-05-12 13:23:46 +10:00
David Cook
9034eaa049 Merge pull request #13303 from mkllnk/remove-old-integrations
Remove old integrations and rebalance specs
2025-05-12 12:33:46 +10:00
Gaetan Craig-Riou
b5de7b3c5f Merge pull request #13311 from mkllnk/count-on-hand
Remove useless method
2025-05-12 10:40:16 +10:00
Ahmed Ejaz
db0922a7cf 13180: increase filter time to 1 year 2025-05-12 01:14:51 +05:00
Ahmed Ejaz
6cdff7c4c7 Update all locales with the latest Transifex translations 2025-05-12 00:11:09 +05:00
Cillian O'Ruanaidh
119218b2b5 Don't try to render image preview if image is corrupt on S3 and its URL can be generated 2025-05-10 12:35:40 +01:00
cyrillefr
36cada0510 Fixes dotted shipping method names bad display in select 2025-05-09 10:26:49 +02:00
Maikel Linke
4cd088f7a7 Remove useless method 2025-05-09 11:40:18 +10:00
Maikel Linke
524d6e87b7 Fix product reset on import 2025-05-09 11:27:10 +10:00
Maikel
0dab580d3e Merge pull request #13308 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.10
Bump hotkeys-js from 3.13.9 to 3.13.10
2025-05-09 10:08:52 +10:00
Maikel
5072d65eb7 Merge pull request #13307 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.15
Bump trix from 2.1.14 to 2.1.15
2025-05-09 10:07:57 +10:00
Filipe
df81fa89f8 Merge pull request #13293 from cyrillefr/FixStimulusErrorOnPrintingWithBulkAction
Fixes StimulusJS error on printing w bulk action
2025-05-08 22:52:58 +01:00
Filipe
674f88162e Merge pull request #13291 from slothmock/fix-#11967+testing
Fix #11967 - limit variant unit name input
2025-05-08 22:39:20 +01:00
Ashish Gaur
71949701ac Merge branch 'master' into 13221-make-shipped-orders-uneditable 2025-05-08 21:56:46 +05:30
Filipe
d8fa3e2a19 Merge pull request #13292 from mkllnk/oc-notify
Process order cycle emails individually to avoid duplicates
2025-05-08 13:15:00 +01:00
dependabot[bot]
8391ab845f Bump hotkeys-js from 3.13.9 to 3.13.10
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.9 to 3.13.10.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.9...v3.13.10)

---
updated-dependencies:
- dependency-name: hotkeys-js
  dependency-version: 3.13.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 09:52:44 +00:00
dependabot[bot]
e9a205fec9 Bump trix from 2.1.14 to 2.1.15
Bumps [trix](https://github.com/basecamp/trix) from 2.1.14 to 2.1.15.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.14...v2.1.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 09:52:21 +00:00
cyrillefr
42daf314c4 Fixes variable number naming offenses in spec variables 2025-05-08 09:28:01 +02:00
cyrillefr
55ad9429db Fixes variable number naming offenses in spree module 2025-05-08 09:24:28 +02:00
Maikel Linke
0cf9cf3122 Combine system specs for better balance 2025-05-08 12:11:28 +10:00
Maikel
5d4f8313f3 Merge pull request #13305 from filipefurtad0/split_system_specs
Split system specs
2025-05-08 10:40:57 +10:00
Maikel
4ef17d3794 Merge pull request #13300 from filipefurtad0/fix_flaky_simple_spec_again
Adds tests to toggle the css sections (distributed products)
2025-05-08 10:39:17 +10:00
Maikel
bc3f847a9d Merge pull request #13299 from cyrillefr/FixRubocopNamingMethodParameterName
Fixes NamingMethodParameterName rubocop offense
2025-05-08 10:34:50 +10:00
Ashish Gaur
c4ab8bb1e7 13221 Revert back schema changes 2025-05-07 13:37:55 +05:30
Gaetan Craig-Riou
b82bd6c0dc Per rebview, add missing aria-label translation 2025-05-07 15:18:54 +10:00
Gaetan Craig-Riou
eb1919cce9 Update spec/system/admin/products_v3/index_spec.rb
Co-authored-by: Maikel <maikel@email.org.au>
2025-05-07 14:58:41 +10:00
Gaetan Craig-Riou
652cbd8874 Merge pull request #13294 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.7.1
Bump jasmine-core from 5.7.0 to 5.7.1
2025-05-07 14:03:45 +10:00
Gaetan Craig-Riou
b3834d0476 Merge pull request #13295 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.0
Bump @floating-ui/dom from 1.6.13 to 1.7.0
2025-05-07 14:03:02 +10:00
Gaetan Craig-Riou
532ce7a4d7 Merge pull request #13298 from dacook/cleanup-address-finder
Cleanup AddressFinder
2025-05-07 12:16:04 +10:00
filipefurtad0
af8059c22f Splits shopping_spec 2025-05-06 18:08:51 +01:00
filipefurtad0
e7edc068ef Splits order_spec 2025-05-06 17:25:01 +01:00
Maikel Linke
87f81a51d4 Test system with more workers
System specs have been quite slow, taking up to 10 minutes per worker.
But now that we freed up a worker from linting and two workers from
models, we can add these to the system specs to reduce the time to test
completion.
2025-05-06 11:44:38 +10:00
Maikel Linke
1b7aa6406f Test controllers and models in one job
The execution time is relatively low but reducing the model workers from
2 to 1 would increase the execution time too much. Combining controllers
and models allows for better balancing.
2025-05-06 11:44:38 +10:00
Maikel Linke
ba46b597f5 Run all linters in the same job
This saves a bit of setup time. And it frees up a worker for the main
integration tests.
2025-05-06 11:31:41 +10:00
Maikel Linke
5cb2d0e061 Remove defunct Mapi workflow
A contributor added this workflow to promote their service. But we never
found a use for it and at some point it broke because we didn't update
it. It has been disabled for two years now. Let's clean it up.
2025-05-06 11:25:56 +10:00
Maikel Linke
4c6d7148b5 Remove custom brakeman config, now using default
I activated the default Brakeman config via Github security settings.
2025-05-06 11:25:12 +10:00
Maikel
6446676853 Merge pull request #13301 from filipefurtad0/update_knapsack_pro
Updates Knapsack Pro
2025-05-06 11:09:32 +10:00
filipefurtad0
e069cad034 Updates Knapsack Pro 2025-05-05 20:16:56 +01:00
filipefurtad0
81d35741a1 Adds tests to toggle the css sections
It's a lucky guess, but the idea is that pre-loading the CSS sections and its contents makes it slightly faster, for following assertions, which are the flaky offenders
2025-05-05 19:50:32 +01:00
Ashish Gaur
5fc3fe03ee 13221 Add spec for checking flash error is shown when editing a shipped order 2025-05-05 20:37:59 +05:30
Ashish Gaur
4d01b2b976 13221 Revert adding product_name to line_items table 2025-05-05 20:10:55 +05:30
Ashish Gaur
8d96411741 13221 Fix rubocop issues 2025-05-05 20:03:47 +05:30
Ashish Gaur
c533111509 13221 Don't allow shipped orders to process update request 2025-05-05 20:03:47 +05:30
Ashish Gaur
e122fe3d2d 13221 Use have_select2 in rspec to test s2id matcher 2025-05-05 20:03:47 +05:30
Ashish Gaur
58b6a97d3e Add spec for order not editable after shipping 2025-05-05 20:03:47 +05:30
Ashish Gaur
475cfdc8f0 Show cannot add item to shipped order in the Add products section 2025-05-05 20:03:47 +05:30
Ashish Gaur
42e2d3cdd5 13221 - Don't allow shipped orders to be editable 2025-05-05 20:03:47 +05:30
cyrillefr
f6df412355 Fixes NamingMethodParameterName rubocop offense 2025-05-05 10:39:15 +02:00
Maikel
45a0185744 Merge pull request #13279 from filipefurtad0/reproduce_12933_stock_reset
Reproduces bug #12933, setting the test case as pending
2025-05-05 14:58:41 +10:00
Gaetan Craig-Riou
347d20c3fb Add system test for tags 2025-05-05 14:57:02 +10:00
Gaetan Craig-Riou
0ca3dca675 Per review, extract tags options from template
Now it also scope the tags to the available variant, ie the logged in
user will only see only tag that was used by them.
2025-05-05 14:56:50 +10:00
Gaetan Craig-Riou
ba4b241240 Add link to where the patch came from 2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
8c1c51cb6d Put tag filter behind feature flag 2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
4d970af2fc Re style tag to match tom select tags 2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
19fdfbaccb Style the select tag filter 2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
57af1de680 Remove closeAfterSelect option
We need the dropdown to stay open after select so that a multi-selection
select work as expected.
Docs : https://tom-select.js.org/docs/
2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
e7aae5a03c Add tag search
First minimal implementation with a basic filter UI. Only support search
by any of the selected tags
2025-05-05 14:54:55 +10:00
Gaetan Craig-Riou
3bb0176887 Set up variant tags as searchable 2025-05-05 14:54:54 +10:00
David Cook
0225db6840 Refactor without setter methods
This class was originally built to flexibly accept paramters in any order. It also allowed you to specify multiple of the same type of parameter, with the later one overriding the earlier.

This is too flexible and likely to cause mistakes. And besides, we don't use that feature!
2025-05-05 12:59:27 +10:00
David Cook
3ec14607a6 Merge pull request #13286 from chitty/apr29-rubocop-style-corrections
Rubocop Style corrections
2025-05-05 12:53:57 +10:00
David Cook
29a14848ea Merge pull request #13285 from cyrillefr/FixRubocopNamingMemoizedInstanceVariableName
Fixes Rubocop Naming NamingMemoizedInstanceVariableName cop
2025-05-05 12:48:28 +10:00
David Cook
eadfa8c965 Update from code review
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2025-05-05 12:09:58 +10:00
Gaetan Craig-Riou
2107c05f15 Merge pull request #13289 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.14
Bump trix from 2.1.13 to 2.1.14
2025-05-05 10:33:40 +10:00
filipefurtad0
074d7194d9 Adapts existing spec to check for unusual characters on the supplier name 2025-05-04 20:49:48 +01:00
filipefurtad0
01b6ff6d09 Update all locales with the latest Transifex translations 2025-05-03 17:39:57 +01:00
Filipe
846cb4dd89 Merge pull request #13252 from rioug/13159-add-tag-variant
[Variant tags]  Add variant tag on Bulk Edit Product screen
2025-05-03 17:34:51 +01:00
filipefurtad0
44e02b76f9 Adds the ng-bind html parameter to the producer column 2025-05-03 16:58:00 +01:00
Cillian O'Ruanaidh
d8959fd7a5 Don't cast remove image parameters to booleans. 2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
65efd3b66c Render confirm remove image modal outside of form so a simple :button_to can be used instead of submitting via Stimulus controller. 2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
ace5d5eb08 Add a :truthy? helper instead of ActiveModel::Type::Boolean.cast 2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
28c9c53dc0 Keep original translations for when images are removed successfully 2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
a9a4156251 Remove Angular and Stimulus Reflex from the Settings > Images section 2025-05-02 13:07:31 +01:00
dependabot[bot]
ac7768df05 Bump @floating-ui/dom from 1.6.13 to 1.7.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.13 to 1.7.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.0/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 09:58:03 +00:00
dependabot[bot]
fb7c74471e Bump jasmine-core from 5.7.0 to 5.7.1
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.7.0 to 5.7.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.7.0...v5.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 09:57:54 +00:00
cyrillefr
31fedfe083 Fixes StimulusJS error on printing w bulk action 2025-05-02 09:06:36 +02:00
Maikel Linke
8daa01e228 Process OC emails individually to avoid duplicates
Errors or delays can cause multiple duplicate emails to the same
suppliers.
2025-05-02 16:58:00 +10:00
Jordan 'slothmock' Mock
0be87314df Fix #11967 - limit variant unit name input to 20 characters 2025-05-01 23:45:41 +01:00
Jordan 'slothmock' Mock
35198cebcb Fix #11967 - limit variant unit name input to 20 characters 2025-05-01 23:33:07 +01:00
dependabot[bot]
43b874d18b Bump trix from 2.1.13 to 2.1.14
Bumps [trix](https://github.com/basecamp/trix) from 2.1.13 to 2.1.14.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.13...v2.1.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-30 09:52:24 +00:00
Gaetan Craig-Riou
da8675826e Per review, remove :variant_tag context 2025-04-30 14:56:31 +10:00
Gaetan Craig-Riou
212b122700 Add translation for default placeholder in TagListInputComponent 2025-04-30 14:56:31 +10:00
Gaetan Craig-Riou
df785e907d Update app/components/tag_list_input_component/tag_list_input_controller.js
Co-authored-by: Maikel <maikel@email.org.au>
2025-04-30 13:53:30 +10:00
Gaetan Craig-Riou
a8b5a79b4b Merge pull request #13283 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.7.0
Bump jasmine-core from 5.6.0 to 5.7.0
2025-04-30 11:54:21 +10:00
Carlos Chitty
d0c687650e Autocorrect Style/HashEachMethods offenses 2025-04-29 15:16:34 -04:00
Carlos Chitty
446be6e127 Fix test failure due to hash interpreted as block in matcher
Wrap hash in parentheses to ensure it's passed as an argument rather than a block.
2025-04-29 15:16:29 -04:00
Carlos Chitty
63168086e7 Autocorrect Style/HashConversion offenses 2025-04-29 14:27:31 -04:00
Carlos Chitty
17a5b5e620 autocorrect Style/ArrayIntersect offenses 2025-04-29 14:20:50 -04:00
Filipe
d20ed5c757 Merge pull request #13275 from slothmock/fix-#13264
Fix #13264 - missing 'ng-bind-html'
2025-04-29 18:45:15 +01:00
Filipe
69bb78e39c Merge pull request #13213 from chahmedejaz/task/13128-add-order-number-to-notify-producer-email
Add order number to notify producer emails and make customer code available for everyone
2025-04-29 18:22:06 +01:00
Filipe
bf2277b6da Merge pull request #13255 from piyush828-design/pagy_upgrade
Upgrade pagy version to latest
2025-04-29 16:12:58 +01:00
cyrillefr
fbb4954ff7 Fixes Rubocop Naming NamingMemoizedInstanceVariableName cop 2025-04-29 13:27:47 +02:00
dependabot[bot]
017babc695 Bump jasmine-core from 5.6.0 to 5.7.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.6.0 to 5.7.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/v5.6.0...v5.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 09:28:57 +00:00
Maikel
e02b765463 Merge pull request #13282 from cyrillefr/FixRubocopNamingHeredocDelimiterNaming
Fixes Rubocop HeredocDelimiterNaming offense
2025-04-29 12:44:58 +10:00
Ahmed Ejaz
6f9b5e2c54 fix specs
- add a new class .line-items in the orders-summary to better differentiate the line-items summary vs customer-details. This css class is not defined, just .customer-order for customer details. It's only used to make a differentiation in the specs
- use the updated `parsed_email` memoized helper method for mail body content
2025-04-28 15:11:54 +05:00
Ahmed Ejaz
d9c15cf414 update locale to use lazy loading 2025-04-28 15:11:54 +05:00
Ahmed Ejaz
57c30591bc 13128: add order number in OC report
- Make Customer Code independant of Customer Names setting
2025-04-28 15:11:52 +05:00
cyrillefr
2dce79a93d Fixes Rubocop HeredocDelimiterNaming offense 2025-04-28 09:47:55 +02:00
piyush828-design
0bb6860343 Merge branch 'master' into pagy_upgrade 2025-04-28 11:23:44 +05:30
David Cook
e900c95213 Merge pull request #13276 from filipefurtad0/pagy_pagination_spec
Adds coverage to pagination (pagy bump)
2025-04-28 13:18:58 +10:00
David Cook
7ed5ca8e1c Clarify number of users expected 2025-04-28 12:23:53 +10:00
Gaetan Craig-Riou
6f0c5c7a1c Merge pull request #13277 from cyrillefr/FixRubocopAccessorMethodNameOffense
Fixes Rubocop Naming/AccessorMethodName offenses
2025-04-28 10:24:16 +10:00
filipefurtad0
ff9e2a33ce Reproduces bug #12933, setting the test case as pending 2025-04-27 14:17:28 +01:00
piyush828-design
5e890bb361 Merge branch 'master' into pagy_upgrade 2025-04-24 17:46:39 +05:30
Jordan Mock
3bb14fbfdb Merge branch 'master' into fix-#13264 2025-04-24 13:13:37 +01:00
Jordan 'sloth' Mock
b56411145c Incorrect place for origianl fix. Thanks to Blane W for pointint out the correct line. 2025-04-24 13:05:40 +01:00
filipefurtad0
1d0d294a09 Adds coverage related to S1 regression #13002 2025-04-24 10:24:13 +01:00
cyrillefr
6fb1737672 Rename get method in spec web helper 2025-04-24 09:29:40 +02:00
cyrillefr
8d5292c4ed Rename set method in spec helper and calls 2025-04-24 09:29:40 +02:00
cyrillefr
9d2cb5f0e7 Rename get method in core controller helper 2025-04-24 09:29:40 +02:00
cyrillefr
7e8661b936 Rename a set method in Post checkout service 2025-04-24 09:29:40 +02:00
cyrillefr
7812d5f58a Replace set_methods in order model 2025-04-24 09:29:40 +02:00
cyrillefr
9996fcb54d Strips set prefix from method in ProducerMailer 2025-04-24 09:29:40 +02:00
piyush828-design
6f2f8e9542 fixed users page breaking 2025-04-24 12:49:47 +05:30
Maikel Linke
4756078ab9 Update all locales with the latest Transifex translations 2025-04-24 13:53:46 +10:00
Gaetan Craig-Riou
bb882ddfa3 Per review, simplify disabling of default action
Turns out you can just call `event.preventDefault()` on the action and
there is no need actually use hotkeys to do that.
2025-04-24 13:53:23 +10:00
Filipe
40d4b0c811 Merge pull request #13269 from drummer83/remove_txt-mails
Remove text versions of emails
2025-04-23 22:44:39 +01:00
filipefurtad0
e3fff0869e Adds test case on pagination for zones index page 2025-04-23 19:45:06 +01:00
filipefurtad0
c8a91a9d44 Fixes deprecation on trailing hashes for sort_link
Running the spec was pointing to the following deprecation - Passing two trailing hashes to  is deprecated, merge the trailing hashes into a single one. (called at /home/ffurtado/openfoodnetwork/app/views/spree/admin/users/index.html.haml:16)
2025-04-23 19:45:06 +01:00
filipefurtad0
a84c0ffd73 Adds test case on pagination for users index page 2025-04-23 19:45:06 +01:00
Jordan Mock
c14c760033 Fix #13272 - missing 'ng-bind'
This PR fixes issue #13272 where supplier and product names containing HTML character entities (e.g. &#227;) were rendered as raw text on the /admin/inventory page.

For example, a supplier name intended to appear as:

Pãtes du Contentin

would incorrectly display as:

P&#227;tes du Contentin

Cause:
AngularJS’s {{ ... }} interpolation inserts raw strings into the DOM without decoding HTML entities.
2025-04-23 14:05:21 +01:00
Filipe
6a9493a581 Merge pull request #13256 from ashishp91/missing_translations_for_tax_category
Use translation for "none" in reports
2025-04-23 13:10:13 +01:00
Filipe
07842bf5eb Merge pull request #13081 from pacodelaluna/do-not-allow-spaces-in-external-billing-id
Do not allow spaces in external billing
2025-04-23 12:20:02 +01:00
David Cook
280886241a Merge pull request #13259 from piyush828-design/add_coverage_10597
Added tests for edit and delete
2025-04-23 13:05:13 +10:00
piyush828-design
8c564d344b Merge branch 'master' into add_coverage_10597 2025-04-22 11:37:54 +05:30
piyush828-design
ed0b7f88a4 updated specs 2025-04-22 11:26:56 +05:30
Gaetan Craig-Riou
b29345007d Increase query count to take into account tag query 2025-04-22 13:57:55 +10:00
Gaetan Craig-Riou
1479be787b Prevent adding empty tag 2025-04-22 13:42:09 +10:00
Gaetan Craig-Riou
31afdfd8c4 Disable "enter" hotkeys only on tag input element
We are still able to use enter to submit the form on anyother input.The
tag input creates a new tag when enter is pressed
2025-04-22 13:42:09 +10:00
Gaetan Craig-Riou
6ff47eab3b Clean up css, we dont' need a different font for tags 2025-04-22 13:42:09 +10:00
Gaetan Craig-Riou
034feabcff Javascript code linting 2025-04-22 13:42:09 +10:00
Gaetan Craig-Riou
aba6240736 Per review, use css :has() pseudo class
It saves writing some custom javascript, less code to maintain!
2025-04-22 13:42:09 +10:00
Gaetan Craig-Riou
90ca224680 Fix tag display for long name 2025-04-22 13:42:08 +10:00
Gaetan Craig-Riou
6417c87047 Add visual feedback when adding tag errors
Highlight the tag name in red, if trying to add a tag that already
exists.
2025-04-22 13:42:08 +10:00
Gaetan Craig-Riou
157de25f36 Prettyfy code 2025-04-22 13:41:02 +10:00
Gaetan Craig-Riou
9e1a80c327 Mock hotkeys.js 2025-04-22 13:41:02 +10:00
Gaetan Craig-Riou
94cc774f27 Fix html used in test
It get rids of errors, even if they didn't affect the test result it's
noise we don't need
2025-04-22 13:41:02 +10:00
Gaetan Craig-Riou
559249b621 Improve tagListInputController to integrate with bulkFormController
tagListInputController is not a standard form controller so we had to
make a few changes to integrate with the change tracking used int
bulkFormController. Mainly we make sure to manually trigger event when
deleting a tags, and we handle the change highlight.
2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
c15e16900d Add stimulus tag list input controller
It handles the UI to display the list of tags, and lets you add and
remove tags from the list.
2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
6ff4c2c3aa Disable submitting form with enter key
We need to the enter key available to create new tags
2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
d6ed536eb7 Add example of component stimulus controller naming convention 2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
3585499fba Move tag list input to a component 2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
352203747a Add tag styling 2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
87a80d3efe Add Tags collumn
Currently display the list of tags, no fancy UI.
Updating works
2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
00db5091e7 Add "variant_tag" feature toggle 2025-04-22 13:41:01 +10:00
Gaetan Craig-Riou
d3b653b257 Add "variant_tag" to variant 2025-04-22 13:41:01 +10:00
David Cook
e1c6709472 Merge pull request #13251 from cyrillefr/FixRailsLexicallyScopedActionFilterPartI
Adresses Rails/LexicallyScoped offenses
2025-04-22 11:26:11 +10:00
Ahmed Ejaz
915dccc92d Update all locales with the latest Transifex translations 2025-04-22 01:45:38 +05:00
Konrad
d97cb9ccb3 Update specs 2025-04-21 20:11:50 +02:00
Konrad
f63552ca38 Deletes remaining text versions of emails
This is in preparation for advancing the white labelling feature of emails and adding more specs in that regard

Related discussion on Slack: https://openfoodnetwork.slack.com/archives/C2GQ45KNU/p1722902361401869?thread_ts=1721485724.245519&cid=C2GQ45KNU
2025-04-21 20:11:50 +02:00
Filipe
d2fa2e612c Merge pull request #13113 from chahmedejaz/task/13031-allow-producers-to-edit-orders
Allow producer to edit their products on hubs' orders
2025-04-21 11:28:36 +01:00
Ahmed Ejaz
7642c54667 remove the disabled button 2025-04-21 03:38:06 +05:00
Filipe
cb9db54cd3 Merge pull request #13240 from rioug/13100-do-not-remove-fee-product-removed-from-OC
[Enterprise Fees] Keep fees on product when a product is removed from the order cycle
2025-04-20 21:57:56 +01:00
Filipe
3236cbb0b8 Merge pull request #13191 from mkllnk/dfc-reset
Reset stock for absent products in DFC catalog
2025-04-20 21:34:49 +01:00
Ahmed Ejaz
3443c79169 Update all locales with the latest Transifex translations 2025-04-21 00:40:49 +05:00
François Turbelin
318bc1dae0 Add tests 2025-04-17 21:29:23 +02:00
piyush828-design
3202d0ea81 fixed test failure 2025-04-16 18:24:32 +05:30
piyush828-design
da5cef26db upgraded pagy to latest version 2025-04-16 17:46:31 +05:30
piyush828-design
e76b001348 Upgrade pagy version to latest 2025-04-16 17:46:31 +05:30
piyush828-design
5849ae57de Added tests for edit and delete 2025-04-16 12:11:52 +05:30
cyrillefr
a66a6197c7 Disable cop Rails LexicallyScopedActionFilter 2025-04-15 14:12:46 +02:00
David Cook
cf55a920da Manually add variable for translation
Normally I'd avoid editing these files, but this results in translations appearing exactly as they did prior to the PR. Ideally I would notify translators to re-translate but I don't know that there's a good process for that. Hopefully this is fine and doesn't cause any conflicts...
2025-04-14 15:39:44 +10:00
Ahmed Ejaz
d12455ccbe update schema 2025-04-13 21:45:04 +05:00
Ahmed Ejaz
87c957541d refactor: fix rubocop lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
213209b460 hide customer info on bulk orders page 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
4e2198cd4f hide shipping icons from suppliers 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
eee5d5c8ad fix buggy spec:
- this before block was causing multiple nevigation to the index
  - one from the spec itself, one from here.
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
293b30cfa6 simplify block 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
f2adcbf2b8 fix syntax error 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
acdffb0aa1 revert "remove subquery for optimization"
- we are using OR between two queries here: 53ec6621bc/app/services/search_orders.rb (L31-L32)
- so to make it compatible with this, had to revert

Throws following error:
Relation passed to #or must be structurally compatible. Incompatible values: [:left_outer_joins]
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
3474734418 implement spree_current_user let! so that user creation doesn't get captured in the scoper queries 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
0500294480 rename is_producer to is_producer_only 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
a4f1f542be rename distributor_allows_order_editing to filter_by_supplier 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
adbdc64c13 remove subquery for optimization 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
f132d99df4 remove ids usage 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
9867d0bc3a fix flaky spec error:
Ferrum::BrowserError:
       Argument should belong to the same JavaScript world as target object
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
ccfd0edbf1 fix lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
bf6934db94 add specs 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
b803e18f42 fix lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
20146a8e11 update respective specs 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
bc3917ebc1 incorporate show_customer_names_to_suppliers setting 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
4bc578f38f restrict page sections from supplier 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
3e71f8293c add bulk_management ability 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
d9308799b0 add ability search supplier products in orders 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
19c5fec9a9 add ability update supplier line_items in orders 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
0a61910cf6 add ability to view supplier products containing orders 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
93fb3fd7d9 add enterprise producers_to_edit_orders setting 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
408ccc5c16 Update all locales with the latest Transifex translations 2025-04-12 23:33:20 +05:00
Ashish Gaur
2da170912f Use translation for none in reports 2025-04-12 12:01:06 +05:30
David Cook
6e344de7e2 Merge pull request #13254 from dacook/fix-schema
Remove accidental line from schema
2025-04-11 12:12:56 +10:00
David Cook
f3cec40322 Remove accidental line from schema
This was accidentally included in merged PR #13192 but is due to be added in unmerged PR #13113

I rectified this in my dev env and regenerated schema to ensure it was correct (I didn't manually edit it).
2025-04-11 11:09:28 +10:00
filipefurtad0
6a49668307 Update all locales with the latest Transifex translations 2025-04-10 16:00:54 +01:00
François Turbelin
9529acd477 Adjust the regexp 2025-04-09 23:23:37 +02:00
François Turbelin
243d81c786 Revert "Improve the no-white-spaces regexp for enterprises"
This reverts commit baf89053638628052752f345b357d630d7484046.
2025-04-09 23:20:51 +02:00
François Turbelin
98251b306e Improve the no-white-spaces regexp for enterprises 2025-04-09 22:34:25 +02:00
Gaetan Craig-Riou
6d78ee8be4 Fix rubocop warning 2025-04-09 22:34:23 +02:00
Filipe
9f988f7a02 Merge pull request #13216 from drummer83/email_header
Email header: Improve logo, resizing and styles
2025-04-09 12:00:09 +01:00
Filipe
c17821687d Merge pull request #13243 from cyrillefr/GoButtonResumeEnabledAfterFailedReport
Fixes button staying disabled after report fail
2025-04-09 10:19:06 +01:00
Filipe
c3cb51441f Merge pull request #13192 from dacook/display-customer-contacts-in-reports-13129
[FF] Add option to display customer contact details to suppliers in reports
2025-04-08 20:34:44 +01:00
cyrillefr
5c3db6cab8 Removes unused action from filter in controller 2025-04-08 14:04:37 +02:00
cyrillefr
0ef3b06cdf Requested changes 2025-04-07 13:12:51 +02:00
David Cook
5dcdf0caed Merge pull request #13247 from cyrillefr/FixRailsRubocopIssueInverseOfInOrder
Fix Rubocop InverseOf offense in Order model
2025-04-07 16:45:50 +10:00
David Cook
369b93f0dd Update tip
By updating the translation key, all other locales will be notified to update their translations too.
2025-04-07 16:33:39 +10:00
Ahmed Ejaz
34e8bc83b9 Update all locales with the latest Transifex translations 2025-04-05 03:49:47 +05:00
cyrillefr
019c703b1c Fix Rubocop InverseOf offense in Order
- also fix failing spec due to adding inverse
2025-04-03 12:39:06 +02:00
cyrillefr
6666896fa3 Requested changes 2025-04-02 14:46:22 +02:00
David Cook
5c5a115daa Fix typo 2025-04-02 10:40:46 +11:00
Konrad
d42d86b763 Reduce max-width of logo to reflect the proposed aspect ratio of 640px / 130px (= 247px / 50px) 2025-04-01 18:37:59 +02:00
Konrad
3b0b023624 Remove unused styles
Class "btn": not used in any of the emails and invoices

Class "column-wrap": not used in any of the emails and invoices

Class "collapse": margin and padding are set globally to zero already, padding is not used, but we need margin to overwrite it for h6
2025-04-01 18:36:25 +02:00
Konrad
9ee37ee0b6 Update specs 2025-04-01 18:11:13 +02:00
Konrad
db3a8a6b30 Header: Improve logo, resizing and styles
Use the site's main logo instead of footer logo to allow for better contrast on gray background (dark text on gray instead of white text on gray)

The table's background color is defined in the parent table already

Limit the max width and max height of the logo and resize the logo accordingly instead of forcing it to squeeze into a fixed size
2025-04-01 18:11:13 +02:00
cyrillefr
f0a5c76b45 Fixes button staying disabled after report fail
- added a test
2025-04-01 17:25:53 +02:00
Filipe
a7c77dc894 Merge pull request #13084 from abdulazizali77/bugfix/11529-report-by-enterprise-fee-from-lineitems
Fetch variant enterprise fees from order lineitems adjustments #11529
2025-04-01 16:13:51 +01:00
Filipe
bb527a2cbd Merge pull request #13224 from Tresor11/tb-rescue-not-found-error-for-enterprise
Fix: Admin visiting non-existent enterprise raises error
2025-04-01 15:00:41 +01:00
Gaetan Craig-Riou
1279ab21a6 Fix delete fee logic
A fee can be associated to both the incoming and outgoing exchange, the
previous logic did not account for that, resulting in the fee not being
correctly removed.
Now the delete logic also check for the metadata enterprise role to see
if any additional fee need to be removed.
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
3744ba9198 create_*_adjustment now return the adjustment 2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
223faa5569 Move #recreate_all_fees! spec to HandleFeesService
Spree::Order just delegate Orders::HandleFeesService so there is no
point testing fees in the order spec
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
b5bc6b84d7 Update Orders::HandleFeesService#recreate_all_fees!
We now update or create line item fees instead of deleting them and
recreating them. This is to cover the case when a product has been
removed from an Order Cycle but we want to keep the fee already applied
on existing order. This was an issue only if the existing order got
updated after the product was removed.
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
d83f8ded0d Remove Module from spec and some stylying
Also remove unnecessary use of `__send__`
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
2a0caca570 Refactor EnterpriseFee.clear_all_adjustments
Renamed to clear_order_adjustments, it doesn't clear line item
adjustment
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
02a9aaf1ec Refactor spec 2025-04-01 13:46:34 +11:00
Trésor Bireke
5e7f0f8a1a Merge branch 'master' into tb-rescue-not-found-error-for-enterprise 2025-04-01 01:10:17 +02:00
Gaetan Craig-Riou
0537a56b47 Merge pull request #13239 from cyrillefr/FixRailsRubocopIssueInverseOfInPayments
Fixes rubocop offense inverse_of on payment model
2025-04-01 09:59:01 +11:00
David Cook
bf3cfeb9fa Merge pull request #13236 from mkllnk/deprecations
Alert us to deprecation warnings
2025-04-01 09:53:02 +11:00
David Cook
d8eab7875f Merge pull request #13235 from mkllnk/stock-aggregation
[API change] Remove unused ProductStock concern
2025-04-01 09:45:24 +11:00
David Cook
176e33d6bf Rubocop fixes 2025-04-01 09:29:27 +11:00
Tresor11
507705a4eb Update method name to require
This commit updates the method name to be called required_enterprise
since we only expect it to raise an error when the enterprise is not found.
2025-03-31 22:28:38 +03:00
cyrillefr
09a6da0c57 Fixes rubocop offense inverse_of on payment model
- some clean up unused method too
2025-03-31 17:10:43 +02:00
David Cook
e02ef08b06 Consolidate translations for hidden field
The string '< Hidden >' was agreed on as a good default, so we will use the hidden_field key.
I also moved the definition in en.yml up to the more general area at the start of admin.reports section (before it was hidden between report-specific keys.
2025-03-31 16:24:07 +11:00
David Cook
729dc9d658 Move mask logic to separate module
And cross-reference similar files so we don't miss it next time\!
2025-03-31 16:16:27 +11:00
David Cook
19b6cbcc9b Packing reports: Display phone numbers to suppliers 2025-03-31 16:16:27 +11:00
David Cook
9c296b691f Remove unnecessary parameter
We've never needed it and still don't need it for the next feature
2025-03-31 16:16:27 +11:00
David Cook
38fca53e91 Refactor
Using a more specific name for the mask rule, and making way for a second standardised rule.
2025-03-31 16:16:27 +11:00
David Cook
f40a00dde3 Expand spec to cover existing behaviour
And use let to avoid extra db query
2025-03-31 16:16:27 +11:00
David Cook
47b6888fe6 Display customer emails & phone numbers to suppliers
when permitted.

The MaskDataService is used by the report framework, so this should affect all reports. It would be nice to test all reports, but I figured it wasn't worth it (already we only test one report for masking names).
2025-03-31 16:16:27 +11:00
David Cook
b05a42f3bb Refactor spec 2025-03-31 16:16:27 +11:00
David Cook
98ab910fb4 Refactor 2025-03-31 16:16:27 +11:00
David Cook
4402854a2a AddEnableProducersToEditOrdersToEnterprises
With system spec for setting the preference. The enterprise edit page seems under-tested..
2025-03-31 16:16:27 +11:00
David Cook
02db30202b Use rails form helper methods
This helps ensure the labels are attached to the radio buttons, so you can click on the words to select the option.
2025-03-31 16:16:27 +11:00
Maikel
b9901b91fe Merge pull request #13234 from mkllnk/rspec-sql
Bump rspec-sql from 0.0.2 to 0.0.3
2025-03-31 12:24:31 +11:00
Gaetan Craig-Riou
421b753e0a Merge pull request #13231 from chitty/more-rubocop-style-corrections
Correct rubocop Style/* offenses
2025-03-31 10:49:20 +11:00
Maikel
f61b2ae22e Merge pull request #13229 from mcmpp/Add_basque_language
Add basque language
2025-03-31 10:45:59 +11:00
Gaetan Craig-Riou
aee80ddf1d Merge pull request #13230 from filipefurtad0/specs_mailer_reply_to_changes
Adds tests to recent reply_to email changes
2025-03-31 10:38:59 +11:00
David Cook
91a9a3cd77 Merge pull request #13226 from cyrillefr/FixRailsInversOfPartI
Fixes some Rails InverseOf offenses
2025-03-31 09:48:51 +11:00
filipefurtad0
b975986639 Update all locales with the latest Transifex translations 2025-03-29 11:22:49 +00:00
Filipe
37ef5d5b02 Merge pull request #13214 from chahmedejaz/task/13179-expand-notes-edit-order
Fix expand notes field when editing order
2025-03-28 16:43:29 +00:00
Abdul Aziz Ali
8b34505b36 Fix query group and pluck #11529 2025-03-28 19:12:09 +08:00
Abdul Aziz Ali
abe4c5e0da Filter fees by metadata.enterprise_role 'supplier' #11529 2025-03-28 18:30:44 +08:00
Maikel Linke
4962304a48 Deal with nil values in sum
Rails was doing that for us but Rails 7.1 won't.
2025-03-28 17:01:26 +11:00
Maikel Linke
007154ef28 Notify Bugsnag on deprecations in staging & production
The behaviour was set to `notify` already but we were missing a
notification handler. Now we'll get alerted about deprecations which
were not covered by specs.
2025-03-28 17:01:26 +11:00
Maikel Linke
db513470e0 Fail CI on unknown deprecation warnings 2025-03-28 17:01:26 +11:00
Maikel Linke
b3ddfde1c3 Remove empty ProductStock concern 2025-03-28 14:49:47 +11:00
Maikel Linke
a48a1e1171 DRY importer spec 2025-03-28 14:48:40 +11:00
Maikel Linke
ca9f32ceae [API change] Remove unused Product#on_hand 2025-03-28 14:48:40 +11:00
Maikel Linke
d55d4dd8ed Remove unused Product#on_demand 2025-03-28 14:00:40 +11:00
Maikel Linke
0334f3688e Upload to and download from Transifex 2025-03-28 11:12:10 +11:00
Maikel Linke
eddae28ce0 Fix locale syntax 2025-03-28 11:05:53 +11:00
Mikel Cordovilla Mesonero
2904b64b2a Merge branch 'master' into Add_basque_language 2025-03-27 18:54:53 +01:00
Mikel Cordovilla Mesonero
a5fd1ec7b1 Update config/locales/eu.yml
Co-authored-by: Maikel <maikel@email.org.au>
2025-03-27 16:12:30 +01:00
Mikel Cordovilla Mesonero
3af00d5f7a Update config/locales/eu.yml
Co-authored-by: Maikel <maikel@email.org.au>
2025-03-27 16:12:17 +01:00
Maikel
9e1a66c1e5 Merge pull request #13233 from chitty/bump-puma-to-6.5
Bump puma to v6.5.0
2025-03-27 16:10:21 +11:00
Maikel Linke
60eb50066e Bump rspec-sql from 0.0.2 to 0.0.3 2025-03-27 15:21:08 +11:00
Maikel Linke
406018e7eb Simplify resetting variants
I was hoping to reduce the query count but it stayed the same. In fact,
I'm expecting the query count to be higher with this version. The
DfcCatalogImporter queries all variants and links at once while the OC
job is not pre-loading the variants at the moment. We can optimise the
job though.

If we kept the old version and there were multiple catalogs per variant
then we would call the importer with the reset multiple times. The job
is iterating through each link only once though. So depending on the
ratio of catalogs to variants, I'm not sure which version would be more
efficient.

No version is properly dealing with the edge-case of multiple catalogs
per variant anyway. Imagine there are two catalogs with different stock
levels. Which one do we choose? Or do we add up?
And if the variant disappears from one catalog we still want to sell it
through the other. But depending on the order of processing, we may
reset the variant if it's missing in the last catalog. But let's worry
about that when it actually happens. Maybe it will be better to restrict
variants to one catalog.
2025-03-27 15:12:45 +11:00
Maikel Linke
1a5b6bbc8f Reset stock for unavailable products on OC open 2025-03-27 14:40:50 +11:00
Maikel Linke
9e3ff412f9 Simplify controller 2025-03-27 13:36:48 +11:00
Maikel Linke
48e3b5b05e Move more reset variant code for re-use 2025-03-27 13:36:48 +11:00
Maikel Linke
c43bd0c24b Move variant reset code to shared service 2025-03-27 13:36:48 +11:00
Maikel Linke
e35a29cc29 Remember local stock of backordered products
When retail variants are mapped to wholesale variants, we usually have a
some leftover stock at the end of an order cycle. For example, we
backordered a slab of 12 cans of tomatoes but our customers bought only
9 of those. Then we have 3 left for the next order cycle.

Even when the product is not available for backorder with the supplier,
we still want to sell off our leftover stock, the three cans of tomatoes
in our example.

And it might be that the product will come back in the future.
2025-03-27 13:36:48 +11:00
Maikel Linke
2a81d26ef1 Simplify complex method 2025-03-27 13:36:48 +11:00
Maikel Linke
c60718feea List absent products in import preview 2025-03-27 13:36:48 +11:00
Maikel
a2e68e1f3c Explain stock reset further
Co-authored-by: David Cook <david@redcliffs.net>
2025-03-27 13:36:48 +11:00
Maikel Linke
11be8360e3 Prettier and localised display of import stats 2025-03-27 13:36:47 +11:00
Maikel Linke
a6c08fe2ad Reset stock for absent products in DFC catalog 2025-03-27 13:36:47 +11:00
Maikel Linke
8a8602158b Test link in HTML email with Capybara 2025-03-27 12:06:05 +11:00
Maikel Linke
b554248cfe Test for email content 2025-03-27 11:48:41 +11:00
Maikel Linke
1b8ebc3105 Test with known text 2025-03-27 11:38:35 +11:00
Maikel Linke
edcb04ed50 Save time by not storing test data in DB 2025-03-27 11:31:16 +11:00
Maikel Linke
e12c51edd1 Use RSpec matchers for emails 2025-03-27 11:29:15 +11:00
Maikel
249410bed1 Merge pull request #13228 from rioug/13217-add-order-fees-testing
[Enterprise fees] Add system testing for various enterprise fees
2025-03-27 10:49:23 +11:00
cyrillefr
da26f5833f Requested changes 2025-03-26 19:44:08 +01:00
Carlos Chitty
24aaf9ab4c bump puma 2025-03-26 13:03:13 -04:00
Carlos Chitty
ecb303fef5 Correct Style/SlicingWithRange rubocop offenses 2025-03-26 11:16:24 -04:00
Carlos Chitty
58a16d89a3 Correct Style/RedundantInitialize rubocop offense 2025-03-26 11:16:24 -04:00
Carlos Chitty
7f734cf2f8 Autocorrect Style/PreferredHashMethods rubocop offense 2025-03-26 11:16:24 -04:00
Carlos Chitty
be76e714c6 Autocorrect Style/GlobalStdStream offenses 2025-03-26 11:16:24 -04:00
Carlos Chitty
1109ccfc3d Correct Style/FrozenStringLiteralComment rubocop offense 2025-03-26 11:16:24 -04:00
Carlos Chitty
9c8e0899d1 Correct Style/CaseEquality rubocop offense 2025-03-26 11:16:20 -04:00
filipefurtad0
e017b14f31 Adds spec for payment authorization emails 2025-03-26 12:19:02 +00:00
filipefurtad0
df3cbe84b6 Asserts that the order shipment and pick up emails have the distributors email as reply to address 2025-03-26 12:19:02 +00:00
filipefurtad0
98cba128e0 Asserts that the invoice email has the distributors email as reply to address 2025-03-26 12:18:55 +00:00
filipefurtad0
ea82b162ac Asserts that the order cancellation email for customer has the distributors email as reply to address 2025-03-26 12:00:48 +00:00
filipefurtad0
9a161cae5b Asserts that the order confirmation email for shops has the customer's email as reply to address 2025-03-26 12:00:48 +00:00
filipefurtad0
6ee1c8ca29 Asserts that the order cancellation email for shops has the customer's email as reply to address 2025-03-26 12:00:41 +00:00
filipefurtad0
c95c598f82 Asserts that the enterprise welcome email has no reply to address
Asserts that manager invitation email has the inviting enterprise as reply to address
2025-03-26 11:57:59 +00:00
Mikel Cordovilla
355c775516 Add basque language 2025-03-26 11:57:22 +01:00
Gaetan Craig-Riou
d8f2bb09d0 Re enable assertion
It's working fine with the current design
2025-03-26 12:50:42 +11:00
Gaetan Craig-Riou
1ee3e9a2a1 Add proper fee testing
The previous version wasn't testing anything as there was no fees set
up.
Now we check that fees are applied as expected, and also that supplier
fees are applied only to the expected product.
2025-03-26 12:50:35 +11:00
Maikel
83186608a0 Merge pull request #13227 from chitty/rubocop-style-autocorrection-fix
Autocorrect rubocop offenses Style/RedundantAssignment and Style/RedundantArgument
2025-03-26 10:16:35 +11:00
cyrillefr
1d24674386 Fixes some Rails InverseOf offenses 2025-03-25 18:46:00 +01:00
Carlos Chitty
dca2714aa7 Autocorrect rubocop offense Style/RedundantArgument 2025-03-25 13:35:56 -04:00
Carlos Chitty
ba693e3ecf Autocorrect rubocop offense Style/RedundantAssignment 2025-03-25 13:33:50 -04:00
Filipe
9fa42cae47 Merge pull request #13143 from mkllnk/admin-in-same-tab
Open admin dashboard in same tab by default
2025-03-25 17:10:51 +00:00
Filipe
2a3927caad Merge pull request #13176 from drummer83/reply-to-email-address_part2
Add a 'reply to' email address to some more emails
2025-03-25 17:00:02 +00:00
Maikel
11dbd5620d Merge pull request #13167 from dacook/sync-products-on-oc-opened-12986
[DFC Orders] Sync remote products when order cycle opens
2025-03-25 11:02:59 +11:00
Maikel Linke
177a910aac Disable printing expected error 2025-03-25 10:38:35 +11:00
Maikel Linke
973d1be90b Style EmptyBlock 2025-03-25 10:38:35 +11:00
Maikel Linke
7abaaed5b6 Make test fail when we are not locking 2025-03-25 10:38:35 +11:00
Maikel Linke
dcedffac2f Ensure we wait for all threads in spec 2025-03-25 10:38:34 +11:00
David Cook
ff7c23c8f9 Rename OrderCycleOpenedJob
This name better reflects what it's doing.

As this job is scheduled automatically by Sidekiq, I think there shouldn't be any jobs with the old name in redis. So I didn't bother keeping a placholder for the old name.

And Clean up unused include
2025-03-25 10:38:34 +11:00
David Cook
6738101ebd Raise error if record not found, and don't retry too many times
After 10 minutes, I'd consider that it failed to open the order cycle. Who would want their products to sync, or get a notification at a random time during the order cycle?

Best viewed with whitespace ignored.
2025-03-25 10:38:34 +11:00
David Cook
75dcee12a8 Re-record fixture
And document how to run it.
2025-03-25 10:38:34 +11:00
David Cook
428bcc8988 Only update one timestamp
> The order cycle itself is not changed. It's just that time passed and it's now considered open/closed.
2025-03-25 10:38:34 +11:00
David Cook
317cbd4b32 Use existing method
Co-authored-by: Maikel <maikel@email.org.au>
2025-03-25 10:38:34 +11:00
David Cook
801beadb67 Reduce specificy of test
I guess we lose some of the detail in the db.
2025-03-25 10:38:34 +11:00
David Cook
4400b74f7e Explicitly set timecop freeze time
and in that case, might as well define it once at the top.

But it didn't help with spec failures.. see next commit
2025-03-25 10:38:34 +11:00
David Cook
23dc0f7298 Change concurrency check to be based on order_cycle.opened_at
Being based on the DB value should be more robust.

This prevents an order cycle from being "opened" when it's already open. But note that the order cycle can become "unopened" (see OrderCycle#reset_opened_at).

Nice to see the database query count drop, but I must confess I don't know why!
2025-03-25 10:38:34 +11:00
David Cook
eff8fdb28b Move to new job
And re-organise specs.

TOFIX: concurrency test now fails. why?

Use correct testing methods
2025-03-25 10:38:34 +11:00
David Cook
a8490a9b11 Record the exact event time for the webhook
There might be a delay before it gets sent, so it's better to record the time the event occurred at.
It would have been simpler to just add it to the data hash, but I felt it was an important detail for an event and should be at the top level along with event name.

In the case of order cycle opening, this is the same as opened_at. I've included this in the payload for clarity too.
2025-03-25 10:38:30 +11:00
David Cook
6f5a58ac47 Refactor spec
It was probably better to be explicit at each test, but this one is always repeated and approaches the line length, so I wanted to just define it once at the top.
2025-03-25 10:27:47 +11:00
David Cook
05e1a5b39d Mark each order cycle as opened once pre-conditions have been processed 2025-03-25 10:27:47 +11:00
David Cook
5b21c81ca5 Synchronise remote products when order cycle opens
I considered pre-loading the variant and product with includes, But can't do that here because it's a polymorphic relationship.
2025-03-25 10:27:47 +11:00
Gaetan Craig-Riou
bdced0b9e2 Merge pull request #13207 from mkllnk/dfc-missing-product
Gracefully handle product missing from catalog
2025-03-24 10:12:48 +11:00
Maikel
08dd446d54 Merge pull request #13223 from cyrillefr/FixRailsTimeZone
Fixes Rails TimeZone rubocop offenses
2025-03-24 10:07:01 +11:00
Ahmed Ejaz
806965b2cd add textarea field plus the preformatted tag to display paragraph formatting in the notes 2025-03-24 00:43:07 +05:00
Tresor11
5b3bae85ca Rescue Not Found Error for Enterprise for admin
Currently when an admin tries to edit an no-existing enterprise, a
NoMethodError is raised.

This commit adds a set_enterprise setter method to the
enterprises controller that sets the @enterprise instance variable to
have the same value as the enterprise object defined in the the edit
method; this method also rescues the NotFound error  in case
the enterprise is not found and redirects the user to the enterprises
index page with a error message.
2025-03-22 00:35:27 +03:00
Ahmed Ejaz
bcfb55702b Update all locales with the latest Transifex translations 2025-03-22 01:29:17 +05:00
cyrillefr
fa4fc7c3c5 Fixes Rails TimeZone rubocop offenses 2025-03-21 13:13:52 +01:00
Filipe
353e7ecff0 Merge pull request #13153 from mkllnk/dfc-images
Update images in DFC product import on URL change
2025-03-21 09:59:36 +00:00
Maikel
c60bb2776c Merge pull request #13201 from dacook/breaking-change-labels
Categorise breaking-change labels in release notes
2025-03-21 10:39:48 +11:00
David Cook
da3bd4eae9 Use spaces in label names
The labels on GitHub have already been updated.

[skip ci]
2025-03-20 15:31:34 +11:00
David Cook
1d55c234a4 Rename release category title
Much less alarming than 'breaking'.
2025-03-20 15:18:57 +11:00
Maikel Linke
dc749092b4 Simplify authorisation required email 2025-03-20 09:58:46 +11:00
Abdul Aziz Ali
6a525c18ac remove incoming exchange filtering #11529 2025-03-19 08:23:30 +08:00
Maikel
a27491bc39 Merge pull request #13218 from openfoodfoundation/revert-13144-13100-removed-fee-when-product-removed
Revert "Update line items enterprise fee instead of deleting and recreating "
2025-03-19 09:57:30 +11:00
Gaetan Craig-Riou
11e08dcc26 Revert "Update line items enterprise fee instead of deleting and recreating " 2025-03-19 09:40:02 +11:00
drummer83
71fa0f09c6 Add 'reply to' email address to order emails for shops 2025-03-18 16:07:55 +01:00
drummer83
aff5cd8d44 Add 'reply to' email address to payment emails 2025-03-18 16:07:55 +01:00
Filipe
e524b3ddb1 Merge pull request #13197 from dacook/reload-payments-12693
Fix obscure issue when choosing payment method in checkout
2025-03-18 12:04:33 +00:00
Filipe
3c801a2656 Merge pull request #13182 from mkllnk/invalid-dfc-catalog-url
Rescue from invalid DFC catalog URLs
2025-03-18 10:57:26 +00:00
Maikel
a0b5bd53f1 Merge pull request #13210 from dacook/test-locale
Ensure tests run with specified locale
2025-03-18 09:57:25 +11:00
Gaetan Craig-Riou
afb25a5209 Merge pull request #13209 from cyrillefr/FixRubocopLintIssuesIV
Fixes some rubocop linting offenses - part IV
2025-03-18 09:43:01 +11:00
Ahmed Ejaz
cd894dac59 Revert "TEST"
This reverts commit 65a64c6eb3.
2025-03-18 03:35:45 +05:00
Ahmed Ejaz
65a64c6eb3 TEST 2025-03-18 03:32:23 +05:00
David Cook
c882924a60 Add comment to .env.test
[skip ci]
2025-03-17 13:52:52 +11:00
David Cook
bf01b945ff Update all locales with the latest Transifex translations 2025-03-17 10:02:27 +11:00
Ahmed Ejaz
86f5385aec 13179: fix notes field length issue
- notes field was a children of label element
- due to this its size was bound by the label element
- now this commit makes it a sibling, making it occupy the width of column width
2025-03-16 16:00:56 +05:00
Filipe
b3c7968e50 Merge pull request #13144 from rioug/13100-removed-fee-when-product-removed
Update line items enterprise fee instead of deleting and recreating
2025-03-14 10:12:50 +00:00
Maikel
4a1a965f74 Merge pull request #13205 from openfoodfoundation/dependabot/npm_and_yarn/babel/helpers-7.26.10
chore(deps): bump @babel/helpers from 7.21.5 to 7.26.10
2025-03-14 16:45:55 +11:00
dependabot[bot]
72d7e44bb9 chore(deps): bump @babel/helpers from 7.21.5 to 7.26.10
Bumps [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) from 7.21.5 to 7.26.10.
- [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.26.10/packages/babel-helpers)

---
updated-dependencies:
- dependency-name: "@babel/helpers"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 03:43:58 +00:00
Maikel
07cc9fa711 Merge pull request #13204 from openfoodfoundation/dependabot/npm_and_yarn/babel/runtime-7.26.10
chore(deps): bump @babel/runtime from 7.15.3 to 7.26.10
2025-03-14 14:42:05 +11:00
Maikel Linke
b15ffe7a4e Restore empty block with comment
RSpec tags are too complex for this simple setup.
2025-03-14 11:26:04 +11:00
cyrillefr
ba58a7b924 Fix: inconsiderate use of RSpec.configure 2025-03-13 10:08:35 +01:00
David Cook
1bbd6b58fd Run tests with specified locale
We changed .env.test a while ago, but I just discovered it hadn't taken any effect because it was overwritten here. Now it's loaded from env var.
2025-03-13 11:56:16 +11:00
cyrillefr
e26d591d24 Fixes some rubocop linting offenses - part VI 2025-03-12 21:23:49 +01:00
Maikel Linke
a082a95ea1 Split method into simpler pieces 2025-03-12 13:03:35 +11:00
Maikel Linke
2f5667a294 Gracefully handle product missing from catalog 2025-03-12 12:56:08 +11:00
David Cook
1213455350 Merge pull request #13202 from mkllnk/flaky-cache
Ensure we test for the right text after AJAX loads filters
2025-03-12 10:12:11 +11:00
David Cook
19ae49aa68 Merge pull request #13200 from mkllnk/caching
Make sure the first page load is complete before updating database
2025-03-12 10:11:00 +11:00
David Cook
37b6312458 Merge pull request #13196 from mkllnk/reviewdog
Fail Reviewdog Rubocop check on any found issues
2025-03-12 10:08:24 +11:00
dependabot[bot]
ad593e521c chore(deps): bump @babel/runtime from 7.15.3 to 7.26.10
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.15.3 to 7.26.10.
- [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.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 23:02:47 +00:00
David Cook
b5065de7d9 Update app/views/checkout/_tabs.html.haml
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2025-03-12 10:01:45 +11:00
Gaetan Craig-Riou
ba1456b215 Merge pull request #13203 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.13
chore(deps): bump trix from 2.1.12 to 2.1.13
2025-03-12 10:01:22 +11:00
dependabot[bot]
cdc14ace5d chore(deps): bump trix from 2.1.12 to 2.1.13
Bumps [trix](https://github.com/basecamp/trix) from 2.1.12 to 2.1.13.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.12...v2.1.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 09:13:12 +00:00
Maikel Linke
84fa679165 Revert "Run flaky spec 250 times to surely fail"
This reverts commit 46b5fddf76.
2025-03-11 17:12:36 +11:00
Maikel Linke
fc73d8cd4a Ensure we test for the right text after AJAX loads filters 2025-03-11 17:02:48 +11:00
Maikel Linke
46b5fddf76 Run flaky spec 250 times to surely fail 2025-03-11 16:49:01 +11:00
Maikel Linke
64a8b5845a Add feature toggle open_in_same_tab for admin dashboard
This allows us to test what users actually want.
2025-03-11 16:38:51 +11:00
David Cook
55cbe51592 Prevent Turbo pre-fetch which changes cart state 2025-03-11 16:19:34 +11:00
David Cook
f37742d84a Prevent exception when payment has been cleared
Note that in the real world, this avoids a crash, but still requires the user to click the button two more times before it will work, with no hints as to why. So not a great help.
2025-03-11 16:19:21 +11:00
Maikel Linke
caf40e7301 Open admin dashboard in same tab by default 2025-03-11 16:13:27 +11:00
David Cook
25eb00f69c Spec for #12693
I tried to build it within  context "with existing invalid payments", but couldn't get it to work so created a different one.
2025-03-11 16:10:54 +11:00
David Cook
0f923405cb Attempt to spec for error
It didn't catch the error I was looking for. I'm not sure if it is a valid use case, but it still seems helpful to add coverage for current functionality.
2025-03-11 16:08:27 +11:00
David Cook
bd6f718bef Add reminder to check for breaking changes
[skip ci]
2025-03-11 15:58:28 +11:00
David Cook
08045d950b Categorise breaking-change labels in release notes 2025-03-11 15:51:28 +11:00
Maikel
2c25ab0f09 Merge pull request #13199 from cyrillefr/FixRubocopLintIssuesIII
Fixes some rubocop linting offenses - part III
2025-03-11 13:58:22 +11:00
Gaetan Craig-Riou
0480ddb59c Add comment 2025-03-11 10:41:32 +11:00
Gaetan Craig-Riou
f2c3ab8b03 Per review, improve test expectation 2025-03-11 10:37:49 +11:00
Gaetan Craig-Riou
9c45801e37 Code formatting 2025-03-11 10:31:28 +11:00
Gaetan Craig-Riou
756a469a41 Update all locales with the latest Transifex translations 2025-03-10 13:43:25 +11:00
Ahmed Ejaz
37de45b60e Merge pull request #13189 from chahmedejaz/bugfix/13019-page-redirect-from-shopfront
Page is redirected to root after login from shopfront page
2025-03-09 06:14:44 +05:00
Maikel Linke
fc2515eac1 Make sure the first page load is complete before updating database 2025-03-07 13:08:50 +11:00
cyrillefr
9bb617d748 Fixes some rubocop linting offenses - part III 2025-03-06 23:42:53 +01:00
Maikel
9ffc249e37 Merge pull request #13194 from openfoodfoundation/dependabot/npm_and_yarn/pretty-quick-4.1.1
chore(deps-dev): bump pretty-quick from 4.0.0 to 4.1.1
2025-03-06 13:15:23 +11:00
Maikel Linke
73ae43302e Update deprecated Reviewdog option 2025-03-06 12:55:56 +11:00
David Cook
d3b7db0082 Merge pull request #13186 from cyrillefr/FixRubocopLintIssuesII
Fixes some rubocop linting offenses - part II
2025-03-06 11:33:56 +11:00
Maikel
2e4b59daaf Remove orphaned comment 2025-03-06 11:28:25 +11:00
David Cook
45eedd1e89 Simplify expresssion
It's worth noting that a falsy value won't get cached (as before).
But I didn't take the time to investigate if that makes a difference or not.
2025-03-06 10:14:24 +11:00
David Cook
633cdaca56 Remove unused method
I believe it's unused since e4d307fe5e
2025-03-06 09:49:50 +11:00
David Cook
af4129a33c Merge pull request #13184 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.13
chore(deps): bump @hotwired/turbo from 8.0.12 to 8.0.13
2025-03-06 09:19:45 +11:00
dependabot[bot]
18ee09ea92 chore(deps-dev): bump pretty-quick from 4.0.0 to 4.1.1
Bumps [pretty-quick](https://github.com/prettier/pretty-quick) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/prettier/pretty-quick/releases)
- [Changelog](https://github.com/prettier/pretty-quick/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/pretty-quick/compare/v4.0.0...v4.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 09:24:32 +00:00
Ahmed Ejaz
b61c9500f9 13019: fix redirect issue 2025-03-05 01:35:46 +05:00
Konrad
de784209bb Merge pull request #13187 from chahmedejaz/task/13127-add-shipment-state-to-oc-customer-totals-report
Add shipment state to OC customer totals report
2025-03-04 20:25:44 +01:00
Maikel Linke
4c086e3d40 Update images in DFC product import on URL change 2025-03-04 20:02:03 +01:00
Konrad
6d67a913d9 Merge pull request #13147 from dacook/cleanup
Speed up super admin dashboard
2025-03-04 18:09:20 +01:00
Konrad
fcc9e3dc8b Merge pull request #13171 from cyrillefr/EnterpriseFeesPageTrueInsteadOfBlankOption
Remove true as select default first option
2025-03-04 18:07:24 +01:00
David Cook
155641218a Merge pull request #13183 from mkllnk/rake-reset
Add task to reset database with sample data
2025-03-04 10:57:12 +11:00
Ahmed Ejaz
434434f451 13127 - add shipment state in the oc customer total report 2025-03-04 04:09:04 +05:00
David Cook
de6e61f4b5 Cleanup a few more unused translation keys 2025-03-03 14:46:24 +01:00
David Cook
94c331cbdd Ignore certain keys
That brings the count down to 'only' 1057.

There's probably a lot of other keys that are dynamically generated, I did *not* review them all.
We could consider saving the output of this command to a todo file.
2025-03-03 14:46:24 +01:00
David Cook
d8488395ee Add i18n-tasks gem
And check fo unused translations:

  bundle exec i18n-tasks unused -l en -f key-values | wc -l
  1277

Wow, really??
2025-03-03 14:46:24 +01:00
David Cook
b623665b66 Remove unused spree_admin_enterprises translations
I searched the codebase for these keys, but couldn't find them
The next ones look unused too.
I thought we had a plugin to help with that..
2025-03-03 14:46:24 +01:00
David Cook
9adf3a22af Show only first 25 enterprises
I thought about reducing it further, but maybe people are used to having a large list. Let's see how this performs
2025-03-03 14:46:24 +01:00
David Cook
b9aada47e0 Remove superfluous %div from haml ID elements
Div is the default element in HAML, so we don't need to specify it.
2025-03-03 14:46:24 +01:00
David Cook
5a1190cdda Remove superfluous %div from haml elements with class
Div is the default element in HAML, so we don't need to specify it. https://haml.info/docs/yardoc/file.REFERENCE.html#implicit-div-elements
2025-03-03 14:46:24 +01:00
cyrillefr
446b948889 Fixes some rubocop linting offenses - part II 2025-03-03 14:03:47 +01:00
dependabot[bot]
5205b64d16 chore(deps): bump @hotwired/turbo from 8.0.12 to 8.0.13
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.12 to 8.0.13.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/commits/8.0.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 09:52:14 +00:00
Maikel Linke
2e3c32f9d3 Add task to reset database with sample data 2025-03-03 13:14:51 +11:00
Maikel Linke
f9322ac71b Style: simplify controller method 2025-03-03 12:23:58 +11:00
Maikel Linke
7f8581fd9f DRY controller methods which became too long 2025-03-03 12:23:58 +11:00
Maikel Linke
9d5ce0ede5 Remove surrounding whitespace from pasted DFC URL 2025-03-03 12:23:58 +11:00
Maikel Linke
b6153fc155 Rescue from invalid DFC catalog URLs
This mistake should be dealt with differently but I wanted to make sure
that a really invalid URL is handled well, too.
2025-03-03 12:23:58 +11:00
Maikel
5bef8b7dde Merge pull request #13178 from cyrillefr/FixRubocopLintIssuesI
Fixes some rubocop linting offenses
2025-02-28 10:40:56 +11:00
filipefurtad0
ce7d4dca40 Update all locales with the latest Transifex translations 2025-02-27 16:59:48 -06:00
Filipe
feccef0b36 Merge pull request #13157 from drummer83/email_styled_password
Create styled email for reset password instructions
2025-02-27 16:53:04 -06:00
Filipe
cf3213cf96 Merge pull request #13168 from dacook/dfc-product-import-select-all-12301
[DFC Orders] Select/deselect all on DFC Product Import
2025-02-27 16:43:37 -06:00
Filipe
9a0bcac3c2 Merge pull request #13156 from drummer83/orders_input_align
Align inputs on orders list and adjust position of checkboxes for reports
2025-02-27 16:04:16 -06:00
cyrillefr
027d4ccbad Fixes some rubocop linting offenses - part I
- Lint/RedundantSafeNavigation
- Lint/SelfAssignment
- Lint/UselessMethodDefinition
2025-02-27 16:28:00 +01:00
David Cook
5a1d6b749e Fix spec
The label got changed in a separate PR that was merged around the same time.
It's my fault for changing the label.
2025-02-26 15:57:12 +11:00
Maikel Linke
6a0144f171 Update all locales with the latest Transifex translations 2025-02-24 15:50:39 +11:00
Maikel
ff8fe58268 Merge pull request #13151 from mkllnk/dfc-stock-limit
Fix reset stock when importing DFC products
2025-02-24 15:47:12 +11:00
Maikel
462886447a Merge pull request #13126 from mkllnk/oidc-error
Direct people to refresh OIDC connection when needed
2025-02-24 15:45:48 +11:00
Filipe
bd893eb3d5 Merge pull request #13139 from drummer83/reply-to-email-address
Add a 'reply to' email address where it makes sense and has been missing
2025-02-21 13:09:42 -06:00
cyrillefr
96d6718e6d Remove true as select default first option 2025-02-21 14:20:59 +01:00
Konrad
7cd3c32787 Merge pull request #13164 from rioug/fix-user-controlled-method-execution
Fix user controlled method execution
2025-02-21 12:59:40 +01:00
Filipe
9baed8536c Merge pull request #13121 from rioug/13054-out-of-stock-autoremove
Autoremove/update item from the cart if stock changed during checkout
2025-02-20 22:35:40 -06:00
Filipe
f715c366ea Merge pull request #13160 from chahmedejaz/task/13097-add-columns-in-packing-reports
Add shipping method and shipment state to packing reports
2025-02-20 19:49:03 -06:00
Filipe
f7b471da08 Merge pull request #13148 from mkllnk/dfc-variants
Add DFC product groups with variants
2025-02-20 18:53:00 -06:00
Konrad
48688311d1 Merge pull request #13165 from chahmedejaz/bugfix/unable-to-view-images-in-dev-env
Fix base urls for assets in development
2025-02-20 07:56:09 +01:00
David Cook
7444ddccd1 Wait, There's A Lifecycle Callback For That 2025-02-20 12:52:27 +11:00
David Cook
7acc78b6d8 Revert "Delegate events to the parent element"
This reverts commit e31c16df43.
2025-02-20 12:49:25 +11:00
David Cook
e31c16df43 Delegate events to the parent element
Ok so I wasn't as smart as I thought I was. The stimulus controller knows when its element is added/removed from the DOM (and calls connect/disconnect appropriately). But if any child elements are added, they don't automatically have my new event handlers.

So I borrowed jQuery's event delegation concept, and listen for any events that 'bubble' up to the controller element, and delegate them as needed.

Alternatively, maybe I could have used a Mutation Observer, but I think it's best to avoid where possible.

Or of course, we could just revert my change and keep the 'data-action's in the HTML. I'm curious to hear opinions on this.."
2025-02-20 12:46:27 +11:00
David Cook
4cb1b0a48e Add total count of selected items
I noticed there's a controller for that too, so might as well make use of it. The orders page has it at the top, because that's where the bulk action menu is. But on this page, the action is the import button so I put it there.
2025-02-20 12:15:53 +11:00
David Cook
6e7766a2c2 Increase font size 2025-02-20 12:15:53 +11:00
David Cook
57fb855147 Ensure label reaches to edge of table cell
Best viewed with whitespace ignored
2025-02-20 12:15:49 +11:00
David Cook
b370b207b5 Automatically bind toggleCheckbox action 2025-02-20 12:14:49 +11:00
David Cook
b92c046119 Automatically bind toggleAll action
We are already specifying the element's role ('all') in the HTML. Its behaviour should be predefined; there's no need to also specify in the HTML.

The eventhandler doesn't need to be cleand up on disconnect, because they are removed along with the DOM object.
2025-02-20 11:24:21 +11:00
David Cook
c2e54104d0 Add select/deselect all checkbox
There's A Controller For That.
(But I think it makes the HTML ugly..)
2025-02-20 10:56:53 +11:00
Gaetan Craig-Riou
8116ad986e Delete fees when fee are removed from the Order Cycle
This is to be consistent with the current behavior
2025-02-19 15:34:39 +11:00
Gaetan Craig-Riou
67ad532908 Handle scenario where the enterprise fee has been deleted 2025-02-19 15:34:32 +11:00
Gaetan Craig-Riou
12a54dd8f0 Move #recreate_all_fees! spec to HandleFeesService
Spree::Order just delegate Orders::HandleFeesService so there is no
point testing fees in the order spec
2025-02-19 15:13:35 +11:00
Gaetan Craig-Riou
46315c4045 Update Orders::HandleFeesService#recreate_all_fees!
We now update or create line item fees instead of deleting them and
recreating them. This is to cover the case when a product has been
removed from an Order Cycle but we want to keep the fee already applied
on existing order. This was an issue only if the existing order got
updated after the product was removed.
2025-02-19 15:13:26 +11:00
Gaetan Craig-Riou
2fc393037a Add order_cycle_per_item_enterprise_fee_applicators_for
It retrieves all the per item fees associated with an order cycle and
create the appropriate Fee Applicator.
2025-02-19 15:11:24 +11:00
Gaetan Craig-Riou
c6fab57827 Remove Module from spec and some stylying
Also remove unnecessary use of `__send__`
2025-02-19 15:11:24 +11:00
David Cook
859a20b7a7 Ensure both email formats contain url 2025-02-19 14:20:28 +11:00
Maikel Linke
691e988fbb Fix Roadie dev config to inline CSS in emails
Roadie doesn't work with asset host:

* https://github.com/Mange/roadie-rails?tab=readme-ov-file#known-issues

And we don't need it.
2025-02-19 13:29:34 +11:00
Ahmed Ejaz
216348d361 fix base urls for assets in development 2025-02-19 05:09:19 +05:00
David Cook
96b8a4c068 Merge pull request #13134 from dacook/fix-locale-12301
Update label and change default dev locale
2025-02-19 09:38:14 +11:00
Ahmed Ejaz
d0650fdab0 Fix ABC size rubocop issue 2025-02-19 02:20:33 +05:00
Konrad
29c3ef3f5e Merge pull request #13154 from mkllnk/flaky-line-items
Fix order of line item based report rows
2025-02-18 15:28:02 +01:00
Ahmed Ejaz
1611b2a31f Add shipping method and shipment state to packing reports 2025-02-18 12:42:34 +05:00
Maikel Linke
699db02098 Remove enterprise id from DFC product group URL
A Spree::Product represented as product group is not directly associated
to an enterprise. In theory, it could have multiple enterprises through
its variants. So we better don't include the id in the URL.

```
-http://test.host/api/dfc/enterprises/10000/product_groups/90000
+http://test.host/api/dfc/product_groups/90000
```

This makes it simpler as well.
2025-02-18 16:19:27 +11:00
David Cook
664119ddcf Update test for multi-part email
Now that it's a multi-part email, we have to select the html part for the test.
Another option is to simply check mail.to_s, but this also includes mail headers so doesn't specifically test the body.
2025-02-18 16:15:04 +11:00
David Cook
c9f5dd2d0b Refactor: rename subject to be consistent
Hmm, in different specs it gets called 'mail', 'email', 'message'. The object is a Mail::Message object. The method to generate the object is called `mail`, so I went with that.
2025-02-18 16:07:22 +11:00
Gaetan Craig-Riou
0ae855047d Fix User controlled method execution
Add white list for the fire endpoint to limit which action can be taken.
Add specs for fire endpoint
2025-02-18 14:42:26 +11:00
Gaetan Craig-Riou
e386640b57 Add missing translation 2025-02-18 14:41:43 +11:00
Maikel Linke
5d495b94b3 Use product group attributes for Spree::Product updates 2025-02-18 13:08:49 +11:00
Maikel Linke
11a1d4e09e Reduce complexity of controller 2025-02-18 13:08:49 +11:00
Maikel Linke
3d435ae781 Include product group objects in our catalog response
And when we import a catalog, we don't try to import those product
groups as Spree::Variant. We just see them as reference to
Spree::Product.
2025-02-18 13:08:49 +11:00
Maikel Linke
fba7c24ebd Product group can be present or just linked 2025-02-18 13:08:49 +11:00
Maikel Linke
516759062f Import variants for the same product group
When importing another catalog, it's probably referring to external
product groups. Storing the external link allows us to group several
variants and replicate the same structure within OFN.
2025-02-18 13:08:48 +11:00
Maikel Linke
c1e0c6ed34 Import variants for existing products via new DFC attribute 2025-02-18 13:08:48 +11:00
Maikel Linke
fbdc6c9bd0 Split growing supplied product builder 2025-02-18 13:08:46 +11:00
Maikel Linke
2043d1f8df Remove custom syntactical sugar
It just makes Rswag specs look more different to other request specs and
I found that discouraging. It's good to know that the parameter is just
specified with `let` and that it works exactly in the same way as `let`
in other specs.

The downside is maybe that it's not obvious that those `let` statements
have to correspond with the parameters for the request but error
messages will tell you if you got it wrong. And there's also the
`parameter` declaration to make that clear.
2025-02-18 12:58:10 +11:00
Maikel Linke
6707516203 Automatically document responses for DFC API w/o tag 2025-02-18 12:58:10 +11:00
Maikel Linke
42b6ecbf31 Move rswag specifc config to rswag helper 2025-02-18 12:58:09 +11:00
Maikel Linke
d39da6d0da Provide endpoint to show a product group
Our Spree::Product corresponds to a DFC SuppliedProduct with variants.
2025-02-18 12:58:09 +11:00
Maikel Linke
35d7bf7a3b Add dfc-b:isVariantOf to supplied products 2025-02-18 12:58:09 +11:00
Maikel Linke
61b54e922a Remove impossible error rescue
This block got duplicated in a previous PR.
2025-02-18 12:20:01 +11:00
Maikel Linke
4027ce0c05 Style links within flash errors
The default aqua link colour looked aweful on orange/red background. I
tried a few different standard colours but couldn't get it right. So I
reverted to the web standard link style: underline. That's looks pretty
good. I personally think that we should use the more for links.
2025-02-18 12:15:17 +11:00
Maikel Linke
ffe4084b7f Link to OIDC settings from error message
The colour of the link is really bad though.
2025-02-18 12:15:13 +11:00
Maikel Linke
bb503e12a3 Direct people to refresh OIDC connection
Not the best UX but the easiest next step to implement. Next we should:

* Include link in error message instead of redirecting straight there.
  Otherwise users may feel disoriented.
* Provide a custom error message?
2025-02-18 12:14:12 +11:00
Maikel Linke
00a2894e93 Clear invalid OIDC tokens 2025-02-18 11:48:17 +11:00
Gaetan Craig-Riou
29032a913c Merge pull request #13162 from mkllnk/script-rails
Delete old, unused script/rails
2025-02-18 11:01:43 +11:00
Gaetan Craig-Riou
db0547543e Use the new OutOfStockModalComponent
It will now redirect to the shop page if the out of stock check results
in an empty order
2025-02-18 10:47:10 +11:00
Gaetan Craig-Riou
4a2f22e56d Add OutOfStockModalComponent
It encapsulate the logic for the out of stock modal
2025-02-18 10:47:03 +11:00
David Cook
11ee6a3ef5 Merge pull request #13158 from drummer83/test_email
Quick beautification of test email
2025-02-17 17:07:20 +11:00
Gaetan Craig-Riou
9d59f87b30 Dispatch "closing" event when closing modal
This allow for any other controller to trigger an action when the modal
is closed
2025-02-17 16:50:49 +11:00
Gaetan Craig-Riou
4a63efd342 Remove redundant || 2025-02-17 16:50:18 +11:00
Maikel Linke
ef98e4e384 Delete old, unused script 2025-02-17 12:25:59 +11:00
Gaetan Craig-Riou
4b33951fa0 Merge pull request #13155 from openfoodfoundation/dependabot/npm_and_yarn/dompurify-3.2.4
chore(deps): bump dompurify from 3.2.3 to 3.2.4
2025-02-17 12:02:37 +11:00
Gaetan Craig-Riou
a8b375f3de Merge pull request #13152 from openfoodfoundation/dependabot/npm_and_yarn/elliptic-6.6.1
chore(deps): bump elliptic from 6.6.0 to 6.6.1
2025-02-17 11:58:24 +11:00
David Cook
3a57623b5d Merge pull request #13146 from mkllnk/dfc-connector
Bump datafoodconsortium-connector to support product variants
2025-02-17 11:13:57 +11:00
drummer83
e98fa485b5 Quick beautification of test email 2025-02-16 19:50:18 +01:00
drummer83
4dc0f0e5be Create styled email for reset password instructions 2025-02-16 19:12:56 +01:00
drummer83
94f58d2f5e Adjust margin-top for checkboxes on the report pages
Apply it only to the checkboxes on the report pages, not to one on the orders page.
2025-02-16 17:42:43 +01:00
drummer83
5651687a25 Align input fields correctly on orders page
The margin-top is not needed here. It will be added where needed in a separate commit.
2025-02-16 17:35:58 +01:00
dependabot[bot]
5fd826a954 chore(deps): bump dompurify from 3.2.3 to 3.2.4
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.3...3.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-14 21:15:09 +00:00
Maikel Linke
1e34237b22 Fix order of line item based report rows
The orders_and_fulfillment_spec would sometimes fail when the database
would return line items in a different order than they were created.
Without specific `order` clause the order of rows can be random.

The additional sorting may lead to more server load but also ensures
more consistent results for users.
2025-02-14 16:41:43 +11:00
filipefurtad0
bf62d16ca5 Update all locales with the latest Transifex translations 2025-02-13 22:43:05 -06:00
Filipe
e7ef5984d5 Merge pull request #13125 from dacook/dfc-product-import-list-12301
[DFC Orders] List products to import on screen
2025-02-13 22:34:32 -06:00
Filipe
00dd555715 Merge pull request #13131 from krisztin/12846-Back-office-form-border-update-for-contrast
Updating form field borders for better contrast
2025-02-13 22:21:39 -06:00
Filipe
dfe978520d Merge pull request #13115 from dacook/oidc-record-not-unique
Catch error and provide message
2025-02-13 21:53:56 -06:00
Filipe
9f7405500a Merge pull request #12621 from cyrillefr/KeepStockSelectionWhenErrorOnSaving
Keep stock selection when error on saving
2025-02-13 21:20:48 -06:00
dependabot[bot]
b13cdb5e46 chore(deps): bump elliptic from 6.6.0 to 6.6.1
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.6.0 to 6.6.1.
- [Commits](https://github.com/indutny/elliptic/compare/v6.6.0...v6.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-14 02:08:55 +00:00
Maikel
7b8cd19125 Merge pull request #13150 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.4.3
chore(deps): bump tom-select from 2.4.2 to 2.4.3
2025-02-14 13:07:38 +11:00
Maikel
ca256f055e Merge pull request #13142 from filipefurtad0/add_tests_to_#13037
Adds coverage on supplier option to charge tax
2025-02-14 12:43:15 +11:00
Maikel Linke
db874b18a4 Fix reset stock when importing DFC products 2025-02-14 10:27:09 +11:00
dependabot[bot]
9e20cf80b2 chore(deps): bump tom-select from 2.4.2 to 2.4.3
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.4.2 to 2.4.3.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.4.2...v2.4.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 09:13:47 +00:00
filipefurtad0
77b857a30d Adds test case when the hub is owner of the fee 2025-02-12 21:22:19 -06:00
filipefurtad0
48f5df349a Adds test case on included tax 2025-02-12 21:22:19 -06:00
filipefurtad0
85ec771e27 Adds coverage on supplier option to charge tax 2025-02-12 21:22:19 -06:00
Maikel Linke
9ac56ab02b Remove outdated spec
A while ago I was told that an absent stock limitation means unlimited
stock. But that can't be distinguished from just not wanting to update
the stock level.

In the meantime, a new stock policy model was proposed. But for now we
have a workaround, setting `-1` as value for unlimited stock.

* https://github.com/datafoodconsortium/ontology/discussions/112
2025-02-13 11:22:04 +11:00
Maikel Linke
a1a78f22fb Remove loading of old DFC context 2025-02-13 10:50:41 +11:00
Maikel Linke
b22c0a3d2d Bump datafoodconsortium-connector from 1.0.0.pre.alpha.13 to 1.1.0 2025-02-13 10:50:28 +11:00
David Cook
13f5009563 Refactor
Co-authored-by: Maikel <maikel@email.org.au>
2025-02-13 09:34:19 +11:00
cyrillefr
2bc5ed49e6 Changes in spec
Due to the splitting of products_v3_spec in 4 parts.
2025-02-12 16:01:21 +01:00
cyrillefr
0aecb6873a Requested changes
- 2 new methods for reading either current/desired on hand/on demand
  depending on variant state. Goal is to get rid of send method in View
- referring in on_hand/on_demand is in fact irrelevant. In the piece of
  code, only desired on_hand/on_demand can be called as we are only in
  new variant (non persisted) mode
- View does not use send method anymore, replaced by current_or_desired
- refactor of the spec -> 2 examples in one to get more speed.
2025-02-12 16:01:21 +01:00
cyrillefr
1d3906d431 Fixes linter error 2025-02-12 16:01:21 +01:00
cyrillefr
6d6164c8f6 Keep stock selection when error on saving
- added 2 not to be persisted attributes aimed at dealing with the UI
- added them to the permitted list
- updated view to switch mode about on_hand/on_demand
  that is: from an already persisted variant or not
    - Not persisted deals with on_*_desired not to be persisted fields
    - Persisted mode deals with regular on_* fields
- the corresponding spec for both on_hand/on_demand
2025-02-12 16:01:21 +01:00
David Cook
f6f1a005cb Add spec
Oh, and a transaction block. Because the controller after hooks tried to update the DB which resulted in
  PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block

Even for a small rescue statement, it's worth adding a spec. You never know what might not be working!
2025-02-12 16:10:36 +11:00
Maikel
020ccedabe Merge pull request #13141 from mkllnk/dfc-error-logging
Report DFC server errors to Bugsnag
2025-02-12 15:43:46 +11:00
Maikel Linke
d9cb1e8e74 Improve var naming, thanks Gaetan 2025-02-12 15:33:33 +11:00
David Cook
9b935be4d6 Catch error and provide message 2025-02-12 15:29:49 +11:00
David Cook
2d577e9e46 Merge pull request #13136 from mkllnk/flaky-oc-spec
Hopefully fix flaky OC spec
2025-02-12 14:29:43 +11:00
David Cook
f35ba03cab Merge pull request #13135 from mkllnk/flaky-payment-method-spec
Fix flaky payment method spec
2025-02-12 14:27:40 +11:00
David Cook
363cc10755 Update comment
[skip ci]
2025-02-12 14:08:51 +11:00
krisztin
f1ae375697 Add new border scss variable to old admin variables
Tags' rules are still coming from the old admin styles hence had to add
the new (admin_v3) border variable to the old one.
Has a hard coded colour value of #2e3132 as it has no access
to the new colours.
2025-02-11 20:48:54 +00:00
Maikel Linke
079d09b8b8 Report simple values easily 2025-02-11 15:36:07 +11:00
Maikel Linke
fa7edbb073 Alert ensures to pass metadata correctly 2025-02-11 15:27:58 +11:00
Maikel Linke
b23eac1004 Omit setting Bugsnag release stage to default value 2025-02-11 14:59:01 +11:00
Maikel Linke
c90472ebf9 Update Bugsnag config naming 2025-02-11 14:57:46 +11:00
Maikel Linke
cc6a3f4e5b Use Bugsnag key with valid format in specs
That's why Bugsnag wasn't active in CI.
2025-02-11 14:55:40 +11:00
Maikel Linke
b50e711757 Add deployed version to Bugsnag 2025-02-11 13:32:51 +11:00
Maikel Linke
710e1654d0 Report DFC server errors to Bugsnag 2025-02-11 13:01:05 +11:00
Maikel Linke
9d30f007a9 Format spec file 2025-02-11 12:36:00 +11:00
Gaetan Craig-Riou
fec1021848 Merge pull request #13138 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.6.0
chore(deps-dev): bump jasmine-core from 5.5.0 to 5.6.0
2025-02-11 09:53:48 +11:00
Gaetan Craig-Riou
ad87d58b4f Merge pull request #13137 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-geosearch-4.2.0
chore(deps): bump leaflet-geosearch from 4.1.0 to 4.2.0
2025-02-11 09:51:54 +11:00
drummer83
40fbdc596a Add a 'reply to' email address where it makes sense and has been missing until now
This includes the following emails:

Manager invitation email: reply to inviting enterprise

Authorize payment email: reply to distributor

Order cancellation email: reply to distributor

Shipment notification email: reply to distributor
2025-02-10 21:51:04 +01:00
dependabot[bot]
b9a0556154 chore(deps-dev): bump jasmine-core from 5.5.0 to 5.6.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.5.0 to 5.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/v5.5.0...v5.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>
2025-02-10 09:18:15 +00:00
dependabot[bot]
623a75a025 chore(deps): bump leaflet-geosearch from 4.1.0 to 4.2.0
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v4.1.0...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 09:18:05 +00:00
Maikel Linke
5e1690f736 Restore missed expectation
A previous pull request re-wrote this spec but omitted the main
expectation of this spec block.

* https://github.com/openfoodfoundation/openfoodnetwork/pull/11852/files
2025-02-10 16:49:11 +11:00
Maikel Linke
1e1754db4b Hopefully fix flaky OC spec
I couldn't reproduce this reliably but I found the loading of AngularJS
components a bit slow sometimes. So this is just a guess.
2025-02-10 16:45:33 +11:00
Gaetan Craig-Riou
e87477b679 Refactor EnterpriseFee.clear_all_adjustments
Renamed to clear_order_adjustments, it doesn't clear line item
adjustment
2025-02-10 16:28:19 +11:00
Maikel Linke
ecd873be59 Fix flaky payment method spec
This didn't come up on CI because CI is probably waiting long enough for
the flash to disappear. But locally it failed every time for me.
2025-02-10 16:12:37 +11:00
Gaetan Craig-Riou
0f1b81cc3e Refactor spec 2025-02-10 16:10:13 +11:00
Maikel
90f0c4badf Merge pull request #13122 from mkllnk/rubocop-binary
Add option to define your own rubocop command
2025-02-10 15:33:31 +11:00
Gaetan Craig-Riou
ce47f9e700 Fix typo in translation code 2025-02-10 14:58:53 +11:00
Gaetan Craig-Riou
db3534e621 Per review, fix memoization 2025-02-10 14:47:37 +11:00
Gaetan Craig-Riou
bf72a89853 Clean up left over comment 2025-02-10 14:25:50 +11:00
David Cook
314c58b878 Rename en_TEST to en_TST
Because it doesn't fit in db field spree_users.local with limit: 6.
We could extend the field but it seemed silly because it's only used in test/dev environments.
2025-02-10 14:11:09 +11:00
David Cook
bbc7f21ecd Rename field label
This could have been done in Transifex, but I figured it would be quicker to just go ahead and update here.
2025-02-10 14:11:03 +11:00
David Cook
e7054f7f13 Use test locale instead of real one in development
en_AU contains translations for most keys, and is subject to change. So if you change the value of an existing key in en.yml, you won't see the change in your dev environment.

Maybe it's confusing because it's not called 'development', but I think the comment above explains well enough.
2025-02-10 14:04:20 +11:00
David Cook
71782de83a Apply suggestion from code review
Co-authored-by: Maikel <maikel@email.org.au>
2025-02-10 10:35:59 +11:00
David Cook
4624d49e5e Add translations 2025-02-10 10:33:09 +11:00
filipefurtad0
ed6292aae8 Update all locales with the latest Transifex translations 2025-02-07 15:44:00 -06:00
Filipe
da5856686d Merge pull request #13112 from Yassir4/12620-fix-rubocop-rails-response-parse-body
fix rubocop Rails/ResponseParseBody
2025-02-07 15:44:29 -06:00
Filipe
2d6e627944 Merge pull request #13124 from Yassir4/10685-fix-product-description-truncation
Fix product description truncation
2025-02-07 15:24:23 -06:00
Filipe
d09efec1ec Merge pull request #13037 from chahmedejaz/task/13013-add-columns-supplier-report
Add columns to "pay your supplier" report
2025-02-07 10:04:52 -06:00
krisztin
49bf5997b7 Update all borders for inputs
Inputs include custom made ones such as tags, select2s and tom selects.
Some border radii were using mixins but not utilising it, hence they
are now variables.
2025-02-07 14:29:27 +00:00
krisztin
4bd925e3ec Add and update new input border variables
1. Border colour did not have sufficient contrast. New contrast ratio
passes WCAG AA for Graphical Objects and user interface components.

2. New border variable to aid consistency and future maintanance.
2025-02-07 14:21:31 +00:00
David Cook
9f7000009d Only import selected products 2025-02-06 17:10:01 +11:00
David Cook
447ff3cffd Show list of products to import
If there's a matching product in OFN already, a link will appear.
2025-02-06 16:28:15 +11:00
David Cook
c3b23a9fba Move import to new action
Making way for a review step.
2025-02-06 13:50:26 +11:00
David Cook
8acefed857 Swap input positions
Makes it clearer where things are going from, and to. I will re-use this order on the next screen.
2025-02-06 13:50:26 +11:00
Hartani Yassir
2753f5694a Fix product description truncation 2025-02-05 11:55:47 +01:00
Gaetan Craig-Riou
07c6548491 Merge pull request #13120 from dacook/update-caniuse-lite
Update caniuse-lite
2025-02-05 16:24:17 +11:00
David Cook
16b8f38d88 Merge pull request #13082 from pacodelaluna/lighten-docker-compose-setup
Lighten Docker Compose setup
2025-02-05 09:28:57 +11:00
François Turbelin
0fdf789249 Clean remaining config for Docker system specs 2025-02-04 22:59:31 +01:00
François Turbelin
5ad388911b Update README for Docker with new default Dockerfile 2025-02-04 22:59:31 +01:00
François Turbelin
db8a193234 Put back Dockerfile for Ubuntu 2025-02-04 22:59:17 +01:00
Maikel Linke
8bfbb74bf3 Pass any option to rubocop 2025-02-04 16:13:24 +11:00
Maikel Linke
b9bff1598d Add option to define your own rubocop command
In development, you may choose to use this script in your Git pre-commit hook.
Then you want the fastest possible execution to not be delayed in your
Git operations. While the default is the safest option, you can now
define your own optimised command to avoid loading the whole Rails app
environment.
2025-02-04 15:59:58 +11:00
Maikel
0eb9dcc8f6 Merge pull request #13109 from mkllnk/product-type-lookup
DFC import: Find broader taxon if we don't have a specific one
2025-02-04 15:56:13 +11:00
Maikel Linke
757a1548e6 Fix whitespace 2025-02-04 15:52:28 +11:00
Gaetan Craig-Riou
8db2445203 Add comment to make sure both out of stock modal get updated.
There is no easy way to share template between AngularJS and Rails. The
modal in `edit.html.haml` is a copy of app/assets/javascripts/templates/out_of_stock.html.haml,
so we need to update both if either of them is updated.
2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
0315fc9690 Remove spec namespacing, left over from spree 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
90eecc783d Fix stripe controller 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
851cccb823 Fix paypal controller 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
c311b8ac32 Code styling 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
69abdca3ef Fix insufficient stock modal styling 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
08ad2af91a Make sure Orders::CheckStockService is only instanciated once 2025-02-04 15:42:05 +11:00
Gaetan Craig-Riou
cdcab7c7c6 Update insufficient stock logic
We now check for insufficient stock when loading the checkout details
or before updating the order.
2025-02-04 15:39:47 +11:00
Gaetan Craig-Riou
e548e74ebe Update out stock modal
It replicates the modal used by the cart :
app/assets/javascripts/templates/out_of_stock.html.haml
2025-02-04 15:39:47 +11:00
Gaetan Craig-Riou
7d62a7f5dd Add CheckStockService#update_line_items
Update line item if any related variant has run out of stock or has had
stock reduced
2025-02-04 15:39:47 +11:00
Gaetan Craig-Riou
c73c2dd8a8 Add basic out of stock modal 2025-02-04 15:39:47 +11:00
Gaetan Craig-Riou
a7cde069c6 Add Orders::CheckStockService and spec
Move sufficient_stock? to Orders::CheckStockService
2025-02-04 15:39:40 +11:00
David Cook
8019ad7c1c Update caniuse-lite
As per the notice from webpacker:

Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
2025-02-04 11:23:17 +11:00
Hartani Yassir
69f3f9f62d use format.json in UserRegistrationController#create 2025-02-03 19:02:48 +01:00
Ahmed Ejaz
5dddf8b69a fix specs 2025-01-31 17:34:34 +05:00
Ahmed Ejaz
d86965bc14 add total tax on product summary 2025-01-31 17:34:34 +05:00
Ahmed Ejaz
393154bae3 13013: fix specs 2025-01-31 17:34:34 +05:00
Ahmed Ejaz
e8b185256e 13013: add specs 2025-01-31 17:34:34 +05:00
Ahmed Ejaz
71b2b7f97f 13013: add tax on product column 2025-01-31 17:34:34 +05:00
Ahmed Ejaz
6a613a2203 13013: add producer charges gst column 2025-01-31 17:34:33 +05:00
Hartani Yassir
ace735b230 Merge branch 'master' into 12620-fix-rubocop-rails-response-parse-body 2025-01-31 11:23:15 +01:00
Hartani Yassir
bd41426aef fix rubocop Rails/ResponseParseBody 2025-01-31 10:47:03 +01:00
filipefurtad0
c08f925ff8 Update all locales with the latest Transifex translations 2025-01-30 22:03:47 -06:00
Filipe
54fad01a91 Merge pull request #13104 from mkllnk/test-seeds
Remove unused preference default_country_id
2025-01-30 21:59:46 -06:00
Filipe
32c4b4557b Merge pull request #13086 from rioug/fix-tax-rate-refund
Remove tax rate refund code path
2025-01-30 21:54:30 -06:00
Filipe
e2161660b3 Merge pull request #13090 from mkllnk/replace-spree-roles
Replace spree roles
2025-01-30 21:30:56 -06:00
Maikel
139dba6637 Merge pull request #13108 from dacook/reduce-rack-timeout-logs
Log rack-timeout ready and completed messages in DEBUG mode
2025-01-31 10:49:41 +11:00
Maikel Linke
c9f319aa96 Find broader taxon if we don't have a specific one
For example, when importing `beef` products associate the type `meat-product`
instead because we don't have a specific beef category.
2025-01-30 11:10:47 +11:00
David Cook
a0833af780 Log rack-timeout ready and completed messages in DEBUG mode
Instead of default INFO, because it pollutes the logs unnecessarily.

Error messages will still be logged the same as before.
2025-01-30 10:20:58 +11:00
Maikel Linke
26d09acafe Move taxon discovery to own class for additions 2025-01-30 10:17:20 +11:00
Maikel Linke
1fcefcfcd0 Remove now useless wrapper class 2025-01-30 10:11:03 +11:00
Maikel Linke
236e706f2c Replace custom product type discovery with DFC lookup
We didn't actually need the extra class.
2025-01-30 10:08:32 +11:00
Maikel
0797614769 Merge pull request #13106 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.4.2
chore(deps): bump tom-select from 2.4.1 to 2.4.2
2025-01-30 08:51:23 +11:00
dependabot[bot]
c84881252c chore(deps): bump tom-select from 2.4.1 to 2.4.2
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.4.1...v2.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-29 09:19:24 +00:00
Gaetan Craig-Riou
1ee2f4d18e Merge pull request #13103 from mkllnk/gmaps-region-code
Simplify default country code lookup
2025-01-29 09:54:43 +11:00
Maikel Linke
6885184bcc Remove unused preference default_country_id 2025-01-28 16:31:45 +11:00
Maikel Linke
1a393592b4 Reduce database writes seeding zones 2025-01-28 15:47:32 +11:00
Maikel
f8e55f1eb3 Merge pull request #13098 from cillian/osm-marker-positioning
Specify OpenStreetMap marker size and tip position so they are positioned correctly at all zoom levels
2025-01-28 13:40:18 +11:00
Maikel Linke
e1f62148c9 Remove now unnecessary country seeding for assets 2025-01-28 13:26:42 +11:00
Maikel Linke
ea6efa9164 Simplify default country code lookup
The code was using the code from the environment variables to load a
reocrd from the database to then return the initial code again.

The only use of `DefaultCountry.code` is currently in the geocoder JS
compilation. Now it doesn't need the database anymore.
2025-01-28 13:22:26 +11:00
Maikel
4b6c3fe1d0 Merge pull request #13099 from rioug/compile-test-asset-path
Specify test assets output path
2025-01-28 10:58:41 +11:00
Gaetan Craig-Riou
3bf01602d9 Specify test assets output path
Test assets need to be compiled to a specific path for system test
to work. It was mistakenly remove here :
https://github.com/openfoodfoundation/openfoodnetwork/pull/13096/files#diff-46b7721b943217c3670f6818a10c2661ec1f9f72dfea66469fd9f026dc74c36a
2025-01-27 14:14:54 +11:00
Gaetan Craig-Riou
fa4785bc85 Merge pull request #13096 from mkllnk/assets
Compile assets on demand in test local environment
2025-01-27 13:00:10 +11:00
Gaetan Craig-Riou
6fb86dd4ac Merge pull request #13093 from mkllnk/dfc-token-error
Handle wrong OIDC tokens gracefully
2025-01-27 12:56:23 +11:00
Gaetan Craig-Riou
c4d74ac10d Apply Rubocop linting 2025-01-27 11:03:54 +11:00
Gaetan Craig-Riou
6ef73acfcd Fix seeding file for Spree::Zones 2025-01-27 11:03:48 +11:00
David Cook
ffad3f249b Update comment
See: https://github.com/openfoodfoundation/openfoodnetwork/blob/master/spec/system/admin/adjustments_spec.rb
2025-01-27 11:02:50 +11:00
Gaetan Craig-Riou
be78c2ac41 Fix system admin adjustment spec 2025-01-27 11:02:50 +11:00
Gaetan Craig-Riou
900b751559 Revert change from d58aa2b14f44fa15b67a18cf3457eccaaca5a56c
Turns out there seem to be a legitimate use for this code, see
spec/system/admin/adjustments_spec.rb ie, adding a manual discount to an
order using an adjustment.
2025-01-27 11:02:50 +11:00
Gaetan Craig-Riou
cd7e92c6ca Fix various spec 2025-01-27 11:02:41 +11:00
Gaetan Craig-Riou
6b7373e4cf Clean up spec syntax 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
6e8eb443c1 Consolidate .adjust specs 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
42df158669 Fix TaxRate#compute_amount
Remove the code path that can create a tax refund, it is unlikely to
happen with the configuration our instances are using. Instead return 0
do that no adjustment gets created
2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
5e42a9be55 Fix TaxRate spec to work with the zone changes 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
d4a060c6a2 Fix Zone system spec 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
f7998f6570 Fix zone new form to allow adding state or country 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
a953e3dde3 Fix Spree::Zone spec and factory 2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
75c0752340 Sree::Zone, require at least one member
Add validations and specs
2025-01-27 11:01:07 +11:00
Gaetan Craig-Riou
bcb4525cdd Clean up spec, use describe instead of context
Although `describe` and `context` are functionally equivalent, they
don't convey the same message
2025-01-27 11:01:07 +11:00
François Turbelin
e5e6403995 Merge branch 'master' into lighten-docker-compose-setup 2025-01-26 22:16:38 +01:00
François Turbelin
a6666dd061 Use only new Dockerfile 2025-01-26 22:15:46 +01:00
François Turbelin
a1c95e1837 Use new Dockerfile in Docker Compose 2025-01-26 21:44:07 +01:00
François Turbelin
f8336edb07 Revert "Don't allow spaces in external billing id"
This reverts commit 39825a9ecb.
2025-01-25 21:05:37 +01:00
Cillian O'Ruanaidh
ff7c1e6d1f Specify OpenStreetMap marker size and tip position so they are positioned correctly at all zoom levels 2025-01-25 12:55:48 +00:00
Konrad
01036e6321 Merge pull request #13087 from mkllnk/stock-location
Remove class Spree::StockLocation
2025-01-25 12:41:37 +01:00
Maikel Linke
95625c16b2 Comment on seeds 2025-01-24 16:55:19 +11:00
Maikel Linke
690d137971 Combine rake tasks for efficiency 2025-01-24 16:54:56 +11:00
David Cook
09fe6d7542 Merge pull request #13091 from mkllnk/flaky-ship
Fix flaky spec of order shipment
2025-01-24 15:02:19 +11:00
David Cook
f6bd1c49ee Apply suggestions from code review 2025-01-24 14:52:54 +11:00
David Cook
bb040812aa Refactor spec 2025-01-24 14:49:18 +11:00
David Cook
e38d305ca1 Merge pull request #13089 from mkllnk/haml-up-remove
Remove unneeded HAML upgrade script
2025-01-24 14:23:56 +11:00
David Cook
46c92db415 Merge pull request #13088 from mkllnk/controller-helpers
Remove unused helper module
2025-01-24 14:22:46 +11:00
filipefurtad0
3e4d689903 Update all locales with the latest Transifex translations 2025-01-23 19:51:48 -06:00
Filipe
adf1c63c11 Merge pull request #13072 from rioug/update-action-cable-config
Update ActionCable config
2025-01-23 19:24:44 -06:00
Maikel Linke
f21f8f38da Compile assets on demand in test environment
We still do it in CI to prevent flaky specs. Otherwise, when a spec
needs to compile assets, it may time out.
2025-01-24 12:10:09 +11:00
Filipe
5d360730c7 Merge pull request #13023 from rioug/12907-fix-checkout-shipping-fee
[Checkout] Shipping fees update, remove order callback
2025-01-23 18:50:31 -06:00
Maikel Linke
8636d3fc00 Handle wrong OIDC tokens gracefully
If you copy and paste only part of a token then a general DecodeError is
raised. It's the parent class for all other related errors like for
expired signatures.

Now we just fail authentication instead of raising a server error.
2025-01-24 09:01:04 +11:00
Maikel Linke
7b8b7b6bbc Satisfy Rubocop on new migrations 2025-01-23 08:39:40 +11:00
Maikel
2d77b54685 Merge pull request #13092 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-geosearch-4.1.0
chore(deps): bump leaflet-geosearch from 4.0.0 to 4.1.0
2025-01-23 08:38:09 +11:00
Konrad
0b8807146e Merge pull request #13058 from mkllnk/currency-config
Remove unused app config options
2025-01-22 11:27:12 +01:00
dependabot[bot]
486af8f58b chore(deps): bump leaflet-geosearch from 4.0.0 to 4.1.0
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v4.0.0...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 09:57:36 +00:00
Maikel
c258bee44d Merge pull request #13065 from mkllnk/dfc-amend-nothing
Admin updates can trigger new backorders until the order cycle is closed
2025-01-22 16:32:23 +11:00
Maikel Linke
c975a2c8c4 Fix flaky spec of order shipment
I found that a delay in the reflex handling the request could fail the
spec. Added a sleep in the reflex to reproduce the fail. The I added
expectations for the page content to wait until the page was updated and
that fixed the specs.
2025-01-22 15:34:09 +11:00
Maikel Linke
ea9a5c8dd5 Remove class Spree::Role 2025-01-22 14:59:49 +11:00
Maikel Linke
d49cea5e3d Use admin flag instead of user role 2025-01-22 14:59:49 +11:00
Maikel Linke
920002e084 Copy admin attribute to users 2025-01-22 14:05:50 +11:00
Maikel Linke
698d1daa57 Add admin attribute to users 2025-01-22 14:05:23 +11:00
Maikel Linke
f8f6c80aa9 Remove unused helper module
SimpleCov says that it's not used. So let's see about that. If any
included helpers are used, we can bring them back individually.
2025-01-22 13:51:35 +11:00
Maikel Linke
a2459a3742 Remove class Spree::StockLocation
The database table is still there and can stay for a while until we are
confident that nothing is broken in production.
2025-01-22 12:09:17 +11:00
Maikel Linke
64608beaa8 Remove DefaultStockLocation created in setup 2025-01-22 12:01:57 +11:00
Maikel Linke
187a78b78d Remove stock location from add-variant JS 2025-01-22 11:58:15 +11:00
Maikel Linke
70ebe7b964 Remove stock location from specs 2025-01-22 11:52:25 +11:00
Maikel Linke
33ed0998a9 Removing old references to stock location 2025-01-22 11:34:54 +11:00
Maikel Linke
f098327808 Remove now useless wrapper method 2025-01-22 11:31:27 +11:00
Maikel Linke
c27aa00bed Make old migration independent of app code 2025-01-22 11:25:58 +11:00
Maikel Linke
8e15d571e7 Remove StockLocation from Packer 2025-01-22 11:20:05 +11:00
Maikel Linke
d5ff1f5c71 Remove StockItem#stock_location 2025-01-22 11:20:05 +11:00
Maikel Linke
87d20877ad Remove Shipment#stock_location 2025-01-22 11:20:05 +11:00
Maikel Linke
33c6f3b94f Remove StockLocation#stock_item 2025-01-22 11:20:05 +11:00
Maikel Linke
aa9daed66e Remove unused StockLocation#stock_items
And the reverse association.
2025-01-22 11:20:05 +11:00
Maikel Linke
6dfa184a15 Remove unused StockLocation#stock_movements 2025-01-22 11:20:05 +11:00
Maikel Linke
34fdcface2 Remove unused StockLocation#stock_item_or_create 2025-01-22 11:20:04 +11:00
Maikel Linke
450576a938 Remove unused StockLocation#count_on_hand 2025-01-22 11:20:04 +11:00
Maikel Linke
1650ccd55a Remove unused StockLocation#backorderable? 2025-01-22 11:20:04 +11:00
Maikel Linke
531c068347 Remove StockLocation#fill_status, now on Variant 2025-01-22 11:20:04 +11:00
Maikel Linke
a4b92f289c Move fill_status spec to prepare removal from StockLocation 2025-01-22 11:20:04 +11:00
Maikel Linke
68a0f8df1f Remove detour via StockLocation updating stock 2025-01-22 11:20:04 +11:00
Maikel Linke
248110cfb3 Make stock location association optional
Prepare for removal
2025-01-22 11:20:04 +11:00
Gaetan Craig-Riou
31c717349f Merge pull request #13085 from mkllnk/ci-runs
Reduce parallel CI runs from 45 to 27
2025-01-22 09:38:49 +11:00
Maikel Linke
cf35e48d14 Remove unused app config options
This has been defined in ENV for a while
2025-01-21 20:11:05 +01:00
Maikel Linke
917e0ff01a Remove unnecessary storage of currency 2025-01-21 20:11:05 +01:00
Maikel Linke
ed926e9e26 Remove unnecessary storage of checkout zone 2025-01-21 20:11:05 +01:00
David Cook
51300eecd9 Merge pull request #13079 from mkllnk/dfc-price
Publish price as in new DFC standard
2025-01-21 16:42:19 +11:00
Maikel Linke
ca12e35537 Reduce parallel CI runs from 45 to 27
This should shave off 18 minutes of overhead time for 18 fewer worker
runs in total. It also means that forks with only 20 parallel worker
should complete quicker.
2025-01-21 16:20:21 +11:00
Maikel
a1df61c612 Merge pull request #13076 from mkllnk/police-migrations
Police migrations
2025-01-21 11:36:34 +11:00
Maikel Linke
fcc31fffcd Fix user seeding 2025-01-21 11:21:08 +11:00
Maikel Linke
971d5bea44 Police new migrations 2025-01-21 11:19:58 +11:00
Maikel Linke
8c68179069 Style default user creation 2025-01-21 11:19:57 +11:00
Maikel Linke
042cc238c8 Modernise db default scripts 2025-01-21 11:17:31 +11:00
Maikel Linke
25a90a44f9 Modernise seeds file 2025-01-21 11:17:29 +11:00
Maikel Linke
8383441f79 List ignored files more explicitely 2025-01-21 11:12:59 +11:00
Maikel
229ee7028c Merge pull request #13064 from mkllnk/negative-stock
Don't show stock for on-demand inventory items
2025-01-21 11:05:50 +11:00
Gaetan Craig-Riou
fcd366cc06 Fix spec
Payment needs to be linked to the order, in order for the payment
callback to update `order.payment_total`
2025-01-21 10:52:32 +11:00
Gaetan Craig-Riou
0ca164a354 Fix spec
Use a completed payment, instead of trying to complete a payment
2025-01-21 10:51:08 +11:00
Abdul Aziz Ali
a15cb58ab5 fetch variant enterprise fees from order lineitems adjustments #11529 2025-01-21 06:53:42 +08:00
Gaetan Craig-Riou
d7ae91c23e Per review, specify the actual expected value 2025-01-20 16:21:19 +11:00
Gaetan Craig-Riou
17e7f7d26d Small linting fix 2025-01-20 16:16:00 +11:00
Gaetan Craig-Riou
c71ae35685 Fix payment_total calculation
For payment that complete during the checkout (Paypal, Stripe) the
amount was recorded twice against `order.payment_total`. This is because
the `payment_total` gets updated in an afer_save Payment callback when a
payment is completed, and then once more when we process payment in
`Spree::Order#process_each_payment`.
This is an existing  issue on master, but it was hidden by the
`update_shipping_fees!` callback, it trigerred an update of the order's
total, which then updated `order.payment_total` with the correct value.
Now that we removed the callback, the bug showed up.

Note, I updated the stripe specs for consistency even though they are
currently disabled.
2025-01-20 16:07:32 +11:00
Gaetan Craig-Riou
1cf5dac979 Merge pull request #13077 from mkllnk/simplecov
Fix artifact download for Simplecov collation
2025-01-20 09:41:38 +11:00
François Turbelin
39822e1761 Launch new Docker procfile from Docker Compose 2025-01-19 22:17:31 +01:00
François Turbelin
49e66c3d23 Add a Procfile for Docker 2025-01-19 21:01:05 +01:00
François Turbelin
2acde5423d Remove extra containers 2025-01-19 21:00:28 +01:00
François Turbelin
39825a9ecb Don't allow spaces in external billing id 2025-01-19 20:57:31 +01:00
filipefurtad0
d0a3d4996e Update all locales with the latest Transifex translations 2025-01-17 16:53:56 -06:00
Filipe
a472f3e4f5 Merge pull request #13068 from vishaldeepak/variant-with-tax
New variants should inherit tax category in UI
2025-01-17 10:57:22 -06:00
Filipe
ace3bfa2a5 Merge pull request #13061 from kernal053/add-voucher-label-to-edit-cart-page
Add 'Voucher:' before voucher code on edit cart page
2025-01-16 22:51:57 -06:00
Maikel Linke
06d9d96f54 Fix error on removed product from catalog 2025-01-17 12:21:28 +11:00
Filipe
3c1dd10219 Merge pull request #13047 from mkllnk/spree-roles
Clarify that our only user role is "admin" and simplify code
2025-01-16 18:06:49 -06:00
Filipe
5726eeffaa Merge pull request #13038 from chahmedejaz/task/13032-plural-variant-unit-names
Add plural form for flower farming variant unit names
2025-01-16 17:51:07 -06:00
Maikel Linke
84648690a6 Publish price as in new DFC standard 2025-01-16 09:45:26 +11:00
Gaetan Craig-Riou
1afa7fe5c0 Per review, small improvment 2025-01-15 15:44:24 -06:00
Gaetan Craig-Riou
a8d1d0c591 Update spec to properly update line items on an order
User Order::Contents#update_item to update line item on an order, it
ensures the order is properly updated
2025-01-15 15:44:24 -06:00
Gaetan Craig-Riou
9e7e40a5a8 Update spec to properly test shipping fee update 2025-01-15 15:44:24 -06:00
Gaetan Craig-Riou
f9bd720341 Add spec for #update_shipping_fees!
And update related specs
2025-01-15 15:44:24 -06:00
Gaetan Craig-Riou
20df5c23e8 Remove before save callback to update shipping fees
It should be handled in the controller, it's currently handled in
`Spree::OrderContents#remove`. As long as we don't manually remove line
item from an order we should be good.
Currently it gets trigerred each time the order is saved, which seems to
happen mutiple time when we finalize an order. It's a bit useless to
recalculated the fees over and over
Context, it was added here : 217eda8362
2025-01-15 15:44:24 -06:00
Maikel Linke
c9eed4f5b8 Trigger new backorder only when user checks out
When an admin creates an order, then AmendBackorderJob is called which
can also trigger a new backorder if needed.

This means that we are not creating backorders via subscriptions any
more. It has never been requested and we can bring that back if needed.
2025-01-15 15:52:57 +11:00
Maikel Linke
18ec97992d Remove unneeded HAML upgrade script
We updated a long time ago and I now copied those scripts to a Gist to
share with others:

* https://gist.github.com/mkllnk/bab2d474d686a2e3b88914129aee63e1
2025-01-15 12:55:13 +11:00
Maikel Linke
6b76fbc817 Fix artifact download for Simplecov collation
v4 of the artifact actions works differently to v3.
2025-01-15 12:44:34 +11:00
Gaetan Craig-Riou
a3e939e0ac Add OFN_REDIS_CABLE_URL env variable
It lets us specify a redis url to be used with ActionCable
2025-01-15 10:59:29 +11:00
Maikel
eace31f1fc Merge pull request #13074 from rioug/sync-prod-databse-schema
Sync prod database schema
2025-01-15 08:23:40 +11:00
Gaetan Craig-Riou
600195a726 Allow null for customers.created_manually
Some production database don't allow null for customers.created_maually,
we want to allow it to bring the database inline with schema.rb
2025-01-14 12:10:22 +11:00
Gaetan Craig-Riou
e2e12ccb52 Remove spree_variants default value and constraint
Some of the production database have default value for `weight` and
`unit_value` has well as check constraint. We want to remove them to
bring the database schema inline with schema.rb
2025-01-14 12:09:40 +11:00
Rachel Arnould
92c45084dc Merge pull request #12980 from pacodelaluna/add-external-billing-id-on-enterprises
Add external billing id on enterprises
2025-01-13 17:03:40 +01:00
David Cook
244e0524c7 Re-instate check for external_billing_id 2025-01-13 16:54:17 +01:00
François Turbelin
96c7c828c1 Fix specs 2025-01-13 16:54:17 +01:00
François Turbelin
9c153c6083 Improve specs 2025-01-13 16:54:17 +01:00
François Turbelin
e946b50515 Isolate into an Admin Only section 2025-01-13 16:54:17 +01:00
François Turbelin
3ef5b41282 Remove Admin Only tab logic 2025-01-13 16:54:17 +01:00
François Turbelin
a007fdaab8 Revert "Put back permalink fields on primary details panel"
This reverts commit d90ca538fb5b02e942842f1f9c1f44232f44027d.
2025-01-13 16:54:17 +01:00
François Turbelin
983e3e717b Revert "Fix spec"
This reverts commit b40e8a1ff9072721c468a7c012e1e4a9d47e3957.
2025-01-13 16:54:17 +01:00
François Turbelin
1e3f86625f Revert "Add spinner"
This reverts commit 16506c44fa8aee0a588c01a253b78b023a8f3a39.
2025-01-13 16:54:17 +01:00
François Turbelin
9cd3bbf46f Revert "Use params value only if present"
This reverts commit 5cd50b1c1ff66398f470d51fdafacf26663a2730.
2025-01-13 16:54:17 +01:00
François Turbelin
f9f5d0eb51 Revert "Do explicit save in specs when switching tabs"
This reverts commit 3230159dceeb1485b0c6ec2422ea282b39431e0c.
2025-01-13 16:54:17 +01:00
François Turbelin
0b0b6a04e1 Do explicit save in specs when switching tabs 2025-01-13 16:54:17 +01:00
François Turbelin
0f77d1bad5 Use params value only if present 2025-01-13 16:54:17 +01:00
François Turbelin
cd38e02cac Add spinner 2025-01-13 16:54:17 +01:00
François Turbelin
d6faa23fc2 Fix spec 2025-01-13 16:54:17 +01:00
François Turbelin
9dc364979a Put back permalink fields on primary details panel 2025-01-13 16:54:17 +01:00
François Turbelin
3c7c02da2f Repair specs 2025-01-13 16:54:17 +01:00
François Turbelin
657df9eb8f Repair field placeholder translation 2025-01-13 16:54:17 +01:00
François Turbelin
6ae3c8b102 Add external_billing_id field on revenues_by_hub report 2025-01-13 16:54:17 +01:00
François Turbelin
e37881837b Add unit tests for admin entreprises changes 2025-01-13 16:54:17 +01:00
François Turbelin
57c237c72d Move admin_only tab upper 2025-01-13 16:54:17 +01:00
François Turbelin
6030d7e05b Handle the async action for entreprises sells field changes 2025-01-13 16:54:17 +01:00
François Turbelin
30dfae7e18 Deal with translations 2025-01-13 16:54:17 +01:00
François Turbelin
14334b02bf Add new field on enterprise admin form 2025-01-13 16:54:17 +01:00
François Turbelin
772f1f8fde Add external_billing_id field on enterprises table 2025-01-13 16:54:17 +01:00
Gaetan Craig-Riou
a5c199d397 Set action cable to use the unused redis instance 2025-01-13 15:05:56 +11:00
Vishal Deepak
1586c8ef28 New varaints should inherit tax category in UI 2025-01-10 13:30:18 +05:30
Maikel
e2bc86faa9 Merge pull request #12491 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.25.0
chore(deps-dev): bump rubocop-rails from 2.24.1 to 2.28.0
2025-01-10 13:03:25 +11:00
David Cook
7f2266ef40 Merge pull request #13066 from mkllnk/fix-flaky-order-spec
Fix flaky admin order spec
2025-01-10 12:26:46 +11:00
Maikel Linke
b8c5b24c17 Fix flaky admin order spec
We were trying to assert values in the database withou waiting for he
update to finish. First expecting the changed values on the screen
ensures that Capybara waits for the action to finish. Then we can check
the database.
2025-01-10 09:54:50 +11:00
Maikel Linke
f8788d358e UNSAFE style Rails/RootPathnameMethods 2025-01-10 09:14:34 +11:00
Maikel Linke
c1198c8e1f UNSAFE Style Rails/CompactBlank 2025-01-10 09:14:34 +11:00
Maikel Linke
6cf1a0500d Bump rubocop-rails from 2.25.0 to 2.28.0 2025-01-10 09:14:04 +11:00
David Cook
314126a937 Update all locales with the latest Transifex translations 2025-01-10 09:08:52 +11:00
Maikel Linke
f9d436b1c9 Simplify subscription query
The artificial limit of 100 years was just set because the old SQL query
wouldn't deal with `null` well. Comparing with null always is always
false and returns nothing.

But Rails is now clever enough to interpret `begins_at..nil` as open
end query. This shouldn't have any practical impact as there's unlikely
to be an order cycle closing in more than 100 years. And if there was,
it would be confusing that it's not treated like other order cycles
ending in 80 years.
2025-01-10 08:57:20 +11:00
Maikel Linke
49ec9a3136 Style Rails/WhereRange 2025-01-10 08:43:58 +11:00
dependabot[bot]
2937595a33 chore(deps-dev): bump rubocop-rails from 2.24.1 to 2.25.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.24.1 to 2.25.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.24.1...v2.25.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>
2025-01-10 08:34:00 +11:00
Maikel Linke
dc7b6245fd Allow creating backorders before order cycle opens
Admins may want to pre-process some orders manually for going public.
And it's good to reserve stock for these.

At some point in the future, the supplier may have an order cycle with
its own times but the current FDC implementation allows orders at any
time.
2025-01-09 13:32:43 +11:00
Maikel Linke
884206b4ed Place new backorder when there's none to amend 2025-01-09 13:28:09 +11:00
Maikel Linke
2297b650f8 Skip amending backorder if there's none 2025-01-09 12:10:07 +11:00
Maikel Linke
a3ec3e74ae Hide stock level of on-demand inventory items
We changed to tracking stock of on-demand items to be able to place
backorders. This is mostly hidden in the app but was still visible on
the inventory page. Now we are hiding that here, too.
2025-01-09 10:06:04 +11:00
Maikel Linke
0805501445 Format spec data with less indent 2025-01-09 10:06:04 +11:00
Maikel
edf236778e Merge pull request #13063 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.13
Bump @floating-ui/dom from 1.6.12 to 1.6.13
2025-01-09 08:54:47 +11:00
dependabot[bot]
bf98603fcf Bump @floating-ui/dom from 1.6.12 to 1.6.13
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.12 to 1.6.13.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.13/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>
2025-01-08 09:29:52 +00:00
Maikel
5f486bd611 Merge pull request #13036 from chahmedejaz/bugfix/13024-dfc-catalog-syncs-for-blank-cart
Fix DFC catalog syncs for blank cart
2025-01-08 12:53:19 +11:00
Maikel
1df3a6bb66 Merge pull request #13049 from mkllnk/dfc-wholesale-stock
Calculate stock from DFC wholesale variants
2025-01-08 12:32:44 +11:00
Konrad
8e0c0392d9 Merge pull request #12991 from murjax/remove-sku-11973
Remove product SKU from product pages and report
2025-01-07 21:14:39 +01:00
Konrad
428eb465c0 Merge pull request #13009 from MrBowmanXD/dev
Added the :selected option with the default tax category #12989
2025-01-07 20:04:28 +01:00
Rachel Arnould
1147976069 Merge pull request #13011 from drummer83/ConnApps
Make Connected Apps links available in Transifex
2025-01-07 15:31:46 +01:00
kernal053
45a4b33920 Ensure existing format 'Voucher: Code' on edit cart page. Handle rubocop warning 2025-01-07 09:17:24 +05:30
Maikel Linke
0bd6fe6709 Fix setting stock from wholesale offer 2025-01-07 11:03:36 +11:00
Maikel Linke
21195c5750 Calculate stock from wholesale products 2025-01-07 11:03:36 +11:00
Maikel Linke
faad7fa95c Move wholesale calculation for re-use 2025-01-07 11:03:36 +11:00
Maikel Linke
ddaeff7c53 Use DfcCatalog in offer broker 2025-01-07 11:03:34 +11:00
Maikel Linke
ef08ae49fe DRY DFC catalog logic for re-use 2025-01-07 10:49:37 +11:00
Konrad
7e3baabd23 Merge pull request #12983 from saunmanoj888/12957-hide-search-filter-for-no-products
Back Office Product List - Hide search field and filters when there are no products in list
2025-01-07 00:16:59 +01:00
David Cook
a89d65cfc7 Merge pull request #13057 from mkllnk/remove-local-storage
Remove local storage
2025-01-06 11:45:27 +11:00
Gaetan Craig-Riou
ab57618e59 Merge pull request #13044 from mkllnk/dfc-store-order-links-only
Remove old, replaced backorder lookup
2025-01-06 10:11:34 +11:00
Konrad
cdcc6871fd Merge pull request #12979 from cillian/remove-unused-angular-directives-2024-11
Remove unused renderSvg, ofnDisableScroll, integer, ofnScrollTo angular directives
2025-01-04 15:50:38 +01:00
kernal053
98adefbd67 Add 'Voucher:' before voucher code on edit cart page. Add spec correspondigly 2025-01-04 14:26:02 +05:30
Cillian O'Ruanaidh
ce38c1a3d5 Remove unused :ofn-scroll-to angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
6923349de6 Remove unused :integer angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
1fb987f0bd Remove unused :disable-scroll angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
0b389b8ff4 Remove unused :render-svg angular directive 2025-01-03 14:31:21 +01:00
Konrad
35fa4155e4 Merge pull request #12998 from kernal053/add-voucher-to-order-confirmation-emails
Add 'Voucher:' before voucher code on order confirmation emails
2025-01-03 14:01:45 +01:00
Maikel
1b03ee1a02 Merge pull request #13040 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.3
Bump stimulus_reflex from 3.5.1 to 3.5.3
2025-01-03 15:29:20 +11:00
kernal053
bad32e226e Fix label for other adjustments and add spec correspodingly 2025-01-02 16:29:48 +01:00
kernal053
65f7980246 remove locale files changes except en.yml inorder to avoid conflict with Transifex 2025-01-02 16:29:48 +01:00
kernal053
65abda2a38 add voucher label & correspoding code with translation for order confirmation mailer 2025-01-02 16:29:48 +01:00
kernal053
f99f2c81ac Add 'Voucher:' before voucher code on order confirmation emails 2025-01-02 16:29:48 +01:00
David Cook
bc53e4301c Bump cable_ready package 2025-01-02 16:32:18 +11:00
David Cook
807782cc2a Bump cable_ready gem 2025-01-02 16:29:03 +11:00
David Cook
6adc6321f5 Bump stimulus_reflex gem 2025-01-02 16:28:37 +11:00
Maikel Linke
558d4debdb Remove unused AngularJS local storage 2025-01-02 15:40:13 +11:00
Maikel Linke
8f761fc438 Remove unused localStorageService clearing 2025-01-02 15:23:43 +11:00
Maikel Linke
be98544537 Remove unused AngularJS service KeyValueMapStore 2025-01-02 15:19:55 +11:00
David Cook
7f3b1c0d7a Merge pull request #13029 from mkllnk/flaky-order-cycle-spec
Add timepicker helper with added expectation to reduce flakiness
2025-01-02 13:45:28 +11:00
dependabot[bot]
d71b282fda Bump stimulus_reflex from 3.5.1 to 3.5.3
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.1 to 3.5.3.
- [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/compare/v3.5.1...v3.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-02 02:29:54 +00:00
Maikel
f5856d54da Merge pull request #13053 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-2.2.0
Bump js-big-decimal from 2.1.0 to 2.2.0
2025-01-02 13:28:48 +11:00
Maikel
386970adb0 Merge pull request #13050 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.12
Bump trix from 2.1.11 to 2.1.12
2025-01-02 13:27:56 +11:00
David Cook
deee451b88 Merge pull request #12867 from dacook/turbo-error-messages
Alert user when error requesting a report
2025-01-02 11:28:10 +11:00
dependabot[bot]
77864fc149 Bump js-big-decimal from 2.1.0 to 2.2.0
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v2.1.0...v2.2.0)

---
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>
2024-12-30 09:51:47 +00:00
Filipe
5fdd0e5d42 Merge pull request #12954 from rioug/fix-shipment-not-updated
Ensure shipment gets updated when an order is updated
2024-12-26 15:56:12 -06:00
dependabot[bot]
38ed025d88 Bump trix from 2.1.11 to 2.1.12
Bumps [trix](https://github.com/basecamp/trix) from 2.1.11 to 2.1.12.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.11...v2.1.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 09:48:27 +00:00
Maikel
b8aa970040 Merge pull request #13048 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.11
Bump trix from 2.1.10 to 2.1.11
2024-12-20 15:40:08 +11:00
Filipe
e2e2285f81 Merge pull request #13027 from chahmedejaz/bugfix/13026-reset-variant-unit-name
Changing a variant unit scale from items to weight/volume does not remove variant unit name
2024-12-19 18:27:39 -06:00
Maikel Linke
c1f8d3035a Sleep after selecting time for stability 2024-12-20 11:15:49 +11:00
Maikel Linke
f74492190d Select time like the user does
It makes it easier to understand. It didn't improve stability.
2024-12-20 11:15:49 +11:00
Maikel Linke
874c464088 Tidy one spec example 2024-12-20 11:15:49 +11:00
dependabot[bot]
5a69acb742 Bump trix from 2.1.10 to 2.1.11
Bumps [trix](https://github.com/basecamp/trix) from 2.1.10 to 2.1.11.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.10...v2.1.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-19 09:17:56 +00:00
Maikel Linke
72376da98f Assess stability without retry 2024-12-19 16:29:33 +11:00
Maikel Linke
a30f764a22 Add timepicker helper with added expectation 2024-12-19 16:29:33 +11:00
Maikel Linke
5db8cb452e Leverage Rails' caching when checking for admin
The privileges of a user should never change within a request
life cycle. The `spree_roles` association is very small, between 0 and 2
items are quickly searched in memory without the need of additional
database queries.

From memory, I've seen a lot of spree_roles queries in log files per
request. This should reduce it to one.
2024-12-19 10:12:31 +11:00
Maikel Linke
54f83b45c8 Replace has_spree_role? with simpler admin?
We have only one role, so let's get rid of the unneeded method.

Now we are in a better place to get rid of Spree::Role and replace it
with a simple boolean.
2024-12-19 09:19:01 +11:00
Maikel Linke
a7140d1f60 Use only admin role, on demand
We are now creating the role on demand which removes the need for
seeding it as well.
2024-12-19 09:02:04 +11:00
Maikel Linke
a529d95fc5 Remove unused user role from seeding
We only ever check for the admin role.
2024-12-19 08:54:39 +11:00
Maikel Linke
fa82f80ab9 Use plain static value for spree_roles 2024-12-19 08:50:10 +11:00
Maikel Linke
a7dfa36883 Typo: we sync catalogs, not categories 2024-12-18 13:01:23 +11:00
Maikel Linke
60b62d41d6 Remove old, replaced backorder lookup 2024-12-17 13:48:03 +11:00
Maikel
0f706a9929 Merge pull request #13034 from mkllnk/rbenv-install
Install rbenv automatically if missing
2024-12-17 12:47:22 +11:00
Maikel
b9483ce63d Update script/rbenv-install.sh
Co-authored-by: David Cook <david@redcliffs.net>
2024-12-17 11:51:47 +11:00
David Cook
a3a79686db Don't catch other 4xx errors 2024-12-17 11:16:56 +11:00
David Cook
0616827419 Catch errors and alert the user
I'm not sure why, but Turbo was swallowing the unauthorized error, so I thought we should alert the user to help with debugging.
Same with network error, it gave no feedback before.

I think this is testable in theory, but I haven't invested the time on it.
2024-12-17 10:37:28 +11:00
Ahmed Ejaz
71ee7d5390 13032: add pularal variant names for flower farms 2024-12-17 00:16:20 +05:00
David Cook
e689844a0f Merge pull request #13033 from mkllnk/dfc-pricing
DFC Orders: Calculate wholesale price for imported retail variants
2024-12-16 15:37:30 +11:00
David Cook
5c08446515 Merge pull request #13039 from rioug/fix-es-unit-scale
Use the correct spanish translation for Unit Scale
2024-12-16 12:27:21 +11:00
Gaetan Craig-Riou
ad7ba3e680 Use the correct spanish translation for Unit Scale 2024-12-16 11:25:23 +11:00
Gaetan Craig-Riou
e54a1afe52 Merge pull request #13035 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.9
Bump hotkeys-js from 3.13.7 to 3.13.9
2024-12-16 10:49:43 +11:00
filipefurtad0
7d0bcfa06a Update all locales with the latest Transifex translations 2024-12-13 10:53:25 -06:00
Filipe
9bfac66412 Merge pull request #13012 from chahmedejaz/task/13007-customer-code-in-order-cycle-email
Add customer code to notify producer emails when enabled
2024-12-13 10:50:02 -06:00
dependabot[bot]
e26a1d4d3d Bump hotkeys-js from 3.13.7 to 3.13.9
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.7 to 3.13.9.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.7...v3.13.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-12 09:51:55 +00:00
Maikel Linke
8d1d0c27c9 Install rbenv automatically if missing
This small script addition will allow us to remove the rbenv
installation from our Ansible provisioning scripts.
2024-12-12 17:15:53 +11:00
Maikel Linke
13e008e91e Calculate wholesale price for imported retail variants 2024-12-12 16:08:45 +11:00
Maikel Linke
e47a57fa3c DRY with offer broker we'll need anyway 2024-12-12 15:48:42 +11:00
Maikel Linke
d5c3e94b24 OfferBroker needs only catalog URL, no other URLs 2024-12-12 15:45:42 +11:00
Maikel Linke
9b965f657c Use OIDC account factory 2024-12-12 15:22:35 +11:00
Maikel
58c39166e1 Merge pull request #13000 from mkllnk/dfc-amend-order
Amend DFC backorder completely
2024-12-12 12:47:13 +11:00
Ahmed Ejaz
b6eca58798 13024: fix dfc catalog sync for blank cart 2024-12-12 04:28:15 +05:00
Maikel Linke
bf41658d32 Fix nil error when amending backorder 2024-12-11 12:40:46 +11:00
Maikel Linke
88837b55b9 Amend backorder also when resuming order 2024-12-11 12:40:46 +11:00
Maikel Linke
9c0a15f431 Amend backorders on admin update orders 2024-12-11 12:40:46 +11:00
Maikel Linke
fcbaefb2c8 Update each backorder only once in bulk cancel 2024-12-11 12:40:46 +11:00
Maikel Linke
9ca1b48d2e Move backorder amendment out of order callback
Triggering it for each order is inefficient when we cancel them in bulk.
The callback doesn't allow us to optimise this.
2024-12-11 12:40:46 +11:00
Maikel Linke
e76d6ad3df Spec current order cancellation amending backorder
The cancellation happens async in Javascript. Therefore we need to wait
for and outcome on the page to know that the action finished. The
expectation needs to be around that whole block.

We actually want only one job enqueued if the same backorder is
affected. Time to fix that.
2024-12-11 12:40:46 +11:00
Maikel Linke
e1febc6e00 Simplify page actions 2024-12-11 12:40:46 +11:00
Maikel Linke
7d27f46d68 Simplify negated expectation 2024-12-11 12:40:46 +11:00
Maikel Linke
7d7253cf0e Re-use BackorderUpdater to complete backorder 2024-12-11 12:40:46 +11:00
Maikel Linke
4fa4eb1b4e Move backorder update code to re-usable class 2024-12-11 12:40:46 +11:00
Maikel Linke
d16cd8c84e Amend backorder completely
Update every single order line to reflect local orders and stock levels.

New cases supported:

* Add lines for orders created by an admin.
* Create backorder line after increase of local line item quantity.
* Adjust local stock after variant has been removed from order cycle.
2024-12-11 12:40:46 +11:00
Gaetan Craig-Riou
9870abfb1c Merge pull request #13025 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.10
Bump trix from 2.1.9 to 2.1.10
2024-12-11 10:08:00 +11:00
Gaetan Craig-Riou
8e46c0f897 Apply changes from https://github.com/openfoodfoundation/openfoodnetwork/pull/13016 2024-12-11 10:04:57 +11:00
Ahmed Ejaz
3e031ab735 13026: reset variant unit name if unit is not items 2024-12-11 03:14:11 +05:00
dependabot[bot]
141000f0df Bump trix from 2.1.9 to 2.1.10
Bumps [trix](https://github.com/basecamp/trix) from 2.1.9 to 2.1.10.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 21:47:00 +00:00
Maikel
7302c2d161 Merge pull request #12990 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.4.1
Bump tom-select from 2.3.1 to 2.4.1
2024-12-11 08:45:16 +11:00
Maikel Linke
4be4c7622b Clean up Haml 2024-12-10 15:32:09 +11:00
Ahmed Ejaz
604a47bd96 13007: add specs for text mail 2024-12-10 05:49:35 +05:00
Ahmed Ejaz
241a6d8128 13007: fix specs 2024-12-10 05:34:33 +05:00
Ahmed Ejaz
bb70d21a35 13007: add specs 2024-12-10 05:34:32 +05:00
Ahmed Ejaz
626a269cf8 13007: only show business name when all customers have one 2024-12-10 05:34:32 +05:00
Ahmed Ejaz
302336ab02 13007: add business name in order cycle report email 2024-12-10 05:34:27 +05:00
filipefurtad0
ee2a6bf2e6 Update all locales with the latest Transifex translations 2024-12-09 16:46:51 -06:00
Filipe
7ca5927411 Merge pull request #12996 from chahmedejaz/bugfix/12993-fix-order-cycle-report-text-version
Order cycle mail reports to producers display different data in html and txt versions
2024-12-09 16:32:46 -06:00
dependabot[bot]
2926a9662c Bump tom-select from 2.3.1 to 2.4.1
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.3.1 to 2.4.1.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.3.1...v2.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 22:27:56 +00:00
David Cook
118ed915dc Merge pull request #13020 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.9
Bump trix from 2.1.8 to 2.1.9
2024-12-10 09:23:28 +11:00
Filipe
6e40e4da60 Merge pull request #13018 from chahmedejaz/task/13008-add-tax-category-in-all-products-report
Add 'tax category' to the All Products report
2024-12-09 16:21:01 -06:00
dependabot[bot]
693bef1e7a Bump trix from 2.1.8 to 2.1.9
Bumps [trix](https://github.com/basecamp/trix) from 2.1.8 to 2.1.9.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/commits)

---
updated-dependencies:
- dependency-name: trix
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 20:41:14 +00:00
Manuel Gonçalves
0d4904d9e4 Small change in spec file 2024-12-09 09:07:22 +00:00
Manuel Gonçalves
5def2b53e5 Added a spec file in order to test the tax categories helper 2024-12-08 10:52:14 +00:00
Ahmed Ejaz
42940f4729 12993: add total tax incl. 2024-12-08 01:05:21 +05:00
Ahmed Ejaz
f2da3bb11c 12993: html sanitize city and zip 2024-12-08 01:05:02 +05:00
Ahmed Ejaz
f8003b00db 12993: translate tax incl and qty 2024-12-08 01:03:38 +05:00
Filipe
521b72a6c9 Merge pull request #13004 from chahmedejaz/bugfix/12982-unable-to-close-confirmation-modals
[Orders Page] Fix Confirmation modals do not auto-close
2024-12-07 10:33:56 -06:00
Filipe
aa4552aac4 Merge pull request #13001 from chahmedejaz/bugfix/12973-product-import-never-completes
Bulk product import stalling at 66% when missing info
2024-12-05 16:34:43 -06:00
Ahmed Ejaz
93a3130851 12973: add specs 2024-12-05 16:18:21 -06:00
Ahmed Ejaz
f3a30f94db 12973: fix error rendering on UI
- The caught errors do not get rendered to the UI because of incorrect rendering methods
2024-12-05 16:18:21 -06:00
Ahmed Ejaz
16cae2dbcc 12973: fix error raised in variant creation
- if the sheet doesn't have the units present, then the variant is not saved due to model validation
- After that, while assigning on_hand value, error is raised that the variant is not created first
- Now this commit makes sure that the variant is created before implementing above logic
2024-12-05 16:18:21 -06:00
Gaetan Craig-Riou
cedf040b47 Per review, test on create and update 2024-12-04 22:15:56 +11:00
Gaetan Craig-Riou
4a6e4d4c6d Ensure shipment is updated when using update_or_create
`Spree::OrderContents#update_or_create` is used to update the cart when
on the /shop page. If you start an order and proceed to the "Order
summary" step, and then decide to update your order by using the shop
link next to the cart, such update wouldn't update the shipment.
This result in the order page in the backoffice displaying the wrong data,
and more importantly, in the stock not being updated.
So now we ensure shipment will be updated, which result in the checkout
flow being restarted, thus making sure the shipment is updated.
2024-12-04 16:30:45 +11:00
Maikel
4c71ea3866 Merge pull request #12994 from mkllnk/dfc-update-voc
Add new DFC vocabulary for order states
2024-12-04 12:57:03 +11:00
Gaetan Craig-Riou
bc970927a5 Merge pull request #13017 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.5.0
Bump jasmine-core from 5.4.0 to 5.5.0
2024-12-04 09:49:37 +11:00
Ahmed Ejaz
c331d57cdb 13008: add tax category in all products report 2024-12-04 03:36:42 +05:00
dependabot[bot]
5845fee663 Bump jasmine-core from 5.4.0 to 5.5.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.4.0 to 5.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/v5.4.0...v5.5.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>
2024-12-03 09:38:47 +00:00
Manuel Gonçalves
3199118bae Removed the :selected attribute when the tax category is not required (like original version) 2024-12-03 08:54:35 +00:00
Maikel
de938f6f10 Merge pull request #12949 from rioug/12859-use-VINE-voucher
[City OFN Voucher] A shopper can use a VINE voucher
2024-12-03 14:04:44 +11:00
Maikel
697f430156 Merge pull request #12992 from mkllnk/errors
Add simpler Alert.raise interface to notify Bugsnag
2024-12-03 13:29:11 +11:00
Maikel Linke
c41c15b895 Fix missed Alert call with order object 2024-12-03 13:02:08 +11:00
Manuel Gonçalves
980f86ce89 Fixed the lint errors 2024-12-02 21:22:12 +00:00
Ahmed Ejaz
af200ab4a0 12993: fix lint issues 2024-12-02 18:40:18 +05:00
Ahmed Ejaz
4c6c1eedb1 12993: use html safe strings wherever required 2024-12-02 18:23:24 +05:00
Ahmed Ejaz
bbdee7c0f3 12993: add included tax in text report 2024-12-02 18:04:18 +05:00
Ahmed Ejaz
11959515b8 12993: update the condition to display details 2024-12-02 18:04:17 +05:00
David Cook
cb781536b6 Merge pull request #12905 from macanudo527/docker/use_alpine_image
Add Alpine Image for Docker
2024-12-02 09:57:51 +11:00
drummer83
53d2166579 Make Connected Apps links available in Transifex 2024-12-01 23:55:26 +01:00
Manuel Gonçalves
d95bb7736a Fixed the logic and moved the code to a helper file 2024-12-01 20:43:31 +00:00
Manuel Gonçalves
7d5bb4a6fa Added the :selected option with the default tax category 2024-12-01 15:13:49 +00:00
Maikel Linke
5719d0682d Remove duplicate lines, dev leftovers 2024-11-29 16:16:43 +11:00
Maikel Linke
c4c95d472e Use defined DFC orders states 2024-11-29 16:16:42 +11:00
Maikel Linke
3e7f61c4d1 Add new DFC vocabulary
So that we can use order states programmatically.
2024-11-29 16:16:42 +11:00
Maikel
db76cd1659 Merge pull request #13005 from mkllnk/map-spec
Remove failing map spec
2024-11-29 14:10:57 +11:00
Maikel Linke
e791184468 Remove failing map spec
I couldn't fix it easily. But I also think that the testing approach had
low value here.

It raised:

```
Failures:

  1) Map map can load does not show alert
     Failure/Error:
       assert_raises(Capybara::ModalNotFound) do
         accept_alert { visit '/map' }
       end

     Minitest::Assertion:
       Capybara::ModalNotFound expected but nothing was raised.

     [Screenshot Image]: /home/runner/work/openfoodnetwork/openfoodnetwork/tmp/capybara/screenshots/failures_r_spec_example_groups_map_map_can_load_does_not_show_alert_64.png

     # ./spec/system/consumer/map_spec.rb:11:in `block (3 levels) in <top (required)>'
     # ./spec/system/support/cuprite_setup.rb:39:in `block (2 levels) in <top (required)>'
     # ./spec/base_spec_helper.rb:153:in `block (3 levels) in <main>'
     # ./spec/base_spec_helper.rb:153:in `block (2 levels) in <main>'
```
2024-11-29 13:46:01 +11:00
filipefurtad0
23287573f4 Update all locales with the latest Transifex translations 2024-11-28 20:21:43 -06:00
Maikel
925ac2ea6a Merge pull request #12862 from dacook/anonymise-customer-names
Anonymise customer first and last names
2024-11-29 09:17:19 +11:00
Filipe
355c9686e3 Merge pull request #12963 from murjax/map-network-check-8230
Show alert if map cannot load
2024-11-28 12:26:22 -06:00
Filipe
58d174fad9 Merge pull request #12969 from chahmedejaz/task/12919-remove-empty-option-from-unit-scale-dropdown
[Products] Empty option on unit scale dropdown
2024-11-28 09:31:42 -06:00
Filipe
d90c4f6aed Merge pull request #12995 from chahmedejaz/bugfix/12968-product-import-update
Impossible to update product sold by weight with product import
2024-11-28 08:38:58 -06:00
Gaetan Craig-Riou
f5b9ca361c Use the voucher adjustment amount for redeeming 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
16d6e1f935 Remove unused error translation 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
1e6fbadd8b Fix Vine::VoucherRedeemerService to handle exceptions 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d102652c03 Fix Vine::VoucherValidatorService to handle exceptions 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
1b50217242 Re worked the Vine::ApiService to raise exception on error
Log Client and Server error, and re raise exception for the caller
to handle
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
73819a4638 Fix unique validator for vouche code
Paranoia doesn't support unique validation including deleted records:
  https://github.com/rubysherpas/paranoia/pull/333
We use a custom validator, ScopedUniquenessValidator to avoid the issue
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
9ab2a3ae3d Per review, fix a some minor issues 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d413a142c9 Update various voucher related file to use the new Vouchers::Vine 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
48ad7ed8a0 Add voucher used by multiple enterprise and recycle code scenario
Plus optimise code with `find_or_initialize_by` as suggested in review
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
a2c4c44eea Move Vine voucher to Vouchers::Vine
A Vine voucher is really a specific type of FlatRate voucher but because
a Vine voucher can be used by mutiple enterprise, it can be considered
different enough to warrant it's own class.
It still share a lot of the behaviour of a FlatRate voucher, so to avoid
duplication, all the shared functionality have been moved to a
Vouchers::FlatRatable concern.
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
e7ece294cc Better error for VineVoucherValidatorService
Co-authored-by: David Cook <david@redcliffs.net>
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d7313ffec9 Per review, improve Vine::VoucherValidatorService
plus specs
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
b42cba8c37 Add vine_voucher factory 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
7726c7d129 Per review, rename not_vine scope to local
- use IS DISTINCT FROM instead of two conditions
- added spec for scope
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d4d995851f Display voucher section if connected to VINE 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
12cf62c2ff Refactor, add OrderManagement::Order::Updater#update_voucher
Move the logic to update a voucher and associated order to
`OrderManagement`
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
0569b30e0d Refactor Vine related services
Move them under Vine module to keep the code nicely organised
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
9f3da1af4f Reddeem VINE voucher when firing "capture_and_complete_order"o
'Spree::Payment#capture_and_complete!' will try to complete the order,
so we want to redeem any VINE voucher associated with the order first.
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
afb336d789 Add spec for fire event "capture_and_complete_order" 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
92c4cb9b7f Redeem VINE voucher when creating a new payment
Creating a new payment will try to complete the order, so we want to
redeem any VINE voucher associated with the order first
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
724d5a2ca0 Add spec for creating a payment from admin page 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
6251814152 Hide VINE voucher from admin voucher page 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
cf13dc2ff6 Add system spec when completing order with VINE voucher 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
4906c19c8e Checkout Summary, remove shared example 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
129ccc33f8 CheckoutController, add VINE voucher redemption 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
9399c7e129 Add VineVoucherRedeemerService
It handles redeeming a voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
c17eddd69b Add Voucher#vine?
And small refactor
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
b30096317c VineApiService, add voucher_redemptions
It is used to redeem a voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
c89b4fb86b Add system spec fot adding VINE voucher to order 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
3a367ceb6e Handle adding a VINE voucher to an order
Plus specs
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
f9fb7bf399 Add VineVoucherValidatorService and spec
It handles validating and creating vine voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
0f9b933117 Add extra column to Voucher
They are used to store additional informations for VINE vouchers
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
7cbe77668a VineApiService, add voucher_validation
It is used to validate a voucher using the given short code
2024-11-28 13:35:01 +01:00
Rachel Arnould
479eacc956 Merge pull request #12964 from chahmedejaz/task/12890-add-data-to-dfc-affiliate-sales-endpoint
Add cities and countries to DFC affiliate sales data endpoint
2024-11-28 10:46:20 +01:00
Neal Chambers
e7213dba68 Revise README 2024-11-28 08:39:51 +09:00
Neal Chambers
078e191d26 Sync Docker Container to the Host 2024-11-28 08:39:51 +09:00
Neal Chambers
b554eda7c7 Add Windows Docker Commands to README 2024-11-28 08:39:51 +09:00
Neal Chambers
477447ad92 Rewrite Powershell Scripts for Alternative Dockerfile 2024-11-28 08:39:51 +09:00
Neal Chambers
039399ee37 Simplify Docker Build 2024-11-28 08:39:51 +09:00
Neal Chambers
d36438037a Revise Docker README 2024-11-28 08:39:51 +09:00
Neal Chambers
5b58f7b20e Add Dockerfile back in 2024-11-28 08:39:51 +09:00
Neal Chambers
02e2214caa Revert "Remove bundle exec from docker commands"
This reverts commit 2d193a689406cf826e241314acd661fd87a6ae37.
2024-11-28 08:39:51 +09:00
Neal Chambers
0ec8d13641 Optimize Dockerfile 2024-11-28 08:39:51 +09:00
Neal Chambers
151fc7bf85 Revise docker scripts to use optional dockfiles 2024-11-28 08:39:51 +09:00
Neal Chambers
15c920c911 Refactor Alpine Dockerfile 2024-11-28 08:39:51 +09:00
Neal Chambers
b4aaa0fae1 Add Helpful Docker Commands 2024-11-28 08:39:51 +09:00
Neal Chambers
efe0a2a701 Add Redis Test URL for Spree Preferences 2024-11-28 08:39:51 +09:00
Neal Chambers
3f905cce16 Remove bundle exec from docker commands 2024-11-28 08:39:51 +09:00
Neal Chambers
5c5213e872 Use Alpine Image for Docker 2024-11-28 08:39:51 +09:00
David Cook
3a7aed154c Merge pull request #13003 from chahmedejaz/bugfix/13002-orders-pagination
[Orders Page] - Fix Pagination not working
2024-11-28 09:28:30 +11:00
Ahmed Ejaz
60ace5d3ff 12982: add hu locale config for flatpickr 2024-11-28 03:18:34 +05:00
Ahmed Ejaz
1dec3debe1 12982: update close guard condition
- Execute the close method only when the current context modal is opened
2024-11-28 03:12:11 +05:00
Ahmed Ejaz
711f37bce1 13002: fix the search-controller error
- productForm is not accessible on the orders page
- putting the check to do the scrollIntoView only if the productForm is available
2024-11-27 17:49:21 +05:00
Filipe
a493d70f5c Merge pull request #12950 from macanudo527/unlock_bigdecimal
Fix rounding issues by upgrading decimal maths library
2024-11-25 19:18:19 -06:00
Ahmed Ejaz
c0887b1806 12890: remove city from response 2024-11-25 19:29:31 +05:00
Ahmed Ejaz
3d09ac01cc 12968: fix existing specs
- As per the new changes, unit_type change will create a new product rather than give errors.
- on bulk-update screen as well, two products can have same name with different unit_type
2024-11-25 17:29:27 +05:00
Ahmed Ejaz
3a3d729dcb 12968: fix product import update 2024-11-25 16:36:13 +05:00
Ahmed Ejaz
283706114e 12968: update condition to match variant with unit scale 2024-11-25 16:36:13 +05:00
Ahmed Ejaz
7ca544540b 12890: fix product names 2024-11-24 15:24:39 +05:00
filipefurtad0
7a2a6fab21 Update all locales with the latest Transifex translations 2024-11-22 16:36:15 -06:00
Filipe
0f4ca50d0e Merge pull request #12962 from bouaik/Scroll-to-top-when-using-pagination
Scroll to top when using pagination
2024-11-22 15:13:38 -06:00
Maikel Linke
b1b4b10417 Update API docs 2024-11-22 12:40:54 +05:00
Ahmed Ejaz
3b83200a14 12890: fix specs 2024-11-22 12:40:54 +05:00
Ahmed Ejaz
7cd8311dcb 12890: add cities and countries data 2024-11-22 12:40:54 +05:00
Maikel
3ec8cd24d3 Merge pull request #12960 from mkllnk/dfc-link-backorder
Store link to open backorder
2024-11-22 10:22:43 +11:00
saunmanoj888
87d7f73ba9 Hide search filters when no product is present 2024-11-22 00:15:08 +05:30
Maikel Linke
14e7c57102 Deactivate some specs on CI
Somehow Bugsnag doesn't report in CI environment and I have no idea how
to circumvent that. And I don't want to spend more time on this.
2024-11-21 16:17:27 +11:00
Maikel Linke
9f859f420d Remove unnecessary error creation 2024-11-21 15:58:56 +11:00
Maikel Linke
af33fc357e Use shorter Alert syntax
I still think that some of these objects won't be visible in Bugsnag but
I don't want to test any more on cases that were broken before and may
not be relevant now.
2024-11-21 15:58:56 +11:00
Maikel Linke
6a8cc410d2 Replace broken order data
Bugsnag expects a string as value, not an ActiveRecord object. The
result was just "filtered" data, not showing any of the order's
attributes.

Since wanting to share the order data seems a common pattern, I added a
convenience method for it.
2024-11-21 15:58:55 +11:00
Maikel Linke
61e7c1db07 Replace obsolete ErrorLogger 2024-11-21 15:58:55 +11:00
Maikel Linke
0d8df5d2a8 Replace Bugsnag calls with Alert.raise 2024-11-21 15:58:55 +11:00
Maikel Linke
73a1698aad Add live test for Bugsnag
Needs human to review Bugsnag account.
2024-11-21 15:28:19 +11:00
Maikel Linke
97d41c230e Add simpler Bugsnag wrapper 2024-11-21 15:28:19 +11:00
Maikel Linke
1b4efd2164 Revert "Notify bugsnag on 404 errors"
This reverts commit 2eec3d625a.

We started tracking 404 errors out of interest without an actual problem
to solve. Now we face rate-limiting in our Bugsnag account. And we
didn't use these 404 reports in the two years this code was active. We
don't even act on all 500 errors. So while our resources are so
constrained, let's keep our focus on the severe errors and user reports
and ignore the rest. 404 errors are mostly generated by vulnerability
scanners.
2024-11-21 15:28:19 +11:00
Maikel Linke
1e13005fb5 Enable Bugsnag testing in any Rails env with ENV var 2024-11-21 15:28:19 +11:00
Maikel
d0dcc92ca7 Merge pull request #12976 from dacook/update-docker-readme
Update docker readme
2024-11-21 13:25:42 +11:00
Ryan Murphy
bab7756017 Remove product SKU from product pages and report 2024-11-20 19:12:29 -05:00
Filipe
22f3afc7f7 Merge pull request #12930 from chahmedejaz/task/12878-add-variant-name-in-od-report
Report Orders and Distributors should display variant
2024-11-20 12:23:36 -06:00
Maikel Linke
46048dcd18 Handle empty backorder
Backorder can become empty after a customer cancels their order. Then we
don't want to fail but also don't need to place an order.
2024-11-19 15:53:59 +11:00
Maikel Linke
a8fb6492f4 Lookup backorder for updates with saved link 2024-11-19 15:53:59 +11:00
Maikel Linke
4610141ed8 Add shortcut to order's exchange 2024-11-19 15:53:59 +11:00
Maikel Linke
8098131dba Store link to open backorder
We don't use the link yet, but it's there.
2024-11-19 15:53:59 +11:00
Maikel Linke
597d9ad314 Add semantic links to Exchange 2024-11-19 15:53:59 +11:00
Maikel Linke
1ce0b25bb0 Switch SemanticLink to use new association
And ActiveRecord magic does the rest when used correctly.
2024-11-19 15:53:58 +11:00
Maikel Linke
c07ec6cdfd Polymorphically associate SemanticLinks to variant 2024-11-19 15:53:58 +11:00
Maikel Linke
48e8ad3dd0 Add subject column to semantic links 2024-11-19 15:53:58 +11:00
David Cook
60d4cd60ff Merge pull request #12972 from duleorlovic/12971_add_serbian_lang
Add Serbian lang: tx pull -l sr fix #12971
2024-11-19 09:46:59 +11:00
Ahmed Ejaz
d62d3041b4 12878: add relations in model 2024-11-18 11:45:02 +05:00
Ahmed Ejaz
42fc0f7230 12878: add model in migration 2024-11-18 11:13:02 +05:00
filipefurtad0
328aee6a03 Update all locales with the latest Transifex translations 2024-11-17 20:47:52 -06:00
Rachel Arnould
db79af45fb Merge pull request #12879 from chahmedejaz/task/12776-pay-suppliers-report
[Flower Farms] - Pay Suppliers Report
2024-11-15 11:36:29 +01:00
Ahmed Ejaz
ed7685222e 12776: fix included tax on fees 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
4965e2bb9a Update lib/reporting/reports/suppliers/helpers/line_items_access_helper.rb
Co-authored-by: David Cook <david@redcliffs.net>
2024-11-15 11:09:56 +01:00
Ahmed Ejaz
6b3b29ac39 12776: refactor spec 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
9bcdac8f30 12776: rename vat to tax 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
e2d999da8d 12776: use EnterpriseFeeCalculator in specs 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
bc57447d54 12776: refactor supplier_adjustments method 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
f3e086ad59 12776: remove unnecessary include 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
298c0e8d7f fix reported issues:
- wrong enterprise fees
- always 0 tax on fees
2024-11-15 11:09:56 +01:00
Ahmed Ejaz
ed559b5257 update specs to have more line items 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
1fbdf25296 12776: fix missing order numbers 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
ec0d2d346b use to_date for locale based formating 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
68c0d98736 add slash for abn acn 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
458c8f7608 Update lib/reporting/reports/suppliers/helpers/columns_helper.rb
Co-authored-by: David Cook <david@redcliffs.net>
2024-11-15 11:09:56 +01:00
Ahmed Ejaz
654263a823 add systems spec 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
77f9c6587c fix specs 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
13a614a5aa fix rubocop lines issue 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
add973f1ff 12776: add new line 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
4349e42a84 12776: add specs 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
7cb28fd064 12776: add supplier report 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
122a64e488 12776: add new report option 2024-11-15 11:09:56 +01:00
Ahmed Ejaz
39fa8e0ace 12878: fix migration class name 2024-11-14 11:04:28 +05:00
Maikel
8c6c1e28ff Merge pull request #12967 from rioug/fix-bugsnag-notify
Fix Bugsnag call to notify
2024-11-14 13:42:23 +11:00
David Cook
d9809fc1f4 Update docker readme
I think it was misleading, and considering the challenges everyone seems to have, we need to be more realistic.

[skip ci]
2024-11-14 09:56:59 +11:00
Neal Chambers
7a5074cc90 Refactor option_value_value_unit_scaled for correct unit value scaling and update sales tax report spec for clarity 2024-11-13 16:28:18 +09:00
Neal Chambers
41ffe848ed Update BigDecimal to Latest Version 2024-11-13 16:28:18 +09:00
Neal Chambers
0797314360 Fix inaccuracies introduced with truncation 2024-11-13 16:28:18 +09:00
Neal Chambers
3302f0e78d Improve Precision of Spec for New Version of BigDecimal 2024-11-13 16:28:18 +09:00
David Cook
889bec7404 Merge pull request #12961 from mkllnk/total-on-hand
Remove unused stock aggregation
2024-11-13 16:35:55 +11:00
David Cook
3f91027c51 Merge pull request #12953 from mkllnk/test-secret-collision
Avoid collision of test secrets
2024-11-13 15:58:41 +11:00
Gaetan Craig-Riou
2f9200b68b Per review, use a better name 2024-11-11 14:03:10 +11:00
filipefurtad0
5d9bb9a8d5 Update all locales with the latest Transifex translations 2024-11-10 18:03:57 -06:00
Filipe
7b677796c1 Merge pull request #12797 from rioug/report-fix-supplier
Fix supplier loading on Product & inventory report
2024-11-10 18:03:20 -06:00
Dusan Orlovic
528c851e89 Add Serbian lang: tx pull -l sr fix #12971 2024-11-10 20:43:13 +01:00
Ahmed Ejaz
bafb881c46 12919: add unit scale prompt 2024-11-10 14:57:45 +05:00
Ryan Murphy
32ab821839 8230 - Map spec update 2024-11-06 08:43:37 -05:00
Gaetan Craig-Riou
eb66244b74 Fix Bugsnag call to notify
Make sure we add metadata as expected:
https://docs.bugsnag.com/platforms/ruby/rails/reporting-handled-errors/#add_metadata
2024-11-06 14:01:48 +11:00
Ryan Murphy
008d764c34 Show alert if map cannot load 2024-11-05 18:37:17 -05:00
Gaetan Craig-Riou
9afd545897 Merge pull request #12959 from openfoodfoundation/dependabot/npm_and_yarn/jquery-ui-1.14.1
Bump jquery-ui from 1.14.0 to 1.14.1
2024-11-04 10:25:26 +11:00
Gaetan Craig-Riou
36f7063897 Merge pull request #12958 from openfoodfoundation/dependabot/npm_and_yarn/elliptic-6.6.0
Bump elliptic from 6.5.7 to 6.6.0
2024-11-04 10:00:23 +11:00
Gaetan Craig-Riou
a53a697e66 Merge pull request #12956 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.8
Bump trix from 2.1.7 to 2.1.8
2024-11-04 09:58:42 +11:00
Gaetan Craig-Riou
e9349ce79d Merge pull request #12955 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.12
Bump @floating-ui/dom from 1.6.11 to 1.6.12
2024-11-04 09:57:39 +11:00
bouaik
8709c137c7 Scroll to top when using pagination 2024-11-01 11:39:41 +01:00
Maikel Linke
271475893d Remove unused stock aggregation 2024-11-01 16:46:35 +11:00
filipefurtad0
49a24ebd33 Update all locales with the latest Transifex translations 2024-10-31 19:05:25 -06:00
Filipe
a08b0a8b32 Merge pull request #12917 from nicogaldamez/ignore-name-column-for-customers
Ignores name column on customer model
2024-10-31 17:35:47 -06:00
Filipe
0d97f992b9 Merge pull request #12943 from mkllnk/sanitise
Sanitise HTML attributes in the database
2024-10-31 17:32:56 -06:00
Filipe
996d2f0d46 Merge pull request #12947 from mkllnk/staging-baseline
Add scripts to save and restore baseline data
2024-10-31 16:47:23 -06:00
dependabot[bot]
f01a33c545 Bump jquery-ui from 1.14.0 to 1.14.1
Bumps [jquery-ui](https://github.com/jquery/jquery-ui) from 1.14.0 to 1.14.1.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.14.0...1.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 09:58:26 +00:00
dependabot[bot]
48c88d426e Bump elliptic from 6.5.7 to 6.6.0
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.7 to 6.6.0.
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.7...v6.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 02:16:59 +00:00
dependabot[bot]
f646a30dca Bump trix from 2.1.7 to 2.1.8
Bumps [trix](https://github.com/basecamp/trix) from 2.1.7 to 2.1.8.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.7...v2.1.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 09:47:49 +00:00
dependabot[bot]
1e21939963 Bump @floating-ui/dom from 1.6.11 to 1.6.12
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.11 to 1.6.12.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.12/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 09:47:37 +00:00
Maikel Linke
337113000f Avoid collision of test secrets
A test was failing locally because I have the OpenID client secret set
in my environment. And the dummy value was the same as another test key.
So it got replaced with the wrong value.
2024-10-30 16:03:29 +11:00
David Cook
3756e368c8 Merge pull request #12921 from rioug/12908-error-when-tax-refund
Add Bugsnag notification if we reach tax rate refund code
2024-10-30 14:51:40 +11:00
Gaetan Craig-Riou
54acc97fa1 Merge pull request #12951 from MichaelDimmitt/fix-typo
fix typo
2024-10-30 11:08:12 +11:00
michael
0f6f7b332c fix typo 2024-10-29 08:18:14 -04:00
Maikel
946471923a Merge pull request #12895 from dacook/update-release-template
Update release template
2024-10-29 16:11:18 +11:00
Maikel Linke
3f353690c7 Load staging baseline even if db in use 2024-10-29 12:44:46 +11:00
Maikel
b8822ee179 Merge pull request #12945 from mkllnk/dfc-amend-after-cancel
Amend backorder after cancellations
2024-10-29 11:26:18 +11:00
Gaetan Craig-Riou
701504fbb3 Merge pull request #12938 from mkllnk/restock
Spec restock after order cancellation
2024-10-28 09:56:01 +11:00
filipefurtad0
e9900ec1c7 Update all locales with the latest Transifex translations 2024-10-25 09:35:51 -06:00
Maikel Linke
8a0d9d99e5 Add scripts to save and restore baseline data 2024-10-25 15:07:39 +11:00
Maikel Linke
decf1e6f03 Move old Buildkite scripts to archive folder
We could delete them all but I want use some of their wisdom for new CI
scripts.
2024-10-25 14:23:33 +11:00
Maikel Linke
e0638b1765 Amend backorder after cancellations
The new job class blends code from the BackorderJob and the
CompleteBackorderJob for the specific case of adjusting quantities after
an order has been cancelled.

I would like to write a more general class which can be used for any
order amendmends but this was the quickest solution to cater for
currently running pilots.
2024-10-24 17:08:50 +11:00
Maikel Linke
a5f677f748 Create OidcAccount factory for simpler specs 2024-10-24 17:08:45 +11:00
Maikel Linke
63c83a19d6 Fix backorder spec with incomplete test data 2024-10-24 16:21:39 +11:00
Maikel
762e6ec568 Merge pull request #12940 from dacook/bug-12939
Bug 12939
2024-10-24 10:30:37 +11:00
Maikel Linke
d2e5087668 Remove redundant HTML sanitisation
We don't need to run the sanitiser each time we read an attribute. It's
a waste of time.
2024-10-24 08:47:11 +11:00
Maikel Linke
169e1cf288 Sanitise HTML attributes in the database 2024-10-24 08:47:11 +11:00
David Cook
45ca2961ec Avoid crash 2024-10-23 22:06:53 +11:00
David Cook
1d75aa45ef spec 2024-10-23 21:55:49 +11:00
David Cook
a123369f8d Merge pull request #12935 from mkllnk/dfc-doc-deterministic
Make DFC API docs deterministic
2024-10-23 16:59:55 +11:00
Maikel Linke
90589ae868 Spec restock after order cancellation 2024-10-23 16:35:59 +11:00
Maikel Linke
167a69d2ef Spec change in order state more precisely 2024-10-23 14:46:12 +11:00
Maikel Linke
09524e266f Fix method name description 2024-10-23 14:42:02 +11:00
Maikel
1c58b061b4 Merge pull request #12934 from rioug/fix-unit-price-spec
Use the correct spanish translation
2024-10-22 10:21:26 +11:00
Gaetan Craig-Riou
24df29ddf5 Use the correct spanish translation
Translation has been updated so we need to use the correct spanish
word
2024-10-22 10:10:00 +11:00
drummer83
9f084057a1 Update all locales with the latest Transifex translations 2024-10-21 11:11:39 +02:00
Gaetan Craig-Riou
3f22e8cca7 Fix Bugsnag payload data 2024-10-21 11:13:42 +11:00
Konrad
c3b5456433 Merge pull request #12912 from chahmedejaz/task/12911-remove-admin-v3-toggle
Remove the admin_style_v3 toggle from Production and Staging environments
2024-10-19 13:41:14 +02:00
Konrad
7b0519dab9 Merge pull request #12927 from mkllnk/report-dates
Filter reports by last 3 months by default
2024-10-19 13:12:20 +02:00
Ahmed Ejaz
355541e8de Update db/migrate/20241011071014_update_item_name_to_product_in_od_report.rb
Co-authored-by: David Cook <david@redcliffs.net>
2024-10-18 12:32:14 +05:00
Ahmed Ejaz
e10c3dc59b add specs for migration 2024-10-18 12:31:05 +05:00
Maikel
2609298d88 Merge pull request #12929 from mkllnk/dfc-backorder-fix
Handle case of BackorderJob having no work
2024-10-18 10:04:36 +11:00
Maikel
783de09987 Merge pull request #12932 from mkllnk/dfc-offline-token
Request offline access when connecting OIDC account
2024-10-18 10:03:25 +11:00
Maikel Linke
7b8aeb7ef8 Request offline access when connecting OIDC account 2024-10-18 09:39:49 +11:00
Maikel Linke
9c7105e764 Handle case of BackorderJob having no work 2024-10-17 15:39:32 +11:00
Maikel
afff200680 Merge pull request #12923 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.7
Bump trix from 2.1.6 to 2.1.7
2024-10-17 15:26:18 +11:00
Maikel Linke
6c431d4052 Fixup specs to use the new datepicker tools 2024-10-17 15:08:02 +11:00
Maikel Linke
2b8487cc6d Parse given datetime for reports properly 2024-10-17 15:08:02 +11:00
Maikel Linke
b9a72381fc Fix datepicker infinite loop
The new default dates were not aligned with the assumption that the
datepicker would open on the current date. The datepicker helper would
try to navigate to the previous month or next month in relation to the
reference date. Now with the wrong reference date, it would infinitely
go into the past or future, not finding the right year and month.

I chose a more robust approach of setting the year and month directly
which the user can do as well. Then we don't need a reference date.
2024-10-17 15:06:56 +11:00
Maikel Linke
ea8e925077 Show default date range to user in date picker 2024-10-17 13:16:12 +11:00
Maikel Linke
a13e5ced3d Select default dates for Packing report, too 2024-10-17 13:16:12 +11:00
Maikel Linke
aa7fffa5a2 Filter reports by last 3 months by default
The values are not shown on the screen and the user doesn't know which
default dates are applied but the filtering works.
2024-10-17 13:16:12 +11:00
Maikel Linke
3227922c76 Use reports helper to DRY 2024-10-17 13:16:12 +11:00
Maikel Linke
aa2a5757ec Move Customers report spec to own file 2024-10-17 13:16:12 +11:00
David Cook
197363b199 Merge pull request #12924 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.12
Bump @hotwired/turbo from 8.0.11 to 8.0.12
2024-10-17 09:49:22 +11:00
Konrad
a023443c75 Merge pull request #12880 from rioug/5574-fix-checkout-order-total-calc
Fix checkout order total and payment fees calculation
2024-10-16 21:16:34 +02:00
Nicolás Galdámez
2e29426834 Deletes failing test
It was a test associated with the migration from name to first_name +
last_name
2024-10-16 08:32:18 -03:00
Nicolás Galdámez
8e4d306901 Ignores name column on customer model
It's not being used because now there are columns for first name and
last name
2024-10-16 08:32:18 -03:00
dependabot[bot]
38196e8ff3 Bump @hotwired/turbo from 8.0.11 to 8.0.12
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.11 to 8.0.12.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 09:12:53 +00:00
dependabot[bot]
475c9fb4ab Bump trix from 2.1.6 to 2.1.7
Bumps [trix](https://github.com/basecamp/trix) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.6...v2.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 09:12:41 +00:00
Ahmed Ejaz
c48162388c 12911: remove admin_style_v3 toggle for prod and staging 2024-10-16 13:14:42 +05:00
Gaetan Craig-Riou
f024aff45d Add Bugsnag notification if we reach tax rate refund code
The original Spree code allow for a tax adjustment to be considered a
refund in a specific scenario:
- instance is using inclusive tax
- instance that applies different tax rate in different tax zones

This scenario should not happen with how our instances are configured
More info: https://github.com/openfoodfoundation/openfoodnetwork/pull/6565#discussion_r566535431
2024-10-16 11:37:21 +11:00
Maikel
ed668ded0a Merge pull request #12913 from mkllnk/dfc-import-items
Import product's invalid weight as 1 item
2024-10-16 10:47:12 +11:00
Gaetan Craig-Riou
b461d499ad Merge pull request #12914 from mkllnk/remove-stock-location-from-return-authorization
Remove StockLocation from ReturnAuthorization
2024-10-16 10:26:09 +11:00
Gaetan Craig-Riou
c1c281122f Merge pull request #12898 from dacook/buu-producer-specs
[BUU] Add missing specs
2024-10-16 10:05:20 +11:00
David Cook
8c4cc051a4 Merge pull request #12916 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.11
Bump @hotwired/turbo from 8.0.10 to 8.0.11
2024-10-16 10:01:50 +11:00
David Cook
d5b2408947 Reveal un-implemented tests 2024-10-16 09:51:04 +11:00
Maikel Linke
1eb70370c7 Import product's invalid weight as 1 item
We previously stored a scale which made the product screen believe that
we are dealing with weight.
2024-10-16 09:27:49 +11:00
Filipe
97b6289263 Merge pull request #12787 from rioug/move-variant-unit-attributes-to-variant
[Product Refactor] Move variant unit sizes to variant
2024-10-15 19:58:45 +01:00
dependabot[bot]
bda28dfaf7 Bump @hotwired/turbo from 8.0.10 to 8.0.11
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.10 to 8.0.11.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.10...v8.0.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-15 09:13:53 +00:00
Maikel Linke
d1ebe4e1d1 Make DFC API docs deterministic 2024-10-15 15:47:31 +11:00
Maikel Linke
a64aea4b9c Remove StockLocation from ReturnAuthorization
We have only one default location and don't need it associated to
anything.
2024-10-15 13:36:57 +11:00
David Cook
cc9b764f0f Fix rubocop 2024-10-15 10:37:20 +11:00
David Cook
ac5fa21ff2 Clean up 2024-10-15 10:33:20 +11:00
Gaetan Craig-Riou
781fcf21b9 Merge pull request #12910 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.4.0
Bump jasmine-core from 5.3.0 to 5.4.0
2024-10-15 10:22:30 +11:00
Gaetan Craig-Riou
56d2642191 Merge pull request #12889 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.6
Bump trix from 2.1.5 to 2.1.6
2024-10-15 10:20:43 +11:00
Rachel Arnould
f54552f939 Merge pull request #12886 from rioug/12855-VINE-connected-app
[Citi OFN Voucher] Add VINE connected app
2024-10-14 15:32:09 +02:00
dependabot[bot]
fb5740b38b Bump trix from 2.1.5 to 2.1.6
Bumps [trix](https://github.com/basecamp/trix) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.5...v2.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 09:40:36 +00:00
dependabot[bot]
db14080a7f Bump jasmine-core from 5.3.0 to 5.4.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.3.0 to 5.4.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/v5.3.0...v5.4.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>
2024-10-14 09:27:08 +00:00
Gaetan Craig-Riou
01337c12f0 Post rebase, fix product cloning spec 2024-10-14 15:02:35 +11:00
Gaetan Craig-Riou
f8eeca856e Fix invoice print specs 2024-10-14 15:02:35 +11:00
Gaetan Craig-Riou
67c11333f3 Use AdminTooltipComponent, instead of partial 2024-10-14 15:02:35 +11:00
Gaetan Craig-Riou
40afe7e0ab Fix rebase issue 2024-10-14 15:02:34 +11:00
Gaetan Craig-Riou
ef1f3207f7 Update spec/system/admin/products_v3/update_spec.rb
Co-authored-by: Maikel <maikel@email.org.au>
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
b0433bd8f5 Re add test for invalid cloned products
There is no easy way to make the original product invalid, but we can
make sure the cloned product will be invalid. The cloned product add
"COPe OF " in front of the product's name, so by starting with a name
that's long enough, the cloned product will have a name longer that 255
char and will then be invalid.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
755a394704 Fix spec to remove reliance on browser's message
Client side validation messages depend on the browser's locale, which
we have no controll over. Now we just check a message is set.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
04e14bf38b Per review, check value are saved in the database 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
ce0c7929a7 Per review, remove the use of raw 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
2a671d491d Remove commented out code 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
7c2c614f90 Update spec/models/spree/variant_spec.rb
Co-authored-by: David Cook <david@redcliffs.net>
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
3bb2232bc1 Remove non updatable check when updating a product
After the product redactor it only checked for the "description" on
product, which is actually skipped when doing an update.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
377f035ea8 Fix bulk coop report
The current spec is useless, but it has been addressed on master
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
dbca2e2b56 Add all columns moved to variant to ignored_columns 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
0695b434a2 Fix rebase issue 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
9db417319d Improve variant related validation when creating product
I disabled Metrics/AbcSize for ensure_standard_variant as I don't think
that's hard to understand the code. And utimately it will be removed
once product actually becomes optional.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
a500c75ee9 Add stying for the unit pop out 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
630c398b12 Move unit popout css to a partial 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
64f60d1c8c Fix small bug on edit variant page
- make sure the weight is only cleared when needed
- make sure the displayed unit is up to date
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
218d07c90d Fix product import controller 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
83a619b097 Fix bulk order management page 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
fa986f3fc2 Fix orders and fulfillment report 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
977b6e6c2a Fix minor differences in local env and CI 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
f7446749ff Fix Unit price system spec 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
844cab458e Post rebase fix product import system spec 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
8ec1f61cd7 Fix legacy bulk edit product system spec 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
893b541dca Fix product system spec
The pending spec are to be fix after a rebase, master currently as
some changes which will make this easier
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
4ae392490b Fix variant system spec 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
cda57fdb44 Add toggleOnHand action
It replicate the behavior of setOnDemand angular directive
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
25171413ef Update Spree::Price parsing to match LocalizedNumber.parse
Spree::Price parsing was returning 0.0 when given a an empty string as
price, resulting in a variant being valid even if no price was given. It
only happened if `Spree::LocalizedNumber` wasn't used.
Spree::LocalizedNumber` return nil if given a blank number.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
4ad6971121 Fix Bulk product edit system spec after rebase 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
8f38762393 Add missing translations for variant form 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
d55950a3c5 Fix rebase issue 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
45075a0ccd Fix rebase typo 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
144a09916c Use instance_double instead of double
Instance double, amongst other thing,  verifies that any methods being
stubbed would be present on an instance of the class
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
00dfe6810f Fix ProductDuplicator
There isn't away I could think of to create an invalid product, so I
removed those test
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
058d7eeb69 Use unit_value_with_description 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
324a4ff591 Backport fix for hungarian instance 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
7f16b6acde Update variant form and rip out angular 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
ce268ec175 Add systemOfMeasurement to VariantUnitManager 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
cc85fed7cc Add localizeCurrency and specs 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
45b0686130 Add PriceParser and UnitPrices and specs
This is in preparation for removing angular from the variant update
page.

Converted using  https://www.codeconvert.ai/coffeescript-to-javascript-converter
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
4cd83d3fd4 Prettify javascript
Also update .prettierignore so that spec files get prettified as well
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
768825d689 Fix Bulk Edit product part 2
Note, the empty entry for unit scale need a css fix , currently showing
at half height
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
e8234ee4a0 Fix Bulk products edit page , part 1 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
94030527a4 Update jest configuration to include webpacker dir
This allows the test environment to correctly resolve import of
services in controller ie: `import OptionValueNamer from
"js/services/option_value_namer";`

The added benefit is we can now import package to be tested directly
without having to specify the whole relative path ie in test file you
can do : `import variant_controller from "controllers/variant_controller";`
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
6ff9650eaf Fix legacy bulk edit products UI 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
b1b534aa1b Fix product and variant api serializer 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
cd74a73680 Consolidate angular option value namer spec
Merge the two spec files into the correct one.
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
36c4d24c93 Fix angular option value namer 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
9b4cd014bf Fix DFC supplied product builder 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
c8bf23bdc2 Fix UnitPrice spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
df82dd0759 Fix API v0 variants controller spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
5ec39f994a Fix spree admin products controller spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
8a31153d6d Fix API v0 products controller spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
4109fbde70 Fix variant controller spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
37ae217afc Fix product set spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
4fd115897a Refactor ProductImport::EntryValidator
Move comparaison function to ProductImport::SpreadsheetEntry
2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
e22804712e Fix product importer 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
d7d253e58d Fix Unit Price service 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
e2c762f06b Refactor, use instance_double in variant spec 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
1ad7123a9d Fix Spree::LineItem 2024-10-14 14:56:47 +11:00
Gaetan Craig-Riou
1793aa3532 Migrate unit sizes to variant 2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
d0fe1585d7 Move variant unit attributes to variant 2
Update Spree::Product and spec
2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
f58a3a859f Move variant unit attributes to variant 1
Update Spree::Variant model and spec
2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
3b89cd5957 Fix option value namer
Uses the variant  variant_unit, variant_unit_name, variant_unit_scale
2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
e33ed5141b Fix weigths and measures
Use variant_unit, variant_unit_scale from the variant
2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
4d81b145ca Add variant_unit_scale, variant_unit_name to variant 2024-10-14 14:56:46 +11:00
Konrad
7211b0d64a Merge pull request #12897 from rioug/12891-product-preview-fix-price
[Product Preview] Fix price currency display
2024-10-12 18:14:01 +02:00
Ahmed Ejaz
641b7beee3 add specs 2024-10-12 04:47:45 +05:00
Ahmed Ejaz
60e8db9adc 12878: add migration to show new column product column 2024-10-12 03:52:00 +05:00
Ahmed Ejaz
b7285e48b3 12878: update unit to full_name to display in variant column 2024-10-12 03:50:11 +05:00
Maikel
52c1491b15 Merge pull request #12906 from mkllnk/dfc-stock-import
Fail gracefully on DFC product import errors
2024-10-11 13:50:09 +11:00
Maikel Linke
95ff0d8d4a Fail gracefully on DFC product import errors 2024-10-11 12:10:23 +11:00
Maikel Linke
7d2d14320f Spec that connector update fixed bug 2024-10-11 09:54:29 +11:00
Maikel
7d1551ed04 Merge pull request #12904 from mkllnk/dfc-connector
Bump DFC connector from 1.0.0.pre.alpha.12 to 1.0.0.pre.alpha.13
2024-10-11 09:52:45 +11:00
Maikel Linke
3e71459346 Update API doc 2024-10-11 09:15:42 +11:00
Maikel Linke
ce2c80283c Bump datafoodconsortium-connector from 1.0.0.pre.alpha.12 to 1.0.0.pre.alpha.13
Changed

- Use nil as default value for all types except arrays.
2024-10-11 09:12:40 +11:00
Maikel Linke
2be3f7b86d Update all locales with the latest Transifex translations 2024-10-10 17:08:38 +11:00
Maikel
2d975c5534 Merge pull request #12899 from mkllnk/dfc-stock-check
DFC Orders update for pilot 1 and 2
2024-10-10 17:06:18 +11:00
Maikel Linke
86c91143b7 Update more variant data on import 2024-10-10 16:59:04 +11:00
Maikel Linke
cde757efbd Split growing class 2024-10-10 16:58:01 +11:00
Maikel Linke
260e7ba817 Update products when importing them multiple times
Instead of creating a new variant every time.
2024-10-10 16:57:58 +11:00
Maikel Linke
bda506528f Fix import of zero-weight products
We don't allow variants to have zero weight or volume. But a DFC import
in production showed that some catalogs list products with zero weight.
Despite the products having a weight, it's simpler to treat these as
items.
2024-10-10 14:08:02 +11:00
Maikel Linke
e429cb7198 Style growing class 2024-10-10 14:06:42 +11:00
Maikel Linke
a838ef4a21 DRY DFC product import 2024-10-10 14:04:54 +11:00
Maikel Linke
f0b6403c1d Fix locally flaky spec around date filters
This spec would fail on Australian systems early in the morning or in
other timezones accordingly.
2024-10-10 09:58:01 +11:00
Maikel Linke
71ca292c92 Synchronise stock with DFC catalog during checkout
This will delay the checkout request by a few seconds if there's stock
to sync. But we minimise the chance of missing reduced stock from orders
on another platform.

We still have a gap between the checkout and placing a backorder. In
that time we can't guarantee enough stock. But let's tackle that after
the pilot.
2024-10-09 14:47:07 +11:00
David Cook
bc87c98e92 Add some specs for the producer dropdowns 2024-10-09 13:02:39 +11:00
Gaetan Craig-Riou
5b8e0d734f Use Spree::Money to display prices
This is to ensure the correct currency and currency configuration is
applied.
2024-10-09 11:02:24 +11:00
David Cook
216883101e Update release template
[skip ci]
2024-10-08 21:02:02 +11:00
Maikel Linke
adf0340153 Remove duplicate method
The method `CheckoutCallbacks#valid_order_line_items?` was a duplicate
of `OrderStockCheck#valid_order_line_items?`.

Apparently, it had been extracted twice:

 * 1d074c2151
 * 06eb98bdf4

But the first commit duplicated the method while the second moved the
original declaration.
2024-10-08 16:57:36 +11:00
Maikel Linke
664f324db6 Sync stock of multiple linked catalogs
And the logic becomes a bit simpler.
2024-10-08 16:37:35 +11:00
Gaetan Craig-Riou
08308ba08e Fix spec checking if VINE api is set up
The condition for checking the error now match a real scenario
2024-10-08 16:15:35 +11:00
Maikel Linke
c609107379 Avoid race condition between checkout and stock sync 2024-10-08 16:03:10 +11:00
Gaetan Craig-Riou
df67b53971 Re add VINE_API_URL env variable
And add error handling if the variable is not set
2024-10-08 13:26:57 +11:00
Maikel
6f2c5b5f7f Merge pull request #12888 from mkllnk/dfc-stock
[DFC Orders] Backorder stock controlled products
2024-10-08 10:57:59 +11:00
Gaetan Craig-Riou
a3d8ae693d Add encryption for ConnectedApps::Vine#data
Added layer of security, we encrypt the API key and related secret.
It requires setting up some encryption keys that can be generated wiht
`bin/rails db:encryption:init`
2024-10-07 15:09:58 +11:00
Gaetan Craig-Riou
b14a1e72f3 Handle api secret
The VINE Api require a secret and an API key to be used. The secret is
used to sign the request. The secret is linked to the API key so we need
to store it along side the key.
2024-10-07 15:09:58 +11:00
Gaetan Craig-Riou
224738e0a1 Per review, clean up code 2024-10-07 15:09:51 +11:00
Gaetan Craig-Riou
10c3c53aad Fix translation per review. 2024-10-07 11:23:22 +11:00
Gaetan Craig-Riou
e5b7f89b32 Merge pull request #12887 from mkllnk/stock-cleanup2
Remove unneeded StockLocation code
2024-10-07 09:40:46 +11:00
filipefurtad0
b7c34ced26 Update all locales with the latest Transifex translations 2024-10-05 22:35:38 +01:00
Rachel Arnould
f5baa42bfc Merge pull request #12860 from chahmedejaz/bugfix/12852-fix-select2-choices-fixed-height
[BUU] Fix Display ordering in shopfront field to allow re-ordering of the sequence
2024-10-04 16:59:54 +02:00
Maikel Linke
86238cc0ee Update all locales with the latest Transifex translations 2024-10-04 17:10:58 +10:00
Maikel Linke
61aa02b3c3 Sync stock with DFC catalog after cart update 2024-10-04 16:25:17 +10:00
Maikel Linke
4b2099625c Clarify method action with name
Thanks, David.
2024-10-04 14:34:17 +10:00
Maikel Linke
f8bd0a1cc7 Adjust backorder for stock controlled items
We aggregate quantities over the whole order cycle to account for
cancelations and order adjustments by admins.
2024-10-03 15:58:53 +10:00
Maikel Linke
09de223c93 Backorder stock controlled products 2024-10-03 13:30:16 +10:00
Maikel Linke
74c80c9fff Prepare BackorderJob for stock controlled items
We want to trigger the backordering for any linked product now. So let's
do that check early and then select the variants in the background.
It means less data passed to the job and less space for race conditions.
2024-10-03 13:28:20 +10:00
Maikel Linke
11f3bbc566 Remove leftover recording 2024-10-03 13:28:17 +10:00
Maikel Linke
e5ee398f26 Re-use default stock location in specs 2024-10-03 08:24:16 +10:00
Maikel Linke
99c098f567 Ignore StockLocation#active, it's always active 2024-10-03 08:24:16 +10:00
Maikel Linke
4b1d7d8a41 Remove dead permission to access StockLocation
We don't have any UI to edit stock locations. So this ability is unused.
2024-10-03 08:24:15 +10:00
Maikel Linke
1e3c18f3f6 Remove unneeded method StockLocation#propagate_variant 2024-10-03 08:24:15 +10:00
Gaetan Craig-Riou
22428fc78d ConnectedApps controller, handle ConnectedApps::Vine
Add logiv to connect and disconnect VINE API plus spec
2024-10-02 16:44:27 +10:00
Gaetan Craig-Riou
f980cb45f6 Add logic for ConnectedApps::Vine#connect and disconnect 2024-10-02 16:44:27 +10:00
Gaetan Craig-Riou
097c6dee2f Add VineApiService and specs
It handles connection to the VINE API
2024-10-02 16:44:21 +10:00
Gaetan Craig-Riou
63a1b390e2 Merge pull request #12885 from mkllnk/stock-cleanup
Remove use of unnecessary backorderable default column
2024-10-02 16:24:08 +10:00
Gaetan Craig-Riou
1a30cf6495 Hide VINE token 2024-10-02 16:19:03 +10:00
Gaetan Craig-Riou
f7708d69a7 Add VineJwtService
Generate a JWT token to be used to connect to the VINE api
2024-10-02 16:16:28 +10:00
Gaetan Craig-Riou
6eb5986c68 Merge pull request #12884 from mkllnk/oc-index
Add database index to order cycle dates
2024-10-02 16:01:50 +10:00
Maikel Linke
4d9f396f40 Ignore unused column spree_stock_locations.backorderable_default 2024-10-02 15:16:05 +10:00
Maikel Linke
ac3730096f Update specs to assume backorderable default 2024-10-02 15:13:00 +10:00
Maikel Linke
662467a1a4 Use database default value for stock_items.backorderable 2024-10-02 15:09:44 +10:00
Maikel Linke
af07358914 Assume on-demand is false by default
We have only one stock location and that has the default set to false.
Now we can simplify code.

The mentioned Bugsnag notification has not been found. The stock item is
always present in this case but it doesn't hurt to guard against it with
`&.`.
2024-10-02 15:06:48 +10:00
Maikel Linke
8e7e5fc20f Add database index to order cycle dates 2024-10-02 12:05:13 +10:00
Gaetan Craig-Riou
aa5feb6605 Remove system spec
It's covered by unit test of order updater
2024-10-02 09:33:02 +10:00
Maikel
3c613f80a3 Merge pull request #12875 from macanudo527/docker/upgrade_to_dockerv2
Use Dockerv2
2024-10-02 08:53:24 +10:00
Gaetan Craig-Riou
83b6f58100 Merge pull request #12881 from mkllnk/card-payment-spec
Fix date dependent spec
2024-10-01 13:30:49 +10:00
Maikel Linke
17c32ae09a Spec change more clearly 2024-10-01 13:16:16 +10:00
Maikel Linke
0474c591de Fix date-dependent spec 2024-10-01 13:14:09 +10:00
Maikel
196956140e Merge pull request #12856 from mkllnk/dfc-order
Place backorders for linked products via DFC integration
2024-10-01 10:51:00 +10:00
Gaetan Craig-Riou
b2b6847882 Fix test data
The future is now ! :D
2024-10-01 10:38:33 +10:00
Gaetan Craig-Riou
d01d312b4f Fix updating pending payment
Check if payment actually have an adjustment before trying to update it
2024-10-01 10:22:47 +10:00
Gaetan Craig-Riou
a74cf97083 Fix spec when adding a product with transaction fee
Previous iteration did not actually check the payment fee had been
updated. It also checks the order total get correctly updated.
Spec is passing, so fixing the order updater also fix this bug
: https://github.com/openfoodfoundation/openfoodnetwork/issues/12512
2024-10-01 09:49:44 +10:00
Gaetan Craig-Riou
03dbd54b25 Fix order updater to update payment fees
The order updater did not take into account payment fees on pending
payment.
2024-09-30 16:15:59 +10:00
Gaetan Craig-Riou
fafd86a2db Revert change made in https://github.com/openfoodfoundation/openfoodnetwork/pull/12538
Although the change fix the issue in the back office scenario, it has
the side effect of getting the order total out of sync. Updating a
payment adjustment need to be followed by udpating the order total and
payment amount to keep everything in sync.
2024-09-30 16:04:44 +10:00
Gaetan Craig-Riou
91f2ca9286 Merge pull request #12734 from cillian/replace-text-angular-with-trix
Replace text angular editor with trix editor in About Us and Shopfront message fields
2024-09-30 09:40:48 +10:00
filipefurtad0
3015beab99 Update all locales with the latest Transifex translations 2024-09-27 18:02:50 -06:00
Filipe
da0660c119 Merge pull request #12857 from chahmedejaz/task/12626-add-clone-failure-explaination
[BUU] Fix No explanation why cloning failed
2024-09-27 17:58:31 -06:00
Filipe
852dd41f89 Merge pull request #12836 from wandji20/wb-OFN-11600
Add browser unsaved changes modal when navigating from order summary page [OFN-11600]
2024-09-27 17:41:04 -06:00
Filipe
48993232d1 Merge pull request #12833 from dacook/page-titles
[admin] Update page titles
2024-09-27 16:59:43 -06:00
wandji20
0002b2e019 Clean up hardcoded values and improve readability 2024-09-27 16:52:55 -06:00
wandji20
84a2e6c24d Add browser unsaved changes modal when navigation form order sumary page [OFN-11600] 2024-09-27 16:52:55 -06:00
David Cook
be4e0a259e Specify alternate html_title
Because the page title has extra content.
2024-09-27 15:48:28 -06:00
David Cook
c362e8dd0d Use page titles in HTML head
This is much  more meaningful than the controller name, and is helpful for browser tab history.
2024-09-27 15:48:28 -06:00
Ahmed Ejaz
1550ca5da0 fix the choice drag issue
- disabled width on select2-search-choice-close so that it doesn't cover whole option
2024-09-27 16:57:35 +05:00
Cillian O'Ruanaidh
f474afaceb Merge in latest :master and resolve conflict in app/models/enterprise.rb 2024-09-27 10:11:26 +01:00
Sigmund Petersen
8c71760556 Merge pull request #12784 from wandji20/wb-OFN-12774
Make OC edit warning modal cancel button redirect user to OC list [OFN-12774]
2024-09-27 10:42:54 +02:00
wandji20
37ab832b86 Remove window unload event listener from edit order cycle cancel link 2024-09-27 10:02:49 +02:00
wandji20
a11873559b Make OC edit warning modal cancel button redirect user to OC list [OFN-12774] 2024-09-27 10:02:49 +02:00
Maikel Linke
51b3770188 Keep failed backorder job in dead set
From Sidekiq's view, the job is successful when we rescue an error and
it will discard it. But we want the option to inspect the job and retry
it. Failing jobs are also reported to Bugsnag automatically.

I didn't specify `retry: false` because that discards the job as well.
But `retry: 0` should sent it straight to the dead set. No automatic
retries but it's treated like a failed job.
2024-09-26 14:32:55 +10:00
Maikel Linke
989a6d57e0 Notify user of failed backorder completion 2024-09-26 14:32:55 +10:00
Maikel Linke
495634b60c Send error notification to owner 2024-09-26 14:32:55 +10:00
Maikel Linke
49fd1dc4a6 Report backorder errors instead of failing checkout 2024-09-26 14:32:55 +10:00
Maikel Linke
e31e45b875 Place backorders in the background 2024-09-26 14:32:55 +10:00
Maikel Linke
61fec653cf Abstract OrderLocker for re-use 2024-09-26 14:32:55 +10:00
Maikel Linke
eece738865 Restore concurrency spec for the checkout
This was abandoned when the checkout was re-designed. But I want to
refactor the order locking mechanism and it would be good to know that I
don't break anything.
2024-09-26 14:32:55 +10:00
Maikel Linke
2465780c1c Import prices and stock levels from DFC catalog
We were already importing stock levels from offers but now we are
looking at catalog items as well.
2024-09-26 14:32:01 +10:00
Neal Chambers
21b7e6e567 Use Dockerv2 2024-09-26 09:21:00 +09:00
Gaetan Craig-Riou
eb8050d61d Add spec reproducing the bug 2024-09-25 15:58:28 +10:00
Maikel Linke
9f43244312 Import on-demand stock setting in DFC import 2024-09-25 10:55:41 +10:00
Maikel Linke
66f080232f Import DFC product images 2024-09-25 10:55:41 +10:00
Maikel Linke
7f62b49da5 Move catalog loading to where it's needed 2024-09-25 10:55:41 +10:00
Maikel Linke
070b93c531 Fall back to givin product id w/o retail variant 2024-09-25 10:55:40 +10:00
Maikel Linke
fb96f8f936 Fall back to given product w/o wholesale variant
The class is moving to providing all data with several methods instead
of a data class containing the information. That should be more
flexible. Still some work to do.
2024-09-25 10:55:40 +10:00
Maikel Linke
4303f0e974 Build API URLs to work with any FDC Shopify shop
We can extend this service class when there are other APIs. And
hopefully the DFC will provide a standard for this discovery at some
point.
2024-09-25 10:55:40 +10:00
Maikel Linke
2eec4c73bf Apply 4 hour completion delay only to one enterprise 2024-09-25 10:55:40 +10:00
Maikel Linke
5ef85aef3e Handle backorder cancellations 2024-09-25 10:55:40 +10:00
Maikel Linke
283db8f9d0 Adjust quantities of backorder before completion 2024-09-25 10:55:40 +10:00
Maikel Linke
95e620a78b Add lookup of variants by semantic id 2024-09-25 10:55:40 +10:00
Maikel Linke
c948efd9ce Add structure to adjust final quantities 2024-09-25 10:55:40 +10:00
Maikel Linke
95bc0cc679 Reduce complexity of BackorderJob 2024-09-25 10:55:40 +10:00
Maikel Linke
efe2b724e6 Find wholesale offer for retail variant 2024-09-25 10:55:40 +10:00
Maikel Linke
14c32c0d2e Reduce complexity 2024-09-25 10:55:40 +10:00
Maikel Linke
8f4f873ba0 Move offer finding into separate class
It's going to be more complicated.
2024-09-25 10:55:40 +10:00
Maikel Linke
c0ae2ede2c Complete order 4 hours after order cycle closed 2024-09-25 10:55:40 +10:00
Maikel Linke
3ec53a7d71 Parse updated order result 2024-09-25 10:55:40 +10:00
Maikel Linke
3849db7c48 Simplify order update call 2024-09-25 10:55:39 +10:00
Maikel Linke
7b286ea31d Complete test for FDC Orders API
Previous specs testing the live API assumed an order to be present or
not present. You needed to provide the right state before recording. I
condensed more into one test that completes the cycle and is repeatable,
assuming no order to start with.
2024-09-25 10:55:39 +10:00
Maikel Linke
3e0eb8708e Simplify service with ivar 2024-09-25 10:55:39 +10:00
Maikel Linke
c7fa3ff819 Simplify order update logic 2024-09-25 10:55:39 +10:00
Maikel Linke
f839452df9 Complete an open order 2024-09-25 10:55:39 +10:00
Maikel Linke
a7a38890f4 Add needed quantities to existing line items 2024-09-25 10:55:39 +10:00
Maikel Linke
caa6d284f0 Find and update existing open order 2024-09-25 10:55:39 +10:00
Maikel Linke
827e37cada Start moving backorder logic to service
The job class is getting too big.
2024-09-25 10:55:39 +10:00
Maikel Linke
6c6927af84 Add SaleSession with correct OrderCycle times
Apparently, the FDC implementation uses those dates to finalise orders.
2024-09-25 10:55:39 +10:00
Maikel Linke
439f0cac64 Raise errors on DFC requests
The simplified API was only returning the response body, not allowing us
to inspect if an error occurred. Since an error should be an exception
when communicating with a standardised protocol, we raise an error and
keep our simple API.
2024-09-25 10:55:39 +10:00
Maikel Linke
98966f6b89 Place backorders for DFC products 2024-09-25 10:55:39 +10:00
Maikel Linke
260e4f7b00 Create BackorderJob to place wholesale orders 2024-09-25 10:55:39 +10:00
Gaetan Craig-Riou
0824430da5 Add Vine connected app
The connection/disconnection logic is yet to be implemented
2024-09-24 10:43:55 +10:00
Gaetan Craig-Riou
099da3fc6c Merge pull request #12872 from mkllnk/enterprise-serialiser
Clean up enterprise serialiser for shop page speed
2024-09-23 10:14:44 +10:00
Gaetan Craig-Riou
7078c4ef03 Merge pull request #12871 from openfoodfoundation/dependabot/npm_and_yarn/body-parser-1.20.3
Bump body-parser from 1.20.2 to 1.20.3
2024-09-23 10:09:49 +10:00
Maikel Linke
318790d207 Remove unused join table
Enterprises used to have products and products have variants. But now
enterprises have variants directly.
2024-09-20 16:44:25 +10:00
Maikel Linke
2be8ef96be Remove unreachable code
These two methods return early if `active` is falsey. So for the rest of
the method we can assume `active` to be truthy.
2024-09-20 16:35:41 +10:00
Maikel Linke
f6e4b107b0 Update all locales with the latest Transifex translations 2024-09-20 09:46:02 +10:00
Filipe
a5d17b4da9 Merge pull request #12459 from mkllnk/description-html
Sanitise HTML in long description of enterprise
2024-09-19 16:12:45 -06:00
Filipe
83ab9594f6 Merge pull request #12854 from chahmedejaz/task/11200-conditionally-hide-producer-column
[BUU2] Hide producer column when there's only one producer in the admin account
2024-09-19 15:42:15 -06:00
Filipe
562a24524b Merge pull request #12848 from rioug/12770-product-preview
Product preview
2024-09-19 15:20:18 -06:00
Filipe
2809194b42 Merge pull request #12847 from dacook/fix-bug-12835
Fix bug #12835 for producer reports
2024-09-19 14:31:04 -06:00
Maikel
7d3eff2abb Merge pull request #12845 from wandji20/wb-OFN-12281
Fix- chore(deps): bump debounced from 0.0.5 to 1.0.2
2024-09-19 11:22:30 +10:00
dependabot[bot]
c0a49df150 Bump body-parser from 1.20.2 to 1.20.3
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 23:20:33 +00:00
David Cook
f8bb33a9e8 Merge pull request #12869 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.10
Bump @hotwired/turbo from 8.0.6 to 8.0.10
2024-09-19 09:19:24 +10:00
dependabot[bot]
24a25d31a0 Bump @hotwired/turbo from 8.0.6 to 8.0.10
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.6 to 8.0.10.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/8.0.6...v8.0.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 09:50:44 +00:00
David Cook
4822a9ebcd Merge pull request #12868 from rioug/fix-buu-permission
[BUU] Add missing permission check on product actions
2024-09-18 17:25:24 +10:00
Gaetan Craig-Riou
68fa903d61 Add missing permission check on buu action
Plus request spec
2024-09-18 10:24:09 +10:00
wandji20
c2e0c94f2e Remove unused debounced plugin 2024-09-17 11:56:07 +01:00
David Cook
296997d558 Test to ensure report abilities 2024-09-17 13:23:14 +10:00
David Cook
a9ad6a2851 Grant product managers ability to create reports
We missed this in c31416c, oops.
2024-09-17 13:08:49 +10:00
David Cook
1078e7cd36 Update specs
The key here is the enterprise_relationship. This is required for the supplier to have permission to see the orders.

Curiously, the unit test still passes. All will be revealed in the next commit..
2024-09-17 12:55:22 +10:00
Gaetan Craig-Riou
40c4d38e45 Add permission check 2024-09-17 12:01:53 +10:00
Gaetan Craig-Riou
a25937321a Remove ability of any admin user to see all product
And fix related spec
2024-09-17 11:46:55 +10:00
wandji20
a8db288425 Improve debounced initialised events 2024-09-17 01:56:44 +01:00
dependabot[bot]
a106eb10b6 Bump debounced from 0.0.5 to 1.0.2
Bumps [debounced](https://github.com/hopsoft/debounced) from 0.0.5 to 1.0.2.
- [Release notes](https://github.com/hopsoft/debounced/releases)
- [Commits](https://github.com/hopsoft/debounced/commits/v1.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 01:36:37 +01:00
David Cook
a6d71f8dd1 Merge pull request #12861 from openfoodfoundation/dependabot/npm_and_yarn/express-4.21.0
Bump express from 4.19.2 to 4.21.0
2024-09-17 09:26:41 +10:00
David Cook
5c300d6d41 Merge pull request #12864 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.11
Bump @floating-ui/dom from 1.6.10 to 1.6.11
2024-09-17 09:26:24 +10:00
dependabot[bot]
bb4ff5adc2 Bump @floating-ui/dom from 1.6.10 to 1.6.11
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.10 to 1.6.11.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.11/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>
2024-09-16 09:29:53 +00:00
David Cook
9c51615b03 Anonymise customer first and last names
These were added a couple of years ago in https://github.com/openfoodfoundation/openfoodnetwork/pull/8763
But I guess we never noticed the names weren't getting anonymised.

The old 'name' field is still in the DB. It was kept for compatibility during migraiton but never cleaned up. I've added the tech debt task to the welcome new devs board now: https://github.com/openfoodfoundation/openfoodnetwork/issues/8835
2024-09-16 11:42:58 +10:00
dependabot[bot]
be548c506d Bump express from 4.19.2 to 4.21.0
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-15 23:49:21 +00:00
Gaetan Craig-Riou
955f8ba5ae Merge pull request #12858 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.6
Bump @hotwired/turbo from 8.0.5 to 8.0.6
2024-09-16 09:48:22 +10:00
Konrad
ad94da975a Add hint about the required Transifex Client 2024-09-14 21:30:54 +02:00
drummer83
f33eb23909 Update all locales with the latest Transifex translations 2024-09-14 20:50:45 +02:00
Ahmed Ejaz
9d5806b858 12626: remove invalid_fields_error locale 2024-09-14 18:10:58 +05:00
Ahmed Ejaz
35f9c420fd 12852: remove unnecessary !important 2024-09-14 18:04:52 +05:00
Ahmed Ejaz
052e3b6380 12852: add remove choice icon for select2 2024-09-14 17:42:10 +05:00
Ahmed Ejaz
1545708d4e 12852: remove fix height for the select2-choices 2024-09-14 17:18:09 +05:00
Ahmed Ejaz
2a4d275f4b 12626: use rails default error messages 2024-09-14 02:44:43 +05:00
dependabot[bot]
9ead14b8a0 Bump @hotwired/turbo from 8.0.5 to 8.0.6
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.5 to 8.0.6.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.5...8.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-13 09:26:22 +00:00
Gaetan Craig-Riou
38721d9f36 Per review, fix the tab spec
Both tabs have the product name, so add check got the image on the
product details tab.
2024-09-13 14:33:46 +10:00
Gaetan Craig-Riou
3f6aaa74cc Remove duplicated styling for tabs
It uses the same styling as #admin now share via mixins
2024-09-13 14:14:30 +10:00
Ahmed Ejaz
c08683412c 12626: add a fallback message 2024-09-13 01:43:37 +05:00
Ahmed Ejaz
4a38d7ef57 12626: add explaination for clone failure 2024-09-12 03:47:53 +05:00
Ahmed Ejaz
243a4a55b4 11200: add spec for display producer column 2024-09-11 12:03:49 +05:00
Ahmed Ejaz
5be53a40a9 11200: rename products scope 2024-09-11 11:54:38 +05:00
Ahmed Ejaz
76fdf3725a 11200: add explanations 2024-09-11 11:41:01 +05:00
Gaetan Craig-Riou
67f037280a Add comment in shop view file
It wasn't possible to directly reuse the shopfront views because they
are still using angular.
2024-09-11 14:50:37 +10:00
Gaetan Craig-Riou
776b9fcdab Re enable images partial import 2024-09-11 14:24:24 +10:00
Gaetan Craig-Riou
7e84d41e8c Simplify modal opening by just rendering the modal in turbo stream 2024-09-11 14:20:41 +10:00
Gaetan Craig-Riou
68491559f3 Merge pull request #12790 from filipefurtad0/revisit_Orders_and_Distributors_report
Improves test coverage on Orders and Distributors report
2024-09-11 10:28:55 +10:00
Ahmed Ejaz
f8d3467d46 11200: add specs 2024-09-11 01:59:43 +05:00
Ahmed Ejaz
1580d539df 11200: coniditonally hide producer column 2024-09-11 00:56:52 +05:00
Maikel
e2aac8ca1d Merge pull request #12851 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.3.0
Bump jasmine-core from 5.2.0 to 5.3.0
2024-09-10 13:50:11 +10:00
Maikel
15a2513815 Merge pull request #12849 from openfoodfoundation/dependabot/npm_and_yarn/turbo_power-0.7.0
Bump turbo_power from 0.6.2 to 0.7.0
2024-09-10 13:49:26 +10:00
Gaetan Craig-Riou
00768f6ba0 Add sytem spec for product preview on product edit page 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
908caa984b Add system spec for product preview 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
6993750757 Fix product v3 action system spec 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
379e5acfe5 Fix product preview modal opening
The previous solution failed to take into account that it would have been
trigger on any turbo steam rendering action, not just the product preview
one. Now the open event is dispatched when the product preview
controller is connected, which happens when the modal html is rendered.
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
5bf6bdf7f0 Fix some display issue with long description 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
8de7c304fe Add AdminTooltipComponent
I left the stimulus controller separated as it is generic enough
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
b6695ba9a2 Add product preview on product edit page
Plus translation
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
e8de76dc46 Add style for Shop
As before, move imported css to partials to avoid duplication. And use
mixin and variable to handle tooltip styling
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
55733555bf Add style for Product details
Only import relevant css, which has been move to their own partial to
avoid duplication
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
f59ee96011 Copy foundation-sites css relevant to the modal
The frontend is based on fondation-sites to provide responsive design,
we can't just import in the backend. So opted for copying the part we
needed
2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
2b74bbd45d Add styling for tabs 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
d56ab9257b Add tab switch and shop tab 2024-09-10 13:29:40 +10:00
Gaetan Craig-Riou
f24a4edc68 Add product detail to the modal 2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
27dd5def57 Open modal before rendering the received html
This way we don't see a blank modal waiting for the content to load
2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
561f4648d2 Improve tooltip partial
Set up default value optiona locals variable
2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
64d3091db9 Add product preview modal
Plus open modal when clicking on "preview" link.
It's using event to communicate between stimulus controller :
https://stimulus.hotwired.dev/reference/controllers#cross-controller-coordination-with-events
2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
0a9b858f2a Add the ability to pass options ModalComponent
Now you can add another stimulus controller or action to the modal
2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
4756ab47c2 Wire preview link via turbo-stream 2024-09-10 13:29:39 +10:00
Gaetan Craig-Riou
0a04342712 Remove event listener on disconnect
It prevents memory leak
2024-09-10 13:29:39 +10:00
filipefurtad0
556539d1b1 Removes pending from fixed issue
The pending was not signalling the bug fix as ordering needed to be corrected
2024-09-09 18:07:57 -06:00
filipefurtad0
b7aaab204c Adds timer restriction with Timecop
The datet-time-picker test case was failing for me locally, but passing on GH-Actions. Controlling the time should prevent this type of flakyness
2024-09-09 18:07:57 -06:00
filipefurtad0
632184b0a8 Addresses Davids review 2024-09-09 18:07:57 -06:00
filipefurtad0
8500f6c198 Addresses reviews. The biggest change is moving the table CSS
into its helper, which touches other system specs (namely orders_and_fulfillment_spec.rb).

Rubocop fixup
2024-09-09 18:07:57 -06:00
filipefurtad0
ec4dba71c2 Adds flatpickr test 2024-09-09 18:07:57 -06:00
filipefurtad0
6117d70fae Replaces code with shared examples
This spec was appearently flaky, let's see if this change stabilizes it. It came up here: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/10639846576/job/29498582671?pr=12790

Removes CSV tests based on permissions

Not sure we need these tests, proposing to remove them and use shared examples to test file download
2024-09-09 18:07:57 -06:00
filipefurtad0
2e5c526170 Adds basic coverage on report file download
Moves file download into report helper

Removes pdf file assertation

Removes test on PDF file on sales tax report

Removes PDF testing from helper
2024-09-09 18:07:57 -06:00
filipefurtad0
32e32117e3 Adds test case around hub filters 2024-09-09 18:07:57 -06:00
filipefurtad0
2a1d494301 Adds coverage for table contents 2024-09-09 18:07:57 -06:00
filipefurtad0
fd45dea9f7 Moves report test case into dedicated file
Sets up an enterprise user instead of an admin user
2024-09-09 18:07:57 -06:00
filipefurtad0
9073f0e5a8 Update all locales with the latest Transifex translations 2024-09-09 10:13:11 -06:00
dependabot[bot]
c4f2c1c3ca Bump jasmine-core from 5.2.0 to 5.3.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.2.0 to 5.3.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/v5.2.0...v5.3.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>
2024-09-09 09:12:18 +00:00
dependabot[bot]
a23bbf8537 Bump turbo_power from 0.6.2 to 0.7.0
Bumps [turbo_power](https://github.com/marcoroth/turbo_power) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/marcoroth/turbo_power/releases)
- [Commits](https://github.com/marcoroth/turbo_power/compare/v0.6.2...v0.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 09:11:49 +00:00
Konrad
6fac32b446 Merge pull request #12799 from chahmedejaz/bugfix/12777-incorrect-invoice-unit-display
Fix Display Unit As field is not Displaying on Invoice and Report
2024-09-06 12:55:03 +02:00
Konrad
cf21c03619 Merge pull request #12827 from johansenja/only-fetch-active-open-shops
Optimise shops page: Only inject distributors with active order cycles
2024-09-05 13:04:17 +02:00
David Cook
0f7f1130f1 Update spec/system/admin/invoice_print_spec.rb 2024-09-05 10:49:45 +02:00
Ahmed Ejaz
009d033e4c 12777: add specs 2024-09-05 10:49:45 +02:00
Ahmed Ejaz
983addff0d 12777: use unit_to_display method for variant unit
- This method prioritize display_as and after that considers options_text
2024-09-05 10:49:45 +02:00
Maikel Linke
d061fe8ad9 Remove unnecessary sanitising
Existing descriptions have been sanitised in a migration. New
descriptions are sanitised when assigned. That should cover everything.
2024-09-05 12:38:33 +10:00
Maikel Linke
53286c22ba Sanitise existing long descriptions of enterprises 2024-09-05 12:07:05 +10:00
Maikel
0cf8f079e4 Merge pull request #12840 from openfoodfoundation/dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7
Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows
2024-09-05 10:26:20 +10:00
Maikel
f2163a42c4 Merge pull request #12841 from filipefurtad0/reproduce_#12835
Reproduces bug #12835
2024-09-05 10:04:34 +10:00
Maikel Linke
05b25c78bb Bump all artifact actions to v4 2024-09-05 09:57:05 +10:00
filipefurtad0
cc3181c820 Adds unit spec regression test 2024-09-04 16:51:33 -06:00
Joseph Johansen
9cd39d5c91 Improve specificity of closed_shops API test data 2024-09-04 11:46:44 +01:00
Joseph Johansen
7d2f3bfa2f Ensure excluded shops are captured by #closed_shops 2024-09-04 11:46:44 +01:00
Joseph Johansen
6df0b24bcf Add implementation 2024-09-04 11:46:44 +01:00
Joseph Johansen
cf5e182cf7 Add specs for ShopsListService 2024-09-04 11:46:44 +01:00
dependabot[bot]
74bbc7c3c0 Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 07:13:07 +00:00
filipefurtad0
4773d1c82e Reproduces bug #12835 2024-09-03 20:15:29 -06:00
Maikel
fde18ebf24 Merge pull request #12839 from johansenja/include-hidden-files-code-cov-chunk-upload
Enable include-hidden-files for uploading code coverage chunks
2024-09-04 10:19:47 +10:00
Joseph Johansen
fd2cbb67db Enable include-hidden-files for upload code coverage chunks 2024-09-03 18:50:34 +01:00
Maikel
3f1d99d77c Merge pull request #12831 from mkllnk/anonymous-orders
Share anonymised sales data on DFC API with authorised users
2024-09-03 10:59:30 +10:00
David Cook
9cfcab4f02 Merge pull request #12834 from rioug/12832-Fix-karma-test
Fix karma test
2024-09-02 14:08:23 +10:00
Gaetan Craig-Riou
703ad26773 Fix spec to make the test usefull 2024-09-02 12:23:27 +10:00
Gaetan Craig-Riou
627c9eede2 Fix spec using confirm pop up
For some reason, karma hang and fails with a timeout error if javascrpit
`confirm` pop up isn't mocked.

Plus fix spec to actually check the pop up has been displayed
2024-09-02 12:18:44 +10:00
David Cook
f9a76342f8 Merge pull request #12830 from filipefurtad0/remove_pdf_file_test_from_reports
Removes test on PDF file on sales tax report
2024-09-02 11:15:13 +10:00
Maikel Linke
d52134dad8 Filter sales data by dates 2024-08-30 15:00:06 +10:00
Maikel Linke
1016656781 Publish data only of participating distributors 2024-08-30 14:34:39 +10:00
Maikel Linke
bd1611630f Build DFC data for sales 2024-08-30 14:34:32 +10:00
Maikel Linke
ce28c10c7e Move sales data generation to a service object
There will be lots and lots. The sales data root object is also the
authenticated person. The data has its own URL (semantic id) which
doens't need to contain the user id.

The service object can also be tested more easily. I'm setting up the
test data here.
2024-08-30 14:30:46 +10:00
Maikel Linke
4342d3b912 Add DFC API endpoint for sales data 2024-08-30 14:30:46 +10:00
Maikel Linke
af3aed827a Update all locales with the latest Transifex translations 2024-08-30 09:59:49 +10:00
Maikel
f73be6447e Merge pull request #12824 from chahmedejaz/task/12823-fully-enable-admin-style-v3
[BUU] Fully enable admin_style_v3
2024-08-30 09:56:23 +10:00
Filipe
98eabc9d0f Merge pull request #12826 from chahmedejaz/bugfix/12815-fix-inconsistent-unit-values
Fix Inconsistent Behavior When Editing Products to mg Units in Hungarian Locale
2024-08-29 17:47:44 -06:00
Filipe
169cbbe1a1 Merge pull request #12793 from rioug/12768_fix_bulk_coop_report
Fix bulk coop report
2024-08-29 15:20:48 -06:00
filipefurtad0
72a503c3c1 Removes test on PDF file on sales tax report 2024-08-29 11:46:22 -06:00
Konrad
afc4c1e967 Merge pull request #12760 from wandji20/wb-OFN-12744
UX improvements for creation of new products [OFN-12744]
2024-08-29 17:22:36 +02:00
Rachel Arnould
d76c4bddb0 Merge pull request #12806 from drummer83/typo
Fix typos in "category" and unify capitals on "Back To Xyz List" buttons
2024-08-29 16:40:35 +02:00
Konrad
ae993784d8 Merge pull request #12813 from chahmedejaz/task/12810-increase-price-column-width
[BUU] Fix the too Narrow Price field
2024-08-29 15:22:27 +02:00
Filipe
d1abe22c32 Merge pull request #12805 from mkllnk/update-wicked-pdf-config-syntax
Update deprecated WickedPdf config syntax
2024-08-28 21:35:40 -06:00
Filipe
2817b8891e Merge pull request #12814 from dacook/buu/cell-padding
Increase column space in bulk products table
2024-08-28 21:30:03 -06:00
Filipe
ab87610d91 Merge pull request #12807 from kernal053/fix-broken-column-after-cloning
Fix broken column after cloning product
2024-08-28 21:03:53 -06:00
David Cook
54252f5444 Add comment 2024-08-29 09:42:59 +10:00
Ahmed Ejaz
7b6b0dbb78 12815: use en formatting for unit value conversion 2024-08-29 03:36:46 +05:00
Maikel
b2e15f52cf Merge pull request #12822 from johansenja/include-coverage-assets
Fix artifact path for simplecov report upload
2024-08-29 08:10:38 +10:00
Ahmed Ejaz
5d18c48b6c 12823: fully enable admin_style_v3 flag 2024-08-29 02:09:29 +05:00
Konrad
0c2dcbc50d Merge pull request #12812 from chahmedejaz/bugfix/12809-irresponsive-products-column-widths
[BUU] Fix Table width not responsive to the amount of selected columns
2024-08-28 16:45:07 +02:00
Joseph Johansen
4a028b2238 Fix artifact path for simplecov report upload 2024-08-28 11:09:01 +01:00
Maikel
43a366005c Merge pull request #12798 from johansenja/enable-simplecov
Set up code coverage metrics with simplecov
2024-08-28 12:07:53 +10:00
Maikel Linke
64470e977a Avoid name clash in simplecov task
A variable and a method were called the same.
Also made method calls more obvious with parenthesis.
2024-08-28 11:31:01 +10:00
Maikel Linke
a696c66857 Clean up tmp dir after test and avoid collisions
Best viewed ignoring whitespace changes.
2024-08-28 11:27:42 +10:00
Maikel Linke
cfeb0afbd4 Update all locales with the latest Transifex translations 2024-08-28 09:45:24 +10:00
Maikel Linke
4968e3dc8d Update all locales with the latest Transifex translations 2024-08-28 09:12:52 +10:00
David Cook
5324747f89 Reduce cell padding
This is closer to the original design:
* 6px between inputs
* 6px vertical padding on condensed rows
* 12px vertical padding on relaxed rows

Note that 'relaxed' rows are now smaller than the regular rows, which was not the original intention. But we haven't got spare time to do a broader review of table styles right now.
2024-08-26 16:53:19 +10:00
Gaetan Craig-Riou
ef2856d169 Remove added eventListener on disconnect
It's good practise to remove added event listener to avoid memory leak
2024-08-26 11:15:26 +10:00
Ahmed Ejaz
d9c79ee49c 12810: increase price width
- make it to 10% which makes sure that any price value acceptable by the system is displayed fully
- Reduce On Hand to 8% to make up for some space for the above
2024-08-24 17:37:59 +05:00
Ahmed Ejaz
d1f9b0855d 12809: fix the class name for the producer column in product 2024-08-24 02:05:04 +05:00
drummer83
b82726e7ba Unify the capital letters of the "Back To Xyz List" buttons and update specs
I decided to use the most frequently used version as the default, which is every word beginning with a capital letter
2024-08-23 13:23:57 +02:00
drummer83
7e7ab2e36d Fix typo in "categeory" (additional e) and update specs 2024-08-23 13:20:46 +02:00
kernal053
e35a5179bb Fix broken column after cloning product 2024-08-23 16:01:56 +05:30
Joseph Johansen
85385a1989 Rename uploads so combined report is listed first alphabetically 2024-08-23 11:26:45 +01:00
Joseph Johansen
a816814819 Update CI workflow to upload results and call rake task 2024-08-23 11:26:41 +01:00
Cillian O'Ruanaidh
60afa4d465 Revert whitespace changes in config/locales/en.yml 2024-08-23 10:07:32 +01:00
Cillian O'Ruanaidh
dd5175558e Don't make any changes to non :en locales. 2024-08-23 10:03:34 +01:00
wandji20
94b98867d8 Revert use of searchableDropdownComponent for product unit 2024-08-23 09:57:37 +01:00
wandji20
35ef1b9c7f Refactor new product dropdown to use SeachableDropdown component [OFN-12744] 2024-08-23 09:57:37 +01:00
wandji20
8badfb2505 Allow extra attributes to be passed to searchable dropdown component [OFN-12744] 2024-08-23 09:57:37 +01:00
wandji20
d61acd2cc1 Unify error messages and display on new product form [OFN-12744] 2024-08-23 09:57:37 +01:00
wandji20
7417cee20a Fix leaked trix editor event listener [OFN-12744] 2024-08-23 09:57:37 +01:00
Cillian O'Ruanaidh
98951161b1 Revert "Add Trix translations for all the different English locale regions"
This reverts commit 70ca03173c.
2024-08-23 09:54:23 +01:00
Cillian O'Ruanaidh
a745249f3b Revert "Reuse 'Please insert a URL' translation from text angular editor in the Trix editor" for all locales except :en
This reverts commit 2d6ffc0ca1.
2024-08-23 09:52:57 +01:00
Cillian O'Ruanaidh
63c62cae08 Simplify setting of Trix editor translations
Co-authored-by: David Cook <david@redcliffs.net>
2024-08-23 09:47:48 +01:00
Maikel Linke
d489c77efe Update deprecated WickedPdf config syntax
Avoids warning:

> WickedPdf.config= is deprecated and will be removed in future versions. Use WickedPdf.configure instead.
2024-08-23 15:57:59 +10:00
Maikel
e2423ad612 Merge pull request #12800 from filipefurtad0/adds_retry_option_on_edit_spec
Adds retry option to flaky edit_spec.rb
2024-08-23 12:02:59 +10:00
filipefurtad0
8b036113d9 Update all locales with the latest Transifex translations 2024-08-22 17:33:21 -06:00
Maikel
7f09044ae1 Merge pull request #12755 from johansenja/optimise-shops-page6
Optimise shops page: Enable injected enterprise data to be scoped to specific enterprise ids
2024-08-23 09:26:22 +10:00
Maikel
e9c7e1778c Merge pull request #12782 from mkllnk/reports
Add fallback report loading in case websockets fail
2024-08-23 09:23:42 +10:00
filipefurtad0
32cd14ef54 Adds slep(2) 2024-08-22 15:55:31 -06:00
filipefurtad0
ad585f1eab Adds retry option to flaky test case
...does so on another flaky test case
2024-08-22 15:55:31 -06:00
Filipe
d9368c1bfc Merge pull request #12781 from wandji20/wb-OFN-12775
Add warning popup to order cycle list [OFN-12775]
2024-08-22 15:39:27 -06:00
wandji20
b6bfb4e866 Refactor order cycle same_dates method 2024-08-22 22:21:17 +01:00
wandji20
4d222c61c6 Improve readability of order_cycle_set process method 2024-08-22 22:17:12 +01:00
wandji20
d599cf77a2 Fix failing specs 2024-08-22 22:17:12 +01:00
wandji20
8f7505d53d Refactor oc datetime content partial and include warning modal in oc list [OFN-12775] 2024-08-22 22:17:12 +01:00
wandji20
867e17301f Support passing oc confirmation params for oc list [OFN-12775] 2024-08-22 22:17:12 +01:00
wandji20
95135ca526 Move order_cycle datetime verification logic to service files [OFN-12775] 2024-08-22 22:17:12 +01:00
wandji20
de063fecb1 Move same_datetime_value method to OrderCycle model [OFN-12775] 2024-08-22 22:17:12 +01:00
Filipe
ef9ca33913 Merge pull request #12772 from drummer83/E500_sub
Display admin order page instead of shopfront order page to avoid error 500
2024-08-22 13:26:20 -06:00
Konrad
2710eafc33 Merge pull request #12779 from EdwardLi-coder/clearer_error_message_and_clean_up
Clearer error message and clean up for Product Categories
2024-08-22 18:15:50 +02:00
Joseph Johansen
4718fdb0be Optimise Spree::Taxon.supplied_taxons 2024-08-22 17:41:00 +02:00
Joseph Johansen
ce6ae04147 Add spec for confirming correct values when scoped 2024-08-22 17:41:00 +02:00
johansenja
1621f97fdb Use subject method in spec
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2024-08-22 17:41:00 +02:00
Joseph Johansen
96f9894f41 Add enterprise_ids to cache key 2024-08-22 17:41:00 +02:00
Joseph Johansen
66b519bd1c Undo minor unneeded changes 2024-08-22 17:41:00 +02:00
Joseph Johansen
1b8e256e8a Add unit tests 2024-08-22 17:41:00 +02:00
Joseph Johansen
b73e529bfc Scope injected enterprise properties to specific enterprises 2024-08-22 17:41:00 +02:00
Konrad
25b1620707 Merge pull request #12743 from wandji20/wb-OFN-12214
(Fix) chore(deps): bump wicked_pdf from 2.6.3 to 2.8.0 [OFN-12214]
2024-08-22 17:34:20 +02:00
Joseph Johansen
5f9b14df9f Implement rake task to combine results 2024-08-21 13:02:31 +01:00
Joseph Johansen
922b853e3a Define specs for rake task to combine results 2024-08-21 13:02:31 +01:00
Joseph Johansen
8d747a2508 Enable coverage in base_spec_helper 2024-08-21 13:02:31 +01:00
Gaetan Craig-Riou
ef6e37e7ca Fix suppliers_of_products_distributed_by
Plus spec

Left over from product refactor, it was missed because it's not covered
by unit or integration test
2024-08-21 13:05:34 +10:00
Gaetan Craig-Riou
a50be52cde Merge pull request #12792 from openfoodfoundation/dependabot/npm_and_yarn/elliptic-6.5.7
Bump elliptic from 6.5.4 to 6.5.7
2024-08-21 09:56:19 +10:00
Gaetan Craig-Riou
d62d002bc5 Merge pull request #12780 from dacook/optimise-12714
Optimise subscriptions admin
2024-08-21 09:50:27 +10:00
Gaetan Craig-Riou
ffc2fed9b5 Remove unused code 2024-08-20 16:43:22 +10:00
Maikel
0c7448ba43 Merge pull request #12726 from mkllnk/order-stock-spec
Track (negative) stock for on-demand products and overrides
2024-08-20 15:05:16 +10:00
Gaetan Craig-Riou
24afd40414 Fix bulk coop supplier report 2024-08-20 14:32:35 +10:00
Maikel
524aec7868 Merge pull request #12788 from openfoodfoundation/dependabot/npm_and_yarn/mrujs-1.0.2
Bump mrujs from 1.0.1 to 1.0.2
2024-08-20 14:30:47 +10:00
David Cook
f2eb4b05f4 Avoid copying gigantic array 2024-08-20 14:00:13 +10:00
David Cook
ffaf1b4ea0 Cache distributor 2024-08-20 14:00:13 +10:00
David Cook
eb547f4861 Add test on number of db queries
Hmm, I think I seen an opportunity to clean up already.
2024-08-20 14:00:13 +10:00
David Cook
c9daca22d5 Rename spec to match class name 2024-08-20 14:00:13 +10:00
dependabot[bot]
7b22740289 Bump elliptic from 6.5.4 to 6.5.7
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.4 to 6.5.7.
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.4...v6.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-20 03:52:13 +00:00
Maikel
66c8a5c424 Merge pull request #12789 from chahmedejaz/bugfix/12783-fix-artifact-upload-names-conflict
Fix Artifact Upload Conflicts with Unique Node-Based Names
2024-08-20 13:51:13 +10:00
David Cook
cfeac651b6 Merge pull request #12785 from filipefurtad0/spec_for_#12768
Reproduces S2 bug #12768
2024-08-20 13:45:07 +10:00
EdwardLi-coder
05315ff8e0 delete spree.new_taxon 2024-08-20 08:11:49 +08:00
EdwardLi-coder
c4ee6b14ff clear error message and clean up 2024-08-20 08:11:49 +08:00
filipefurtad0
a78f46259c Asserts on the flash warning first
The warning first displays "Saving..." before confirming changes are saved.
I'm not entirelly sure, but it seems that asserting on this first, before asserting on other page elements stabilizes the spec.
2024-08-19 13:58:03 -06:00
filipefurtad0
1e79fde236 Reproduces S2 bug #12768 2024-08-19 13:58:03 -06:00
Ahmed Ejaz
a9fe52a4ff Revert "12783 - validate artifact upload"
This reverts commit 075f5499f8.
2024-08-19 23:29:12 +05:00
Ahmed Ejaz
075f5499f8 12783 - validate artifact upload 2024-08-19 23:16:39 +05:00
Ahmed Ejaz
ed61f7e7bc 12783: use unique artifact name based on node index 2024-08-19 22:57:04 +05:00
dependabot[bot]
bd6019036e Bump mrujs from 1.0.1 to 1.0.2
Bumps [mrujs](https://github.com/KonnorRogers/mrujs) from 1.0.1 to 1.0.2.
- [Changelog](https://github.com/KonnorRogers/mrujs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KonnorRogers/mrujs/compare/v1.0.1...v1.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:31:52 +00:00
Konrad
0bbc3d2758 Merge pull request #12766 from mkllnk/magick-dep
Remove direct dependency on MiniMagick
2024-08-18 18:39:48 +02:00
Konrad
ae6182579b Merge pull request #12762 from EdwardLi-coder/change_colour_of_complete_order
change colour of "complete order"
2024-08-18 15:08:46 +02:00
Konrad
1e05811917 Merge pull request #12745 from johansenja/optimise-shops-page5
Improve effiency of OrderCycle.earliest_closing_times
2024-08-18 14:40:49 +02:00
Konrad
5f86a26f42 Merge pull request #12733 from wandji20/wb-OFN-6567
Update product variant unit display name, price, and total price width on different screen sizes [OFN-6567]
2024-08-18 13:25:24 +02:00
Konrad
3f1b907ef2 Merge pull request #12740 from wandji20/wb-OFN-12532-v1
Pluralize admin products search result [OFN-12532-v1]
2024-08-18 12:18:18 +02:00
Cillian O'Ruanaidh
08ab405893 Rename method for looking up trix attribute or action by translation key 2024-08-16 17:02:03 +01:00
Cillian O'Ruanaidh
ae2e92f09d Don't need to set value on hidden fields for Trix editors, it will be set automatically 2024-08-16 16:20:53 +01:00
Cillian O'Ruanaidh
b174080e29 Fix Layout/LineLength Rubocop violation in spec/system/admin/enterprises_spec.rb 2024-08-16 16:08:41 +01:00
Cillian O'Ruanaidh
a2c3ac2f60 Fix expected placeholder in test after updating translation 2024-08-16 16:00:08 +01:00
Cillian O'Ruanaidh
429e2b0a86 Fix issue where Trix editor translations were not being set correctly in Chrome 2024-08-16 15:44:09 +01:00
Cillian O'Ruanaidh
70ca03173c Add Trix translations for all the different English locale regions 2024-08-16 15:43:09 +01:00
Cillian O'Ruanaidh
7961ff7976 Don't add translations for Trix buttons and functions we are not using 2024-08-16 15:33:49 +01:00
Cillian O'Ruanaidh
2d6ffc0ca1 Reuse 'Please insert a URL' translation from text angular editor in the Trix editor 2024-08-16 15:31:59 +01:00
Maikel Linke
d9c296cdb3 Stabilise flaky report specs
It looks like we have a new race condition that may only be a problem in
specs. If you trigger one report, it displays via websockets and then
you trigger the next report, there may still be some Javascript active
that displays the first report while the second one is loading. I'm not
sure if users would navigate that fast though.

To minimise the problem, I adjusted the polling to leave more room for
the default websockets response.
2024-08-16 17:08:57 +10:00
Maikel Linke
23aa762be2 Add fallback report loading in case websockets fail
This also resolves a race condition scenario. Even if the report gets
rendered via websockets before the controller response is rendered then
the fallback script loads the report again. It's not the most beautiful
but probably okay until we replace websockts altogether.

I'm leaving websockets in at the moment because it can render the report
much quicker than polling can.
2024-08-16 15:24:34 +10:00
Maikel Linke
61f2954973 Add TurboPower Rails gem for nice helpers
The helpers are more convenient but also allow us to add options like
smooth scrolling. I thought that looked nicer and is less confusing.

Please note that the `scroll_into_view` helper uses the `targets`
attribute instead of `target`. That attribute needs CSS selectors with a
leading `#` for ids.
2024-08-16 14:37:57 +10:00
Maikel Linke
d354317c73 Replace cable_ready report loading w/ Turbo stream
I'm adding TurboPower for the scroll_into_view action. It adds all the
nice CableReady actions to Turbo Streams.

Note that I omitted `block: "start"` because that option is the default
in Javascript. And the generic `action` method doesn't support
parameters like this anyway. I'll work on that in the next commit.

I also re-introduced a race condition by rendering the "loading"
indicator after triggering the report rendering job. I'm planning to
resolve that later.
2024-08-16 14:37:57 +10:00
Maikel Linke
19ef047193 Create observable reports blob early
This will allow us to check for completion of the report later in case
websockets fail.
2024-08-16 14:37:57 +10:00
Maikel Linke
037eb456c0 Remove unused controller ivar 2024-08-16 14:37:57 +10:00
Maikel Linke
aed78f3138 Simplify reports controller code branching 2024-08-16 14:37:57 +10:00
Maikel Linke
c31416c536 Separate showing and rendering report 2024-08-16 14:37:57 +10:00
David Cook
917079931e Merge pull request #12778 from chahmedejaz/bugfix/12596-fix-annoying-oc-warning-display
[BUU] Fix Messy flash notifications on new products page
2024-08-16 10:29:43 +10:00
Ahmed Ejaz
46e54f48c9 12596: keep flash[:notice] check 2024-08-15 14:50:32 +05:00
Konrad
059dceb304 Merge pull request #12735 from chahmedejaz/bugfix/12698-fix-products-stateful-navigataion
Fix 'Back to products list' stateful navigation
2024-08-15 10:43:13 +02:00
David Cook
f0abe650f6 Update all locales with the latest Transifex translations 2024-08-15 16:56:59 +10:00
Ahmed Ejaz
282df9859e 12596 - fix specs
- As we are only showing the oc warning once now we need these steps where we are dismissing the oc warning after each navigation. Just keeping the first notice dismiss after login
2024-08-15 05:59:17 +05:00
Ahmed Ejaz
3474c60f4c 12596 - fix annoying oc warning display
- such that it only displays once per user session
2024-08-15 05:59:17 +05:00
Konrad
503148b13b Merge pull request #12653 from wandji20/wb-OFN-11613
Add warning modal to order cycle with attached schedule general setting form [OFN-11613]
2024-08-14 18:14:33 +02:00
Konrad
8442c7d334 Merge pull request #12749 from wandji20/wb-OFN-11636
Remove awesome nested set gem and dependencies [OFN-11636]
2024-08-14 17:43:11 +02:00
drummer83
f154de66f9 Display admin order page instead of shopfront order page to avoid error 500 2024-08-14 14:44:59 +02:00
wandji20
4a30493716 Improve code style [OFN-12214] 2024-08-13 18:29:27 +01:00
wandji20
f325857e1f Strip end of long invoice table header names due to names not properly parsed when converting pdf to text [OFN-12214] 2024-08-13 18:23:27 +01:00
wandji20
58872a7017 Include mail stylsheet tag in invoice pdf files and mailer layout [OFN-12214] 2024-08-13 18:23:18 +01:00
wandji20
7392079d4d Move mail related styles to asset pipeline [OFN-12214] 2024-08-13 17:11:29 +01:00
wandji20
506126c1d3 Bump wicked_pdf to version 2.8.1 2024-08-13 17:11:29 +01:00
wandji20
fa004d0897 Remove wicked pdf stylsheet include tag in order report pdf [OFN-12214] 2024-08-13 17:11:29 +01:00
dependabot[bot]
db7add88fe chore(deps): bump wicked_pdf from 2.6.3 to 2.8.0
Bumps [wicked_pdf](https://github.com/mileszs/wicked_pdf) from 2.6.3 to 2.8.0.
- [Release notes](https://github.com/mileszs/wicked_pdf/releases)
- [Changelog](https://github.com/mileszs/wicked_pdf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mileszs/wicked_pdf/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-13 17:11:29 +01:00
Ahmed Ejaz
b14cd08990 12698 - keep old UI URL as it is 2024-08-13 14:23:39 +05:00
Maikel Linke
f21aca234c Remove direct dependency on MiniMagick
We still depend on it as long as we set it as image processor but now we
can switch to another image processor without changing the code around
error handling.

We now rescue from unknown errors during image processing which should
make the app more robust.
2024-08-13 15:25:58 +10:00
EdwardLi-coder
93a6ff4b50 remove background-color 2024-08-13 09:38:20 +08:00
David Cook
50ebfe412c Merge pull request #12764 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-2.1.0
Bump js-big-decimal from 2.0.7 to 2.1.0
2024-08-13 11:31:05 +10:00
David Cook
e59ab6b2d9 Merge pull request #12763 from openfoodfoundation/dependabot/npm_and_yarn/mrujs-1.0.1
Bump mrujs from 1.0.0 to 1.0.1
2024-08-13 11:28:24 +10:00
Gaetan Craig-Riou
417d39f684 Merge pull request #12757 from EdwardLi-coder/upload_artifact_v3_to_v4
update artifact v3 to v4
2024-08-13 09:35:04 +10:00
wandji20
35169f66dc Include order cycle spec for non-simple cycles [OFN-11613] 2024-08-12 23:16:04 +01:00
Ahmed Ejaz
64568f4aa4 Revert "test artifact upload from different nodes at the same time"
This reverts commit 8a2be468fc.
2024-08-13 00:57:58 +05:00
Ahmed Ejaz
734aebbaaa update uploaded artifact names to be different 2024-08-13 00:42:59 +05:00
Ahmed Ejaz
8a2be468fc test artifact upload from different nodes at the same time 2024-08-13 00:22:10 +05:00
Gaetan Craig-Riou
feb429fee7 Fix typo 2024-08-12 18:47:16 +01:00
wandji20
b75101f24f Fix rebase issue [OFN-11636] 2024-08-12 18:47:16 +01:00
wandji20
1e71db9315 Remove permalinmk from taxons [OFN-11636] 2024-08-12 18:47:16 +01:00
wandji20
82b742608d Remove jquery/js.tree plugin [OFN-11636] 2024-08-12 18:47:16 +01:00
Maikel Linke
49aa9e0768 Make taxonomy migration reversible 2024-08-12 18:47:16 +01:00
wandji20
a85cfab506 Remove awesome nested set gem and dependencies [OFN-11636] 2024-08-12 18:47:16 +01:00
Ahmed Ejaz
e2e3aa9281 12698: add specs 2024-08-12 15:16:47 +05:00
dependabot[bot]
6bd0f2c088 Bump js-big-decimal from 2.0.7 to 2.1.0
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 2.0.7 to 2.1.0.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v2.0.7...v2.1.0)

---
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>
2024-08-12 09:26:19 +00:00
dependabot[bot]
ab2968ffd2 Bump mrujs from 1.0.0 to 1.0.1
Bumps [mrujs](https://github.com/KonnorRogers/mrujs) from 1.0.0 to 1.0.1.
- [Changelog](https://github.com/KonnorRogers/mrujs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KonnorRogers/mrujs/compare/v1.0.0...v1.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 09:25:57 +00:00
EdwardLi-coder
83bf19084b remove fail test 2024-08-12 16:29:52 +08:00
Edward Li
40a59c988b Merge branch 'openfoodfoundation:master' into upload_artifact_v3_to_v4 2024-08-12 16:17:53 +08:00
Gaetan Craig-Riou
43d983cac2 Remoce left over console.log 2024-08-12 09:05:48 +01:00
wandji20
ad3e772944 Refactor and update order cycle form controller [OFN-11613] 2024-08-12 09:05:48 +01:00
wandji20
6a438a07fe Add stimulus controler to monitor order cycle status message data attribute change and trigger warning modal [OFN-11613] 2024-08-12 09:05:48 +01:00
wandji20
ea238829a8 Revert front end validation and implement backend validation for changes in datetime order cycle values [OFN-11613] 2024-08-12 09:05:48 +01:00
wandji20
91fddeaa8b Fix failing spec [OFN-11613] 2024-08-12 09:05:48 +01:00
wandji20
0de8a90b14 Add warning modal to order cycle with attached schedule general setting form [OFN-11613] 2024-08-12 09:05:48 +01:00
EdwardLi-coder
9fe128d494 add fail test 2024-08-12 16:04:22 +08:00
David Cook
193e17b625 Merge pull request #12759 from EdwardLi-coder/admin_style_v3-for-75%
[BUU] Activate admin_style_v3 for 75% of users
2024-08-12 17:59:25 +10:00
David Cook
6ad03e6d5c Remove comment 2024-08-12 17:49:09 +10:00
EdwardLi-coder
97a72dfde7 change colour of "complete order" 2024-08-12 12:01:02 +08:00
Gaetan Craig-Riou
1f55ff4b72 Merge pull request #12729 from mkllnk/fdc-update
Remove now unneeded FDC compatibility code from product import
2024-08-12 11:14:44 +10:00
EdwardLi-coder
be13d43e0c delete Archive failed tests screenshots 2024-08-11 00:20:18 +08:00
EdwardLi-coder
af7b663334 update admin_style_v3-for-75% 2024-08-10 23:55:58 +08:00
EdwardLi-coder
da24638079 update artifact v3 to v4 2024-08-10 22:04:17 +08:00
Cillian O'Ruanaidh
a6d3909e95 Replace text-angular editor with trix editor in fields for shop messages and about fields for enterprises and enterprise groups 2024-08-09 10:37:23 +01:00
Maikel Linke
8ab1cbe600 Update all locales with the latest Transifex translations 2024-08-09 15:13:33 +10:00
Maikel
cad0245510 Merge pull request #12754 from mkllnk/hu-mini-magick-fix
Load MiniMagick before use
2024-08-09 15:10:51 +10:00
Maikel Linke
93edf4e3ad Load MiniMagick before use
We only reference MiniMagick when rescuing errors but when it's not
loaded, that code fails to find the error class itself to apply the
rescue block.

The rescue block is covered by a spec but the code passes there as
MiniMagick is loaded.

We can see this error only in development, staging and production.
2024-08-09 14:25:29 +10:00
Maikel
caa2764317 Merge pull request #12752 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.10
Bump @floating-ui/dom from 1.6.9 to 1.6.10
2024-08-09 09:48:14 +10:00
Maikel
4f1e6382c9 Merge pull request #12753 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.5
Bump trix from 2.1.4 to 2.1.5
2024-08-09 09:47:37 +10:00
Maikel
54d33ca103 Merge pull request #12748 from chahmedejaz/bugfix/12739-fix-number-rounding-with-hu-locale
Fix NoMethodError in Admin::ProductsV3#index - Only when using the hu.yml locale
2024-08-09 09:44:48 +10:00
Ahmed Ejaz
787205dcca Merge branch 'master' into bugfix/12739-fix-number-rounding-with-hu-locale 2024-08-09 01:59:50 +05:00
Filipe
fcb0996a76 Merge pull request #12713 from dacook/buu/style-fixes2
[BUU] Style fixes
2024-08-08 17:31:20 +01:00
Filipe
76d874d5f9 Merge pull request #12710 from chahmedejaz/bugfix/12705-fix-products-index-page
[BUU] Fixes Products Page ActionView::Template::Error
2024-08-08 16:20:26 +01:00
Rachel Arnould
81711e4c43 Merge pull request #12721 from dacook/connected-apps-settings-12549
New settings screen to activate each connected app type
2024-08-08 16:56:33 +02:00
dependabot[bot]
e64f60a166 Bump trix from 2.1.4 to 2.1.5
Bumps [trix](https://github.com/basecamp/trix) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.4...v2.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 09:58:22 +00:00
dependabot[bot]
24bc56781b Bump @floating-ui/dom from 1.6.9 to 1.6.10
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.9 to 1.6.10.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.10/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 09:58:08 +00:00
Ahmed Ejaz
6757c8df74 12739 - fix number_with_precision method 2024-08-07 18:54:35 +05:00
Ahmed Ejaz
647a384561 12705 - add specs for updating invalid unit_value 2024-08-07 16:59:10 +05:00
Maikel Linke
ec828c335d Remove superfluous FDC-specific request class 2024-08-07 15:09:05 +10:00
Maikel Linke
6d03a8ddf3 Test that the FDC is now complying with the DFC 2024-08-07 15:09:05 +10:00
David Cook
05878fcbb8 Merge pull request #12747 from mkllnk/flaky-dfc-spec
Stabilise flaky spec with unique taxons
2024-08-07 15:02:57 +10:00
Maikel Linke
fd8973862e Stabilise flaky spec with unique taxons
The test was creating two "Soft Drinks" taxons and it was random which
one was applied to a new product. Changing one taxon to a different one
removes the ambiguity.
2024-08-07 13:50:51 +10:00
David Cook
40c77948b9 Show success message
I'm not sure, but I assume that Config.set will raise an exception if it failed.
2024-08-07 10:31:06 +10:00
David Cook
a95aa1b3e9 Submit blank value if nothing selected
If a checkbox is not selected, the browser does not submit it at all.
2024-08-07 10:30:45 +10:00
Gaetan Craig-Riou
706eb737b1 Merge pull request #12742 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.9
Bump @floating-ui/dom from 1.6.8 to 1.6.9
2024-08-07 10:09:09 +10:00
Gaetan Craig-Riou
c31758d347 Merge pull request #12741 from openfoodfoundation/dependabot/npm_and_yarn/jquery-ui-1.14.0
Bump jquery-ui from 1.13.3 to 1.14.0
2024-08-07 10:08:17 +10:00
Gaetan Craig-Riou
6139ba3015 Merge pull request #12738 from mkllnk/flaky-exchange-id
Stabilise spec by not relying on record ids
2024-08-07 09:41:00 +10:00
Joseph Johansen
5ca7f40a4e Add unit test 2024-08-06 16:12:13 +01:00
Joseph Johansen
a2f4df191a Improve effiency of OrderCycle.earliest_closing_times 2024-08-06 16:12:13 +01:00
Konrad
256d5ba61c Merge pull request #12725 from wandji20/wb-OFN-12280
(Fix) chore(deps): bump invisible_captcha from 2.2.0 to 2.3.0
2024-08-06 15:04:38 +02:00
Konrad
cb42e7e119 Merge pull request #12671 from wandji20/wb-OFN-12591
Ensure product category error message is shown when creating new product [OFN-12591]
2024-08-06 14:09:59 +02:00
dependabot[bot]
566d310880 Bump @floating-ui/dom from 1.6.8 to 1.6.9
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.8 to 1.6.9.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-08-06 09:39:16 +00:00
dependabot[bot]
5cdce35ee8 Bump jquery-ui from 1.13.3 to 1.14.0
Bumps [jquery-ui](https://github.com/jquery/jquery-ui) from 1.13.3 to 1.14.0.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.13.3...1.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 09:38:57 +00:00
David Cook
ffe3f12a23 Move class definition inside migration 2024-08-06 11:26:03 +02:00
David Cook
bd48a982fb Set connected apps as enabled if any
Could have easily done this manually, but this makes the transition smoother.

BTW I tested each case manually, didn't seem worth writing a spec.
2024-08-06 11:26:03 +02:00
David Cook
5d732d80a6 Add connected apps settings screen
I considered adding a request spec, but figured it still doesnt' test the form, so better to use a full system spec.
2024-08-06 11:26:03 +02:00
David Cook
254e11aa36 Use whitelist
It wasn't really necessary, but I'm going to need this list in a moment, so we might as well use it.
Also it allows us to ensure the options are listed in a certain order.

Also maybe it will help protect against corrupt preferences.
2024-08-06 11:26:03 +02:00
David Cook
4223b36bc3 Only show enabled connected app types
The preference will be set from the admin interface in a new commit

It would be nice if we had an array/list type for preferences. Probably not too hard to implement, but this will do.
2024-08-06 11:26:03 +02:00
David Cook
fcea437d7e Only show connected apps in enterprise settings, if system setting is enabled 2024-08-06 11:26:03 +02:00
wandji20
b49da46842 Pluralize admin products search result [OFN-12532-v1] 2024-08-06 08:52:51 +01:00
David Cook
8716b75d3d Merge pull request #12722 from openfoodfoundation/dependabot/npm_and_yarn/karma-6.4.4
Bump karma from 6.4.3 to 6.4.4
2024-08-06 15:28:06 +10:00
Maikel Linke
e055b8b16c Stabilise spec by not relying on record ids
A spec was referring to and input id:

```
"order_cycle_incoming_exchange_0_variants_#{new_product.variants.first.id}"
```

But sometimes the exchange would have the id 1 instead of 0 and the test
would fail. Instead I opted to select the field by text visible to the
user.
2024-08-06 12:31:54 +10:00
Maikel
f5875e4c0b Merge pull request #12667 from cyrillefr/FixRailsRootPathnameMethods
Fixes Rails/RootPathnameMethods offense
2024-08-06 11:02:28 +10:00
dependabot[bot]
56d23c172c Bump karma from 6.4.3 to 6.4.4
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.3 to 6.4.4.
- [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.3...v6.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 01:02:06 +00:00
Maikel
19bb40d1d3 Merge pull request #12736 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.2.0
Bump jasmine-core from 5.1.2 to 5.2.0
2024-08-06 10:59:33 +10:00
Maikel
4169a956c9 Merge pull request #12737 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.4
Bump trix from 2.1.3 to 2.1.4
2024-08-06 10:58:28 +10:00
filipefurtad0
d54dbdfe2d Update all locales with the latest Transifex translations 2024-08-05 11:33:39 +01:00
dependabot[bot]
fed2ae9a93 Bump trix from 2.1.3 to 2.1.4
Bumps [trix](https://github.com/basecamp/trix) from 2.1.3 to 2.1.4.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/2.1.3...v2.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 09:57:36 +00:00
dependabot[bot]
f00b2f0397 Bump jasmine-core from 5.1.2 to 5.2.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.2 to 5.2.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/v5.1.2...v5.2.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>
2024-08-05 09:57:26 +00:00
Ahmed Ejaz
c101c4e42f 12698 - fix 'go back to products' stateful navigation 2024-08-05 13:51:59 +05:00
Gaetan Craig-Riou
11ba33d7f4 Merge pull request #12696 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.8
Bump @floating-ui/dom from 1.6.7 to 1.6.8
2024-08-05 16:38:03 +10:00
dependabot[bot]
8e663dac3f Bump @floating-ui/dom from 1.6.7 to 1.6.8
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.7 to 1.6.8.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-08-05 04:38:50 +00:00
Gaetan Craig-Riou
df0795acf1 Merge pull request #12689 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.5
Bump @hotwired/turbo from 8.0.4 to 8.0.5
2024-08-05 14:36:05 +10:00
Gaetan Craig-Riou
7e1af9e04b Merge pull request #12723 from johansenja/optimise-shops-page
Preload enterprise logos and promo images for /shops page
2024-08-05 13:54:20 +10:00
Gaetan Craig-Riou
4805adec42 Merge pull request #12730 from openfoodfoundation/revert-12665-wb-OFN-12532
Revert "Pluralize admin products search result [OFN-12532]"
2024-08-05 10:29:52 +10:00
Filipe
7939bf8038 Revert "Pluralize admin products search result [OFN-12532]" 2024-08-05 10:03:58 +10:00
Ahmed Ejaz
d4e0b2ab51 12705 - fix specs 2024-08-04 18:20:15 +05:00
Ahmed Ejaz
1014a50aff 12705 - incorporate old UI behavior
- if unit_value is not present and unit_description then display unit_description only.
- if both are not present then display empty fields
2024-08-04 17:47:02 +05:00
wandji20
2d24593403 Update product variant unit display name, price, and total price widths on different screen sizes [OFN-6567] 2024-08-02 13:03:42 +01:00
filipefurtad0
0afbdf157e Update all locales with the latest Transifex translations 2024-08-02 11:42:59 +01:00
Filipe
5012c52438 Merge pull request #12711 from cillian/wider-item-column-on-invoice-pdf
Make Item column wider and tax and quantity columns narrower in invoice PDF
2024-08-02 10:20:24 +01:00
Maikel Linke
2201d2e8c2 VariantOverride with on_demand now overriding stock
Otherwise we would try to take stock from the producer stock level
without respecting their on-demand settings. So from now on:
If stock level or on_demand are set on the override then it's not using
producer stock levels.
2024-08-02 14:40:17 +10:00
Maikel Linke
b6c407971d Allow on-demand VariantOverride to track stock
We allowed this for producer stock and need to do the same for inventory
stock. This will allow us to create backorders for missing, but promised
stock.
2024-08-02 14:40:17 +10:00
Maikel Linke
cd8dc41b15 Update stock specs and add pending cases 2024-08-02 14:40:17 +10:00
Maikel Linke
a1887bdc76 Update stock levels of on-demand items
We weren't bothering with stock when items were on demand anyway. But we
want to track stock now so that we can backorder more when local stock
levels become negative.
2024-08-02 14:40:17 +10:00
Maikel Linke
e9f89362f4 Remove validation of positive stock when on demand
We weren't allowing negative stock to stop any bug from accidentally
drawing too much stock. But now we want to implement a backordering
logic that depends on negative stock levels to know how much is needed
to replenish stock levels.
2024-08-02 14:40:17 +10:00
Maikel Linke
675b7febdf Test stock logic on variant level
VariantOverrides are bolted onto variants to change their logic.
2024-08-02 14:40:17 +10:00
Maikel Linke
90fdf59415 Test current stock logic on shipment level
During checkout, stock is adjusted when a shipment is finalised. The
chain is:

* Order state change to complete.
* Trigger Order#finalize! which updates shipments.
* Trigger Shipment#finalize! which adjusts stock on the variant.
* A variant holds stock in stock items or in a variant override.
2024-08-02 14:40:17 +10:00
Maikel
615a81c55d Merge pull request #12728 from mkllnk/flaky-order-cycle-spec
Fix flaky spec with fixed order of products
2024-08-02 14:39:42 +10:00
Maikel Linke
99b31d05cb Fix flaky spec with fixed order of products 2024-08-02 14:26:54 +10:00
Konrad
1a72b5b227 Merge pull request #12563 from abdulazizali77/bugfix/11326-incoming-exchange-per-item-calculator
Display only per_item fees for oc incoming exchange #11326
2024-08-02 03:11:27 +02:00
wandji20
a1aea54405 Disable recaptcha spiner check in test environment [OFN-12280] 2024-08-01 21:43:51 +01:00
dependabot[bot]
e01354e863 chore(deps): bump invisible_captcha from 2.2.0 to 2.3.0
Bumps [invisible_captcha](https://github.com/markets/invisible_captcha) from 2.2.0 to 2.3.0.
- [Changelog](https://github.com/markets/invisible_captcha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markets/invisible_captcha/compare/v2.2.0...v2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 17:33:03 +01:00
Joseph Johansen
ffe4603f2f Preload enterprise logos and promo images for shops page 2024-08-01 14:10:53 +01:00
wandji20
ebc794194f Add product spec when supplier is empty and remove error status code from product create action [OFN-12591] 2024-08-01 09:03:26 +01:00
wandji20
287f65ec8e Ensure product category error message is shown when creating new product [OFN-12591] 2024-08-01 08:58:54 +01:00
David Cook
1288592d58 Merge pull request #12715 from rioug/add-request-id-log
Add request_id to logs for production and staging
2024-08-01 10:01:25 +10:00
David Cook
0836d844a6 Merge pull request #12677 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.3
Bump trix from 2.1.2 to 2.1.3
2024-08-01 09:49:07 +10:00
David Cook
96355a1ed4 Merge pull request #12719 from dacook/ActivateAdminStyleV3For50PcUsers
[BUU] Activate admin_style_v3 for ~50% of users
2024-08-01 09:24:33 +10:00
Filipe
ce44f19b4a Merge pull request #12704 from cyrillefr/FilteringProductBySupplierPropertyBreaksWhenEnterpriseHasCustomSortingByCategorySet
Fixes 422 error due to bad sql building
2024-07-31 19:45:09 +01:00
Filipe
6c214543ad Merge pull request #12690 from wandji20/wb-OFN-12666
Require variant category and supplier when creating new product variants [OFN-12666]
2024-07-31 19:28:31 +01:00
Filipe
8b1713d169 Merge pull request #12665 from wandji20/wb-OFN-12532
Pluralize admin products search result [OFN-12532]
2024-07-31 18:55:53 +01:00
David Cook
587ce5ad9d Activate admin_style_v3 for 50% of users 2024-07-31 16:55:12 +10:00
Rachel Arnould
f51705cb57 Merge pull request #12676 from dacook/add-affiliate_sales_data-connected_app-12550
Add "Affiliate Sales Data" connected app option
2024-07-30 16:14:27 +02:00
wandji20
55df9416cc Add test to check when new variant category and producer is empty [OFN-12666] 2024-07-30 12:09:59 +01:00
wandji20
0376c04ad5 Fix failing specs [OFN-12666] 2024-07-30 12:07:50 +01:00
wandji20
2709479bf2 Require varian t category when creating new product variant [OFN-12666] 2024-07-30 12:07:50 +01:00
David Cook
c5fc621aa4 Use scope to determine which enterprises are ready to be affiliated 2024-07-30 15:21:29 +10:00
Gaetan Craig-Riou
bfd0e7f784 Add request_id to logs for production and staging
It will prepend a request unique id to each log lines, it makes it
easier to debug individual request.
2024-07-30 11:38:46 +10:00
David Cook
ec3c157f1e Add gap between elements
It could be done better, but requires more code cleanup than it's worth.
2024-07-29 15:20:36 +10:00
David Cook
32aacbd2b0 Don't use fixed heights 🔥
Just don't. It makes life hard and doesn't solve the problem properly.

Now, when the content doesn't fit within the screen width, it will flow naturally and not jump up and down all over other elements.
2024-07-29 15:13:30 +10:00
David Cook
655dc92246 Clean up wacky input styles 🔥
Trying to style a pretend input just doesn't work in practice, it resulted in a couple of style issues.
Let's keep it simple,
2024-07-29 15:02:06 +10:00
David Cook
fece8beef5 Style/Send 2024-07-29 14:13:22 +10:00
David Cook
53e3621e04 Merge pull request #12703 from johansenja/fix-rubocop-style-send
Fix rubocop Style/Send group
2024-07-29 14:02:01 +10:00
David Cook
1949839056 Update interpolation variable name
This avoids error 'missing interpolation argument'.
2024-07-29 10:41:11 +10:00
Konrad
00a0006ff2 Merge pull request #12691 from ccozkan/use-vertical-transitions-for-cloning-and-deleting
Use vertical transitions for cloning and deleting products
2024-07-28 18:25:07 +02:00
Konrad
325f9aa6f3 Merge pull request #12664 from wandji20/wb-OFN-12551
Remove SR from clear search button [OFN-12551]
2024-07-28 14:31:08 +02:00
Konrad
95ec5c3c58 Merge pull request #12655 from wandji20/wb-OFN-11513
(Fix) [User->New] Language is displayed twice [OFN-11513]
2024-07-28 13:46:51 +02:00
wandji20
ef87cdb167 Revert changes and use selectable locales for helper local_options [OFN-11513] 2024-07-28 12:52:01 +02:00
wandji20
65d4596f3b Fix failling spec [OFN-11513] 2024-07-28 12:52:01 +02:00
wandji20
a9e295bc11 (Fix) [User->New] Language is displayed twice [OFN-11513] 2024-07-28 12:52:01 +02:00
Abdul Aziz Ali
ac8caf7710 Revert to use .order_cycle_id #11326 2024-07-28 17:57:56 +08:00
Abdul Aziz Ali
8a1e61fd60 Fix incoming_controller_spec. Remove .order_cycle_id usage #11326 2024-07-27 17:54:39 +08:00
Abdul Aziz Ali
baf38b6b30 Only set per_item flag in order_cycle incoming controller #11326 2024-07-27 16:12:26 +08:00
Cillian O'Ruanaidh
3507405dae Make Item column wider and tax and quantity columns narrower in invoice PDF 2024-07-26 15:36:42 +01:00
Filipe
c25fe6ae57 Merge pull request #12654 from wandji20/wb-OFN-112509
Use public contact email at the bottom of order confirmation email [OFN-12509]
2024-07-25 20:14:47 +01:00
Filipe
7bcf3206d8 Merge pull request #12678 from chahmedejaz/bugfix/11640-products-page-broken-URL
Fix URL State management on the Products page
2024-07-25 20:00:49 +01:00
Ahmed Ejaz
e808c7fb2b 12705 - set 1 as default for variant's unit_value 2024-07-25 23:42:03 +05:00
David Cook
df81e8ed35 Add task to connect all enterprises
Example usage:
 rake ofn:enterprises:activate_connected_app_type[affiliate_sales_data]
2024-07-25 21:14:04 +10:00
David Cook
e9d7a0b099 Add User#affiliate_enterprises 2024-07-25 21:14:01 +10:00
David Cook
da7bbcf82f Enable/disable affiliate sales data 2024-07-25 17:06:13 +10:00
David Cook
1742d2807f Add affiliate sales data to form 2024-07-25 17:06:13 +10:00
David Cook
d3c5e2365a Add AffiliateSalesData model
Using namespace subfolder to help organise it and show the inheritance.

Hmm, instead of scopes, we could have different has_many relationships on the Enterprise. Maybe it should be in a concern. We can refactor later I guess.
2024-07-25 17:06:13 +10:00
David Cook
27e53f9dcc Scope spec to section
Because there's going to be a new section with the same button label
2024-07-25 17:06:13 +10:00
David Cook
5d0f55b8c3 Re-organise spec
Best viewed with whitespac ignored.
2024-07-25 17:06:13 +10:00
David Cook
9d89b4726b Move connect logic to model
Then subtypes can override as needed.
2024-07-25 17:06:13 +10:00
David Cook
9b37eacb8d add scope for discover_regen 2024-07-25 17:06:13 +10:00
David Cook
bbe22bbfeb AddTypeToConnectedApps 2024-07-25 17:06:13 +10:00
David Cook
85d5e2ee70 Expect single connected_app record for discover regen 2024-07-25 17:05:42 +10:00
David Cook
9a4051f37b Move discover regen to named partial
To make way for a new type of connected app.

If only we could use [relative partial paths](https://github.com/rails/rails/issues/1143)
2024-07-25 17:05:42 +10:00
cyrillefr
05ed4639b2 Fixes 422 error due to bad sql building
- first part of query use supplier_properties parameter, but not
  second part, that can leads to mismatch between the 2 parts.
  Remove supplier_properties parameter + modify SQL to get it right.
- spec tests category filtering & sorting + producer properties
2024-07-24 21:49:11 +02:00
Abdul Aziz Ali
2bcf84d9a9 Add outgoing exchange scenario spec #11326 2024-07-24 17:38:10 +08:00
Gaetan Craig-Riou
99acf752f4 Update all locales with the latest Transifex translations 2024-07-24 15:34:16 +10:00
Joseph Johansen
5086f2d8b5 Fix rubocop Style/Send group 2024-07-23 14:18:26 +01:00
wandji20
0b46c41ffd Update reply email for order confirmation mail [OFN-12509] 2024-07-23 08:54:06 +01:00
wandji20
4fe3f60009 Use public contact email at the bottom of order confirmation email [OFN-12509] 2024-07-23 08:35:30 +01:00
Gaetan Craig-Riou
dfea0cd805 Merge pull request #12700 from rioug/fix-number-rounding-with-hu-locale
[BUU] fix error 500 on hungary instance
2024-07-23 16:35:48 +10:00
Gaetan Craig-Riou
0f04b2fb10 Fix call to ActiveSupport::NumberHelper.number_to_rounded
When running with :hu locale, call to `number_to_rounded` wiht parameter
precision: nil breaks, adding significant: false fixes the issue
2024-07-23 13:51:32 +10:00
Filipe
146296d0b2 Merge pull request #12694 from rioug/12692-revert-product-desxription-tuncation
Revert product description truncation fix
2024-07-22 12:22:56 +01:00
Ahmed Ejaz
a6efad73a8 12551 - add no-cache policy for Turbo cache control 2024-07-22 13:45:01 +05:00
Gaetan Craig-Riou
7f9bbd23e5 Revert fix introduced in https://github.com/openfoodfoundation/openfoodnetwork/issues/10685
It breaks wit Safari on Iphone
2024-07-22 14:59:30 +10:00
Çağrı Özkan
29d63b0f0f Change slide in animation to appear from top 2024-07-22 06:01:01 +03:00
Çağrı Özkan
25e9fd22d8 Change slide out animation to disappear towards top 2024-07-22 06:01:01 +03:00
Gaetan Craig-Riou
5caeb160ef Merge pull request #12684 from dacook/fix-spec
Fix flaky spec
2024-07-22 11:59:22 +10:00
David Cook
1310965975 Scope expectations to product/variant rows
This spec was getting flaky because:

> expected not to find text "20"
> in "Logged in as : olen@harveydenesik.biz Account Logout ... Weight (g) YES 1g On demand Enterprise 203 Enterprise 203
2024-07-22 11:42:50 +10:00
David Cook
0c43dd4222 Merge pull request #12686 from filipefurtad0/activate_25_p_cent_BUU_users
Activates admin_style_v3 for 25 per cent users
2024-07-22 10:28:19 +10:00
wandji20
bb427db66a Add spec for clearing search input when no results is found [OFN-12551] 2024-07-19 14:25:46 +01:00
wandji20
1165b00600 Remove SR from clear search button [OFN-12551] 2024-07-19 14:21:35 +01:00
dependabot[bot]
2d45952611 Bump @hotwired/turbo from 8.0.4 to 8.0.5
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.4...v8.0.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>
2024-07-19 09:58:25 +00:00
filipefurtad0
17eb8d5cd8 Update all locales with the latest Transifex translations 2024-07-19 10:09:29 +01:00
filipefurtad0
c8ca993fa9 Activates admin_style_v3 for 25 per cent users 2024-07-18 16:39:35 +01:00
Rachel Arnould
de20dd949b Merge pull request #12668 from filipefurtad0/prepare_import_spec_for_admin_style_3
Prepare product_import_spec.rb for BUU as default
2024-07-18 16:33:56 +02:00
Konrad
4c9507caa3 Merge pull request #12602 from chahmedejaz/bugfix/12570-variant-unit-field-out-of-sync
12570 - Fix Variant Unit field is Out of Sync with the Pop-out
2024-07-18 13:32:27 +02:00
Filipe
f1e6f8bb66 Merge pull request #12683 from dacook/buu-troubleshoot-12682
[BUU] Handle corrupt data and troubleshooting
2024-07-18 12:28:18 +01:00
David Cook
918d4401ff Gracefully handle empty string 2024-07-18 12:05:56 +10:00
David Cook
4925e2088d Test for corrupt data
Ah ha, we found the problem.
2024-07-18 12:03:25 +10:00
David Cook
bba59c1ffd Force significant: false for NumberHelper
Although it defaults to false, somehow it seems to be evaluated as true on hu_prod...??!?!!1! (https://github.com/openfoodfoundation/openfoodnetwork/issues/12682)
Maybe this will help.
2024-07-18 11:06:45 +10:00
Filipe
f3e7ba0462 Merge pull request #12675 from zsoltiNagy/insert_cloned_below_the_original_product
Changed a single line in turbo to insert cloned products after the original product
2024-07-17 20:14:13 +01:00
Filipe
23fc77351e Merge pull request #12663 from cyrillefr/Inventory_Producer_column_is_empty_in_review_page
Replace product by variant to see producer name on views
2024-07-17 18:17:58 +01:00
Filipe
3bd5ae2eec Merge pull request #12680 from rioug/12670-fix-product-ordering-inventory
[inventory] Fix product sorting
2024-07-17 17:53:16 +01:00
filipefurtad0
0123d6fb2e Copies admin_style_v3 feature into ACTIVE_BY_DEFAULT section
This should have an effect on test environment
2024-07-17 14:51:29 +01:00
filipefurtad0
e0d7252fe3 Adds condition for dev environment only
We don't want to enable this in production just yet
2024-07-17 14:51:29 +01:00
filipefurtad0
24defac470 Adds a migration to enable the feature by default 2024-07-17 14:51:29 +01:00
filipefurtad0
46696dfa17 Removes references to enabling admin_style_v3 features
Reverts removal from bulk_product_spec.rb
2024-07-17 14:51:25 +01:00
Ahmed Ejaz
1af811cf51 11640 - fix per_page issue when the page is changed
- Fix the scenario when per_page is selected as 100 and next page is clicked, then per_page is empty in the request.
- Expected behavior should be that it retains the per_page selected previously
2024-07-17 10:17:06 +05:00
Ahmed Ejaz
1850f298a6 11640 - use turbo navigation 2024-07-17 10:16:52 +05:00
Gaetan Craig-Riou
ae3fa00429 Add ordering by producer and product name
It looks like the ordering by producer got lost in some rebase.
2024-07-17 11:22:49 +10:00
wandji20
80ade22bd6 Pluralize admin products search result [OFN-12532] 2024-07-16 13:10:22 +01:00
dependabot[bot]
4fb458afe0 Bump trix from 2.1.2 to 2.1.3
Bumps [trix](https://github.com/basecamp/trix) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.2...2.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 09:30:08 +00:00
zsoltiNagy
c25750387f Changed a single line in turbo to insert cloned products after the original product 2024-07-16 07:23:03 +02:00
Ahmed Ejaz
5b7fbc875a 12570 - address PR comments 2024-07-15 22:48:20 +05:00
filipefurtad0
e1976c6cc2 Brings back xpath selector
Fixes xpath
2024-07-15 11:32:04 +01:00
filipefurtad0
91daec4806 Removes TODO, preparing spec for admin_style_3 (1)
Removes TODO, preparing spec for admin_style_3 (2)

Uses xpath to point to on hand field
2024-07-15 11:32:04 +01:00
filipefurtad0
bdc42deeb6 Sets import column test as pending
As of now, it is not clear whether we wish to re-implement this feature on BUU
2024-07-15 11:32:04 +01:00
David Cook
a66fec0b26 Merge pull request #12662 from mkllnk/order-finalise-spec
Improve spec for Spree::Order#finalize!
2024-07-15 11:53:57 +10:00
Ahmed Ejaz
c52c2ebfe1 12570 - fix specs 2024-07-12 18:20:19 +05:00
Ahmed Ejaz
d8354298f5 12570 - add specs 2024-07-12 18:02:57 +05:00
cyrillefr
2baf7c0250 Fixex Rails/RootPathnameMethods offense
- Cf. Cop doc at https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrootpathnamemethods
2024-07-12 14:20:17 +02:00
Ahmed Ejaz
0986971473 12570 - fix variant's display_as field being empty issue
- New variant unit_value is empty, so +VariantUnits::OptionValueNamer.new(variant).name+ returns ""
- Now we are making sure that new variant unit_value won't be empty
2024-07-12 17:00:42 +05:00
Gaetan Craig-Riou
29aa3a8059 Remove useless code 2024-07-12 10:34:42 +10:00
Konrad
e09745179f Merge pull request #12649 from dacook/product_import-tmpfile
Use application tmp dir for product import
2024-07-11 19:53:32 +02:00
cyrillefr
49c6a22fde Replace product by variant to see producer name on views
- replace product by variant since there had been changes in
  product & variant models.
- add a line in spec to test producer name.
2024-07-11 13:41:49 +02:00
Maikel Linke
a37b0eb698 Replace mocking on tested order object
It's more realistic this way.
2024-07-11 15:42:23 +10:00
Maikel Linke
2e36c699f6 Test resulting stock instead of method calls
The next test case wasn't asserting anything as well. The referenced
method `decrease_stock_for_variant` doesn't actually exist.
2024-07-11 15:42:23 +10:00
Maikel Linke
cb4e7d6fe3 Fix spec to assert updating shipments
The spec was asserting on all shipments of the order but there were one.
In consequence, the spec didn't assert anything. Now I set up a shipment
that is asserted on. I'm stil not sure how useful this spec is though.
2024-07-11 15:42:23 +10:00
Maikel Linke
94d560d341 Replace expecting method call with outcome
This is more realistic and robust. Don't mock the class under test (even
though `touch` is actually provided by Active Record).
2024-07-11 15:42:22 +10:00
Maikel Linke
eea227bc22 Style order spec block a tiny bit 2024-07-11 15:42:22 +10:00
David Cook
6d6f8735e3 Update all locales with the latest Transifex translations 2024-07-11 14:41:47 +10:00
Maikel
aec9a960e2 Merge pull request #12652 from filipefurtad0/activate_admin_style_v3_for_dev_test_and_new_servers
[BUU] Prepares specs for enabling admin_style_v3 by default
2024-07-11 13:55:20 +10:00
Maikel
f1713b11a6 Merge pull request #12657 from dacook/buu/enable_feature_admin_style_v3_for_admins
[BUU] Activate admin_style_v3 for all super admins
2024-07-11 13:40:32 +10:00
David Cook
c86f7f9d50 Remove comments 2024-07-11 10:58:57 +10:00
filipefurtad0
5e933af079 Prepares spec for admin_style_v3 - replaces TODO (1) 2024-07-11 10:58:57 +10:00
filipefurtad0
f7c47fecc4 Removes the need for using overlapping_elements_helper
Improves the specs so we don't need to recurr to overlapping elements clicks, and removes the respective helper
2024-07-11 10:58:57 +10:00
filipefurtad0
7d1cb0c957 Sets up enterprise with payment and shipping methods
So that the warning does not need to be dismissed - which is not what we wish to test here
2024-07-11 10:58:57 +10:00
filipefurtad0
7f6780b5e9 Simplifies specs, by replacing selector declaration with click_button 2024-07-11 10:58:57 +10:00
filipefurtad0
dfcd9391d9 Prepares smoke_tests_spec for admin_style_v3
Enables admin_style_v3 for smoke_tests_spec
2024-07-11 10:58:57 +10:00
filipefurtad0
6dd4bb3e3b Removes test case around shipped product
This is already covered on the v3 version of the spec, under ./spec/system/admin/products_v3/products_spec.rb:452
2024-07-11 10:58:57 +10:00
David Cook
cda2408c69 Merge pull request #12661 from chahmedejaz/task/12497-reorganize-products_v3_specs
[BUU] Re-Organize products_v3 Feature specs
2024-07-11 10:55:52 +10:00
Maikel
eb22bff908 Merge pull request #12647 from cyrillefr/FixRailsSkipsModelValidations
Fixes Rails/SkipsModelValidations offenses
2024-07-11 09:12:26 +10:00
Ahmed Ejaz
9281cd1a62 12497 - add create spec 2024-07-11 02:04:08 +05:00
Ahmed Ejaz
b99d985b75 12497 - add actions spec 2024-07-11 02:04:08 +05:00
Konrad
ecfa47cd78 Merge pull request #12574 from rioug/refactor-products-renderer
[Product Refactor] Refactor products renderer
2024-07-10 17:59:38 +02:00
Konrad
10898fdcfc Merge pull request #12639 from wandji20/wb-OFN-11597
Redirect successful user signup request to main home page [OFN-11597]
2024-07-10 17:24:40 +02:00
Abdul Aziz Ali
718e6765e1 Enterprise fee controller: Add all fees scenario #11326 2024-07-10 19:42:47 +08:00
Gaetan Craig-Riou
686fe8c028 Per review, remove flag argument from products_relation
products_relation is now split in two, products_relation and
products_relation_incl_supplier_properties.
It avoids using a flag argument which is not a a good practice see:
https://martinfowler.com/bliki/FlagArgument.html
2024-07-10 13:19:08 +10:00
David Cook
cb0a30ef52 EnableFeatureAdminStyleV3ForAdmins 2024-07-10 11:55:10 +10:00
Gaetan Craig-Riou
5c3acbbcaf Per review, remove instance variable @query 2024-07-10 11:45:39 +10:00
Abdul Aziz Ali
31d49ee99e Rubocop. Fix simple spec long line #11326 2024-07-10 08:18:00 +08:00
Abdul Aziz Ali
1e08f2713e Remove sleep. Use Capybara select helper #11326 2024-07-10 08:12:19 +08:00
Konrad
f0fd3bb73c Merge pull request #12635 from wandji20/wb-OFN-10685
(Fix) Product description not correctly truncated
2024-07-09 19:51:46 +02:00
cyrillefr
6d22652dfa Requested changes on VariantOverrride
- change was not exactly equivalent, so reverting +
  rubo comment
2024-07-09 16:06:45 +02:00
David Cook
2ab6bcb2e4 Use system method to generate temporary file path
This method is not documented, but is used by Dir.mktmpdir.  https://apidock.com/ruby/Dir/Tmpname/create
2024-07-09 16:01:50 +10:00
David Cook
ca612282f9 Use Rails tmp dir for product imports again
In https://github.com/openfoodfoundation/openfoodnetwork/pull/3435, it was switched to the system tmp dir because it conventiently provided a method to generate a unique filename. However it didn't handle the case where the system provided a symlink (macOS).

I could have fixed that, but surely it's safer to use the Rails tmp directory.
So I changed back to that, using a tip from https://stackoverflow.com/questions/13787746/creating-a-thread-safe-temporary-file-name to generate a unique name. Perhaps we could use a larger string (eg uuid) or append a timestamp too, but I don't know that it's necessary. Instead, we can just check that the dir didn't exist first (as mentioned in the PR). Let's do that..
2024-07-09 15:47:54 +10:00
David Cook
823614c214 Always delete uploaded file on error
The file path was never going to be 'tmp/product_import', so I guess it never deleted the file.
Hmm but shouldn't we clean up on success too? I suppose the tmp dir will be cleaned up eventually, and maybe we want to keep them for debugging purposes.
2024-07-09 15:06:00 +10:00
David Cook
cc1fa7f563 Always avoid error on redirect_to 2024-07-09 13:57:06 +10:00
Abdul Aziz Ali
8955972b05 Rubocop. fix formatting #11326 2024-07-09 08:56:54 +08:00
Abdul Aziz Ali
5fe5804b56 Add enterprise fee check in system admin ordercycles simple spec #11326 2024-07-09 08:49:45 +08:00
Konrad
d60d29b685 Merge pull request #12634 from chahmedejaz/bugfix/12632-voucher-field-focus-issue
Fix Voucher Code Field Focus Issue
2024-07-08 12:19:19 +02:00
wandji20
ac347b9c8e Redirect successful user signup request to main home page [OFN-11597] 2024-07-08 10:12:33 +01:00
wandji20
8a8a178683 Fix Product description not correctly truncated [OFN-10685] 2024-07-08 10:04:16 +01:00
Gaetan Craig-Riou
5c136f8baa Fix OrderCycleController to use products_relation 2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
c372bf746a Refactor ProductRenderer
The sorting logic has been moved to
OrderCycles::DistributedProductsService#product_relations

Plus hopefully fix the spec flackiness
2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
79a22aefc3 Refactor #products_relation
Due to primary_taxon and supplier having moved to the variant, filtering
by_producer and by_category with a custom order involves some
complicated sql queries. So we moved the sorting logic from
ProductsRenderer to OrderCycles::DistributedProductsService so we can
keep the complicated SQL logic contained in one place
2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
17fe492bf4 Fix typo 2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
47faedc295 Merge pull request #12646 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.2
Bump trix from 2.1.1 to 2.1.2
2024-07-08 09:48:54 +10:00
cyrillefr
ce8a2b3251 Fixes Rails/SkipsModelValidations offenses
- increments! & decrement! skip validations
 - replaced increment! method calls
 - one call was for a redefined increment! method
 - the other for a regular(ActiveRecord::Persistence)
 - removes increments/decrements definition now useless
2024-07-05 16:35:40 +02:00
dependabot[bot]
ac2f59bdb2 Bump trix from 2.1.1 to 2.1.2
Bumps [trix](https://github.com/basecamp/trix) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.1...v2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-05 09:44:38 +00:00
Maikel Linke
8d327355f9 Update all locales with the latest Transifex translations 2024-07-05 13:29:17 +10:00
Maikel
c8cb15df33 Merge pull request #12644 from mkllnk/spec-fixes
Fix orders and distributors report after product refactor
2024-07-05 13:25:37 +10:00
Maikel Linke
d602482d91 Fix report spec referencing distributor 2024-07-05 12:08:33 +10:00
Maikel Linke
51f89b995a Update database include statement for report
Fixes:

* spec/lib/reports/orders_and_fulfillment/orders_cycle_supplier_totals_report_spec.rb
* spec/system/admin/reports_spec.rb
2024-07-05 12:04:14 +10:00
Maikel
2b10862779 Merge pull request #12641 from cyrillefr/FixRailsSelectMap
Fixes Rails/SelectMap offense
2024-07-05 11:27:23 +10:00
Maikel
6594b30bf4 Merge pull request #12640 from dacook/bulk-invoice-polling-12215
Poll to check when invoice file finished
2024-07-05 10:05:56 +10:00
Maikel Linke
b131c352a9 Spec backup polling of rendered invoice file 2024-07-05 09:36:50 +10:00
David Cook
e62b640372 Poll to check when invoice file finished
The BulkInvoiceJob already sends a notification via WebSockets once complete, but sometimes that fails. So this is added on top, just in case.
2024-07-05 08:58:10 +10:00
cyrillefr
838974973d Fixes Rails/SelectMap offense
Cf. cop @ https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsselectmap
2024-07-03 13:17:02 +02:00
Rachel Arnould
2c41d065df Merge pull request #12594 from dacook/12559-fix-orders-and-distributors-report
Hide customer data on orders_and_distributors report
2024-07-03 13:12:42 +02:00
Rachel Arnould
045da3c0e5 Merge pull request #12562 from rioug/product-supplier-id
[Product Refactor]  Move supplier to Variant
2024-07-03 13:03:58 +02:00
Gaetan Craig-Riou
cfc51f399f More rebase fix 2024-07-03 13:07:17 +10:00
Gaetan Craig-Riou
fb2575aaeb Fix more rebase issue 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
be5a228509 Fix rebase issue
and add missing translation
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
dfe56c1eed Fix flacky spec
In practise we shouldn't have product with mutiple variant with
different supplier, so I think it's fine to not test it.
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
1ead9208ee Fix rebase issue
Fix test by creating a variant instead of relying on some random data
from the database.
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
1d86315108 Per review, update comment to match code 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
f60a79437e Reworked the test to use variant factory
Creating a variant actually create an extra one via the associated
product, as it will create a "standard variant".
As far as I can see there is no way around it, but it should be fixed
once the Product refactor is finished, and product becomes product
group.
Added a comment on the variant factory to explain the problem.

It's not ideal as it will slow down the test suite a little, but I think
it's better to write the code the way you would expect it, and it will
eventually get fixed.
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
f79691e4bf Ignore supplier_id for Spree::Product 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
9549f4e506 Update product description 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
448308710a Per review, distributor are now updated via variant
When a product is deleted, it will delete associated variant and
in turn will touch the affected distributors
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
f73745a803 David's first review changes 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
3788b33eb0 First round of code review change 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
c328ee8087 Remove stockable_by from Product and Variant
It's not used anymore
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
efbec02fb9 Fix rebase issue 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
117f6d3300 First round of code review change 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
56b58219da Update rubocop TODO 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
260211cf15 Fix Ruboxop issue 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
7219f72ac7 Fix rebase issue 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
891f79666d Spree::Product remove in_supplier_or_distributor scope
It is not used anywhere
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
312c240968 Fix mutilingual spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
b6faa43879 Fix touching distributor callback spec
The original spec check if the supplier and distributor where
updated after deleting product. In reality, the supplier and the
distributor are the same, so no need to test with the supplier
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
84197aca19 Fix the filtering by properties/supplier properties
- Apply OR when filtering by both product properties and supplier
properties
- Apply AND when filtering by supplier properties and taxon
Filtering by product properties and taxon is handled by ransack, so
no change there
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
9632f42a40 Fix producer property filtering 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
a52401107a Order cycle API, separate properties and producer_properties
Due to moving the supplier to the variant, we had to add manual search
for producer properties instead of using ransack. So we need a way
for the frontend to diferenciate between product properties and producer
properties. This is the first step towards that
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
3704b18952 Fix property filtering in shopping system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
feb7e173b1 Fix order cycle controller spec, product properties filtering
And fix the underlying product renderer
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
3dc7c2bf56 Fix spree product touch supplier
Take into account import product scenario, in this case the variant
doesn't have an assigned supplier yet.
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
2d707e8acb Fix consumer producer system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
dd8f0aafab Fix ProductImport::EntryProcessor#count_existing_items
Plus spec
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
564ea0bd49 Fix enterprise touching when associated record updated 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
1c6d10d4e7 Remove supplier_id from simple product serializer 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
b5cf47d306 Fix producer mailer 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
34aba72dea Fix order summary mailer view 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
7b6b365c4f Fix subscription form spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
8244fa7685 Fix enterprise shopfront serializer spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
3eae329cc4 Fix shop system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
848144d378 Fix DFC engine 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
d614780059 Fix product serializer spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
2550f8fd80 Fix cached enterprise serializer spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
7c712f0058 Fix cart system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
725e2bfa48 Fix checkout summary system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
a2de846f2c Fix darkswarm caching system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
9b879da616 Fix Checkout payment system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
0f7f1a5d5c Fix shopping system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
8104d8e37b Fix checkout auth system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
4c274e0a90 Fix groups system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
470986dc19 Fix white label system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
a8cdca89a1 Fix shopping variant overrides system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
1061bf50b4 Fix shopping unit price system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
12c017ab99 Fix checkout tax incl system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
8db7352774 Fix tax not incl checkout system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
4396c39c83 Fix checkout details system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
d53bfe455d Fix guest checkout system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
6538c7adca Fix shopping system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
ca80177954 Fix admin order cycle system spec 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
e901886915 Fix report system spec 2024-07-03 11:19:29 +10:00
Gaetan Craig-Riou
add6d15fc4 Fix bulk order management system spec 2024-07-03 11:16:53 +10:00
Gaetan Craig-Riou
0167357f8f Fic enterprise fee summary report system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
61750c51b3 Fix enterprise system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
93660efdf7 Fix subscription crud spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
07fb607c35 Small test speed up
`select_datetime_from_datepicker` will manually click through the month
to find the given date. Setting the date to a month from now speed up
the test, and will prevent failing test after 2040
2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
62efde4c98 Fix subscription smoke test 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
8937c3395a Fix order management subscription variant list 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
4115b857f7 Fix revenue by hub system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
e0e78f2798 Fix order and fulfillment system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
315f951f8f Fix order cycle complex editing system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
93a63c5eb5 Fix payment report system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
03ee9529f1 Fix packing report system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
5884edaa1b Fix product import system spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
1ea3160a6a Fic enterprises controller 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
f161f51a0e Fix sales tax by producer report 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
b156f722f1 Fix variant override spec 2024-07-03 11:15:10 +10:00
Gaetan Craig-Riou
07fb7b5b5e Fix variant system spec 2024-07-03 11:12:34 +10:00
Gaetan Craig-Riou
6c4c0ebf6f Refactor product page system spec
Remove some duplication and group related test
2024-07-03 11:12:34 +10:00
Gaetan Craig-Riou
ee88e2fdfa Fix product system spec 2024-07-03 11:11:03 +10:00
Gaetan Craig-Riou
9f612270c7 Fix bulk update product page old style
and related product pages
2024-07-03 11:05:01 +10:00
Gaetan Craig-Riou
2ab9ccf73d Bulk edit product, move supplier dropdown to variant 2024-07-03 11:05:00 +10:00
Gaetan Craig-Riou
78abe36327 Fix BUU product page specs 2024-07-03 11:05:00 +10:00
Gaetan Craig-Riou
b891a03468 Fix search by producer, BUU product page 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
63807f198b Fix product set, to handle updating supplier on the variant 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
25371ee9d0 Fix admin pages
- move supplier to variant row on Bulk Edit product page
- add supplier dropdow on add/update variant page
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
6ee77fa406 Fix sales tax totals by order report 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
83fa080f76 Fix product and inventory report 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
17793e7b12 Fix packing report spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
45f4365385 Fix order cycle management report 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
bfb4997207 Fix product and inventory report, lettuce share 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
c273c6b155 Fix enterprise fee with tax report specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
40892580cd Fix enterprise fee summary report spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
323602abbb Fix customer report specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
fddfd0dbfb Fix bulk coop report 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
c1dc87ae21 Fix enterprise fee calculator spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
f8c2dfb3f7 Fix variants stock level sevice specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
df209fdc2b Fix product tag rules filterer spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
1f904a3e2f Fix orcer cycle form service spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
80c4d9d03b Fix invoice template 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
f38e13b1a0 Fix orders controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
93922b484f Fix admin variants controller specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
82b630c0c4 Partially fix admin product controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
6d55f8ef2e Fix admin orders controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
076200597d Fix shop controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
5b3e79e6c8 Fix Line Items controller specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
2e129eab8f Fix API V0 variants controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
30decf3f34 Fix API V0 shops controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
16709704fd Fix API v0 shipments controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
656361c82d Fix API v0 packing report 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
c82444efa9 Fix API v0 products controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
507fa028c1 Fix api admin serializers 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
e1c3f0a31c Fix product scope query
Plus a small name refactor
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
e48cdeba20 Fix product related permissions 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
71b6938961 Fix API V0 order controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
586acad8f1 Fix most of api V0 order cycles controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
0c9223809b Fix with_properties scope to accept any number of arguments 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
53e7b02471 Fix admin api exchange products controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
a873fa692b Fix exchange products renderer and specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
04fb49bc25 Fix admin variant overrides controller specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
b5e76e1dab Fix subscriptions controller specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
2952ebb05c Fix admin report controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
3d82309c5f Fix order permission and specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
6d1a6c6d0e Fix orders and fulfillment reports
Plus specs
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
b13a1e8843 Fix order cycle controller spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
71e4911b9e Fix order cycle permission 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
1b7a5fdb2c Fix inventory items controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
765655ae25 Fix bulk line items controller specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
ef298e3b62 Fix taxon 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
95ed806370 Fix shipment specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
612ab097b7 Fix order specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
054d967323 Fix line items
* fix supplier related code
* Fix associations + plus spec
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
859f7efd02 Fix Spree:Ability 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
d5cc60fd3a Fix ProductImporter and related Class 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
94faf4cf69 Fix invenrory reset strategy spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
b86d8e1603 Fix product import entry validation 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
a87f10b2a6 Fix order cycle spec 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
80112709f3 Fix invoice and api serializer 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
50bd274715 Fix Enterprise 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
d073a181e9 Fix EnterpriseRelationship 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
02b9dfb517 Add after update primary taxon call back
It updates supplier on primary taxon update. It fixes falling
enterprise caching specs.
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
22f4ae115a Add missing associations and validations specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
8abea0afcf Add missing associations and validations specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
5cb59d941a Add transient attribute supplier_id to Spree::Product
supplier_id transient attribute will be saved on the variant
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
7af36510c8 Fix lambda styling
It follows Style/Lambda cop :
https://docs.rubocop.org/rubocop/1.60/cops_style.html#stylelambda
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
6290e7ad1c Test the suppliers are touched on destroy 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
06b0b54685 Update attribute translation 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
d9d77d2b25 Migrate supplier to variant 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
4113880401 Move supplier to variant part 2
Variant model and specs
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
d1dd563720 Move supplier to variant part 1 2024-07-03 10:17:48 +10:00
Ahmed Ejaz
ced3408aaa 12632 - add specs 2024-07-02 15:50:55 +05:00
Rachel Arnould
4c141df474 Merge pull request #12628 from rioug/fix-report-go-button
[Reports] Fix data-disable on Go button
2024-07-02 10:05:05 +02:00
David Cook
540d487584 Merge pull request #12595 from filipefurtad0/refactor_products_v3_specs
[BUU] Refactors products_v3 system specs
2024-07-02 16:59:50 +10:00
David Cook
3d9bc2ef4b Update description 2024-07-02 16:59:20 +10:00
David Cook
0d254a8ba4 Move listing block to index file also 2024-07-02 16:54:34 +10:00
filipefurtad0
3a75135029 Moves update and image edit into new file 2024-07-02 16:50:46 +10:00
filipefurtad0
1085da83a9 Moves sorting, pagination, and search describe blocks into new file
Deletes describe blocks from products_spec
2024-07-02 16:49:46 +10:00
filipefurtad0
5cf8eb5efc Extracts helper methods into helper file
The idea is to split the main spec into several smaller ones; these would share the helper file
2024-07-02 16:45:46 +10:00
Maikel
a83daae873 Merge pull request #11645 from filipefurtad0/activate_buu_toggle_by_default_to_run_the_test_suite
[BUU] Activate admin_style_v3 for most system specs
2024-07-02 11:27:54 +10:00
Maikel
d3e00cd4b7 Merge pull request #12633 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.7
chore(deps): bump @floating-ui/dom from 1.6.6 to 1.6.7
2024-07-02 10:59:29 +10:00
Gaetan Craig-Riou
7a741d92e7 Merge pull request #12630 from dacook/cleanup
Remove unused spec code
2024-07-02 10:05:17 +10:00
Ahmed Ejaz
02c0c6aa5e 12632 - fix voucher field focus issue
- when disabling or enabling the control, we should only focus it if it's not a button.
2024-07-01 14:49:38 +05:00
dependabot[bot]
33b680c67c chore(deps): bump @floating-ui/dom from 1.6.6 to 1.6.7
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.6 to 1.6.7.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-07-01 09:05:34 +00:00
David Cook
b1aafbf843 Remove old migration spec
It breaks due to a change of the spec environment. There's no point fixing it, it's no longer required.
2024-07-01 15:31:27 +10:00
David Cook
c80199e8b1 Use normal capitalisation for translation 2024-07-01 15:31:27 +10:00
David Cook
b1721d69a2 todo: make specs work with admin_style_v3 2024-07-01 15:31:25 +10:00
David Cook
109432d282 fixup: feature toggle old screen 2024-07-01 14:58:27 +10:00
David Cook
5f01bb40d2 Remove unecessary message
I'm not sure why it's not appearing on my computer, but it was an unnecessary duplicate message, so I'm happy to remove it.
2024-07-01 14:58:27 +10:00
David Cook
39cae4468a Fix more uppercase tests after rebase
These seem to have been changed since the previous rebase.
2024-07-01 14:58:22 +10:00
David Cook
3a8c44d0c6 fixup: Updates spec to create a variant within BUU design 2024-07-01 12:38:10 +10:00
filipefurtad0
6dfef8104d Fixes rebase 2024-07-01 12:24:26 +10:00
filipefurtad0
9e25893401 Sets variant creation scenarios on_hand/on_demand as shared examples 2024-07-01 12:24:26 +10:00
filipefurtad0
8028610fe6 Updates spec to create a variant within BUU design 2024-07-01 12:24:26 +10:00
filipefurtad0
ba355fdaab Removes mouse clicks to display variants
This feature does not exist in BUU

Replaces previous add variant button click with correct version
2024-07-01 12:24:26 +10:00
filipefurtad0
c226b10827 Updates case on orders_spec.rb 2024-07-01 12:24:26 +10:00
filipefurtad0
80e817725e Mouse hovering displays the text
on the New variant button

This test needs to be improved as, for Capybara, the text seems to be always visible, although it only does become visible by hovering.
2024-07-01 12:24:26 +10:00
filipefurtad0
9f98dc253d Adds assertions on table header 2024-07-01 12:24:26 +10:00
filipefurtad0
5824516ce0 Fixes case 2024-07-01 12:24:26 +10:00
filipefurtad0
bcbc7c7930 Fixes rubocop inconsistency 2024-07-01 12:24:26 +10:00
filipefurtad0
03a9f6811c Fixes rubocop inconsistency 2024-07-01 12:24:26 +10:00
filipefurtad0
4e24af2f94 Applies helper changes 2024-07-01 12:24:23 +10:00
filipefurtad0
0a4c2a1903 Updates tom_select_helper.rb with the recent changes from master 2024-07-01 12:24:00 +10:00
filipefurtad0
0fa272a125 Changes helper for dropdown selection 2024-07-01 12:24:00 +10:00
filipefurtad0
2c3778360b Updates selector 2024-07-01 12:24:00 +10:00
filipefurtad0
8b036e5108 Removes search block - covered already a few lines below
under _describe search_ block
2024-07-01 12:23:52 +10:00
filipefurtad0
c4b2748282 Adds pending test case on creating variants 2024-07-01 12:09:14 +10:00
filipefurtad0
5af5eb7ecf Replaces all with find, within tom_select helper method
Moves existing tom select helper methods into separate file
2024-07-01 12:09:14 +10:00
filipefurtad0
289414a504 Adds tests around product creation
Introduces a tom-select helper file
2024-07-01 12:09:14 +10:00
filipefurtad0
d88db1365d Updates specs to accomodate changes on warnings/banners 2024-07-01 12:09:14 +10:00
filipefurtad0
3af5330998 Updates product category test 2024-07-01 12:09:14 +10:00
filipefurtad0
e09fa3e04a Updates v3 products page 2024-07-01 12:09:14 +10:00
filipefurtad0
2937bdc1d2 Deals with overlapping elements 2024-07-01 12:09:14 +10:00
filipefurtad0
c7894892f6 Deals with overlapping elements
Comments assertion due to overlapping elements
2024-07-01 12:09:14 +10:00
filipefurtad0
7303c40c92 Introduces helper to deal with overlapping elements
Fixes overlapping elements
2024-07-01 12:09:14 +10:00
filipefurtad0
50c7392c5e Deals with overlapping elements 2024-07-01 12:09:14 +10:00
filipefurtad0
4871e0082e Deals with overlapping elements
Deals with elements outside page range
2024-07-01 12:09:14 +10:00
filipefurtad0
8897e99113 Clicks OC warning modal away so other buttons are reachable
Another option would have been to use page.find(:button, Save).trigger(click)
2024-07-01 12:09:14 +10:00
filipefurtad0
527136105f Fixes case on products_spec.rb 2024-07-01 12:09:14 +10:00
filipefurtad0
8a198705e3 Fixes case on reports_spec.rb 2024-07-01 12:09:14 +10:00
filipefurtad0
b9bb4a4dcb displays a list of products
...adapted from ./spec/system/admin/bulk_product_update_spec.rb:23

Sets test as pending from issue #11060
2024-07-01 12:09:14 +10:00
filipefurtad0
1c580c42f4 Adds assertions on products page, when no products are found
Removes migrated test from legacy product spec file
2024-07-01 12:09:14 +10:00
filipefurtad0
5e4381cc63 Fixes case on failing test 2024-07-01 12:09:14 +10:00
filipefurtad0
9aecf9feb4 Brings the tests back to green, after rebasing
This is a WIP branch, and each time we rebase we'll have some specs breaking. The changes in this commit mostly relate to the change in /admin/products URL, which points to the new BUU prodcts page; disabling the feature around related tests brings the branch back to green.
2024-07-01 12:09:14 +10:00
filipefurtad0
308c559810 Fixes case on assertions, on failing specs
Selects white_label tab with trigger(click)

Scrolling down did no fix it, it still fails https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/6526149195/job/17719815533?pr=11645, selecting the element with trigger(click) should work

Updates invoice tests
2024-07-01 12:09:14 +10:00
filipefurtad0
500b9ed1c7 Enables admin_style_v3 toggle by default 2024-07-01 12:09:11 +10:00
David Cook
c747b2e60c Remove unused code
We don't use poltergeist, and it just works fine now.
2024-07-01 10:43:06 +10:00
Gaetan Craig-Riou
9833ac67df Fix data-disble on Go button 2024-07-01 10:04:50 +10:00
Konrad
5bb47823c6 Merge pull request #12619 from rioug/12559-disable-report-button
[Reports] Disable GO button once clicked
2024-06-28 17:11:29 +02:00
Konrad
909bc2792c Merge pull request #12565 from chahmedejaz/task/11987-remove-SR-from-clone
11987: Prevent Reloading the whole table upon Product Clone
2024-06-28 15:35:52 +02:00
Konrad
04dd463f8e Merge pull request #12592 from mkllnk/report-rendering
Load large on-screen reports on demand
2024-06-28 11:14:38 +02:00
Maikel Linke
b117fd03da Simplify spec checking for disabled button 2024-06-28 08:42:24 +10:00
David Cook
d799230440 Update controller to catch more specific error
We now know which errors to expect. We still let other unknown errors raise higher up, where they will be logged with BugSnag, and treated as internal_server_error.
2024-06-27 12:51:28 +10:00
David Cook
92bd7a5d37 Revert new product duplicator behaviour 2024-06-27 11:39:49 +10:00
David Cook
898ab08bab Add specs for invalid records
It turns out that the duplicator still raises an exception in some cases. Now I think I see why the the controller was catching the exceptions. At least now we know which exceptions to catch.
2024-06-27 11:39:49 +10:00
Ahmed Ejaz
b1a3bff2ed 11987: add failing spec for product clone 2024-06-26 16:48:14 +05:00
Ahmed Ejaz
4315a05eb8 11987: fix lint issue 2024-06-26 16:32:32 +05:00
Ahmed Ejaz
0aea201d53 11987: update mocking save! to save 2024-06-26 16:31:16 +05:00
Ahmed Ejaz
5a259f1b91 Merge branch 'master' into task/11987-remove-SR-from-clone 2024-06-26 16:18:42 +05:00
Ahmed Ejaz
9f832e6743 11987: update code as per new product duplicator behavior 2024-06-26 16:16:13 +05:00
Ahmed Ejaz
95972c75c6 11987: remove rescue StandardError from controller 2024-06-26 16:10:31 +05:00
Ahmed Ejaz
3f6e5e7d09 11987: duplicate product without raising error 2024-06-26 16:00:59 +05:00
David Cook
0001ffa970 Fix product index
The param product_index wasn't present, so it was always choosing 1.
The products on page are indexed 0-14, so of course it would always conflict.

It would be simpler if we just used product IDs as the index, I think I did earlier but don't remember why not.
Anyway, using a negative number seems to work.
If there's an error, there will only be one at a time.
2024-06-26 17:04:49 +10:00
Gaetan Craig-Riou
74fb6c3143 Disable GO button once clicked
It is disabled both on client side and server side, so even if the
server takes a while to respond the button is disabled
2024-06-26 16:01:05 +10:00
Gaetan Craig-Riou
ad78210b00 Update all locales with the latest Transifex translations 2024-06-26 14:18:59 +10:00
David Cook
a22c17a520 Merge pull request #12618 from dacook/buu/page-title
[BUU] Add translation for "Products V3" page title
2024-06-26 10:03:21 +10:00
David Cook
0e26df2c18 Add translation for products_v3 page title 2024-06-26 09:43:38 +10:00
David Cook
2269bcee4c Merge pull request #12616 from chahmedejaz/task/12603-auto-author-assign-workflow
Add Auto Author Assign Workflow for Pull Requests
2024-06-26 09:27:58 +10:00
Gaetan Craig-Riou
cb98f2f3d5 Merge pull request #12606 from dacook/buu/enable-admin_style_v3-new_users
[BUU] Enable admin_style_v3 for new users from 3/07/2024
2024-06-26 09:23:40 +10:00
Gaetan Craig-Riou
1f018292f7 Merge pull request #12605 from abdellani/12373_12374_fix_bulk_invoice_sending_printing
[Invoices] Notify if any order cannot be invoiced on bulk invoice printing (update the behavior only when invoice flag enabled )
2024-06-26 09:16:55 +10:00
Maikel
8dff2e6017 Merge pull request #12614 from cyrillefr/FixRailsUnknownEnv
Fixes Rails/UnknownEnv offense
2024-06-26 09:06:00 +10:00
Maikel
2619e12216 Merge pull request #12617 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.6
chore(deps): bump @floating-ui/dom from 1.6.5 to 1.6.6
2024-06-26 09:03:49 +10:00
Abdul Aziz Ali
9d12e55bd7 Add enterprise fees controller spec #11326 2024-06-26 06:36:57 +08:00
Abdul Aziz Ali
b3570991f4 Rubocop. Fix cyclomatic complexity in fees controller #11326 2024-06-26 06:36:42 +08:00
dependabot[bot]
dd68ccdf2d chore(deps): bump @floating-ui/dom from 1.6.5 to 1.6.6
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-06-25 09:59:33 +00:00
cyrillefr
b09f41136f Fixes Rails/UnknownEnv offense
- Cop: Rails/UnknownEnv
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunknownenv
- Rails.env.typo? will always return false and will not return an error
- The way to check this is to add environments in the Environments config parameter
- in the rubocop file.
2024-06-25 10:18:45 +02:00
Ahmed Ejaz
feb1fa1198 12603 - add auto-author-assign workflow 2024-06-25 12:20:24 +05:00
David Cook
93798ed54b Merge pull request #12599 from chahmedejaz/task/12346-rubocop-rails-pluck-and-pluck-where
12346 - Fix Rubocop Rails/Pluck and Rails/PluckInWhere
2024-06-25 17:12:18 +10:00
Ahmed Ejaz
bb6e69ff56 Merge branch 'master' into task/12346-rubocop-rails-pluck-and-pluck-where 2024-06-25 11:53:50 +05:00
David Cook
b4ef83b3a7 Enable admin_style_v3 for new users from 3/07/2024 2024-06-25 13:04:36 +10:00
Maikel
c8e134cef5 Remove redundant wait loading report content
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2024-06-25 11:50:01 +10:00
Gaetan Craig-Riou
3afb3f5ba0 Merge pull request #12601 from cyrillefr/FixRailsRelativeDateConstant
Fixes Rails/RelativeDateConstant offense
2024-06-25 09:15:29 +10:00
Mohamed ABDELLANI
a3fd7b77c8 notify if any distributors doesn't have an abn 2024-06-24 14:46:01 +01:00
Ahmed Ejaz
72640cfc2a 12346: refactor orders_controller spec 2024-06-24 14:43:17 +05:00
Ahmed Ejaz
ff10a36e4a 12346: refactor bulk_line_items_controller spec 2024-06-24 14:25:34 +05:00
cyrillefr
980ce95ab2 Requested changes
- replace direct instance variable use by instance getter use
2024-06-24 10:37:43 +02:00
Gaetan Craig-Riou
c4470f76e3 Merge pull request #12593 from filipefurtad0/regression_spec_12591
Adds regression spec for #12591
2024-06-24 14:46:29 +10:00
Gaetan Craig-Riou
cd768a1fe9 Merge pull request #12585 from mkllnk/flaky-caching
Ensure all assets are compiled on test page visit
2024-06-24 14:44:11 +10:00
Gaetan Craig-Riou
c756afa1cc Merge pull request #12571 from filipefurtad0/adds_spec_on_abn_restriction
Adds test case to assure acceptance criteria from #12374 and #12373
2024-06-24 14:41:31 +10:00
Gaetan Craig-Riou
67cac1f4d6 Fix search to return expected data
As explained in Reporting::ReportTemplate::ReportsHelper, 'search' and
`query_result` are not supposed to return the same things
2024-06-24 14:04:35 +10:00
Ahmed Ejaz
afd09091a2 12346 - fix broken specs 2024-06-22 02:11:39 +05:00
cyrillefr
659111932c Fixes Rails/RelativeDateConstant offense
- Cop: Rails/RelativeDateConstant
- raises offense if Constant is relative data (ie: since, ago)
- Reason: relative data will be evaluated only once
- BUT here, Date should not be evaluated in a class method, and have a different
- value for each call. But the data should be the same for an instance
- Therefore: move the ago in init method
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrelativedateconstant

- Since there is no constant to be called form a class, but a date from an instance, the
  spec has been modified accordingly. The RemoveTransientData.new.call had to be splitted.
2024-06-21 23:07:16 +02:00
Ahmed Ejaz
9dd427ab7f 12346 - fix rubocop rails/pluckInWhere errors 2024-06-22 01:54:54 +05:00
Ahmed Ejaz
98e0b0e703 12346 - fix rubocop rails/pluck errors 2024-06-22 01:45:58 +05:00
Maikel
0dd7f264b9 Merge pull request #12542 from anansilva/12448-sanitise-html-custom-tab
Sanitize HTML in custom tab content [read only]
2024-06-21 08:35:26 +10:00
filipefurtad0
1d55c05900 Update all locales with the latest Transifex translations 2024-06-20 11:17:26 -06:00
Konrad
f9e1ff9238 Merge pull request #12567 from mkllnk/flash-css-fix-v3
Error messages don't block bottom of page clicks
2024-06-20 17:22:02 +02:00
Ana Nunes da Silva
d2c6db0d04 Sanitize CustomTab#content 2024-06-20 11:56:09 +02:00
Konrad
25d375bf8e Merge pull request #12577 from cyrillefr/WhiteLabelButtonAlwaysInactive
Update button should change status on modified white label
2024-06-20 11:39:58 +02:00
Ahmed Ejaz
349862c72e 11987: fix specs 2024-06-20 13:41:41 +05:00
Ahmed Ejaz
86c87962f9 11987: add missing translation 2024-06-20 13:09:48 +05:00
Ahmed Ejaz
4b9141f66d 11987 - add products table mutation listner 2024-06-20 12:44:55 +05:00
David Cook
d80e1efa7b Add includes for more efficient querying 2024-06-20 17:02:47 +10:00
David Cook
54d068ee08 Add spec for db queries 2024-06-20 17:02:47 +10:00
David Cook
141a883e4d Refactor report
So it turns out that all these features are built into the report framework.

LineItems includes complete_not_canceled_visible_orders.
It even takes care of masking non-editable orders.
2024-06-20 17:02:47 +10:00
David Cook
5b8f590520 Add spec for bug
You wouldn't believe how long it took me to figure out all the bits and pieces.
But now you don't have to!
2024-06-20 17:01:14 +10:00
David Cook
0cff734b86 Refactor spec
Linter said module was too big. I agreed, so made it smaller.

Best viewed with whitespace ignored.
2024-06-20 16:58:09 +10:00
Maikel Linke
98a29785a7 Load large on-screen reports on demand
Sending large reports via Cable Ready is unreliable. The events are
dropped at an unknown point and the report is never displayed to the
user. Instead we just send a link to the report via Cable Ready and
offer a button to load the report on screen.

This has the UX benefit of warning the user about the size as well.
Weaker devices can struggle rendering big HTML documents.
2024-06-20 11:32:33 +10:00
filipefurtad0
48a39f20e8 Adds regression spec for #12591 2024-06-19 19:30:42 -06:00
filipefurtad0
d1560ce15e Adds shared examples for bulk send invoices in PDF 2024-06-19 17:58:58 -06:00
David Cook
0e0a7d9d3e Merge pull request #12589 from cyrillefr/FixRailsRedundantActiveRecordAllMethodIssue
Fixes Rails/RedundantActiveRecordAllMethod issues
2024-06-20 09:40:56 +10:00
David Cook
66606eeeab Merge pull request #12584 from mkllnk/spec-refactor
Update spec for quotation mark replacement
2024-06-20 09:37:09 +10:00
David Cook
ef195876fa Merge pull request #12590 from abdellani/12452-improve-logging
update message logged when a product is deleted
2024-06-20 09:27:51 +10:00
Maikel
f933ae83c8 Merge pull request #12581 from dacook/cache-ci-yarn
Cache yarn global package data in CI
2024-06-20 09:01:05 +10:00
filipefurtad0
3380175c30 Restructures spec to accommodate shared example on bulk printing 2024-06-19 16:52:36 -06:00
Maikel
a9225543da Merge pull request #12554 from mkllnk/dfc-logo
Add enterprise logo and contact name to DFC API with standard attributes
2024-06-20 08:49:27 +10:00
filipefurtad0
59b6cdaf01 Extends tests to cases where ABN is an empty string
Removes pending and changes testcase

As discussed on Slack we will not fix old invoice model, for ref. see: https://openfoodnetwork.slack.com/archives/CG7NJ966B/p1718781775612759?thread_ts=1718249609.127149&cid=CG7NJ966B
2024-06-19 16:42:10 -06:00
Abdellani
0337464291 update logged message when a product is deleted 2024-06-19 15:15:04 +01:00
Abdellani
7a015bad96 populate destroyed_by on produce_v3_controller#destory 2024-06-19 15:14:32 +01:00
cyrillefr
654fda89ca Fix Rails/RedundantActiveRecordAllMethod issues
- Cop: Rails/RedundantActiveRecordAllMethod
- if receiver is an Active Record object, ".all" can be safely removed
- There are 2 allowed receivers that are listed in the
  styleguide file (those are defaults cf. cop documentation).
2024-06-19 14:32:21 +02:00
Maikel
ef7f1d335f Merge pull request #12587 from openfoodfoundation/revert-12536-stock-levels
Revert "Allow negative stock levels for on-demand products"
2024-06-19 15:46:54 +10:00
Maikel
8837f1caa2 Revert "Allow negative stock levels for on-demand products" 2024-06-19 15:18:57 +10:00
Maikel Linke
d5b77a4f80 Ensure all assets are compiled on test page visit 2024-06-19 11:45:28 +10:00
Maikel Linke
10f0eeef0b Update spec for quotation mark replacement
I'm not sure why, but the pre-compiling of assets triggered Rails to
render `style="..."` instead of `style='...'` in this case. But when
assets are compiled on-demand, we get the single quotes. So I changed
the spec to be agnostic of this detail. We actually just want to know
about the link and its href.
2024-06-19 11:40:09 +10:00
filipefurtad0
fe93e3ed97 Restructures spec
Separating into different contexts, with and without invoices feature enabled
2024-06-18 19:32:44 -06:00
Maikel
1e189207ed Merge pull request #12583 from dacook/add-attachment-translation
Add translation key for Spree::Image#attachment
2024-06-19 11:20:07 +10:00
Maikel
af2e7db155 Merge pull request #12582 from cyrillefr/FixRails_UnusedRenderContentIssues
Fixes offenses raised by Rails/UnusedRenderContent
2024-06-19 11:19:22 +10:00
Maikel
2188e96dfb Merge pull request #12575 from zanetagebka/RedundantInterpolationCops
Solve Rubocop RedundantInterpolation cops
2024-06-19 11:01:42 +10:00
David Cook
6ce442a42e Add translation key for Spree::Image#attachment 2024-06-19 09:49:15 +10:00
David Cook
2676891322 Merge pull request #12546 from dacook/buu/change-columns-11055
[BUU] Change product columns to be shown
2024-06-19 09:25:47 +10:00
Gaetan Craig-Riou
55ae1ba29f Merge pull request #12579 from openfoodfoundation/dependabot/npm_and_yarn/ws-6.2.3
chore(deps): bump ws from 6.2.2 to 6.2.3
2024-06-19 09:17:53 +10:00
David Cook
6fd3cada8c Fix classname 2024-06-19 09:13:53 +10:00
zanetagebka
b4bfcb7cc8 rubocop_todo recreate 2024-06-18 14:34:03 +02:00
zaneta.gebka
5cc33d1e0c Merge branch 'master' into RedundantInterpolationCops 2024-06-18 14:33:12 +02:00
zanetagebka
c6254a5b7e rubocop_todo recreate 2024-06-18 14:32:41 +02:00
cyrillefr
a155630b1c Fixes offenses raised by Rails/UnusedRenderContent
- in any cases, adding status: :no_content dropes content from response
- replaced by head :no_content (HTTP 204)
2024-06-18 13:33:19 +02:00
Rachel Arnould
0c6cc9b822 Merge pull request #12558 from cyrillefr/BUUUploadingCorruptProductImagesFailsSilently
BUU Display error messages when file not valid
2024-06-18 12:12:51 +02:00
David Cook
b8f8d6d042 Show/hide columns with CSS selectors instead
Well, that made the JS way simpler.

Adds a lot of classes though. Maybe we could do it based on column index instead, but this will do for now.
table.hide-col0 { td:nth-child(0) { display: none; } }
2024-06-18 15:35:53 +10:00
David Cook
4023dc2265 Cache yarn dependencies
I don't know what this actually does, because it doesn't install the dependencies, that still needs to happen next.
But surely any cache is a good thing?
2024-06-18 13:09:45 +10:00
dependabot[bot]
9543b597d0 chore(deps): bump ws from 6.2.2 to 6.2.3
Bumps [ws](https://github.com/websockets/ws) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/6.2.2...6.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 02:16:27 +00:00
Ahmed Ejaz
d2737bd8b0 11987: refactored code 2024-06-18 00:44:10 +05:00
Ahmed Ejaz
05fe7cd4b9 11987: add flash messages for product clone 2024-06-17 23:17:32 +05:00
Ahmed Ejaz
30528cab0f 11987: add slide-in animation for product clone 2024-06-17 22:58:36 +05:00
Ahmed Ejaz
539ffb1f35 11987: add product clone turbo partial 2024-06-17 21:59:26 +05:00
Ahmed Ejaz
df2bad9b8f 11987: add product_variant_row partial 2024-06-17 21:59:07 +05:00
Ahmed Ejaz
fa3b84b71f 11987: add clone action 2024-06-17 21:58:07 +05:00
Ahmed Ejaz
2ca4febf90 11987: add product clone route 2024-06-17 21:57:19 +05:00
cyrillefr
8616847793 Update button should change status on modified white label
- swap position between users & white label so that user's inner form
- does not interfere with white_label own position in outer form
- modified spec so that lowermost user is clickable
2024-06-17 17:11:19 +02:00
zanetagebka
dd7ae1330f Merge remote-tracking branch 'origin/RedundantInterpolationCops' into RedundantInterpolationCops
# Conflicts:
#	.rubocop_todo.yml
2024-06-17 15:40:03 +02:00
zanetagebka
93eda48138 recreate rubocop_todo 2024-06-17 15:39:29 +02:00
zanetagebka
ad92d4b129 Solve Rubocop RedundantInterpolation cops 2024-06-17 15:37:39 +02:00
zanetagebka
422965748f Solve Rubocop RedundantInterpolation cops 2024-06-17 15:32:25 +02:00
David Cook
aff50f66c4 Name and Producer columns grow to fill and other tweaks
If neither are visible, the first column on the left (eg image) will grow. But that's not a likely scenario.

Min-widths help manage sizes on smaller screens in Chrome.
The title for Inherits Properties gets cut off, but I think it's better than cutting off content.

Oh look, it fixed a spec too!
2024-06-17 12:27:06 +10:00
Gaetan Craig-Riou
cc45b9a0d3 Merge pull request #12557 from filipefurtad0/feature_parity_buu
Updating specs for BUU (feature parity)
2024-06-17 09:39:01 +10:00
cyrillefr
e07cf6c628 Do not use rescue as control flow 2024-06-16 23:38:38 +02:00
Maikel Linke
885f679eb1 Update all locales with the latest Transifex translations 2024-06-14 11:26:09 +10:00
Maikel
70ad8c80e1 Merge pull request #12568 from openfoodfoundation/revert-12458-12374-bulkk-sending-invoice-must-show-error-if-abn-require-and-not-set
Revert "[Invoices] Notify if any order cannot be invoiced on bulk invoice sending"
2024-06-14 11:23:52 +10:00
Maikel Linke
6a4a238378 Avoid flakiness with Capybara features
Capybara should be clever enought to scroll to an element. The old
method failed nine times in CI. I couldn't reproduce it locally but
let's see if this is better.
2024-06-14 10:47:35 +10:00
Maikel Linke
3c9f77dc2b Restore image display with absolute width
The `min-width` property is ignored by Firefox. And we don't need the
column to grow any bigger than the picture size anyway. An absolute
width is correct here.

The specification says:

> Applies to all elements but non-replaced inline elements, table rows,
> and row groups.

Firefox is totally right in ignoring it.
2024-06-14 09:48:55 +10:00
filipefurtad0
9cd1977cf8 Removes product creation test
This is already covered some lines above and on e22bec014b/spec/system/admin/products_spec.rb (L29)
2024-06-13 12:15:24 -06:00
filipefurtad0
9e5c21f7cd Corrects test case by adding expect
has_select? only returns true or false, it requires an assertion to assure the test is evaluated

Improves syntax
2024-06-13 12:06:34 -06:00
Filipe
df30c1af98 Revert "[Invoices] Notify if any order cannot be invoiced on bulk invoice sending" 2024-06-13 08:55:59 -06:00
Filipe
e22bec014b Merge pull request #12538 from cyrillefr/UpdateAndRecalculateFeesAfterOrderAdjustedInBackend
Update and Recalculate Fees after Order Adjusted in Backoffice
2024-06-13 08:53:43 -06:00
cyrillefr
0470efa502 Requested changes: turbo_stream for success
- must respond via turbo for create and update for success
- changed the spec accordingly
2024-06-13 15:22:54 +02:00
Maikel Linke
81a8ee5a31 Error messages don't block bottom of page clicks
The flash container was set to 100% width to center the messages on the
screen. The messages were covering only part of the screen though. So
the container beyond the actual message box was covering part of the
page, blocking clicks on elements.

A new way of centering the container with CSS translate means that the
width of the container can be the same as the content, not covering
anyting accidentally.

And moving the whole container up instead of only moving the contained
message allows us to interact with elements below the flash message as
well.
2024-06-13 11:20:54 +10:00
David Cook
5d0e241f8c Pending spec
Probably due to column tweaks, revealing different existing problems.
2024-06-13 11:12:31 +10:00
David Cook
b25d2ed32a Refactor to fix Metrics/AbcSize linter 2024-06-13 10:51:35 +10:00
David Cook
db27fc5a2b Remove dead code
I'm pretty sure that case doesn't happen, and besides there's no spec for it.
2024-06-13 10:51:00 +10:00
David Cook
a7ef243262 Enable all columns by default 2024-06-13 10:43:33 +10:00
David Cook
e7774d7a24 Lint fix
Sorry didn't have time to go back and rebase
2024-06-13 10:39:19 +10:00
David Cook
9ae4d347aa Update widths
For some reason, minimum widths work now (I swear they didn't before).

Hmm i would really like to shorten that stimulus controller name.
2024-06-13 10:36:28 +10:00
Maikel
2f173cb5c2 Merge pull request #12536 from mkllnk/stock-levels
Allow negative stock levels for on-demand products
2024-06-13 10:26:01 +10:00
David Cook
d5456a85b7 Reset cell colspans
This might be a little simpler if we move the 'new variant' button to col 0, and assume colspan cells always span the whole table.
2024-06-13 10:09:02 +10:00
David Cook
70fab2bcc1 Show/hide columns using display instead of visibility
Visibility was way simpler, but the table doesn't recalculate column widths until you use display:none;

This is now using the same method as the old products screen.
But we still need to update colspans..
2024-06-13 10:08:56 +10:00
David Cook
0190d6f31d Update dropdown styles
The v2 dropdown is used in various places, and now looks more in line with the new design.
2024-06-13 10:08:02 +10:00
David Cook
8c75e6baa8 Make column selector a dropdown
With some styling tweaks.
2024-06-13 10:07:55 +10:00
Maikel
5b95ef3bd9 Merge pull request #12525 from mkllnk/fdc-import
Add compatibility to the DFC product import for FDC (Shopify) API
2024-06-13 09:51:05 +10:00
Filipe
b1f7807150 Merge pull request #12458 from abdellani/12374-bulkk-sending-invoice-must-show-error-if-abn-require-and-not-set
notify the user if any order cannot be invoiced on bulk invoice sending
2024-06-12 16:48:51 -06:00
David Cook
9ba3b4f2d5 Fix up styles 2024-06-12 14:58:09 +10:00
David Cook
c6452efa92 Isolate styles for their intended use
This also improves the styling of the orders action dropdowns (on index and edit pages). It adds the new chevron icon, but needed some fiddling to make it look right.
2024-06-12 14:58:09 +10:00
David Cook
e516e7f335 Tweak checkbox dropdown styles
Use the new design for checkboxes and fix alignment.

Removes redesigned-input, which is a small regression on the old design, but I think it's acceptable bcause we're going to shut it down soon.
2024-06-12 14:58:09 +10:00
David Cook
ae66a85cc5 Show error messages
There shouldn't normally be errors, but I got one due to bad data during development, and this helped sort it out.
2024-06-12 14:58:09 +10:00
David Cook
d81c3cb489 Show/hide columns based on checkboxes
The cols could have been a lot cleaner with simple classnames, but I preferred to mark up in a way that reveals the purpose (otherwise they could be used for styling).

It doesn't seem to be any faster comparing querySelector('[data]') vs class, or iterating through the dom nodes.
2024-06-12 14:58:00 +10:00
David Cook
89cedc4287 Submit and render with Turbo Stream 2024-06-12 14:49:59 +10:00
David Cook
50469fe53e Use consistent translation keys
Ensures that the column table names match the names in the selector.

I thought 'there must be a way to set the translation scope once'. With Rails, there's usually a way. Thankfully this one was quite simple. Or is it too much magic.. 🧙

https://coderwall.com/p/dvme9q/set-scope-of-i18n-translations-in-rails-with-a-block
2024-06-12 14:49:59 +10:00
David Cook
68da9c9e04 Add form to save column preferences 2024-06-12 14:49:53 +10:00
Abdul Aziz Ali
e2aca63fff Rubocop. Change yield_self to then #11326 2024-06-12 08:52:43 +08:00
Abdul Aziz Ali
e537bda9b7 Display only per_item fees for oc incoming exchange #11326
Add per_item param to EnterpriseFee angular service and rails controller
2024-06-12 08:29:34 +08:00
cyrillefr
c5decfc58b Bugfix introduced by last commit
- fixed bug created by last commit
- refactored to new method respond_with_error
- need for 2 cases in request spec: html & turbo
2024-06-12 00:31:19 +02:00
filipefurtad0
10dbe77f71 Adds test to check permissions when updating a product 2024-06-11 14:51:28 -06:00
filipefurtad0
417fd21470 Adds test to check permissions when creating a new product 2024-06-11 14:51:28 -06:00
filipefurtad0
8e2419040e Adds test around inactive product 2024-06-11 14:51:28 -06:00
filipefurtad0
0392034850 Adds test case on enterprise permissions 2024-06-11 14:51:28 -06:00
filipefurtad0
c4c7f03b6b Addresses Gaetans review
Removes assertions from before block, as Delete case is tested elsewhere

Declares enterprise_user variable as a non-instance variable
2024-06-11 14:51:28 -06:00
filipefurtad0
3b0779d3a7 reverts changes on products_spec 2024-06-11 14:51:28 -06:00
filipefurtad0
2725232902 Adds tests around managing rights -> 'as an enterprise manager' 2024-06-11 14:51:28 -06:00
filipefurtad0
d5ae9b5bcc Adds a test to assure that the new product path works as expected
The funcitonaliy itself should not be affected by BUU, so the tests remain at ./spec/system/admin/products_spec.rb
2024-06-11 14:51:28 -06:00
filipefurtad0
50359695b5 Removes comment on issue #7180, now closed 2024-06-11 14:51:28 -06:00
filipefurtad0
a8ff696792 Removes deleting and cloning test from the legacy bulk product edit page
These are covered in the new BUU products page
2024-06-11 14:51:28 -06:00
filipefurtad0
ae600d4bd6 Removes test case on access rights to the products page
Moves test on access rights to authentication_spec

The test on accessing the products page as an anonymous does not seem specific to the products page (IMO); as we're testing access rights and the Devise gem (right?) we're probably better off having this test in a more suitable and general context, such as as a spec dealing with authentications and redirects
2024-06-11 14:51:28 -06:00
filipefurtad0
95092b3b06 Adds test case around shipped product
Removes test case around shipped product for legacy products page
2024-06-11 14:51:28 -06:00
cyrillefr
942990612b Requested changes
- refined the code and applied it to create method too
- modified one request spec to work with turbo_stream
- added  2 examples in system specs
2024-06-11 22:29:12 +02:00
Maikel
b24ca03e28 Merge pull request #12547 from zanetagebka/StringConcatenationCops
Fix cops StringConcatenation
2024-06-11 15:53:37 +10:00
Maikel Linke
a8f0ebc408 Update Rubocop todo list 2024-06-11 15:33:28 +10:00
zanetagebka
e06df7d658 - Refactor method to fix StringConcatenation cop 2024-06-11 15:17:45 +10:00
zanetagebka
e62bdf987d Fix test 2024-06-11 15:17:34 +10:00
zanetagebka
a2a670c848 Fix cops StringConcatenation 2024-06-11 15:17:32 +10:00
Gaetan Craig-Riou
a84c947d66 Merge pull request #12548 from cyrillefr/RedundantPresenceValidationOnBelongs_part_VII
Fix RedundantPresenceValidationOnBelongs on Spree::Order model
2024-06-11 10:37:11 +10:00
Gaetan Craig-Riou
8b31fa1ee5 Merge pull request #12541 from openfoodfoundation/dependabot/bundler/rubocop-1.64.1
chore(deps-dev): bump rubocop from 1.63.5 to 1.64.1
2024-06-11 10:30:28 +10:00
cyrillefr
01612843b4 BUU Display error messages when file not valid
- implements a turbo response in controller
- display error messages on modal -> able for user to re upload
- removes a pending in spec that now tests error message
2024-06-10 14:32:08 +02:00
Abdellani
b0862d26f6 update tests 2024-06-07 17:58:59 +01:00
Mohamed ABDELLANI
55365be299 fix linter issue 2024-06-07 17:53:45 +01:00
Mohamed ABDELLANI
586a7055d7 notify if any distributors doesn't have an abn 2024-06-07 17:53:44 +01:00
Maikel Linke
23c175ea59 Update all locales with the latest Transifex translations 2024-06-07 20:04:53 +10:00
Maikel Linke
4d4d9daf42 Add OFN contact name as DFC main contact person 2024-06-06 14:32:37 +10:00
Maikel Linke
5b7b8872b6 Use standard logo attribute on DFC API
Still keeping the custom OFN attribute for compatibility. Integrations
can be updated once this is live.
2024-06-06 10:59:25 +10:00
Filipe
e4c0523ad1 Merge pull request #12094 from cyrillefr/Reports-500Error-if-date-range-end-is-before-date-range-start-in-Enterprise-Fee-Summary
Force start date before end date with range mode flatpickr
2024-06-05 23:39:24 +02:00
Filipe
4f7d5adb53 Merge pull request #12427 from abdulazizali77/bugfix/11680-order-additional-tax
Display additional tax total in order - fixes #11680
2024-06-05 23:22:31 +02:00
Filipe
5872515a35 Merge pull request #12515 from isidzukuri/12503_skip_saving_of_unchanged_products
Do not commit to db unchanged products in bulk save
2024-06-05 18:01:59 +02:00
Filipe
f6de15e196 Merge pull request #12518 from anansilva/12448-sanitise-html-product-description
Sanitise HTML in product description [read-only]
2024-06-05 11:13:56 +02:00
David Cook
9c0f55ad22 Refactor 2024-06-05 09:45:30 +10:00
David Cook
d34e7dbf9f Specify accepted format on client side
I don't know why, but even though the client sends http accept header for json, rails is treating it as html. This was being overridden in the route, but I want to support multiple formats next. So, we explicitly choose the format by adding it to the request path.
2024-06-05 09:45:30 +10:00
David Cook
2d0f206e8a Prepare spec 2024-06-05 09:45:30 +10:00
Maikel Linke
d9f013abbc Style/SendWithLiteralMethodName
Use method call directly instead of `public_send` with fixed argument.

The cop is declared unsafe. I think that is because it can also replace
`send` but we replace only `public_send` here.
2024-06-05 09:38:21 +10:00
Maikel Linke
e6ac2f0d88 Style/SuperArguments
Call super without arguments and parentheses when the signature is identical.
2024-06-05 09:29:42 +10:00
Maikel
a37274920e Merge pull request #12540 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-geosearch-4.0.0
chore(deps): bump leaflet-geosearch from 3.11.1 to 4.0.0
2024-06-05 09:20:54 +10:00
cyrillefr
87f0be42e2 Fixes rubocop offenses on Spree::Order model
- removes old Rails 5 flag to not validating
belongs to association. Therefore optional fields must be marked so.
2024-06-04 18:17:12 +02:00
Filipe
db255b0d61 Merge pull request #12511 from chahmedejaz/task/12398-remove-reflex-from-product-variant-delete
Task/12398 remove reflex from product variant delete
2024-06-04 16:03:57 +02:00
David Cook
5a8eea398e Add comment 2024-06-04 10:24:40 +10:00
Filipe
dc994692a9 Merge pull request #12521 from dacook/buu/fix-blank-selects-12473
[BUU] Fix for blank dropdowns
2024-06-03 17:04:40 +02:00
cyrillefr
9495d62236 Requested changes on spec
- if possible no sleep in spec
2024-06-03 16:27:57 +02:00
Ana Nunes da Silva
205c7dafd2 Add div to sanitizer supported tags 2024-06-03 11:45:50 +01:00
Ana Nunes da Silva
5f54ea3877 Add safe trix tags to html sanitizer;
Use custom html sanitizer in product description.
2024-06-03 11:45:50 +01:00
Ana Nunes da Silva
a7dc243db9 Sanitize product description using rails default sanitizer 2024-06-03 11:45:49 +01:00
dependabot[bot]
3e1be86283 chore(deps-dev): bump rubocop from 1.63.5 to 1.64.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.5 to 1.64.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.63.5...v1.64.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 09:36:50 +00:00
dependabot[bot]
7fd8bdfaf1 chore(deps): bump leaflet-geosearch from 3.11.1 to 4.0.0
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 3.11.1 to 4.0.0.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v3.11.1...v4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 09:04:12 +00:00
Abdul Aziz Ali
369ea7cd16 Define tax_on_fees i8n key #11680 2024-06-03 13:04:36 +08:00
Gaetan Craig-Riou
d5dac4d890 Merge pull request #12535 from mkllnk/panel-beating
Restore enterprise edit form as manager
2024-06-03 15:00:30 +10:00
Abdul Aziz Ali
82f75e344f Display additional tax total in order #11680
Add new text key admin.order.edit.additional_tax_included_in_price
Add spec file for additional tax display. Add new trait for enterprise fee and calculator factory
2024-06-03 12:50:37 +08:00
Gaetan Craig-Riou
76a76c74e3 Merge pull request #12537 from openfoodfoundation/dependabot/bundler/devise-i18n-1.12.1
chore(deps): bump devise-i18n from 1.12.0 to 1.12.1
2024-06-03 12:55:10 +10:00
Gaetan Craig-Riou
5326b332ee Merge pull request #12529 from cyrillefr/RedundantPresenceValidationOnBelongs_part_VI
Fix Redundant presence validation on belongs part VI
2024-06-03 12:53:35 +10:00
David Cook
15d4f9565d Merge pull request #12519 from filipefurtad0/feature_parity_admin_style_v3
Extracts BUU from branch in #11645
2024-06-03 09:56:25 +10:00
David Cook
999bc13fb5 Remove redundant code 2024-06-03 09:36:25 +10:00
filipefurtad0
ce36fb45a0 Removes tests on edit action, under the Delete section 2024-06-02 16:00:44 +02:00
Filipe
706da37f15 Merge pull request #12507 from mkllnk/connected-apps-super-admin
Allow only enterprise managers to connect apps
2024-06-01 18:16:28 +02:00
cyrillefr
073dfc4ab6 Update and Recalculate Fees after Order Adjusted in Backend
- when update on adjustment in payment, recalculation of
  correct adjustment was not done
- the corresponding spec
- an id to easy the finding of the change of fees in the spec
2024-05-31 16:39:02 +02:00
Filipe
925d257dc5 Merge pull request #12495 from cillian/osm-registration-map
Get registration location map working with OSM
2024-05-31 14:32:05 +02:00
dependabot[bot]
29e4535dff chore(deps): bump devise-i18n from 1.12.0 to 1.12.1
Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.12.0 to 1.12.1.
- [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.12.0...v1.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-31 09:06:12 +00:00
Maikel Linke
ecbba894f7 Update stock levels of on-demand items
We weren't bothering with stock when items were on demand anyway. But we
want to track stock now so that we can backorder more when local stock
levels become negative.
2024-05-31 16:38:24 +10:00
Maikel Linke
d391faac64 Remove validation of positive stock when on demand
We weren't allowing negative stock to stop any bug from accidentally
drawing too much stock. But now we want to implement a backordering
logic that depends on negative stock levels to know how much is needed
to replenish stock levels.
2024-05-31 16:37:15 +10:00
Maikel Linke
f4a69b4664 Update locales 2024-05-31 12:16:18 +10:00
Maikel Linke
6a206b2a34 Move Connected Apps form out of Enterprise form
Nested forms are not valid HTML and we were submitting the wrong
authenticity token to Rails when updating the enterprise.

I inverted the hierarchy of the form and the panels. The menu and
tab-panel structure now sits above and the enterprise edit form is
nested within.

The current structure is not ideal but it's only a transition phase. I'm
expecting the page to get re-designed at some point and re-writen
without AngularJS.
2024-05-31 11:09:00 +10:00
Maikel
c0690d51e5 Merge pull request #12530 from openfoodfoundation/dependabot/bundler/rack-timeout-0.7.0
chore(deps): bump rack-timeout from 0.6.3 to 0.7.0
2024-05-31 09:42:30 +10:00
Maikel Linke
b15e136980 Remove obsolete rake task 2024-05-31 09:40:52 +10:00
Filipe
9eaf6c3b9c Merge pull request #12489 from mkllnk/available-locales
More realistic test env for translations
2024-05-30 15:00:36 +02:00
Filipe
a01dcaadcf Merge pull request #12506 from anansilva/12448-sanitise-html-enterprise-group
Sanitise HTML in long description of enterprise group [read-only]
2024-05-30 14:07:20 +02:00
Ahmed Ejaz
ce60a2a1e0 12398: add lazylookup for translations 2024-05-30 14:44:34 +05:00
Ahmed Ejaz
c2fa993432 12398: fix lint issues 2024-05-30 14:24:51 +05:00
Ahmed Ejaz
e932dabacb 12398: fix failing specs 2024-05-30 14:17:57 +05:00
filipefurtad0
3d1c94720a Applies existing helper to assert on rows with product name 2024-05-29 15:40:30 +01:00
filipefurtad0
2c081dc5f0 Assures the Edit button link is always displayed for the first variant,
although the delete button is not

Also should work for a second (non-default variant)

Removes unecessary test cases
2024-05-29 15:24:30 +01:00
dependabot[bot]
6dee200938 chore(deps): bump rack-timeout from 0.6.3 to 0.7.0
Bumps [rack-timeout](https://github.com/zombocom/rack-timeout) from 0.6.3 to 0.7.0.
- [Changelog](https://github.com/zombocom/rack-timeout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zombocom/rack-timeout/compare/v0.6.3...v0.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-29 09:35:40 +00:00
cyrillefr
4bb996e77f Fix RedundantPresenceValidationOnBelongs on some files (part VI)
- presence: true is redundant since Rails 5.0 BUT applies
   with new default config of
   belongs_to_required_by_default to true.
   Lots of files with belongs_to_required_by_default = false
   (backward compatibility).
   So: deleting this setting implies to adding optional: true
 - added 'NOT NULL' constraints so model constraints match
   with contraints on DB tables.
 - corresponding migration files to match AR Models &
   DB tables
 - rake tasks to check corrupt data (ie: NULL/nil in id fields)
   (previous commit)
 - updated the todo
2024-05-29 10:38:18 +02:00
cyrillefr
65fc144a46 Task to check missing foreing ids in spree_line_items 2024-05-29 10:32:21 +02:00
Gaetan Craig-Riou
c81e7f3b5d Update all locales with the latest Transifex translations 2024-05-29 14:19:54 +10:00
David Cook
f8f0a1bf58 Update comment
[skip ci]
2024-05-29 10:55:29 +10:00
Gaetan Craig-Riou
0e9b753bbc Merge pull request #12514 from cyrillefr/RedundantPresenceValidationOnBelongs_part_V
Fix redundant presence validation on belongs part V
2024-05-29 09:57:22 +10:00
Maikel
5f137c19a3 Merge pull request #12527 from openfoodfoundation/dependabot/bundler/view_component-3.12.1
chore(deps): bump view_component from 3.12.0 to 3.12.1
2024-05-29 08:47:53 +10:00
Ahmed Ejaz
a93ce4ea55 12398: append flash in the flashes container 2024-05-29 01:20:10 +05:00
Ahmed Ejaz
8ee833d2d8 12398: add flash.now 2024-05-29 01:19:50 +05:00
dependabot[bot]
8421c35e42 chore(deps): bump view_component from 3.12.0 to 3.12.1
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.12.0 to 3.12.1.
- [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.12.0...v3.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 09:59:37 +00:00
Maikel Linke
fae7a089ee Import products from the FDC (Shopify) API 2024-05-28 17:00:06 +10:00
Maikel Linke
a1992aed7c Handle string values for variant unit value
The FDC API is returning all values as strings. This should probably be
handled in the Connector long-term.
2024-05-28 17:00:06 +10:00
Maikel Linke
1f00662709 Add service to access FDC API
The current implementation of the FDC is not adhering to the DFC
standard. The difference is added in this compatibility layer.

This should be temporary code. The FDC dev team should change their API
in their next development cycle.
2024-05-28 17:00:06 +10:00
Maikel Linke
635234a889 Enable POSTing DFC data 2024-05-28 15:10:05 +10:00
Maikel Linke
c94bd92311 Simplify DFC request retry logic
Big thanks to David Cook for a much better pattern.
2024-05-28 15:10:05 +10:00
David Cook
90c71c6a1a Remove unused method 2024-05-28 12:00:07 +10:00
David Cook
35c2297d55 Detect changes in price
Price is actually an association with lots of custom methods to make it look like a field, and so changes were ignored.
Now this issue is fixed, perhaps it should be moved to a concern..

Note, there are other delegated fields: product name and description may be assigned from the variant. But there's no hooks to save the prroduct, so I didn't include it when checking for changes.
2024-05-28 12:00:04 +10:00
Gaetan Craig-Riou
6f5bcda421 Merge pull request #12523 from openfoodfoundation/dependabot/bundler/webmock-3.23.1
chore(deps-dev): bump webmock from 3.23.0 to 3.23.1
2024-05-28 10:02:00 +10:00
Ahmed Ejaz
fb07794cf3 12398: add slide-out animation 2024-05-28 01:10:30 +05:00
dependabot[bot]
f70dd58533 chore(deps-dev): bump webmock from 3.23.0 to 3.23.1
Bumps [webmock](https://github.com/bblimke/webmock) from 3.23.0 to 3.23.1.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.23.0...v3.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 09:50:38 +00:00
David Cook
4f287ffe05 When dropdown fields don't allow blank, but are blank, show as changed
They were already counted as changed by the javascript, but didn't have a 'changed' class to indicate it.
The reason they are 'changed', is because the dropdown has no blank option, and is forced to select the first item in the list.

This is purely to cover the case of invalid data, but should help a lot when debugging data issues. I don't think it's any less efficient, because the extra 'classList.toggle' calls don't do anything on unchanged fields.
2024-05-27 17:14:18 +10:00
David Cook
a405f17c0b Merge pull request #12510 from cyrillefr/RemoveUnusedMissingIdsCheckRakeTasks
Deleting some used one-shot rake tasks
2024-05-27 13:53:21 +10:00
David Cook
c71eb2d6b5 Remove duplicate assign 2024-05-27 10:34:35 +10:00
isidzukuri
7565825b61 Do not commit to db unchanged products is bulk save 2024-05-27 10:22:58 +10:00
Gaetan Craig-Riou
a64bf68d54 Merge pull request #12517 from openfoodfoundation/dependabot/bundler/knapsack_pro-7.4.0
chore(deps-dev): bump knapsack_pro from 7.2.0 to 7.4.0
2024-05-27 10:11:25 +10:00
filipefurtad0
c711387c5a Removes pending test case - covered in:
- Changing producers, category and tax category, done in 15ee4f6

- Updating Unit value, done in 49226ff

Removes comment about errors for empty variant_unit_name

I think this was done in commit f05d27b

Would you agree @dacook?
2024-05-26 17:40:28 +01:00
filipefurtad0
80a682e2f5 Updates tests around product and variant search
Adds test for a non-existing product

Adds test for variant search

Improves tests with multiple variants
2024-05-25 16:03:54 +01:00
filipefurtad0
fb0be1c7f3 Adds tests around using the page
- with no products

- column display dropdown

- listing products with several variants
2024-05-25 15:13:59 +01:00
Cillian O'Ruanaidh
b2f20db90a Remove redundant spec type offence from MapHelper spec 2024-05-24 11:43:00 +01:00
Cillian O'Ruanaidh
46fdeefa14 Make sure OSM map is not enabled in test environment in case it abuses OSM tile servers 2024-05-24 11:24:57 +01:00
Cillian O'Ruanaidh
850385a8d3 Add tests to make sure the appropriate map is loaded e.g. Open Street Map or Google 2024-05-24 11:14:43 +01:00
dependabot[bot]
9cd5f5aaa0 chore(deps-dev): bump knapsack_pro from 7.2.0 to 7.4.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 7.2.0 to 7.4.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v7.2.0...v7.4.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>
2024-05-24 09:13:06 +00:00
filipefurtad0
0bfa9fe997 Update all locales with the latest Transifex translations 2024-05-24 09:49:20 +01:00
cyrillefr
5bc6d16f34 Fix redundant presence validation on belongs part V
- presence: true is redundant since Rails 5.0 BUT applies
   with new default config of
   belongs_to_required_by_default to true.
   Lots of files with belongs_to_required_by_default = false
   (backward compatibility).
   So: deleting this setting implies to adding optional: true
2024-05-24 08:22:20 +02:00
Maikel
5b9e83745d Merge pull request #12508 from mkllnk/schema
Fixup db schema.rb
2024-05-24 08:19:31 +10:00
Maikel Linke
4e8896d655 Clearer naming of helper method 2024-05-24 08:17:08 +10:00
Ahmed Ejaz
6a59d06de1 remove delete methods from products reflex 2024-05-24 02:45:26 +05:00
Ahmed Ejaz
a0f290c09f 12398: add turbo stream to delete variants 2024-05-24 02:41:51 +05:00
Ahmed Ejaz
2bdf8e2853 rename destroy.turbo_stream to make it more generic 2024-05-24 02:40:34 +05:00
Ahmed Ejaz
039b0d80ee 12398: implement the destroy action for products 2024-05-24 01:55:21 +05:00
Ahmed Ejaz
48615f1325 12398: fix rebasing mistake 2024-05-24 01:20:08 +05:00
Ahmed Ejaz
6659ffe530 12398: update modal-link-controller to dynamically set
form action as per the selected product to delete
2024-05-24 01:16:14 +05:00
Ahmed Ejaz
53fb77eb23 12398: add destroy action with turbo stream 2024-05-24 01:16:14 +05:00
Ahmed Ejaz
e5b9e07874 12398: update confirm_modal to use button_to form submission 2024-05-24 01:16:14 +05:00
Ahmed Ejaz
e740fb8f6e 12398: add turbo-rails 2024-05-24 01:16:08 +05:00
Filipe
88baf5e1de Merge pull request #12496 from isidzukuri/12355-remove-unused-discourse
[12355] Remove discourse
2024-05-23 19:28:02 +01:00
Filipe
5455e68620 Merge pull request #12504 from dacook/buu/edit-image-turbo-12399
[BUU] Remove StimulusReflex from Image Edit
2024-05-23 17:32:59 +01:00
Rachel Arnould
163e9b6c9c Merge pull request #12505 from filipefurtad0/remove_deprecation
Removes deprecation strikethrough from tax report (by producer)
2024-05-23 17:14:28 +02:00
cyrillefr
8c0e20f53c Deleting some used one-shot rake taskes
- in relation to: Fix Rubocop Rails issues #11482
 - and  Require belongs_to associations by default #11297
 - and #12407 #12428 etc.
2024-05-23 10:07:56 +02:00
cyrillefr
3451be4043 Increasing the placeholder size 2024-05-23 09:13:18 +02:00
cyrillefr
396ea65bc6 Bugfix on spec 2024-05-23 09:13:18 +02:00
cyrillefr
72301f3ad8 Add Time in flatpickr control 2024-05-23 09:13:18 +02:00
cyrillefr
d27cd18f56 Force start date before end date with range mode flatpickr
- modify view to get a flatpickr component in range mode
  - modify spec to take into account range mode
2024-05-23 09:13:18 +02:00
Maikel Linke
b9c7be769a Fixup db schema.rb
It looks like I forgot to commit the latest change in 46cd60aa3c.
2024-05-23 15:51:43 +10:00
Maikel Linke
968456e5e0 Create special locale for test environment
So hopefully we'll notice if our fallback mechanism fails.
2024-05-23 15:10:24 +10:00
Maikel Linke
f14945c155 More realistic test env for translations
Most production servers don't use the source locale `en`. Even if the
default language is English, they use a local variant like `en_AU` or
`en_GB` to customise some of the translations.

However the environment is configured, the app should always fallback to
`en` if no other translation is available.
2024-05-23 15:08:11 +10:00
Maikel Linke
7b9577b547 Allow only enterprise managers to connect apps
Otherwise it doesn't work because non-managers, like super admins, are
not authorised to access enterprise data via the DFC API.
2024-05-23 13:44:47 +10:00
David Cook
e30dc1b05c Merge pull request #12493 from cyrillefr/RedundantPresenceValidationOnBelongs_part_IV
Fix RedundantPresenceValidationOnBelongs on two files
2024-05-23 13:09:17 +10:00
David Cook
55ac816a87 Show success message
Phew, that was really easy.
And now the existing feature spec still Just Works.
2024-05-23 11:55:56 +10:00
David Cook
05f0b93548 Use requestSubmit to allow JS events
Yay, now it works. Not sure the best way to show loading yet.
- currently the Turbo loading indicator shows which is better than nothing (blue bar at top)
- ideally we could show a small spinner over the image thumbnail. need to write some stimulus to hook into turbo lifecycle I guess.
- or we could activate the frame-level loading overlay. refactor loading_controller a bit so that it's applied on the container, then hopefully  we can just call  change->loading#showLoading. the turbo_stream response could dectivate it.
2024-05-23 11:55:33 +10:00
David Cook
665273ce2f [wip] Attempt to update edited image in-place with Turbo Stream
but it doesn't quite work.

Maybe we can force it with JS (https://www.writesoftwarewell.com/process-turbo-stream-javascript/)
2024-05-23 11:55:29 +10:00
David Cook
0e03ff6925 Merge branch 'master' into RedundantPresenceValidationOnBelongs_part_IV 2024-05-23 09:22:36 +10:00
Maikel
74cfa42461 Merge pull request #12465 from MrBowmanXD/mirror
Allow return or line break in shipping / payment method description
2024-05-23 09:10:13 +10:00
Maikel Linke
be79016753 Remove now obsolete check in rake task 2024-05-23 09:08:05 +10:00
Maikel
32eb9c5504 Merge pull request #12481 from mkllnk/connect-app-once
Avoid submitting duplicate Connected Apps
2024-05-23 08:50:34 +10:00
Manuel Gonçalves
2bc481d8f7 Merge branch 'master' into mirror 2024-05-22 23:35:45 +01:00
Ana Nunes da Silva
73218fab05 Sanitize read and write long description in enterprise group 2024-05-22 22:40:24 +01:00
Filipe
b4d4faafc0 Merge pull request #12472 from dacook/bump-stimulus_reflex-cable_ready
Bump stimulus_reflex to 3.5.1 and cable_ready to 5.0.5
2024-05-22 21:37:42 +01:00
Filipe
1130bf8cbe Merge pull request #12460 from mkllnk/enterprise-data-purge
Clean up unused enterprise fields
2024-05-22 21:29:54 +01:00
filipefurtad0
5ccecdd9ff Removes deprecation strikethrough from enterprise fees with tax report by producer 2024-05-22 20:38:11 +01:00
cyrillefr
46cd60aa3c Fix RedundantPresenceValidationOnBelongs on two files
- presence: true is redundant since Rails 5.0 BUT applies
       with new default config of
       belongs_to_required_by_default to true.
       Lots of files with belongs_to_required_by_default = false
       (backward compatibility).
       So: deleting this setting implies to adding optional: true
     - added 'NOT NULL' constraints so model constraints match
       with contraints on DB tables.
     - corresponding migration files to match AR Models &
       DB tables
     - rake tasks to check corrupt data (ie: NULL/nil in id fields)
     - updated the todo
2024-05-22 09:44:02 +02:00
David Cook
536b5608ab Show edit form for new images 2024-05-22 17:08:58 +10:00
David Cook
3fcc9ac1fa Move product image edit modal to Turbo Stream
Didn't even need to touch the controller, because data-turbo-stream tells it to render the turbo_stream format 

But you might notice that it doesn't redirect to the right return_url yet. Let's see if we can use more Turbo to avoid the page refresh..

TODO: also handle empty images
2024-05-22 17:08:58 +10:00
David Cook
b935a0e8d9 [add gem] turbo-rails
This gives us a nice 'turbo_stream' format helper.
2024-05-22 15:07:16 +10:00
Maikel
5fdea3e8ce Merge pull request #12502 from dacook/specs
Break up large spec files
2024-05-22 13:39:02 +10:00
Maikel
9d453a82ed Merge pull request #12494 from filipefurtad0/update_paypal_checkout_system_spec
Updates Paypal system spec to consider new checkout flow
2024-05-22 10:17:06 +10:00
David Cook
b2078c2906 Merge pull request #12486 from dacook/tax-category-12480
Show any tax category errors when saving variants
2024-05-22 09:30:19 +10:00
David Cook
5ff89a279c Use Spring to save on subsequent boot times
Each time we run a rails command, it can take some time to load up (I think it was 20s). We run two commands (db setup, then rspec), so the second one should be faster now.
2024-05-22 09:21:51 +10:00
David Cook
85165369a2 Move run runner over for system specs. 2024-05-22 09:21:51 +10:00
David Cook
1d11f8c85b Move bulk order actions to separate spec file
This was another large file, potentially causing a bottleneck.
All the order setup is duplicated from the other file which is a bit of shame, but I think it makes sense.
2024-05-22 09:20:12 +10:00
filipefurtad0
818c0306c6 Updates paypal feature spec to consider new checkout flow 2024-05-21 17:37:22 +01:00
David Cook
39f1eac300 Move invoices specs to the invoices spec file
The orders file is too big and causes a bottleneck for parallelising specs.

Maybe they should be merged with the above specs, but I'm not familiar enough to know for sure.
2024-05-21 16:43:17 +10:00
David Cook
f0f2754d7f Remove now-unused translation 2024-05-21 16:33:49 +10:00
isidzukuri
b9a0c1cc87 revert feature-template.md 2024-05-21 09:02:45 +03:00
isidzukuri
621a95e913 Remove discourse 2024-05-21 09:02:45 +03:00
David Cook
b729ec3428 Merge pull request #12490 from mkllnk/mail-spec
Move mail spec precompile assets for it
2024-05-21 09:51:46 +10:00
David Cook
c960e55437 Bump cable_ready and stimulus_reflex again
Sigh.
2024-05-20 15:51:55 +10:00
Manuel Gonçalves
1c0a6d1229 Reintroduced changes made in commit #12443 2024-05-20 03:55:49 +01:00
Gaetan Craig-Riou
943c21be34 Merge pull request #12487 from openfoodfoundation/dependabot/bundler/rexml-3.2.8
chore(deps): bump rexml from 3.2.6 to 3.2.8
2024-05-20 10:38:28 +10:00
David Cook
a9bf25244e Merge pull request #12457 from abdellani/12452-log-who-deleted-products 2024-05-20 10:37:32 +10:00
Cillian O'Ruanaidh
826d9eb36d Get registration location map working with OSM 2024-05-17 19:56:52 +01:00
Mohamed ABDELLANI
8ccb59a9ab included LogDestroyPerformer on product model 2024-05-17 15:42:39 +01:00
Maikel Linke
ac24725d6c Move mail spec precompile assets for it
Specs in `spec/lib` don't trigger asset compilation but this particular
spec uses a mailer and needs assets.
2024-05-17 14:35:08 +10:00
Maikel
100cba874d Merge pull request #12488 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.151.0
chore(deps): bump aws-sdk-s3 from 1.147.0 to 1.151.0
2024-05-17 11:44:36 +10:00
Maikel Linke
58e1dc7b9a Declare rexml as indirect dependency, not direct
Reverting 41d56ce98b:

> This was previously included in Ruby, and has now been extracted.
> It's used by activemerchant and selenium and possibly others,
> but those gems don't currently declare it as a dependency.

This has changed. It's now a dependency of:

* activemerchant
* rubocop [dev dep only]
2024-05-17 11:37:49 +10:00
dependabot[bot]
726c52e725 chore(deps): bump aws-sdk-s3 from 1.147.0 to 1.151.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.147.0 to 1.151.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>
2024-05-16 09:02:01 +00:00
dependabot[bot]
79741eac58 chore(deps): bump rexml from 3.2.6 to 3.2.8
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.6...v3.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-16 09:01:30 +00:00
David Cook
3a3dc9eea5 Update all locales with the latest Transifex translations 2024-05-16 16:17:30 +10:00
David Cook
e0c60aad48 Display red border around invalid selects
I developed this while going down a slightly different path. I tested it visually, but the case I tested doesn't exist. I'm confident it will work if we ever have an error on another select though.
2024-05-16 14:21:44 +10:00
David Cook
3e1e7d3a10 Show error messages and highlight for bulk editing
The validation message is on "tax_category", so labels and error messages can use that to show the error state.
But the select field has to be "tax_category_id" to work.
2024-05-16 14:19:58 +10:00
David Cook
412c110c65 Associate label with checkbox
Now you can click on the text to tick/untick the box. I've been wanting to do that for ages.
2024-05-16 10:37:22 +10:00
Maikel
f81b894d5c Merge pull request #12484 from openfoodfoundation/dependabot/bundler/roadie-rails-3.2.0
chore(deps): bump roadie-rails from 3.1.0 to 3.2.0
2024-05-16 08:18:27 +10:00
Maikel
dcc8556470 Merge pull request #12483 from openfoodfoundation/dependabot/bundler/omniauth-rails_csrf_protection-1.0.2
chore(deps): bump omniauth-rails_csrf_protection from 1.0.1 to 1.0.2
2024-05-16 08:16:47 +10:00
Maikel Linke
135128cf41 Remove obsolete Enterprise#next_collection_at
This was actually shown in one place and represents a user-facing
change. But you weren't able to edit the field which means that only
very old enterprises would have had this field set and were not able to
change it anymore.

I searched au-prod and found the following values in the database:

- "Friday 31st January"
- "From 4pm, Monday 30 September"
- "From 5pm-7pm Monday"
- "Saturday 27 April 12noon"
- "January 31st/February 1st"
- "Saturday 1st February"

They seem specific to a certain order cycle and have no value as
fallback any more. Seems safe to remove.
2024-05-16 07:57:02 +10:00
Maikel Linke
c981661fe0 Remove obsolete Enterprise#pickup_times 2024-05-16 07:57:02 +10:00
Maikel Linke
9464df8aae Remove obsolete Enterprise#distributor_info 2024-05-16 07:56:57 +10:00
Filipe
a854775afe Merge pull request #12470 from mkllnk/description-html-test
Sanitise HTML in long description of enterprise [read-only]
2024-05-15 20:52:30 +01:00
Filipe
b67eba2130 Merge pull request #12454 from arunguleria/12372-Add-MissingTranslations
12372-[Admin] Missing translations  page titles
2024-05-15 20:39:22 +01:00
Filipe
cb53419681 Merge pull request #12443 from MrBowmanXD/junior
Remove "ready for" info from shipping method description area at checkout #12395 (solved)
2024-05-15 20:10:58 +01:00
Filipe
b3ac6bed87 Merge pull request #12428 from cyrillefr/RedundantPresenceValidationOnBelongs_part_III
Fix RedundantPresenceValidationOnBelongs on two files
2024-05-15 18:21:52 +01:00
Filipe
59e04cc549 Merge pull request #12376 from cyrillefr/MakeShipOrderButtonWorksOnPageOrderDetails
Fix Ship Order menu choice not working
2024-05-15 17:57:25 +01:00
Filipe
39ce3163f2 Merge pull request #12441 from cyrillefr/DeleteButtonMissingBeforeSavingVariant
[BUU] Delete Button missing before saving variant
2024-05-15 17:56:13 +01:00
dependabot[bot]
f1a50313a0 chore(deps): bump roadie-rails from 3.1.0 to 3.2.0
Bumps [roadie-rails](https://github.com/Mange/roadie-rails) from 3.1.0 to 3.2.0.
- [Changelog](https://github.com/Mange/roadie-rails/blob/master/Changelog.md)
- [Commits](https://github.com/Mange/roadie-rails/compare/v3.1.0...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 09:12:50 +00:00
dependabot[bot]
53c706c6a2 chore(deps): bump omniauth-rails_csrf_protection from 1.0.1 to 1.0.2
Bumps [omniauth-rails_csrf_protection](https://github.com/cookpad/omniauth-rails_csrf_protection) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/cookpad/omniauth-rails_csrf_protection/releases)
- [Commits](https://github.com/cookpad/omniauth-rails_csrf_protection/compare/v1.0.1...v1.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 09:12:25 +00:00
Maikel Linke
45c164d5ae Avoid submitting duplicate connected apps
Simple Rails forms prevent double-clicking on submit already. Converting
the StimulusReflex interaction to a simple form submit to a controller
solves the race condition.

The UX is slightly worse because the whole page is reloaded instead
rendering only the connected app panel. But we can solve that when we
add more apps and want to activate them independently. By then, we may
have good patterns for working with Turbo.

Technically, the new buttons are a form within a form which is invalid
HTML, but it works.
2024-05-15 17:14:52 +10:00
Maikel
ae09124946 Merge pull request #12475 from openfoodfoundation/dependabot/bundler/knapsack_pro-7.2.0
chore(deps-dev): bump knapsack_pro from 7.1.0 to 7.2.0
2024-05-15 11:21:26 +10:00
Maikel
68f12ed7f0 Merge pull request #12464 from filipefurtad0/variant_overrides_spec_to_split_checkout
Updates tests on a regular checkout
2024-05-15 11:17:03 +10:00
Gaetan Craig-Riou
1fde91e6ff Update Webmock and VCR config as per Knapsack recommendation
See : https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md#720
2024-05-15 10:07:40 +10:00
Gaetan Craig-Riou
c94bec85d7 Merge pull request #12468 from openfoodfoundation/dependabot/bundler/nokogiri-1.16.5
chore(deps): bump nokogiri from 1.16.4 to 1.16.5
2024-05-15 09:59:29 +10:00
filipefurtad0
4e16eb9c6b Updates spec to split checkout 2024-05-14 12:19:23 +01:00
filipefurtad0
38fe36b246 Uptades tests on a regular checkout 2024-05-14 12:19:23 +01:00
dependabot[bot]
afbfc788b8 chore(deps-dev): bump knapsack_pro from 7.1.0 to 7.2.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 7.1.0 to 7.2.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v7.1.0...v7.2.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>
2024-05-14 11:01:59 +00:00
Manuel Gonçalves
50115bdef9 Changes to views/checkout/details.html.haml:line 98 and changes to view/checkout/payment.html.haml:line 32 2024-05-14 10:39:30 +01:00
David Cook
ba50e82036 Bump cable_ready and stimulus_reflex gems
I ran stimulus_reflex:install. It skipped over most things, but did add gem redis-session-store without explanation. It's mentioned in the [documentation](https://docs.stimulusreflex.com/hello-world/setup.html#session-storage), but I don't think it's relevant to us so I removed it again.
2024-05-14 14:55:32 +10:00
David Cook
08edff1a6f Bump cable_ready and stimulus_reflex packages
There wasn't a simple path to upgrade them separately. I think it's fine to do both at once.
2024-05-14 14:30:02 +10:00
David Cook
854091eb9c Bump stimulus_reflex_testing to latest
It contains a fix for stimulus_reflex 3.5.0-rc4, but hasn't been released yet.
https://github.com/podia/stimulus_reflex_testing/issues/21

Now the user reflex spec works, but the products spec needs another fix. But we plan to remove it soon anyway.
2024-05-14 14:23:20 +10:00
David Cook
792fecc3fd Disable StimulusReflex specs temporarily
Unfortunately the testing framework doesn't support the latest version of StimulusReflex.
This is a third party framework that doesn't seem to be maintained. Maybe we should convert these to ActionCable tests.
2024-05-14 13:54:55 +10:00
David Cook
1d93b6f049 chore(deps): bump gem stimulus_reflex from 3.5.0-rc3 to 3.5.0-rc4
Gem and package need to be in sync.
2024-05-14 13:54:55 +10:00
dependabot[bot]
d5564e5fd2 chore(deps): bump stimulus_reflex from 3.5.0-rc3 to 3.5.0-rc4
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.0-rc3 to 3.5.0-rc4.
- [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>
2024-05-14 13:54:55 +10:00
Maikel Linke
f089c0eff3 Keep HTML line breaks
They do appear in long_description on au_prod.
2024-05-14 12:40:58 +10:00
Maikel Linke
23a27c65be Sanitise existing HTML in Enterprise#long_description
We will add a migration to sanitise all existing descriptions but before
we do that destructive action, it's good to test this in a read-only
fashion first.
2024-05-14 12:25:58 +10:00
Maikel Linke
7b4a85f7ef Sanitise HTML in long description of enterprise
This happens only on assignment. We still need to migrate existing data.
2024-05-14 12:25:47 +10:00
Maikel
13e4d4beb6 Merge pull request #12467 from openfoodfoundation/dependabot/bundler/geocoder-1.8.3
chore(deps): bump geocoder from 1.8.2 to 1.8.3
2024-05-14 11:49:14 +10:00
Maikel
ee1537fa3f Merge pull request #12466 from openfoodfoundation/dependabot/bundler/dotenv-3.1.2
chore(deps): bump dotenv from 3.1.0 to 3.1.2
2024-05-14 11:48:28 +10:00
David Cook
00f6d01738 Remove errored variants
I found another case.
2024-05-14 11:27:04 +10:00
David Cook
da77994a89 Ignore disconnected form elements
When elements are removed from the DOM, they remain in the recordElements array. But we can simply ignore them.
We have to wait until after rails-nested-form:remove is completed before toggleFormChanged.

hmm It would be even better to remove them from the array..
2024-05-14 11:26:40 +10:00
David Cook
b45df8a723 Use built-in feature to delete new record row
I looked at the source code and found that we were missing one detail: data-new-record.
https://github.com/stimulus-components/stimulus-rails-nested-form/blob/master/src/index.ts#L32-L35

It's documented here, but it's easy to miss: https://www.stimulus-components.com/docs/stimulus-rails-nested-form/
2024-05-14 11:25:52 +10:00
cyrillefr
808f1c65f2 Requested changes on Delete Button missing
- Styling(in red) for the remove button/link in view

- A remove method to the bulk_form controller
    - removes elements from the Dom
    - removes changed elements from the binded Array in controller
    - so that menu that indicates changes disappear and blured elements
    - resume to non blurring state

- Added the corresponding specs
    - test with one, two variants
    - test with two different products
2024-05-14 11:25:22 +10:00
cyrillefr
36f3e4af02 Requested changes on Delete button missing
- cleaned haml/html
2024-05-14 11:25:22 +10:00
cyrillefr
9b10b73a65 Delete Button missing before saving variant
- used the remove option of stimulus-components/rails-nested-form lib
 - add the Remove option in the menu
 - the corresponding spec
 - the locale
2024-05-14 11:25:22 +10:00
dependabot[bot]
b2ecac27eb chore(deps): bump nokogiri from 1.16.4 to 1.16.5
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.4 to 1.16.5.
- [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.16.4...v1.16.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 23:48:01 +00:00
David Cook
1f91c2e4b5 Merge pull request #12417 from filipefurtad0/migrate_legacy_specs
Removes unused spec related to legacy checkout
2024-05-14 09:42:23 +10:00
Rachel Arnould
bd83977bf2 Merge pull request #12449 from chahmedejaz/feature/11058-change-products-order-by-name
Feature/11058 change products order by name
2024-05-13 15:29:33 +02:00
filipefurtad0
a1e2d3a93b Removes negative expect
Removes unused error message
2024-05-13 12:55:55 +01:00
David Cook
62fefd5d49 Implement required method
Most of the time this doesn't get called because source_required: false.
But sometimes it [does happen](https://app.bugsnag.com/yaycode/openfoodnetwork-uk/errors/66329690f4b6380007e8a4f8)

I have a feeling that source_required? could be moved to the superclass as payment_source_class.present?. But I don't know enough about this area of the system to try it...
2024-05-13 12:55:55 +01:00
filipefurtad0
ffdbd0d7d4 Reproduces Bugsnag error
For details see: https://app.bugsnag.com/open-food-network-canada-1/open-food-network-canada/errors/66314b2e78673c00073d2de9?filters[event.since]=30d&filters[error.status]=open&filters[search]=payment_source_class&event_id=66314b2e00e6e45d746f0000

Adds test case for Cash and Stripe payment methods

With no source
2024-05-13 12:55:55 +01:00
filipefurtad0
282acd256b Undoes changes: removes unecessary test 2024-05-13 12:55:55 +01:00
filipefurtad0
d520e3838c Removes unused spec related to legacy checkout
We can see on the respective controller spec, that having a Stripe SCA payment, with no source does not trigger the error 400, observed on the legacy checkout.
2024-05-13 12:55:52 +01:00
dependabot[bot]
fd01cc1667 chore(deps): bump geocoder from 1.8.2 to 1.8.3
Bumps [geocoder](https://github.com/alexreisner/geocoder) from 1.8.2 to 1.8.3.
- [Changelog](https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alexreisner/geocoder/compare/v1.8.2...v1.8.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 09:46:23 +00:00
dependabot[bot]
cacff92aeb chore(deps): bump dotenv from 3.1.0 to 3.1.2
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v3.1.0...v3.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 09:40:12 +00:00
Manuel Gonçalves
89f7c4e351 Intorduced the simple_format method to the payment method description 2024-05-13 10:34:24 +01:00
Gaetan Craig-Riou
1cc0089cb5 Merge pull request #12462 from openfoodfoundation/dependabot/bundler/i18n-1.14.5
chore(deps): bump i18n from 1.14.4 to 1.14.5
2024-05-13 10:35:50 +10:00
Gaetan Craig-Riou
0867f69d21 Merge pull request #12463 from openfoodfoundation/dependabot/bundler/wkhtmltopdf-binary-0.12.6.7
chore(deps): bump wkhtmltopdf-binary from 0.12.6.6 to 0.12.6.7
2024-05-13 10:09:55 +10:00
Gaetan Craig-Riou
c1088f79fe Merge pull request #12451 from mkllnk/rspec-config
Use recommended RSpec config
2024-05-13 09:56:49 +10:00
Manuel Gonçalves
f7561b428e Intorduced the simple_format method to the shipping method description 2024-05-10 15:49:33 +01:00
dependabot[bot]
900080e7bb chore(deps): bump wkhtmltopdf-binary from 0.12.6.6 to 0.12.6.7
Bumps [wkhtmltopdf-binary](https://github.com/zakird/wkhtmltopdf_binary_gem) from 0.12.6.6 to 0.12.6.7.
- [Release notes](https://github.com/zakird/wkhtmltopdf_binary_gem/releases)
- [Changelog](https://github.com/zakird/wkhtmltopdf_binary_gem/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zakird/wkhtmltopdf_binary_gem/compare/0.12.6.6...0.12.6.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 09:42:36 +00:00
dependabot[bot]
c8e94c6658 chore(deps): bump i18n from 1.14.4 to 1.14.5
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.4 to 1.14.5.
- [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.14.4...v1.14.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 09:41:51 +00:00
Maikel Linke
3e9ca641ce Update all locales with the latest Transifex translations 2024-05-10 10:18:08 +10:00
Maikel
5ed3129168 Merge pull request #12456 from openfoodfoundation/dependabot/bundler/rubocop-1.63.5
chore(deps-dev): bump rubocop from 1.63.2 to 1.63.5
2024-05-10 10:16:14 +10:00
Maikel
950b607a52 Merge pull request #12455 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.9.0
chore(deps): bump newrelic_rpm from 9.8.0 to 9.9.0
2024-05-10 10:14:48 +10:00
Ahmed Ejaz
881da0f9ac 11058: add get_all_input_values 2024-05-10 04:05:29 +05:00
Maikel Linke
bc27e4bbdd Re-instate spec which uses invalid mocking
I removed it because it needed a complete rewrite and I didn't think it
was valuable enough to do so. But now that I deactivated RSpecs
validating mocks again, this spec passes and we can do that work another
time.
2024-05-10 08:56:06 +10:00
Ahmed Ejaz
b5fe19cb7d 11058: add specs 2024-05-10 02:52:57 +05:00
Mohamed ABDELLANI
40b2361572 add LogDestroyPerformer concern to be included in models where we want log destroy action 2024-05-09 14:38:21 +01:00
dependabot[bot]
ae8f2bfdc4 chore(deps-dev): bump rubocop from 1.63.2 to 1.63.5
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.2 to 1.63.5.
- [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.63.2...v1.63.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-09 09:59:00 +00:00
dependabot[bot]
50ab72a818 chore(deps): bump newrelic_rpm from 9.8.0 to 9.9.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.8.0 to 9.9.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.8.0...9.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-09 09:56:24 +00:00
Arun Guleria
c84be2f396 12372-Add missing translation page titles 2024-05-09 15:12:03 +05:30
Maikel Linke
8362c4a7bd Detailed output when running only one spec file 2024-05-09 12:24:42 +10:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +10:00
Maikel Linke
9ca6519fb1 Recommended RSpec option: shared_context_metadata_behavior
One spec failed due to this new behaviour. Converting the shared
examples to simple blocks solved this. But the specs could probably be
written better now. I didn't invest this time.
2024-05-09 11:14:13 +10:00
Maikel Linke
6b2bb0bd32 Don't verify partial doubles because we can't fix all specs now 2024-05-09 11:14:13 +10:00
Maikel Linke
d6318b7194 Remove mocking of deleted Order methods 2024-05-09 11:14:13 +10:00
Maikel Linke
9320ed0559 And less stubbing is better.
[skip ci]
2024-05-09 11:14:13 +10:00
Maikel Linke
9c402fbdb2 Verify partial doubles
And look, we were stubbing deleted code.
2024-05-09 11:14:13 +10:00
Maikel Linke
a65189c43e Improve failure messages of chained expectations 2024-05-09 11:14:13 +10:00
David Cook
cec179333a Merge pull request #12447 from mkllnk/knapsack_pro-7.1.0
Knapsack pro 7.1.0
2024-05-09 10:30:30 +10:00
Manuel Gonçalves
110eeaf793 Removed the "ready for" information located in checkout/details
This provides the solution wanted and the best way to do it.
2024-05-09 10:14:37 +10:00
Maikel
a11b94ba4a Merge pull request #12450 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.29.2
chore(deps-dev): bump rubocop-rspec from 2.29.1 to 2.29.2
2024-05-09 09:17:36 +10:00
dependabot[bot]
10d0faa05e chore(deps-dev): bump rubocop-rspec from 2.29.1 to 2.29.2
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.29.1...v2.29.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-08 09:36:29 +00:00
Ahmed Ejaz
86f88792c2 11058: add sortable products by name 2024-05-08 12:56:41 +05:00
Maikel
337eae43a6 Merge pull request #12444 from openfoodfoundation/dependabot/bundler/multi-d8182a35ef
chore(deps): bump flipper, flipper-active_record and flipper-ui
2024-05-08 14:11:09 +10:00
Maikel Linke
5f07a7f390 Check for asset compilation before each spec file
The KnapsackPro queue mode can't predict which specs it will run. So we
need to check on each file (top-level describe block) which type of spec
it is and if we need to compile assets for it.

Old versions of KnapsackPro would execute the `before(:suite)` hooks on
every batch, but now it's only run once. With this change, we do the
same as before.
2024-05-08 13:36:41 +10:00
Maikel Linke
104357d5b9 Load spec helper on RSpec boot
Knapsack is replacing some of the RSpec logic, like running before-suite
and before-all hooks. Loading the spec helper early means that Knapsack
knows about the asset compilation hook when it loads the next batch of
specs.
2024-05-08 13:31:35 +10:00
dependabot[bot]
331f9be82a chore(deps-dev): bump knapsack_pro from 6.0.4 to 7.1.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.4 to 7.1.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.4...v7.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>
2024-05-08 10:38:19 +10:00
cyrillefr
6575ad738b Fix Ship Order Button: requested changes
- bypass rubocop class lines limit
2024-05-07 19:15:00 +02:00
cyrillefr
271d50e5ab Fix Ship Order Button: modal should close itself
- returns to the same processing for customer, invoices etc.
   that edit
 - need a bit of sleep in spec bc 2 tasks are asynchroneous
2024-05-07 19:15:00 +02:00
cyrillefr
34bb05e681 Fix 'Ship Order': integrating non regression spec
- removes the pending
 - add the click to go to the 'Order Details' page
   to check for the 'shipped' status
 - from enqueued to have_been_enqueued so the spec
   is flaky-free
2024-05-07 19:15:00 +02:00
cyrillefr
ba68f4b252 Fix 'Ship Order': requested changes
- deletes local variables in view
- factor logic in helper
2024-05-07 19:15:00 +02:00
cyrillefr
901c29c97b Fix Ship Order menu choice not working
- Front End ShipOrderComponent was missed for the menu to work
 - updated spec to test for a specific case
2024-05-07 19:15:00 +02:00
Rachel Arnould
907b154108 Merge pull request #12401 from chahmedejaz/task/11060-change-producer-category-tax-category
[BUU] Change Producer, Category and Tax Category
2024-05-07 15:10:14 +02:00
David Cook
7f40fd7adb Fix typo 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
b1f20ffc14 11060: create tomselect helper module 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f07900ca4a 11060: refactor specs to have better separation of concerns 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
269e69852c 11060: add style rule for the small gap 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c291ff88ff 11060: remove duplicated supplier_id 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
7e555b4fcb Update app/views/admin/products_v3/_product_row.html.haml
Co-authored-by: David Cook <david@redcliffs.net>
2024-05-07 14:59:14 +02:00
Ahmed Ejaz
3d60d84fc7 add wait for flaky specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
227b677e4d 11060: fix specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f386202ec2 11060: fix lint issues 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
15ee4f6619 11060: add specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c12d6ab7f0 11060: revert 33b947be00563b67ca36475f277ceceaf8c68378 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
da34e7b780 11060 - fix undefined method tax_category_options error in specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
aad48b4670 11060 - use SearchableDropdownComponent for categories or tax categories 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f6efd47af2 11060 - use SearchableDropdownComponent for producer names 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c153ff75f3 11060 - add searchable dropdown component 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
b577a81f48 11060 - add tax category field 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
5050c2e02b 11060 - remove producer name from variant 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
4360ddde03 11060 - add variant categories dropdown 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
ec4b920f8b 11060 - implement scenario 1 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
2fdaa8b9ec 11060 - implement the scenario 2 and 3 2024-05-07 14:59:14 +02:00
dependabot[bot]
8be8518bc4 chore(deps): bump flipper, flipper-active_record and flipper-ui
Bumps [flipper](https://github.com/flippercloud/flipper), [flipper-active_record](https://github.com/flippercloud/flipper) and [flipper-ui](https://github.com/flippercloud/flipper). These dependencies needed to be updated together.

Updates `flipper` from 1.2.2 to 1.3.0
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v1.2.2...v1.3.0)

Updates `flipper-active_record` from 1.2.2 to 1.3.0
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v1.2.2...v1.3.0)

Updates `flipper-ui` from 1.2.2 to 1.3.0
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v1.2.2...v1.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 09:59:45 +00:00
Maikel
dd4fe86e9f Merge pull request #12423 from filipefurtad0/legacy_checkout_migrate_checkout_spec
Updates checkout tests to cover for out of stock variant
2024-05-07 14:07:43 +10:00
Gaetan Craig-Riou
aaaa4a4873 Merge pull request #12438 from openfoodfoundation/dependabot/bundler/spring-4.2.1
chore(deps-dev): bump spring from 4.2.0 to 4.2.1
2024-05-07 11:41:18 +10:00
Gaetan Craig-Riou
05c9c7124b Merge pull request #12440 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.5
chore(deps): bump @floating-ui/dom from 1.6.4 to 1.6.5
2024-05-07 11:38:19 +10:00
David Cook
11507ba036 Merge pull request #12432 from mkllnk/migrate-n8n
Update links to n8n server
2024-05-07 09:31:26 +10:00
dependabot[bot]
b7b8efbc69 chore(deps): bump @floating-ui/dom from 1.6.4 to 1.6.5
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.4 to 1.6.5.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-05-06 09:50:09 +00:00
dependabot[bot]
ca5f196447 chore(deps-dev): bump spring from 4.2.0 to 4.2.1
Bumps [spring](https://github.com/rails/spring) from 4.2.0 to 4.2.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.2.0...v4.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 09:08:35 +00:00
David Cook
84da904bb2 Merge pull request #12430 from mkllnk/draft-release
Remove tag template from link to draft release
2024-05-06 17:05:22 +10:00
Gaetan Craig-Riou
aa359d22a5 Merge pull request #12435 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.1
chore(deps): bump trix from 2.1.0 to 2.1.1
2024-05-06 11:40:11 +10:00
Gaetan Craig-Riou
8ad25fdac5 Merge pull request #12433 from mkllnk/rubocop-config
Explicitely require all rubocop extensions
2024-05-06 11:39:17 +10:00
Gaetan Craig-Riou
c046d59911 Merge pull request #12418 from dacook/optimise-ci
Optimise CI
2024-05-06 11:05:28 +10:00
Gaetan Craig-Riou
f1f5e6d659 Merge pull request #12111 from openfoodfoundation/dependabot/bundler/flipper-and-flipper-active_record-and-flipper-ui-1.2.2
chore(deps): bump flipper, flipper-active_record and flipper-ui
2024-05-06 10:45:39 +10:00
dependabot[bot]
30f9f265c3 chore(deps): bump trix from 2.1.0 to 2.1.1
Bumps [trix](https://github.com/basecamp/trix) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.1.0...v2.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-03 09:53:27 +00:00
Maikel
0ddf8309c6 Merge pull request #12434 from openfoodfoundation/revert-12392-fix/duplicate-language-display-new-user-11513
Revert "Fix Duplicate Language Display on New User Creation"
2024-05-03 15:26:23 +10:00
Maikel
a75f3245a0 Revert "Fix Duplicate Language Display on New User Creation" 2024-05-03 15:07:47 +10:00
Maikel Linke
409492ce33 Explicitely require all rubocop extensions
I think that rspec-rails loaded the other extensions already but Rubocop
was suggesting these extensions to be loaded as well.

The alternative is to disable suggestions of new extensions but that
could hide new shiny tools when they become available.
2024-05-02 16:34:11 +10:00
Maikel Linke
b0a89372ab Update links to n8n server 2024-05-02 15:55:16 +10:00
Maikel Linke
03c35aaeaf Remove tag template from link to draft release
The release tag was pre-filled with `v` which was meant to help you type
the release number. But I observed multiple times now that an actual tag
named `v` was created. That tag can be quite annoying in the history.

So let's remove this tiny help to avoid mistakes. I personally use
`script/release/tag` which pre-fills the next tag already.

[skip ci]
2024-05-02 12:03:58 +10:00
Maikel Linke
2e004a026b Update all locales with the latest Transifex translations 2024-05-02 11:54:34 +10:00
Maikel Linke
ea0558c70e Replace Flipper's built-in test helper
It fails in CI and features are not seen as enabled. So we copy the
important part of the test helper into our code, which works.

It's probably about the point in time when the adapter is instantiated.
2024-05-02 11:23:30 +10:00
Mohamed ABDELLANI
75f343b42f Run rails generate flipper:update and rails db:migrate 2024-05-02 11:23:26 +10:00
dependabot[bot]
6b0de6e9e4 chore(deps): bump flipper, flipper-active_record and flipper-ui
Bumps [flipper](https://github.com/flippercloud/flipper), [flipper-active_record](https://github.com/flippercloud/flipper) and [flipper-ui](https://github.com/flippercloud/flipper). These dependencies needed to be updated together.

Updates `flipper` from 0.26.2 to 1.2.2
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v0.26.2...v1.2.2)

Updates `flipper-active_record` from 0.26.2 to 1.2.2
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v0.26.2...v1.2.2)

Updates `flipper-ui` from 0.26.2 to 1.2.2
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v0.26.2...v1.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 11:22:56 +10:00
cyrillefr
5e18038a68 Fix RedundantPresenceValidationOnBelongs on two files
- presence: true is redundant since Rails 5.0 BUT applies
   with new default config of
   belongs_to_required_by_default to true.
   Lots of files with belongs_to_required_by_default = false
   (backward compatibility).
   So: deleting this setting implies to adding optional: true
 - added 'NOT NULL' constraints so model constraints match
   with contraints on DB tables.
 - corresponding migration files to match AR Models &
   DB tables
 - rake tasks to check corrupt data (ie: NULL/nil in id fields)
 - updated the todo
2024-05-01 15:43:09 +02:00
Gaetan Craig-Riou
94e3eee793 Update all locales with the latest Transifex translations 2024-05-01 14:44:57 +10:00
Gaetan Craig-Riou
04f77b5791 Merge pull request #12414 from cyrillefr/RedundantPresenceValidationOnBelongs_part_II
Fix RedundantPresenceValidationOnBelongs on some files (part II)
2024-05-01 13:00:47 +10:00
David Cook
71b79417b5 Merge pull request #12421 from filipefurtad0/legacy_checkout_multilingual_spec
Updates multilingual spec to test checkout steps
2024-05-01 09:55:05 +10:00
filipefurtad0
0583888963 Removes legacy checkout spec
All test cases are covered within the respective checkout step specs
2024-04-30 14:23:33 +01:00
filipefurtad0
34bde1caa9 Reverts changes on checkout steps specs
This can be squashed with the first commit of this PR
2024-04-30 14:22:30 +01:00
filipefurtad0
729c5f01d4 Adds out of stock check as helper
As shared examoples, in guest_spec.rb
2024-04-30 14:18:23 +01:00
filipefurtad0
0f80aca675 Updates checkout tests
Adds out of stock check as helper
2024-04-30 12:23:39 +01:00
cyrillefr
521e24d7a6 Requested changes on Fix RedundantPresenceValidationOnBelongs II
- product id required
 - DB + AR model
2024-04-30 09:58:24 +02:00
Gaetan Craig-Riou
92e0c218c5 Merge pull request #12420 from openfoodfoundation/dependabot/npm_and_yarn/jquery-ui-1.13.3
chore(deps): bump jquery-ui from 1.13.2 to 1.13.3
2024-04-30 10:18:37 +10:00
Gaetan Craig-Riou
40e46283a5 Merge pull request #12419 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.4
chore(deps): bump @floating-ui/dom from 1.6.3 to 1.6.4
2024-04-30 10:16:36 +10:00
Gaetan Craig-Riou
49837c0665 Merge pull request #12416 from openfoodfoundation/dependabot/bundler/sidekiq-7.2.4
chore(deps): bump sidekiq from 7.2.2 to 7.2.4
2024-04-30 10:14:47 +10:00
filipefurtad0
fb5f31375a Adds localization test for checkout steps
As a logged user
2024-04-29 19:42:49 +01:00
filipefurtad0
1763c516ec Adds localization test for checkout as a guest 2024-04-29 17:44:42 +01:00
dependabot[bot]
2eebb1153b chore(deps): bump jquery-ui from 1.13.2 to 1.13.3
Bumps [jquery-ui](https://github.com/jquery/jquery-ui) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.13.2...1.13.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 09:31:41 +00:00
dependabot[bot]
e674a66bcf chore(deps): bump @floating-ui/dom from 1.6.3 to 1.6.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-04-29 09:31:21 +00:00
David Cook
7e951d4af2 Revert "Separate controllers requiring webpack for testing"
Arrgh it's not so simple.
It looks like both rspec and knapsack use glob for the pattern, so the pattern needs updating. Hmm that might not be too
 bad, but it makes it even less manageable.

Considering the system specs are a much bigger bottleneck, I'm going to avoid spending more time here.
2024-04-29 17:12:38 +10:00
David Cook
aeae16a1b4 Separate controllers requiring webpack for testing 2024-04-29 17:12:19 +10:00
David Cook
55ece0553c Revert. JS is still required for most specs
But models can still run without.

Half of the controller runs also succeeded, so we could potentially separate those ones out.
Hmm, yes only 7 of them. It would save 20s, or 16% of controller CI runtimesi which are 2min. let's try..
2024-04-29 17:02:09 +10:00
David Cook
1a55ae2035 Skip JS setup for non-JS tests
These tests don't run in the browser, therefore shouldn't need JavaScript at all.
2024-04-29 17:02:09 +10:00
David Cook
ce36b81f15 Run multiple rake tasks in one process
It saves the second unnecessary Rails boot-up (multiple seconds).
2024-04-29 17:02:09 +10:00
David Cook
6eaf0a00a0 Revert. Rails is required for the Karma rake script
But surely we could convert it to a shell or node script. Maybe next time..
2024-04-29 17:01:22 +10:00
David Cook
7c53c25aaf Skip Ruby setup for non-Ruby tests
Conversely, these tests are JS-only.
2024-04-29 17:00:56 +10:00
Gaetan Craig-Riou
442991ac7b Merge pull request #12413 from rioug/check-invalid-address-task
Add task to check for invalid address
2024-04-29 10:13:30 +10:00
David Cook
1dc5a1ab56 Merge pull request #12410 from mkllnk/dfc-website-url
Publish enterprise website with https://
2024-04-29 10:12:16 +10:00
David Cook
2e10948fff Merge pull request #12391 from kellyzhangg/8633-payments-controller-test
Add payments controller test
2024-04-29 10:09:03 +10:00
Gaetan Craig-Riou
a977bd633b Move rake file to the correct folder 2024-04-29 09:58:13 +10:00
dependabot[bot]
b0011caafa chore(deps): bump sidekiq from 7.2.2 to 7.2.4
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.2.2 to 7.2.4.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.2.2...v7.2.4)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-26 22:22:35 +00:00
kellyzhangg
f1f60a0a00 Merge branch 'master' into 8633-payments-controller-test 2024-04-25 12:24:31 -04:00
Kelly
ccf3d5873a style fix - remove type 2024-04-25 12:24:19 -04:00
Kelly
6b5be213a3 changed location - now in requests folder 2024-04-25 12:10:32 -04:00
filipefurtad0
57f148564c Update all locales with the latest Transifex translations 2024-04-25 16:32:56 +01:00
Filipe
e99b072442 Merge pull request #12313 from anthonyms/11482-fix-rubocop-rails-issue-has_many
Fix Rubocop Rails: Rails/HasManyOrHasOneDependent
2024-04-25 16:24:47 +01:00
Filipe
f269584b8e Merge pull request #12392 from sergioosouzaa/fix/duplicate-language-display-new-user-11513
Fix Duplicate Language Display on New User Creation
2024-04-25 16:01:09 +01:00
Filipe
4ff832693c Merge pull request #12412 from dacook/buu/fix-non-admin-saving-12403
[BUU] Fix non-admin saving
2024-04-25 12:37:11 +01:00
Rachel Arnould
09354dc80e Merge pull request #12219 from abdellani/prevent-generate-invoices-when-distributor-cannot-invoice
prevent generating invoices when order's distributor can't generate invoices
2024-04-25 12:18:49 +02:00
cyrillefr
43005672a9 Fix RedundantPresenceValidationOnBelongs on other files
- presence: true is redundant since Rails 5.0 BUT applies
   with new default config of
   belongs_to_required_by_default to true.
   Lots of files with belongs_to_required_by_default = false
   (backward compatibility).
   So: deleting this setting implies to adding optional: true
 - added 'NOT NULL' constraints so model constraints match
   with contraints on DB tables.
 - corresponding migration files to match AR Models &
   DB tables
 - rake tasks to check corrupt data (ie: NULL/nil in id fields)
 - updated the todo
2024-04-24 15:19:17 +02:00
Gaetan Craig-Riou
77a8e4d29a Print code to run to delete address if needed 2024-04-24 16:49:47 +10:00
Gaetan Craig-Riou
9583bef0d8 Per review, handle case where a model can be linked to invalid addresses 2024-04-24 16:42:13 +10:00
Gaetan Craig-Riou
040e09414b Add ofn:data:check_invalid_address_used task
It checks for invalid addresses, ie address with address1, city, phone
or country_id set to null.
It will return:
- a list of invalid address in use (associated to another
model)
- a list of invalid address not in use, ie that we can delete
2024-04-24 15:34:33 +10:00
Kelly
eda97ef3f7 fixed path 2024-04-23 22:18:45 -04:00
kellyzhangg
00742f6f0b Merge branch 'openfoodfoundation:master' into 8633-payments-controller-test 2024-04-23 22:15:58 -04:00
Kelly
64a1fd9270 removed changes to routes.rb 2024-04-23 22:15:43 -04:00
David Cook
b846d0f517 Add ability to bulk update products for product managers
I forgot to do this in #12328 [BUU] Remove Stimulus Reflex from Products screen
2024-04-24 10:56:30 +10:00
Maikel
f083e851c0 Merge pull request #12408 from filipefurtad0/stripe_registered_customer
[VCR/Stripe] Tests payment intents for offline payments
2024-04-24 10:14:28 +10:00
Maikel Linke
2acda6af74 Ignore empty string websites on DFC API 2024-04-24 09:19:11 +10:00
Kelly
c64519ae2f rewrote payments_controller_spec to be of request spec format 2024-04-23 12:02:32 -04:00
filipefurtad0
85e3d5d858 Tests payment intents for offline payments
Moves let variables outside shared examples block

Re-records cassettes
2024-04-23 12:24:00 +01:00
Anthony Musyoki
0d03cdf815 Fix Rubocop: Delete dependent stock_movements 2024-04-23 13:13:26 +03:00
Anthony Musyoki
434afb73cd Fix Rubocop: Update handling of enterprise associations 2024-04-23 12:40:58 +03:00
Anthony Musyoki
c2cbe4f0bf Fix Rubocop: Hard delete paranoid associations
As much as the associated models act_as_paranoid, it
doesnt make sense to keep them around after deleting the enterprise
2024-04-23 12:31:43 +03:00
Anthony Musyoki
645cb10864 Fix Rubocop: Do not delete Spree::Variant associations
Spree::Variant acts_as_paranoid and is thus not hard deleted
2024-04-23 12:31:43 +03:00
Anthony Musyoki
4140257fa1 Fix Rubocop: Do not delete dependent adjustments
TaxRate acts_as_paranoid iand is thus not hard_deleted
2024-04-23 12:31:43 +03:00
Anthony Musyoki
4f851bbe1f Fix Rubocop: Do not delete dependent stock_movements 2024-04-23 12:31:43 +03:00
Anthony Musyoki
1ec453df4d Fix Rubocop issue: Do not delete addresses having shipments
The reasoning is that we should not delete an address that has
ever received a shipment
2024-04-23 12:31:43 +03:00
Anthony Musyoki
5559816e12 Fix Rubocop Rails issue: Rails/HasManyOrHasOneDependent 2024-04-23 12:31:41 +03:00
Maikel Linke
5a9b9a065b DRY website fix 2024-04-23 16:49:45 +10:00
David Cook
574e8f0135 Show error message when turbo:frame-missing
Instead of replacing frame contents with unhelpful text 'Content missing'.
2024-04-23 16:48:52 +10:00
David Cook
b5cdee3d65 Rename translation key
So that it can be used for more general purposes.
2024-04-23 16:48:52 +10:00
David Cook
d0f683d279 Spec for bug 2024-04-23 16:48:52 +10:00
kellyzhangg
d875ea044d Merge branch 'openfoodfoundation:master' into 8633-payments-controller-test 2024-04-23 02:41:19 -04:00
Maikel Linke
64d633c64e Publish enterprise website with https:// 2024-04-23 13:50:46 +10:00
Gaetan Craig-Riou
8d166ed3e1 Merge pull request #12407 from cyrillefr/RedundantPresenceValidationOnBelongs_part_I
Fix RedundantPresenceValidationOnBelongs on some files
2024-04-23 10:29:48 +10:00
cyrillefr
9ae064a24f Fix RedundantPresenceValidationOnBelongs on some files
- presence: true is redundant since Rails 5.0 BUT applies
   with new default config of
   belongs_to_required_by_default to true
   Lots of files with belongs_to_required_by_default = false
   (backward compatibility)
   So: deleting this setting implies to adding optional: true
 - added 'NOT NULL' constraints so model constraints match
   with contraints on DB tables.
 - updated the todo
2024-04-22 17:36:47 +02:00
Mohamed ABDELLANI
7aad4ad652 Merge branch 'master' into prevent-generate-invoices-when-distributor-cannot-invoice 2024-04-22 10:55:39 +01:00
David Cook
4a3f4136df Merge pull request #12393 from mkllnk/lint-rubocop
Test all files with Rubocop, not just added code in the diff
2024-04-22 15:07:54 +10:00
Konrad
8e7f4ff908 Merge pull request #12333 from chahmedejaz/bugfix/12294-wrong-tax-category-display
[BUU] Fix Wrong Tax Category Display
2024-04-20 11:42:05 +02:00
Rachel Arnould
2090bc1b47 Merge pull request #12361 from dacook/buu/add-turbo
[BUU] Add Turbo for dynamic page loading
2024-04-19 11:44:17 +02:00
David Cook
38a4bfe98b Update all locales with the latest Transifex translations 2024-04-18 16:54:16 +10:00
David Cook
5b043574a2 Merge pull request #12384 from mkllnk/mail-config
Don't pass invalid auth method "None" to net-smtp
2024-04-18 16:51:51 +10:00
David Cook
e59237ef19 Merge pull request #12382 from mkllnk/dependabot-config
Allow Dependabot to open as many PRs as it likes
2024-04-18 11:06:05 +10:00
David Cook
053a88d252 Merge pull request #12363 from cyrillefr/FixRailsWhereExistsOffenses
Fix Rails/WhereExists rubocop offenses
2024-04-18 10:55:04 +10:00
Maikel
e7856d86f4 Merge pull request #12397 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.147.0
chore(deps): bump aws-sdk-s3 from 1.146.1 to 1.147.0
2024-04-18 09:08:24 +10:00
Maikel
09ece4b35e Merge pull request #12396 from openfoodfoundation/dependabot/bundler/stripe-11.1.0
chore(deps): bump stripe from 11.0.0 to 11.1.0
2024-04-18 08:56:59 +10:00
Sergio Souza
9477725997 update tests for avaliable_locales 2024-04-18 08:55:34 +10:00
Sergio Souza
51d90e782b remove the source_locale from the avaliable_locales method 2024-04-18 08:55:34 +10:00
Maikel Linke
c4e92e7d8f Update Stripe API recordings for new version 2024-04-18 08:42:18 +10:00
Maikel
142fe542c0 Merge pull request #12370 from filipefurtad0/regression_spec_ship_order_button
Adds regression spec as shared example, for order edit subsections
2024-04-18 08:31:37 +10:00
filipefurtad0
574297343f Sets pending examples for order edit page subsections 2024-04-17 14:27:56 +01:00
dependabot[bot]
302cde6f4e chore(deps): bump aws-sdk-s3 from 1.146.1 to 1.147.0
---
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>
2024-04-17 09:43:41 +00:00
dependabot[bot]
5a2f791d58 chore(deps): bump stripe from 11.0.0 to 11.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 11.0.0 to 11.1.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/v11.0.0...v11.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-17 09:43:21 +00:00
cyrillefr
456905e69f Fix Rails/WhereExists rubocop offenses
- after discussion, dev team decided not to follow
- this particular rule, but rather to enforce the where().exists? rule
  instead.
- cf. https://github.com/openfoodfoundation/openfoodnetwork/pull/12363
2024-04-17 10:37:18 +02:00
David Cook
a2255e62d4 Revert "Use POST for action that creates data,"
I'm not happy about it, but we need it to be a standard link to make it work. I assume it's because BulkFormController.preventLeavingChangedForm() isn't smart enough.

This reverts commit 91f0a80189.
2024-04-17 17:36:05 +10:00
David Cook
11541c9270 Disable turbo for those links
Now we can warn that "Changes that you made might not be saved"
2024-04-17 17:35:17 +10:00
David Cook
8f9d8b5fb8 Revert "Prevent frame navigations when form is changed"
It was too hacky and had issues. Let's just disable Turbo for those links for now.

This reverts commit 1d1169b478.
2024-04-17 17:26:49 +10:00
David Cook
91f0a80189 Use POST for action that creates data,
duh.

Turbo cleverly pre-fetches GET requests to save loading time. But that resulted in dozens of unwanted clones.
Attack of the clones!!!

I checked: even though this route predates the new products screen, it wasn't being used anywhere else. The old products screen uses the API instead.
2024-04-17 15:18:13 +10:00
David Cook
1d1169b478 Prevent frame navigations when form is changed
This is a hacky hack, filling a gap in Turbo.
2024-04-17 15:17:59 +10:00
David Cook
06f67488a9 Open links outside of frame by default
This page is big enough and it's hard to see how everything works. So links work like links by default (eg edit and clone). Other links and forms are special, and will reload only the frame: this is now explicit in the code.
2024-04-17 15:17:59 +10:00
David Cook
acc72514de Fix spec 2024-04-17 15:17:59 +10:00
David Cook
1abb068a00 Enable morphing?
I can't really prove if this is working, but it seems to be rendering slightly faster.
2024-04-17 15:17:59 +10:00
David Cook
508ebab75b Add loading spinner to turbo frame
That was surprisingly easy. Note that it's still shared with SR.

It hides a bit early though: when the web response returns, but before the DOM has been rendered. Something to optimise in the future.
2024-04-17 15:17:59 +10:00
David Cook
6c9a47854a Submit forms with Turbo Frame
Now the filters, pagination and product forms submit and load within the frame, and work perfectly, yay!

It's still building the whole page on the server.. I think we need Turbo Streams if we want to send back just a partial.
2024-04-17 15:17:59 +10:00
David Cook
9d6ef2f730 Avoid style issues with Turbo
But the filter dropdowns still get duplicated. So weird..
2024-04-17 15:17:59 +10:00
David Cook
f17b0d176b Enable Turbo Drive on products page
Forms now load without a full page rebuild.
This is not really faster, but a bit smoother because it avoids a full page render in the browser. The default Turbo loading indicator is shown (blue line at top).

But the bulk_update form breaks... hmm
On to the next level!
2024-04-17 15:17:59 +10:00
David Cook
72ce3a01a9 Ensure search terms and filters are retained when saving 2024-04-17 15:17:59 +10:00
Maikel Linke
eb791bed27 Test all files with Rubocop, not just added code in the diff 2024-04-17 09:44:43 +10:00
Maikel
b624965883 Merge pull request #12387 from openfoodfoundation/dependabot/bundler/redis-5.2.0
chore(deps): bump redis from 5.1.0 to 5.2.0
2024-04-17 09:06:23 +10:00
Maikel
f5b6a14aba Merge pull request #12386 from openfoodfoundation/dependabot/bundler/rubocop-1.63.2
chore(deps-dev): bump rubocop from 1.63.1 to 1.63.2
2024-04-17 09:05:02 +10:00
Maikel
a27999f224 Merge pull request #12385 from openfoodfoundation/dependabot/bundler/rspec-sql-0.0.2
chore(deps-dev): bump rspec-sql from 0.0.1 to 0.0.2
2024-04-17 08:24:03 +10:00
kellyzhangg
adad631efa Merge branch 'openfoodfoundation:master' into 8633-payments-controller-test 2024-04-16 15:34:21 -04:00
Kelly
954125b7f6 style improvements after running rubocop 2024-04-16 15:30:21 -04:00
Kelly
1ad544820c completed payments_controller_spec testing 2024-04-16 15:21:49 -04:00
Kelly
7d814e739d added objects necessary for testing - user, order, payment 2024-04-16 15:09:21 -04:00
Kelly
d163080115 added test for if user isn't logged in for payments_controller 2024-04-16 14:52:17 -04:00
Konrad
31c1eee593 Merge pull request #11958 from filipefurtad0/adds_missing_keys_from_i18n_tasks_output
Adds missing keys from i18n tasks output
2024-04-16 13:14:29 +02:00
dependabot[bot]
ef3a41203d chore(deps): bump redis from 5.1.0 to 5.2.0
Bumps [redis](https://github.com/redis/redis-rb) from 5.1.0 to 5.2.0.
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v5.1.0...v5.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 09:58:51 +00:00
dependabot[bot]
f6f0622e9b chore(deps-dev): bump rubocop from 1.63.1 to 1.63.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.1 to 1.63.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.63.1...v1.63.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 09:54:23 +00:00
dependabot[bot]
0c319bea2c chore(deps-dev): bump rspec-sql from 0.0.1 to 0.0.2
Bumps [rspec-sql](https://github.com/datafoodconsortium/connector-ruby) from 0.0.1 to 0.0.2.
- [Release notes](https://github.com/datafoodconsortium/connector-ruby/releases)
- [Changelog](https://github.com/datafoodconsortium/connector-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/datafoodconsortium/connector-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 09:53:18 +00:00
Maikel Linke
5cd53e0b5e Clean up MailSettings spec
Best viewed with whitespace ignored.
2024-04-16 16:44:12 +10:00
Maikel Linke
1fc4270613 Remove indirection from MailSettings
We can simply merge the option hashes now because they are not
conditional anymore. Well, the magic `presence` method does the
conditional logic for us now.
2024-04-16 16:40:52 +10:00
Maikel Linke
7e2fcede61 Further simplify mail options logic
We were always adding this option anyway, so why not declare it to start
with?
2024-04-16 16:40:52 +10:00
Maikel Linke
a41019fbff Simplify SMTP auth method selection
Instead of using the auth method name, let's just not supply username
and password when we don't want to authenticate. The two affected
servers AU and CA don't have credentials set anyway. This is compatible.

The specs needed changing though.
2024-04-16 16:40:50 +10:00
Maikel Linke
d6f2a531aa Don't pass invalid auth method "None" to net-smtp
It's our magic word to not pass username and password on.
2024-04-16 16:18:49 +10:00
Maikel Linke
9d09d5aff1 Allow Dependabot to open as many PRs as it likes 2024-04-16 11:19:27 +10:00
David Cook
2adb69edb0 Merge pull request #12334 from dacook/buu/optimise
[BUU] Optimisation
2024-04-16 09:53:53 +10:00
Gaetan Craig-Riou
e33da30263 Merge pull request #12379 from openfoodfoundation/dependabot/bundler/foreman-0.88.1
chore(deps-dev): bump foreman from 0.87.2 to 0.88.1
2024-04-16 09:38:37 +10:00
Gaetan Craig-Riou
c30292890d Merge pull request #12378 from openfoodfoundation/dependabot/bundler/mini_portile2-2.8.6
chore(deps): bump mini_portile2 from 2.8.5 to 2.8.6
2024-04-16 09:33:05 +10:00
Gaetan Craig-Riou
77b9f506ab Merge pull request #12377 from openfoodfoundation/dependabot/bundler/view_component-3.12.0
chore(deps): bump view_component from 3.11.0 to 3.12.0
2024-04-16 09:32:19 +10:00
Gaetan Craig-Riou
5371258125 Merge pull request #12366 from openfoodfoundation/dependabot/bundler/stripe-11.0.0
chore(deps): bump stripe from 10.15.0 to 11.0.0
2024-04-16 09:16:49 +10:00
filipefurtad0
91769574e3 Removes unecessary key your_cart_is_empty 2024-04-15 15:16:30 +01:00
filipefurtad0
bfd4b730f2 Combines keys taxon_edit and taxonomy_edit 2024-04-15 15:07:52 +01:00
filipefurtad0
d2c2e20822 Removes #connect.pane files
_learn and _connect seem to appear at the top of the homepage (and not as pane). Also, there was some hard coded URLs which seems not to be used, as the translations in the Configuration/Content section seem to work correctly.
2024-04-15 15:05:53 +01:00
filipefurtad0
269811584b Updates file to latest state
Deletes file

We only needed this file for tracking progress, during review, we should not keep it in master I think
2024-04-15 15:05:53 +01:00
filipefurtad0
83c74bcc77 Updates existing translation on master
Done to prevent/fix merge conflicts
2024-04-15 15:05:53 +01:00
filipefurtad0
f08c1ca51d Updates missing translations file 2024-04-15 15:05:53 +01:00
filipefurtad0
4a7cb601e6 Added missing keys
Adds string to missing key

To be squashed
2024-04-15 15:05:53 +01:00
filipefurtad0
579357dcfa Updates missing translations file 2024-04-15 15:05:53 +01:00
filipefurtad0
08ccdf07c9 Adds missing key thank_you_for_your_order 2024-04-15 15:05:53 +01:00
filipefurtad0
a2a951a18e Updates missing translations file 2024-04-15 15:05:53 +01:00
filipefurtad0
8a9b728ac7 Updates missing translations file 2024-04-15 15:05:53 +01:00
filipefurtad0
8f07ff49ac Adds missing keys 2024-04-15 15:05:53 +01:00
filipefurtad0
8ca019d00c updates missing translations txt file 2024-04-15 15:05:53 +01:00
filipefurtad0
eb82e30cf6 Adds keys spree.editing_state and spree.back_to_states_list 2024-04-15 15:05:53 +01:00
filipefurtad0
b1e10f3dd4 Replaces missing by existing key
I'm not sure how to trigger this error, and triggering an update error message seems appropriate too - it's sort of an edge case, perhaps this is a valid approach
2024-04-15 15:05:53 +01:00
filipefurtad0
acc036b1d7 Removes missing payement message
I've checked staging, and I could not find this message, nor the entry in the en.yml file - I think we're not rendering this message currently, hence, the removal.
2024-04-15 15:05:53 +01:00
filipefurtad0
e182365006 Replaces missing keys by existing ones 2024-04-15 15:05:53 +01:00
filipefurtad0
9926b65bd9 Removes unused haml file 2024-04-15 15:05:53 +01:00
filipefurtad0
8db716f047 Adds missing key card_type_is 2024-04-15 15:05:53 +01:00
filipefurtad0
3e27a34971 Adds missing key instance_publishable_key 2024-04-15 15:05:53 +01:00
filipefurtad0
5420910907 Adds output from i18n-tasks on missing keys 2024-04-15 15:05:53 +01:00
dependabot[bot]
bdbc9ae28b chore(deps-dev): bump foreman from 0.87.2 to 0.88.1
Bumps [foreman](https://github.com/ddollar/foreman) from 0.87.2 to 0.88.1.
- [Changelog](https://github.com/ddollar/foreman/blob/main/Changelog.md)
- [Commits](https://github.com/ddollar/foreman/compare/v0.87.2...v0.88.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 09:45:11 +00:00
dependabot[bot]
7fdf6f4607 chore(deps): bump mini_portile2 from 2.8.5 to 2.8.6
Bumps [mini_portile2](https://github.com/flavorjones/mini_portile) from 2.8.5 to 2.8.6.
- [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.5...v2.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 09:44:15 +00:00
dependabot[bot]
81274bd075 chore(deps): bump view_component from 3.11.0 to 3.12.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>
2024-04-15 09:37:37 +00:00
Gaetan Craig-Riou
4de1905e73 Merge pull request #12371 from mkllnk/suggest-rubocop-extensions
Let Rubocop suggest extensions
2024-04-15 10:04:36 +10:00
Maikel Linke
97eef4cfcd Update all locales with the latest Transifex translations 2024-04-12 14:05:46 +10:00
Maikel Linke
d9ec6e2ca3 Wait longer for real Stripe responses
When we re-record cassettes, I noticed this spec failing. We may need to
add this parameter to more specs.
2024-04-12 12:34:26 +10:00
Maikel Linke
e5323c8e82 Update Stripe API recordings for new version 2024-04-12 12:27:02 +10:00
Maikel Linke
cac9b515e0 Let Rubocop suggest extensions
We are using all suggested extensions already and it's not suggesting
anything at the moment. Using the default value for suggesting
extensions will mean that Rubocop will tell us when there's a new
recommended extension for our code base.
2024-04-12 12:06:31 +10:00
Maikel
9bb27aeac7 Merge pull request #12353 from filipefurtad0/regression_spec_#12343_improvement
Improves regression spec after reviewer feedback
2024-04-12 12:04:04 +10:00
Maikel
4109650509 Merge pull request #12364 from openfoodfoundation/dependabot/bundler/rubocop-1.63.1
chore(deps-dev): bump rubocop from 1.63.0 to 1.63.1
2024-04-12 12:02:36 +10:00
Maikel
03dffa5c96 Merge pull request #12367 from openfoodfoundation/dependabot/bundler/devise-4.9.4
chore(deps): bump devise from 4.9.3 to 4.9.4
2024-04-12 11:58:04 +10:00
Maikel
bdd47f27b8 Merge pull request #12368 from openfoodfoundation/dependabot/bundler/datafoodconsortium-connector-1.0.0.pre.alpha.12
chore(deps): bump datafoodconsortium-connector from 1.0.0.pre.alpha.11 to 1.0.0.pre.alpha.12
2024-04-12 11:57:03 +10:00
filipefurtad0
fd54a12bcb Moves methods to end of the file 2024-04-11 12:36:47 +01:00
filipefurtad0
f4108e97c7 Improves regression spec after reviewer feedback
Removes shared_examples, defines a separate method

Removes pending to bring spec to green
2024-04-11 12:33:10 +01:00
Konrad
27a4202fa4 Merge pull request #12357 from mkllnk/fix-invoice-order
Fix: preserve order of invoices in bulk print
2024-04-11 12:47:14 +02:00
dependabot[bot]
5ec1418eff chore(deps): bump datafoodconsortium-connector
Bumps [datafoodconsortium-connector](https://github.com/datafoodconsortium/connector-ruby) from 1.0.0.pre.alpha.11 to 1.0.0.pre.alpha.12.
- [Release notes](https://github.com/datafoodconsortium/connector-ruby/releases)
- [Changelog](https://github.com/datafoodconsortium/connector-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.11...v1.0.0-alpha.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:25:29 +00:00
dependabot[bot]
38f97ffc8e chore(deps): bump devise from 4.9.3 to 4.9.4
Bumps [devise](https://github.com/heartcombo/devise) from 4.9.3 to 4.9.4.
- [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.3...v4.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:23:21 +00:00
dependabot[bot]
1ae876ef96 chore(deps): bump stripe from 10.15.0 to 11.0.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.15.0 to 11.0.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.15.0...v11.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:14:21 +00:00
dependabot[bot]
4d94826516 chore(deps-dev): bump rubocop from 1.63.0 to 1.63.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.0 to 1.63.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.63.0...v1.63.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:11:45 +00:00
Maikel
dc7c5b6748 Merge pull request #12359 from openfoodfoundation/dependabot/bundler/stripe-10.15.0
chore(deps): bump stripe from 10.14.0 to 10.15.0
2024-04-11 16:25:04 +10:00
Maikel
082b1f9411 Merge pull request #12300 from mkllnk/checkout-steps
Remove unnecessary method checkout_steps
2024-04-11 15:57:45 +10:00
David Cook
5554eee0d1 Merge pull request #12354 from openfoodfoundation/dependabot/npm_and_yarn/tar-6.2.1
chore(deps): bump tar from 6.1.11 to 6.2.1
2024-04-11 11:49:33 +10:00
Maikel Linke
34fc6283b8 Remove unused code 2024-04-11 11:46:52 +10:00
Maikel Linke
2f3b8c8573 Re-record Stripe cassettes 2024-04-11 11:45:14 +10:00
David Cook
3318c2622d Merge pull request #12352 from cyrillefr/FixRailsWhereEquals
Fix rubocop FixRailsWhereEquals
2024-04-11 11:43:03 +10:00
Maikel
f6dbb78686 Merge pull request #12360 from openfoodfoundation/dependabot/bundler/spring-4.2.0
chore(deps-dev): bump spring from 4.1.3 to 4.2.0
2024-04-11 11:40:19 +10:00
David Cook
a94901fc99 Merge pull request #12358 from openfoodfoundation/dependabot/bundler/valid_email2-5.2.3
chore(deps): bump valid_email2 from 5.2.1 to 5.2.3
2024-04-11 11:28:08 +10:00
dependabot[bot]
0be720dcb1 chore(deps): bump tar from 6.1.11 to 6.2.1
Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.11 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.1.11...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 01:27:41 +00:00
Maikel
1459c9ee94 Merge pull request #12345 from chahmedejaz/task/12332-fix-rubocop-locale-errors
Fix Rubocop Locale Errors
2024-04-11 11:24:30 +10:00
David Cook
18d91d166e Remove temporary spec
It's likely to change frequently when there are global changes to the admin screen.
It would be better to test more directly, but I don't think worth it while everythings moving around so much.
2024-04-11 10:31:23 +10:00
David Cook
32b33de707 Optimise by pre-loading required columns
Oh boy, that's a big change.
2024-04-11 10:31:23 +10:00
David Cook
917ca790af Temporarily add db counter to query
This is going to be totally flaky so will remove soon.
2024-04-11 10:31:23 +10:00
Maikel Linke
c2c7910357 Reset I18n.local for each spec
This avoids a locale setting leaking from one spec to another. It also
means that we don't have to reset the locale in individual specs.

Also:

- `cookies` is reset automatically and we don't need to do that.
- Removed some unused code (German number format and helper methods).
2024-04-11 10:14:52 +10:00
Ahmed Ejaz
b2172ef8d8 12332 - Add around block to apply default_locale on specs 2024-04-11 10:14:52 +10:00
Ahmed Ejaz
ec61cff387 12332 - Fix rubocop Rails/I18nLocaleTexts errors
- Add en locales for the hardcodded strings
2024-04-11 10:14:50 +10:00
Ahmed Ejaz
693b9bd171 12332 - Fix rubocop Rails/I18nLocaleAssignment errors
- use I18n.with_locale method rather than direct locale assignment
2024-04-11 10:13:50 +10:00
Filipe
89033579bd Merge pull request #12328 from dacook/buu/remove-stimulus-reflex
[BUU] Remove Stimulus Reflex from Products screen
2024-04-10 21:59:59 +01:00
Konrad
b3dd51d6ac Merge pull request #12324 from chahmedejaz/task/12314-fix-rubocop-rails-helper-instance-variable
Fix Rubocop Rails/HelperInstanceVariable
2024-04-10 20:17:06 +02:00
David Cook
1425d524b9 Fix product filtering
Merges change from fb09a7f1e6
2024-04-10 15:17:56 +01:00
David Cook
e78ef120f4 TODO
I think this case got lost.
2024-04-10 15:17:56 +01:00
David Cook
129ceb01f0 Fix spec 2024-04-10 15:17:56 +01:00
David Cook
97d13597b0 Fix intermittent bug
Dunno why, but this recently started occuring for me in dev and test. Browser update?
2024-04-10 15:17:56 +01:00
David Cook
15790d3d8e Only register event listeners when needed
Otherwise there could be over 200 listeners on a page.
2024-04-10 15:17:56 +01:00
David Cook
54d0dfb141 Prevent duplicate products in search results
Dunno why, but the product was appearing once for each variant.
2024-04-10 15:17:56 +01:00
David Cook
c4b7b76e64 Avoid pagination when editing errored products 2024-04-10 15:17:56 +01:00
David Cook
fd8be37a62 Use shared page controls on products screen
This has an auto submit and can potentially work with Turbo, like on the Orders screen.
2024-04-10 15:17:56 +01:00
David Cook
0fc3d39106 Ensure pagination is retained when saving or discarding
But we have more work to do.
2024-04-10 15:17:56 +01:00
David Cook
2c71f7f1ed Discard changes by reloading the page
Now there's a popup asking to confirm, which I think is worth keeping!
2024-04-10 15:17:56 +01:00
David Cook
8696e05e66 Move index and bulk_update actions to good ol' HTTP requests
We've found that we just can't rely in StimulusReflex (and the underlying WebSockets stack) to guarantee a response to a request.
Because of this, there was intermittent issues when the server was overloaded with large requests, and the response never arrived, leaving an infinite loader, and a poor user wondering if anything was still happening.
2024-04-10 15:17:56 +01:00
David Cook
dadabcf8ad Prettify 2024-04-10 15:17:56 +01:00
David Cook
d904c2a494 Don't warn when submitting form 2024-04-10 15:17:56 +01:00
Konrad
e88335a923 Merge pull request #12303 from arunguleria/12295-translation-fixes-on-return-authorizaton
12295-Translation fixes for return authorization status
2024-04-10 14:10:08 +02:00
dependabot[bot]
6bcbbeadc4 chore(deps-dev): bump spring from 4.1.3 to 4.2.0
Bumps [spring](https://github.com/rails/spring) from 4.1.3 to 4.2.0.
- [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.3...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:08:27 +00:00
dependabot[bot]
9897c33a08 chore(deps): bump stripe from 10.14.0 to 10.15.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.14.0 to 10.15.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/v10.14.0...v10.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 09:59:34 +00:00
dependabot[bot]
e5e8d62c6a chore(deps): bump valid_email2 from 5.2.1 to 5.2.3
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.2.1 to 5.2.3.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.2.1...v5.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 09:57:15 +00:00
Maikel Linke
b03bb30a8e Move ABN checks to the database 2024-04-10 17:02:18 +10:00
Maikel Linke
3382a62eb5 Simplify BulkInvoiceJob by removing checks
The check for invoiceability is already done by the reflex triggering
the job. Let's DRY the code, save time and be more flexible in the
future.

Also checking the order of actually generated PDF pages.
2024-04-10 16:52:56 +10:00
Maikel Linke
48b447500f Move selection of invoicable orders to database
It's more efficient and should allow for further optimisations.
2024-04-10 16:52:56 +10:00
Maikel Linke
16c877f7cb Fix: preserve order of invoices in bulk print 2024-04-10 14:51:55 +10:00
Maikel Linke
1d8b942acd Fix spec for invoice ordering 2024-04-10 14:03:25 +10:00
David Cook
ade4e855dc Merge pull request #12341 from mkllnk/connected-app-url
Make URL to connect app translatable
2024-04-10 10:36:49 +10:00
David Cook
d4da684f4a Merge pull request #12349 from openfoodfoundation/dependabot/bundler/rubocop-1.63.0
chore(deps-dev): bump rubocop from 1.62.1 to 1.63.0
2024-04-10 10:32:32 +10:00
cyrillefr
404fcf1f72 Fix FixRailsWhereEquals
- fixes offenses caused by RuboCop::Cop::Rails::WhereEquals cop
2024-04-09 10:44:02 +02:00
Maikel
a40b9eb44e Merge pull request #12316 from anansilva/6055-fix-rubocop-lint-constant-definition-in-block
Fix rubocop Lint/ConstantDefinitionInBlock group
2024-04-09 12:52:06 +10:00
Maikel Linke
c0010319af Avoid duplicate loading of task in spec
The new product image import spec was loading rake tasks multiple times.
That make the spec for enterprise deletion fail when executed afterwards
because the deletion task was executed twice and failed the second time.
2024-04-09 12:04:42 +10:00
Maikel
c9c94fcaa5 Merge pull request #12337 from cyrillefr/FixRailsNegateIncludeRubocopIssue
Fix Rubocop Rails/NegateInclude issues
2024-04-09 10:40:47 +10:00
Gaetan Craig-Riou
103c6e7fc0 Remove debugging line 2024-04-09 10:30:46 +10:00
Gaetan Craig-Riou
1509066b85 Apply new cop Style/MapIntoArray fix 2024-04-09 10:29:30 +10:00
Maikel
169df3fb8b Merge pull request #12343 from filipefurtad0/spec_regression_s2_12340
Adds regression spec for S2 bug #12340
2024-04-09 10:16:09 +10:00
Ana Nunes da Silva
061ff91786 Fix offense constant definition in block in validators/integer_array_validator_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
0aea14832a Fix offense constant definition in block in validators/date_time_string_validator_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
939605cb7a Fix offense constant definition in block in models/spree/preferences/preferable_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
b18fe8ce35 Fix offense constant definition in block in models/spree/preferences/configuration_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
fc3d7f8496 Fix offense constant definition in block in models/spree/gateway_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
3bd6c85f3b Fix offense constant definition in block in models/spree/ability_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
0726e4c1d0 Fix offense constant definition in block in reports/line_items_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
cfca7816d5 Fix offense constant definition in block in serializer_helper_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
f1309db0f0 Fix offense constant definition in block in spree base_controller_spec.rb 2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
d726a0e3cb Fix offense constant definition in block in users.rake
This rake has tests
2024-04-08 11:16:38 +01:00
Ana Nunes da Silva
5415fa2db8 Fix offense constant definition in block in import_product_images_rake.rb
Add a test to import product images rake
2024-04-08 11:16:38 +01:00
dependabot[bot]
2772dd2e78 chore(deps-dev): bump rubocop from 1.62.1 to 1.63.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.62.1 to 1.63.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.62.1...v1.63.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 09:07:38 +00:00
Gaetan Craig-Riou
f4cc5d5917 Merge pull request #12342 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.29.1
chore(deps-dev): bump rubocop-rspec from 2.28.0 to 2.29.1
2024-04-08 13:30:57 +10:00
Gaetan Craig-Riou
3634032948 Merge pull request #12344 from cyrillefr/FixLintDuplicateRequireIssue
Fix Lint/DuplicateRequire issue
2024-04-08 13:15:11 +10:00
filipefurtad0
8ad4f885a0 Adds shared example for descending name ordering 2024-04-07 17:15:12 +01:00
Ahmed Ejaz
870e2b447c 12294 - add specs
- display none if no tax category is selected
- add a tax_category_column css selector for future related specs
2024-04-05 23:49:52 +05:00
cyrillefr
f57d44ba24 Fix Lint/DuplicateRequire issue
- updates the todo list
2024-04-05 17:09:14 +02:00
filipefurtad0
f618ef1201 Adds regression spec for S2 bug #12340 2024-04-05 14:46:52 +01:00
dependabot[bot]
644f0aaf75 chore(deps-dev): bump rubocop-rspec from 2.28.0 to 2.29.1
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.28.0 to 2.29.1.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.28.0...v2.29.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-05 09:26:46 +00:00
cyrillefr
2877c793f8 Attempt to get rid of flaky spec #10027 2024-04-05 10:07:06 +02:00
Maikel Linke
91803953fe Point connect app URL to new n8n server 2024-04-05 15:35:03 +11:00
Maikel Linke
e00156a8d4 Make URL to connect app translatable
Instance managers can now change the URL in Transifex to use their own
API endpoint.
2024-04-05 14:57:13 +11:00
Maikel
fa03de33e1 Merge pull request #12335 from openfoodfoundation/dependabot/bundler/datafoodconsortium-connector-1.0.0.pre.alpha.11
chore(deps): bump datafoodconsortium-connector from 1.0.0.pre.alpha.10 to 1.0.0.pre.alpha.11
2024-04-05 10:20:58 +11:00
Maikel
16c20dbb6b Merge pull request #12339 from filipefurtad0/bump_stripe-10.14.0
Bump stripe 10.14.0
2024-04-05 10:19:51 +11:00
Maikel
403d855766 Merge pull request #12336 from openfoodfoundation/dependabot/bundler/json-2.7.2
chore(deps): bump json from 2.7.1 to 2.7.2
2024-04-05 10:16:51 +11:00
Maikel Linke
965ca5ca92 Update DFC API docs 2024-04-05 10:09:00 +11:00
dependabot[bot]
4e7fed9c4b chore(deps): bump datafoodconsortium-connector
Bumps [datafoodconsortium-connector](https://github.com/datafoodconsortium/connector-ruby) from 1.0.0.pre.alpha.10 to 1.0.0.pre.alpha.11.
- [Release notes](https://github.com/datafoodconsortium/connector-ruby/releases)
- [Changelog](https://github.com/datafoodconsortium/connector-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.10...v1.0.0-alpha.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-05 10:06:37 +11:00
filipefurtad0
0f3b502ca6 Re-records cassettes after Stripe bump 2024-04-04 14:40:49 +01:00
filipefurtad0
d6d16316dc Bumps Stripe to v10.14.0 2024-04-04 14:34:28 +01:00
cyrillefr
84747ea064 Fix Rails::NegateInclude issues
- cop class: RuboCop::Cop::Rails::NegateInclude
 -  replaced !array.include?(2) by array.exclude?(2)
2024-04-04 14:42:42 +02:00
dependabot[bot]
94d08c6b91 chore(deps): bump json from 2.7.1 to 2.7.2
Bumps [json](https://github.com/flori/json) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.7.1...v2.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 09:51:36 +00:00
Maikel
cf9414a352 Merge pull request #12329 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.28.0
chore(deps-dev): bump rubocop-rspec from 2.27.1 to 2.28.0
2024-04-04 13:43:02 +11:00
Ahmed Ejaz
0887f0676f 12294 - Fix Wrong Tax Category Display
- Only display the tax_category name if the tax_category_id is present
- tax_category is overriden in the variant model
- if tax category is not present, then return the default tax category
2024-04-04 06:06:23 +05:00
David Cook
6cff5c81fe Fix RSpecRails/NegationBeValid
Another cop that only supports not_to instead of to_not.
2024-04-04 09:41:05 +11:00
David Cook
4db5aa593f Regenerate rubocop todo 2024-04-04 09:36:41 +11:00
David Cook
0bae5d67c6 Merge pull request #12325 from openfoodfoundation/dependabot/bundler/letter_opener-1.10.0
chore(deps-dev): bump letter_opener from 1.9.0 to 1.10.0
2024-04-04 09:28:26 +11:00
David Cook
2007b2e1b0 Merge pull request #12322 from openfoodfoundation/dependabot/bundler/debug-1.9.2
chore(deps-dev): bump debug from 1.9.1 to 1.9.2
2024-04-04 09:26:04 +11:00
David Cook
0d0a9a467c Merge pull request #12321 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.146.1
chore(deps): bump aws-sdk-s3 from 1.146.0 to 1.146.1
2024-04-04 09:25:35 +11:00
David Cook
a4cc4e28e7 Merge pull request #12319 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.0
chore(deps): bump trix from 2.0.10 to 2.1.0
2024-04-04 09:25:04 +11:00
Gaetan Craig-Riou
12cf626202 Update all locales with the latest Transifex translations 2024-04-03 16:48:50 +11:00
David Cook
af2e3ca703 Merge pull request #12326 from filipefurtad0/deletes_connected_accounts_after_specs
Removes Stripe accounts created for testing purposes
2024-04-03 10:37:17 +11:00
Gaetan Craig-Riou
52bc88bbd8 Merge pull request #11369 from Matt-Yorkley/product-taxon
[Product Refactor] Primary Taxon
2024-04-03 10:31:49 +11:00
David Cook
cadc2bf5d3 Merge pull request #12320 from anansilva/6055-fix-rubocop-lint-duplicate-branch
Fix rubocop Lint/DuplicateBranch group
2024-04-03 10:02:14 +11:00
dependabot[bot]
69a10f0137 chore(deps-dev): bump rubocop-rspec from 2.27.1 to 2.28.0
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.27.1 to 2.28.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.27.1...v2.28.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 09:38:50 +00:00
Ana Nunes da Silva
eedbaaff6e Fix duplicate branch in Spree::Preferences::Preferable private method
:string, :text and :password cases have the same value
2024-04-02 10:20:17 +01:00
Ana Nunes da Silva
5fde1cc7cd Fix duplicate branch in Spree::Preference#value method
:string, :text and :password cases have the same value
2024-04-02 10:20:17 +01:00
Ana Nunes da Silva
3e796da8ff Fix duplicate branch Spree::Calculator 2024-04-02 10:20:17 +01:00
Ana Nunes da Silva
8bee48df6d Fix duplicate branch in Enterprise#category method
non_producer_sells_any and non_producer_sells_own have the same category
2024-04-02 10:20:17 +01:00
Ana Nunes da Silva
eaf32226a4 Fix duplicate branches in Spree::Admin::BaseHelper
:string case already handled by the else case
2024-04-02 10:20:17 +01:00
Maikel
97c6c97499 Merge pull request #12318 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.8.0
chore(deps): bump newrelic_rpm from 9.7.1 to 9.8.0
2024-04-02 10:42:51 +11:00
Gaetan Craig-Riou
484c037c38 Fix duplication coming from a rebase error 2024-04-02 10:18:47 +11:00
Gaetan Craig-Riou
100239c4e6 Fix #bulk_product duplicate
Remove duplicate when a product has mutiple variant in the same category
(taxon)
2024-04-02 09:59:16 +11:00
Gaetan Craig-Riou
678fa37df9 Fix duplication issue
When a product had mutiple variant assigned to the same category it
should only return the product one
2024-04-02 09:57:36 +11:00
Gaetan Craig-Riou
8c05838080 Move the category to the variant row 2024-04-02 09:57:36 +11:00
Gaetan Craig-Riou
6d1249e7f9 Update DFC supplied product 2024-04-02 09:57:36 +11:00
Matt-Yorkley
d3e62c4390 Add test for persisting taxon on variant during product creation 2024-04-02 09:43:24 +11:00
Matt-Yorkley
ac4ec36b3b Update ProductScopeQuery spec 2024-04-02 09:43:24 +11:00
Matt-Yorkley
8a364a5f48 Fix product touch spec 2024-04-02 09:43:24 +11:00
Matt-Yorkley
d959ee2358 Fix rubocop warnings 2024-04-02 09:43:24 +11:00
Matt-Yorkley
a55931c081 Reinstate sorting by arbitrary list of product categories 2024-04-02 09:42:43 +11:00
Maikel
eac278ea1f Merge pull request #12262 from filipefurtad0/vcr_stripe_accounts_controller_spec
Vcr stripe accounts controller spec
2024-04-02 09:39:53 +11:00
Matt-Yorkley
2743a8183d Disable sorting by user-defined product category order 2024-04-02 09:33:34 +11:00
Matt-Yorkley
3f2a5786bd Apply taxon from sibling variant if none is provided on variant creation 2024-04-02 09:27:37 +11:00
Matt-Yorkley
02abe5cc06 Remove dead code related to multiple product taxons 2024-04-02 09:27:37 +11:00
Matt-Yorkley
fb09a7f1e6 Fix product filtering 2024-04-02 09:27:37 +11:00
Matt-Yorkley
78495d0ace Drop unnecessary params filtering 2024-04-02 09:27:37 +11:00
Matt-Yorkley
6025491f94 Update product serializer 2024-04-02 09:27:37 +11:00
Matt-Yorkley
c5ec7e361b Update product import 2024-04-02 09:27:36 +11:00
Matt-Yorkley
d4dd3cc708 Update products v3 table 2024-04-02 09:27:36 +11:00
Matt-Yorkley
c0864405a1 Update bulk products JS spec 2024-04-02 09:27:36 +11:00
Matt-Yorkley
6e7b97879b Update DFC product importer 2024-04-02 09:27:36 +11:00
Matt-Yorkley
d281e9d1b5 Adjust factory 2024-04-02 09:27:36 +11:00
Matt-Yorkley
d9899e8af6 Update more specs 2024-04-02 09:27:36 +11:00
Matt-Yorkley
b22c42613a Update taxon querying in reports 2024-04-02 09:27:36 +11:00
Matt-Yorkley
269d3ced0c Update enterprise caching spec 2024-04-02 09:27:36 +11:00
Matt-Yorkley
861f2aef01 Update product import spec 2024-04-02 09:27:36 +11:00
Matt-Yorkley
6b3e33f607 Update Taxon associations and joins 2024-04-02 09:27:36 +11:00
Matt-Yorkley
cd601319f3 Fix factory issues 2024-04-02 09:27:36 +11:00
Matt-Yorkley
3b715875ad Update taxon association 2024-04-02 09:27:36 +11:00
Matt-Yorkley
0dbbd5ed3b Migrate primary taxon id from products to variants 2024-04-02 09:27:36 +11:00
Matt-Yorkley
65731f6c52 Update serializers and views for admin products index 2024-04-02 09:27:36 +11:00
Matt-Yorkley
3a38eeb248 Remove products taxon null constraint 2024-04-02 09:27:36 +11:00
Matt-Yorkley
2707c3137a Apply taxon to new variant when creating a new product 2024-04-02 09:27:36 +11:00
Matt-Yorkley
b30944471d Update admin forms 2024-04-02 09:27:36 +11:00
Matt-Yorkley
c805486f0a Update attribute translations 2024-04-02 09:27:36 +11:00
Matt-Yorkley
2ef266390d Move primary taxon to variant 2024-04-02 09:27:36 +11:00
Ahmed Ejaz
7b4b7c5f45 12314 - Fix specs for orders helper 2024-04-01 21:51:46 +05:00
filipefurtad0
a3b646a500 Removes connected account
Re-records relevant VCR-cassettes for CreditCardCloner examples
2024-04-01 11:37:17 +01:00
filipefurtad0
01cbcf79fa Removes connected account
Re-records relevant VCR-cassettes for CreditCardRemover examples
2024-04-01 11:37:17 +01:00
filipefurtad0
c611754272 Removes connected account
Re-records relevant VCR-cassette on stripe_sca_spec
2024-04-01 11:36:51 +01:00
filipefurtad0
66b98bd477 Removes connected account
Re-records relevant VCR-cassette on payments_stripe_spec
2024-04-01 11:36:09 +01:00
dependabot[bot]
18d1e00c47 chore(deps-dev): bump letter_opener from 1.9.0 to 1.10.0
Bumps [letter_opener](https://github.com/ryanb/letter_opener) from 1.9.0 to 1.10.0.
- [Changelog](https://github.com/ryanb/letter_opener/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ryanb/letter_opener/compare/v1.9.0...v1.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 09:13:23 +00:00
Ahmed Ejaz
05f373f541 12314 - add order parameter in OrdersHelper methods 2024-04-01 06:41:41 +05:00
Ahmed Ejaz
4ba6afa665 12314 - fix Rails/HelperInstanceVariable error
- InjectionHelper
- OrdersHelper
2024-04-01 02:19:14 +05:00
Ahmed Ejaz
ac1595e718 12314 - remove shared distributor partial
- this was only used in the enterprise show view
- the above view was deleted here 4f2389e257
- by removing this, we can remove distributor_link_class method
- it will also fix the rubocop error
2024-03-31 18:08:22 +05:00
Ahmed Ejaz
3bb44cfe6d 12314 - fix order helper rubocop errors
- remove the direct access of @order instance variable
- add an attr_reader for order and use it instead
2024-03-31 17:07:00 +05:00
Ahmed Ejaz
19e3dc077e 12314: remove Rails/HelperInstanceVariable from rubocop todo 2024-03-31 17:04:15 +05:00
filipefurtad0
33889f1255 Deletes connected account, after spec
Re-records cassettes
2024-03-29 19:02:45 +00:00
dependabot[bot]
aab01e77e0 chore(deps-dev): bump debug from 1.9.1 to 1.9.2
Bumps [debug](https://github.com/ruby/debug) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.9.1...v1.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 09:51:55 +00:00
dependabot[bot]
1b49606fca chore(deps): bump aws-sdk-s3 from 1.146.0 to 1.146.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.146.0 to 1.146.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>
2024-03-29 09:50:56 +00:00
dependabot[bot]
45ec3d759f chore(deps): bump trix from 2.0.10 to 2.1.0
Bumps [trix](https://github.com/basecamp/trix) from 2.0.10 to 2.1.0.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.10...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 09:46:07 +00:00
Maikel
d8641bf576 Merge pull request #12268 from dacook/buu/change-variant-unit-11061
[BUU] Change variant unit values
2024-03-28 16:19:33 +11:00
David Cook
4498e91e90 Update all locales with the latest Transifex translations 2024-03-28 16:18:36 +11:00
David Cook
116547d2d2 Merge pull request #12305 from Pauloparakleto/feat/12297-rvm-support-script-setup
Feat/12297 rvm support script setup
2024-03-28 09:14:51 +11:00
Pauloparakleto
80db511fe5 remove rvm script. It is called directly in script/setup 2024-03-27 10:11:21 -03:00
Pauloparakleto
3a2cb3e415 call rvm directly 2024-03-27 10:11:21 -03:00
David Cook
15c93a8e95 Add -v flag to avoid script exit 2024-03-27 10:11:21 -03:00
David Cook
4a4135f261 Simplify condition, in favour of rbenv
If rbenv is installed, we'll favour that because that's what is currently supported.
2024-03-27 10:11:21 -03:00
Pauloparakleto
0cd4682e36 chore(GETTING_STARTED.md): Add RVM alternative to installation guide. 2024-03-27 10:11:10 -03:00
Pauloparakleto
1d6323c520 chore(script/rvm-install): Add support to RVM. Use rvm command to install ruby version in variable.
RVM already print the logs. No need to printf message here.
RVM already skip installation if already done with logs.
2024-03-27 10:10:21 -03:00
Pauloparakleto
8b591b7d21 chore(script/setup): Add support to RVM. Only evaluate to rbenv if rvm path is not found. 2024-03-27 10:08:50 -03:00
filipefurtad0
0b844bca8d Sets VCR tag at the beginning of the spec file
Rebases and re-records cassettes
2024-03-27 11:37:03 +00:00
filipefurtad0
1fd4c83cf1 Replaces fake with real client_it
Replaces stubs on Stripe Account Controller
2024-03-27 11:28:30 +00:00
David Cook
266e94eba8 Fixup spec 2024-03-27 20:20:20 +11:00
David Cook
b9b2c876cc Ensure value always shows
Even thought it's not valid (you can't save items with an empty name), it's disconcerting when the value suddenly disappears from view.
2024-03-27 20:20:20 +11:00
David Cook
99121943a7 Fix bug
I missed a bit in a refactor, and it wasn't covered by the spec.
2024-03-27 20:20:20 +11:00
David Cook
b2881bb169 Add JS specs
Converted using  https://www.codeconvert.ai/coffeescript-to-javascript-converter
With plenty of manual fixes required too..
2024-03-27 20:20:20 +11:00
David Cook
11b8a01220 Move Jest config to a file
With the help of 'jest --init'

I didn't end up using this, but it seems worth keeping config out of package.json
2024-03-27 20:20:20 +11:00
David Cook
924701e161 Load available units from system config
I'm not sure what's the best way to load data into javascript.. this works.
2024-03-27 20:20:20 +11:00
David Cook
1d8ed67b0b Handle unit scale changes
As discussed, this is the desired behaviour. The current screen appears to do this, but fails to save the changes.
2024-03-27 20:20:20 +11:00
David Cook
d238fc0cad TODO: optimise and fix bug 2024-03-27 20:20:20 +11:00
David Cook
4ddb2ff1e9 Generate unit display with OptionValueNamer 2024-03-27 20:20:20 +11:00
David Cook
cf31d09ad8 Prevent submitting empty value 2024-03-27 20:20:20 +11:00
David Cook
49226ffdbc Extract unit_value and unit_description values
Copied from display_as.js.coffee (ofn.admin.ofnDisplayAs.variantUnitProperties).
2024-03-27 20:20:20 +11:00
David Cook
c98956bf5a Add variant controller
This will manage the various unit fields. Maybe it should have a more specific name.
2024-03-27 20:20:16 +11:00
dependabot[bot]
28dab2fc2e chore(deps): bump newrelic_rpm from 9.7.1 to 9.8.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.7.1 to 9.8.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.7.1...9.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 09:10:14 +00:00
David Cook
9beaf0a0c2 Use textContent FTW
Oh look, the test works better now too.
2024-03-27 17:35:09 +11:00
David Cook
6291cce5d1 Fix style for empty popout button
There's still an odd 1px height change on hover that I can't track down. I think it would be better to just give new variants a default of 1 (blank is not valid anyway).
2024-03-27 17:35:09 +11:00
David Cook
e589605e3c Rename popout style classes 2024-03-27 17:35:08 +11:00
David Cook
e110cd1145 Fix popout to focus first _visible_ field 2024-03-27 14:34:31 +11:00
David Cook
26723194d5 Prevent popout from updating display value
Watch out, HAML will strip an attribute with boolean false, so we need to use a string. Or reconsider using false as a default value..

I wish Jest had the rspec concept of `let`.
2024-03-27 14:34:31 +11:00
David Cook
e94fddb0f8 Style label in popout
And tweaked global style as per design.
And cleanup unused classes.
2024-03-27 14:34:31 +11:00
David Cook
4f7d50ca4b Refactor CSS to reduce scope
We don't want the fields inside the popout to be naked, so need to be more specific.
2024-03-27 14:34:31 +11:00
David Cook
f13f2cfa2f Move values to variables
I didn't end up using these, but it's probably worth keeping for consistency.
2024-03-27 14:34:31 +11:00
David Cook
4a776233db Move fields into a popout 2024-03-27 14:34:31 +11:00
David Cook
436f733213 Add variant unit fields
Unfortunately we can't use an input[type=number] because you're allowed to type text for unit_description.

These fields will be conditionally shown/hidden in upcoming steps.
2024-03-27 14:34:31 +11:00
David Cook
a5741a1ca8 Sync hidden variant unit fields
This will be necessary for managing the 'display as' state.
..or is it?
2024-03-27 14:34:19 +11:00
David Cook
45b4e6c87c Add comments
To save me or someone else having to figure it out again.
2024-03-27 14:33:32 +11:00
David Cook
189cd88848 Remove duplicate spec
Must have been an accident while merging conflicts
2024-03-27 14:33:32 +11:00
David Cook
9b040d87f6 Update spec 2024-03-27 14:33:32 +11:00
Gaetan Craig-Riou
924bb2a003 Merge pull request #12315 from openfoodfoundation/dependabot/bundler/bugsnag-6.26.4
chore(deps): bump bugsnag from 6.26.3 to 6.26.4
2024-03-27 10:07:26 +11:00
Gaetan Craig-Riou
9c06032077 Merge pull request #12312 from openfoodfoundation/dependabot/npm_and_yarn/express-4.19.2
chore(deps): bump express from 4.18.2 to 4.19.2
2024-03-27 09:29:10 +11:00
Filipe
50242d8821 Merge pull request #12306 from Matt-Yorkley/current-configs
Reduce unnecessary avalanches of Redis queries
2024-03-26 14:34:08 +00:00
Matt-Yorkley
c01bab5f27 Wrap commonly-repeated calls to Spree::Config to reduce unnecessary cache reads
These config values are relatively static but in some cases they can be called many times in the same request (like rendering a report or a large list of line_items in BOM). These values will now only get fetched from Redis/Postgres once at most per request/job.
2024-03-26 13:39:16 +00:00
Filipe
7be06fc38c Merge pull request #12307 from Matt-Yorkley/report-form-loading
Don't generate packing reports twice just to show the form
2024-03-26 12:42:45 +00:00
dependabot[bot]
df50485b62 chore(deps): bump bugsnag from 6.26.3 to 6.26.4
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.26.3 to 6.26.4.
- [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.26.3...v6.26.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 10:01:03 +00:00
David Cook
6240f37adf Merge pull request #12308 from dacook/update-rails-nested-form
chore(deps): update rails-nested-form from fork to v5.0.0
2024-03-26 13:26:50 +11:00
Maikel
d1e492bb99 Merge pull request #12310 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.24.1
chore(deps-dev): bump rubocop-rails from 2.24.0 to 2.24.1
2024-03-26 12:14:59 +11:00
David Cook
f8a7635463 Regenerate Rubocop's TODO file
Using params in script/rubocop-autocorrect.sh:

   bundle exec rubocop --regenerate-todo --no-auto-gen-timestamp

And yay, no new violations!
2024-03-26 09:39:07 +11:00
dependabot[bot]
9be929e572 chore(deps): bump express from 4.18.2 to 4.19.2
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 22:32:04 +00:00
David Cook
7af1fcaabb Merge pull request #12311 from openfoodfoundation/dependabot/bundler/rdoc-6.6.3.1
chore(deps-dev): bump rdoc from 6.6.2 to 6.6.3.1
2024-03-26 09:31:22 +11:00
dependabot[bot]
8845161a8e chore(deps-dev): bump rdoc from 6.6.2 to 6.6.3.1
Bumps [rdoc](https://github.com/ruby/rdoc) from 6.6.2 to 6.6.3.1.
- [Release notes](https://github.com/ruby/rdoc/releases)
- [Changelog](https://github.com/ruby/rdoc/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rdoc/compare/v6.6.2...v6.6.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 19:50:54 +00:00
dependabot[bot]
ea584504bd chore(deps-dev): bump rubocop-rails from 2.24.0 to 2.24.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.24.0 to 2.24.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.24.0...v2.24.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>
2024-03-25 09:32:02 +00:00
Gaetan Craig-Riou
3b2d8967ad Merge pull request #12302 from openfoodfoundation/dependabot/bundler/stripe-10.13.0
chore(deps): bump stripe from 10.12.0 to 10.13.0
2024-03-25 13:12:54 +11:00
David Cook
52a36f33bc Merge pull request #12298 from mkllnk/devise-links
Remove unused Devise login links partial
2024-03-25 12:57:39 +11:00
Gaetan Craig-Riou
502d7c6d4a Update Stripe API recordings for new version 2024-03-25 12:07:08 +11:00
David Cook
6b2c54a25e Update event name
The event name has changed in the official release.
2024-03-25 11:01:23 +11:00
David Cook
51404f4d66 chore(deps): update rails-nested-form from fork to v5.0.0
We were using our own fork, while waiting for a new feature to be merged. It's now been released, albeit with a modification. The gem has changed it's name too.
2024-03-25 11:00:51 +11:00
Matt-Yorkley
fc1b686938 Don't generate packing reports unnecessarily when displaying the report form 2024-03-24 16:36:50 +00:00
Arun
0ab3c3d875 Merge branch 'master' into 12295-translation-fixes-on-return-authorizaton 2024-03-22 18:16:57 +05:30
Arun Guleria
03630f27af 12295-Translation fixes for return authorization status 2024-03-22 17:16:35 +05:30
dependabot[bot]
c0fd08d44e chore(deps): bump stripe from 10.12.0 to 10.13.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.12.0 to 10.13.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/v10.12.0...v10.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 09:24:29 +00:00
Maikel Linke
42520216aa Update all locales with the latest Transifex translations 2024-03-22 15:34:25 +11:00
Maikel
ce24e6ecd6 Merge pull request #12257 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.4
chore(deps): bump @hotwired/turbo from 8.0.3 to 8.0.4
2024-03-22 15:32:41 +11:00
Maikel
4c1268b3ce Merge pull request #12274 from mkllnk/dfc-product-import
Import products from DFC catalog
2024-03-22 09:25:02 +11:00
dependabot[bot]
3455ffd507 chore(deps): bump @hotwired/turbo from 8.0.3 to 8.0.4
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.3...v8.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 09:57:20 +00:00
Konrad
26f3b5603d Merge pull request #12246 from dacook/cable_ready-downgrade
Downgrade cable_ready JS to 5.0.1
2024-03-21 10:54:15 +01:00
Maikel Linke
54738fc552 Remove unnecessary method checkout_steps
It allowed introspection of a dynamic state machine. But the only two
usages of this method only referred to the first state which is always
the same. Our complicated checkout logic needs more clarity and
introducing some hardcoded state names here can only help.
2024-03-21 13:43:54 +11:00
Maikel
50acf2f484 Merge pull request #12299 from mkllnk/social-media-links
Publish full URLs of social media links on DFC API
2024-03-21 13:20:35 +11:00
Maikel Linke
220e459da2 Publish full URLs of social media links on DFC API
We have a quirky way of storing social media links in our database. The
saved format results from the UI, validations and overridden getter
methods.
2024-03-21 12:16:10 +11:00
Maikel Linke
c6e88e70c3 Remove unused Devise login links partial content
The purpose of this file was unclear and it was flagging additional
maintenance like missing translations.
2024-03-21 10:21:49 +11:00
David Cook
4ada3edc4e Merge pull request #12293 from Pauloparakleto/readme-node-advise
chore(README.md): change the order the instalation guide appears and add advise about specific ruby and node versions.
2024-03-21 09:41:10 +11:00
David Cook
579965c62c Merge pull request #12289 from anthonyms/11482-fix-rubocop-rails-issue-find_each
Fix Rubocop Rails issue: Rails/FindEach
2024-03-21 09:36:18 +11:00
Pauloparakleto
e85e606667 chore(GETTING_STARTED.md): remove mention to git and aditional steps when mentioning docker alternative. Let docker section be its job 2024-03-20 18:35:40 -03:00
Konrad
b4b8e99c7b Merge pull request #12271 from abdellani/set-variant-processor-to-mini_magick
set variant_processor to mini_magick
2024-03-20 18:20:45 +01:00
Pauloparakleto
2d8cd2b1a5 chore(GETTING_STARTED.md): remove redundant advise about rbenv and node version 2024-03-20 11:43:43 -03:00
Pauloparakleto
1e826e8308 chore(GETTING_STARTED.md): close parentheses 2024-03-20 11:37:52 -03:00
Pauloparakleto
d81fc44597 chore(GETTING_STARTED.md): change instruction to nodenv, make it mandatory. 2024-03-20 11:03:16 -03:00
Pauloparakleto
cb47624702 chore(GETTING_STARTED.md): fix spelling 2024-03-20 10:48:02 -03:00
Pauloparakleto
ccdd428b57 chore(GETTING_STARTED.md): Mention docker at the bottom of the section preventing the contributor about aditional steps 2024-03-20 10:45:24 -03:00
Pauloparakleto
eb7e65a707 chore(GETTING_STARTED.md): remove mention to RVM 2024-03-20 10:33:08 -03:00
Anthony Musyoki
25e3f30f97 Fix Rubocop Rails issue: Rails/FindEach 2024-03-20 15:34:30 +03:00
Konrad
214f7ec23c Merge pull request #12229 from cyrillefr/Decreasing-the-quantity-of-an-item-does-not-update-enterprise-fees-per-item
[BO Orders] Update Entreprise fees when decreasing quantity
2024-03-20 11:53:06 +01:00
Maikel
b679a20f23 Merge pull request #12285 from dacook/comments
Add placeholder file with comments
2024-03-20 14:26:48 +11:00
Gaetan Craig-Riou
eb2213bd10 Merge pull request #12287 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.146.0
chore(deps): bump aws-sdk-s3 from 1.145.0 to 1.146.0
2024-03-20 09:57:55 +11:00
Gaetan Craig-Riou
b07bf9989a Merge pull request #12288 from openfoodfoundation/dependabot/bundler/rspec-rails-6.1.2
chore(deps-dev): bump rspec-rails from 6.1.1 to 6.1.2
2024-03-20 09:57:12 +11:00
Pauloparakleto
13f387e0a4 chore(README.md): change the order the instalation guide appears. Make clear ruby and node versions must be checked bebore running the script 2024-03-19 16:17:27 -03:00
dependabot[bot]
fc24a830a5 chore(deps-dev): bump rspec-rails from 6.1.1 to 6.1.2
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.1.1 to 6.1.2.
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v6.1.1...v6.1.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>
2024-03-19 09:35:00 +00:00
dependabot[bot]
dd86222391 chore(deps): bump aws-sdk-s3 from 1.145.0 to 1.146.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.145.0 to 1.146.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>
2024-03-19 09:34:23 +00:00
David Cook
794f92d9f5 Add placeholder file with comments
I was surprised to find there's a channel defined by our app code, because it's not defined in the standard place.
2024-03-19 15:06:23 +11:00
David Cook
e061dbb86b Merge pull request #12284 from mkllnk/logo-size-for-dfc
Limit enterprise image sizes on DFC API
2024-03-19 14:51:24 +11:00
Maikel Linke
526069dbb3 Limit enterprise image sizes on DFC API
Uploaded images can be several MB in size. While offering the big size
would enable other apps to resize it and store the image size they need,
we have only one app using it in practice and it's using the image
directly. It's much simpler and if a default size will work for others
in the future then why not just serve that.

We can revise this in the future. There is a DFC discussion about
publishing several sizes which I started:
https://github.com/datafoodconsortium/ontology/discussions/77#discussioncomment-8228094
2024-03-19 12:26:23 +11:00
David Cook
acb53a6ddc Merge pull request #12273 from mkllnk/rubocop
Rubocop
2024-03-19 10:14:01 +11:00
Gaetan Craig-Riou
b623ecab26 Merge pull request #12275 from openfoodfoundation/dependabot/bundler/stripe-10.12.0
chore(deps): bump stripe from 10.11.0 to 10.12.0
2024-03-19 10:05:43 +11:00
Gaetan Craig-Riou
476825251d Merge pull request #12279 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.145.0
chore(deps): bump aws-sdk-s3 from 1.144.0 to 1.145.0
2024-03-19 09:41:43 +11:00
Gaetan Craig-Riou
0d17230dd2 Merge pull request #12278 from openfoodfoundation/dependabot/bundler/shoulda-matchers-6.2.0
chore(deps-dev): bump shoulda-matchers from 6.1.0 to 6.2.0
2024-03-19 09:35:00 +11:00
Gaetan Craig-Riou
73eeaaabc2 Update Stripe API recordings for new version 2024-03-19 09:33:07 +11:00
dependabot[bot]
cad1140b18 chore(deps): bump stripe from 10.11.0 to 10.12.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.11.0 to 10.12.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/v10.11.0...v10.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 09:33:07 +11:00
Konrad
67a5aa6877 Merge pull request #12207 from abdellani/11673-update-invoice-generate-route
fix route to Admin#order#invoice#generate
2024-03-18 19:18:00 +01:00
dependabot[bot]
c4fa936f15 chore(deps): bump aws-sdk-s3 from 1.144.0 to 1.145.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.144.0 to 1.145.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>
2024-03-18 09:37:59 +00:00
dependabot[bot]
ad7d19a0be chore(deps-dev): bump shoulda-matchers from 6.1.0 to 6.2.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v6.1.0...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 09:36:35 +00:00
David Cook
69df56ae76 Merge pull request #12247 from dacook/buu/broadcast-queue-12020
[BUU] Enqueue actions to perform at end of reflex
2024-03-18 11:38:21 +11:00
David Cook
63549b3dca Add comment
I still don't know why the morph method doesn't work in this context..
2024-03-18 11:17:15 +11:00
David Cook
8a84e0084f Enqueue cable_ready actions to perform at end of reflex
I think this resolves [this discussion](https://github.com/openfoodfoundation/openfoodnetwork/pull/11163#discussion_r1260531844)

I guess we just didn't know [how it works](https://docs.stimulusreflex.com/guide/cableready.html#order-of-operations) before..
2024-03-18 11:16:38 +11:00
Gaetan Craig-Riou
6dc0988933 Merge pull request #12276 from openfoodfoundation/dependabot/bundler/activerecord-import-1.6.0
chore(deps): bump activerecord-import from 1.5.1 to 1.6.0
2024-03-18 11:11:35 +11:00
Gaetan Craig-Riou
e2a53b57d4 Merge pull request #12272 from openfoodfoundation/dependabot/npm_and_yarn/follow-redirects-1.15.6
chore(deps): bump follow-redirects from 1.15.4 to 1.15.6
2024-03-18 11:09:14 +11:00
Gaetan Craig-Riou
3c3f65c271 Merge pull request #12256 from feruzoripov/services/group
Group `Order && OrderCycle` related services
2024-03-18 11:07:22 +11:00
Feruz Oripov
bdcb0856af Fix failed specs 2024-03-16 19:23:17 +05:00
Feruz Oripov
778ed46d50 cops 2024-03-16 19:14:18 +05:00
Feruz Oripov
9d919938f3 Group Order && OrderCycle related services and specs 2024-03-16 19:07:08 +05:00
dependabot[bot]
8858ed86ac chore(deps): bump activerecord-import from 1.5.1 to 1.6.0
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.5.1 to 1.6.0.
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.5.1...v1.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-15 10:05:17 +00:00
Maikel Linke
8efc215a14 Include product submenu on product import confirmation 2024-03-15 16:46:41 +11:00
Maikel Linke
d2d2db8489 Assign random product category on import if missing
Failing in this case may be desired in some circumstances but most of
the time we want compatibility and easy interoperability even when not
all data matches.
2024-03-15 16:46:41 +11:00
Maikel Linke
3af7fa7521 Offer nice select box for enterprise id 2024-03-15 16:46:41 +11:00
Maikel Linke
b5c47b099e Store semantic link when importing DFC products 2024-03-15 16:46:41 +11:00
Maikel Linke
d47d3eba8f Add SemanticLink model for variants
We want to link variants/products to external DFC SuppliedProducts to
trigger supplier orders when local stock is exhausted. This is the first
step to enable the link.
2024-03-15 16:46:41 +11:00
Maikel Linke
2e101c5fe6 Refresh OIDC token and try again
Access tokens are only valid for half an hour. So if requesting a DFC
API fails, it's likely due to an expired token and we refresh it.
2024-03-15 16:46:41 +11:00
Maikel Linke
1c09b5d16c Move DFC API request logic to service object
I'm planning to add more to it.
2024-03-15 16:46:41 +11:00
Maikel Linke
d6da52929f Allow local DFC import in development 2024-03-15 16:46:41 +11:00
Maikel Linke
30e8f9eb28 Importing products from DFC catalog
Technical demonstration of a complete product export-import roundtrip
which we could now do between OFN instances.
2024-03-15 16:46:41 +11:00
Maikel Linke
7abe455899 Exclude false Style/RedundantLineContinuation file
The current Rubocop version flags good code as bad. Regenerating the
todo file added it there and when the issue is fixed it will disappear
from our generated todo list as well.
2024-03-15 12:52:09 +11:00
Maikel Linke
931ee2f9d2 Style Style/RedundantLineContinuation 2024-03-15 12:40:00 +11:00
Maikel Linke
477336c660 Style RSpec/NotToNot 2024-03-15 12:17:48 +11:00
Maikel Linke
96ccea3691 Add controller to handle import of DFC products
It's not doing anything yet, but this is the basic setup.
2024-03-15 11:40:10 +11:00
dependabot[bot]
c6a83588fe chore(deps): bump follow-redirects from 1.15.4 to 1.15.6
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 23:38:41 +00:00
Maikel
fcef8e8d7d Merge pull request #12269 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.144.0
chore(deps): bump aws-sdk-s3 from 1.143.1 to 1.144.0
2024-03-15 10:38:11 +11:00
Maikel
696559200f Merge pull request #12267 from cyrillefr/BUU-Improve-Product-Search-Keywords
Add tests to the search product feature
2024-03-15 10:36:07 +11:00
Mohamed ABDELLANI
c497b37452 set variant_processor to mini_magick
Seem like the default variant processor become vips.

https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/8280341472/job/22656656944?pr=12209
https://github.com/rails/rails/issues/44211

The comment on the source code doesn't seem to be updated
4bb7323341/activestorage/app/models/active_storage/variant.rb (L11)
2024-03-15 00:00:05 +01:00
Konrad
acc52cc45f Merge pull request #11918 from abdellani/11896-prevent_bulk_printing_sending_when_ABN_not_set
Bulk printing/sending should show warning if ABN is required but not set.
2024-03-14 13:33:41 +01:00
Mohamed ABDELLANI
38b832cec2 fix route to admin#order#invoice#generate 2024-03-14 13:00:10 +01:00
cyrillefr
261cb2d81b Requested changes: trimming number of examples
- to improve speed of testing
2024-03-14 10:55:09 +01:00
dependabot[bot]
f59c43b8e9 chore(deps): bump aws-sdk-s3 from 1.143.1 to 1.144.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.143.1 to 1.144.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>
2024-03-14 09:19:04 +00:00
Gaetan Craig-Riou
29dad44f9f Update all locales with the latest Transifex translations 2024-03-14 10:03:59 +11:00
David Cook
c4a8bf2490 Merge pull request #12254 from mkllnk/dfc-create-variant
Add spree_product_uri to SuppliedProduct
2024-03-14 10:02:01 +11:00
Maikel
82c444b8d8 Merge pull request #12266 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.143.1
chore(deps): bump aws-sdk-s3 from 1.143.0 to 1.143.1
2024-03-14 08:19:28 +11:00
Maikel
d7fca66433 Merge pull request #12265 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.9
chore(deps): bump rails-i18n from 7.0.8 to 7.0.9
2024-03-14 08:18:52 +11:00
cyrillefr
43d13253e7 Add tests to the search product feature 2024-03-13 10:54:06 +01:00
dependabot[bot]
84551068ee chore(deps): bump aws-sdk-s3 from 1.143.0 to 1.143.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.143.0 to 1.143.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>
2024-03-13 09:19:46 +00:00
dependabot[bot]
163c45d301 chore(deps): bump rails-i18n from 7.0.8 to 7.0.9
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.8 to 7.0.9.
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.8...v7.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 09:18:26 +00:00
Maikel
63a1931ce8 Merge pull request #12249 from mkllnk/test-users
Set known default password for sample users
2024-03-13 15:41:30 +11:00
David Cook
98457b2fff Merge pull request #12248 from mkllnk/rubocop-precommit
Add dev script to run rubocop on changed files
2024-03-13 14:59:29 +11:00
Gaetan Craig-Riou
e072823071 Merge pull request #12259 from openfoodfoundation/dependabot/bundler/rubocop-1.62.1
chore(deps-dev): bump rubocop from 1.60.2 to 1.62.1
2024-03-13 09:09:48 +11:00
Maikel
d253effc29 Fix typo in spec description
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2024-03-12 16:32:01 +11:00
Maikel
331894017a Merge pull request #12252 from filipefurtad0/bump_stripe_10.11.0
Bumps Stripe from 10.10.0 to 10.11.0
2024-03-12 13:55:13 +11:00
Maikel Linke
1674d8ab5c Simplify DFC product controller 2024-03-12 13:11:31 +11:00
Maikel Linke
85a47e61fd Create variants only for own products 2024-03-12 13:11:31 +11:00
Gaetan Craig-Riou
a4b7a8f95d Spec creating variant via DFC API 2024-03-12 12:43:10 +11:00
Gaetan Craig-Riou
462c763cd1 Add spree_product_uri to SuppliedProduct
Also update SuppliedProductBuilder and specs
2024-03-12 12:43:10 +11:00
Gaetan Craig-Riou
4f77ad40a3 Update recording with new filtering 2024-03-12 12:17:21 +11:00
Gaetan Craig-Riou
a33eb80f56 Fix filtering of sensible data
* Hide Stripe Client User Agent header, it contains the hostname of
the machine generating the cassettes
* Hide client_secret
2024-03-12 12:17:15 +11:00
Maikel
fb8c86a9a7 Merge pull request #12251 from openfoodfoundation/dependabot/bundler/i18n-1.14.4
chore(deps): bump i18n from 1.14.3 to 1.14.4
2024-03-12 11:49:15 +11:00
dependabot[bot]
b53be15fda chore(deps-dev): bump rubocop from 1.60.2 to 1.62.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.60.2 to 1.62.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.60.2...v1.62.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 23:47:51 +00:00
Gaetan Craig-Riou
f755aff23c Merge pull request #12225 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.24.0
chore(deps-dev): bump rubocop-rails from 2.23.1 to 2.24.0
2024-03-12 10:45:02 +11:00
Gaetan Craig-Riou
ff52a66e75 Merge pull request #12250 from mkllnk/not-to-not
Enforce RSpec expect(..).not_to over to_not
2024-03-12 10:35:16 +11:00
Rachel Arnould
7caaeffe80 Merge pull request #12206 from cyrillefr/Invoices-Several-tax-rates-are-showing-up-on-the-invoice-for-the-same-product
Fix incorrect results for multiple tax rates in report
2024-03-11 10:31:09 +01:00
cyrillefr
7d99197dde Requested changes: original fix moved up in code
- instead of selecting out unapplied tax rates in the total tax
    method, did it in the query_result instead. Reverted the
    total_excl_tax method to its initial state.
  - spec and logic of testing affected also.
2024-03-11 10:13:46 +01:00
cyrillefr
62739c0458 Requested changes in spec
- use of new service instead of manually advancing an order
2024-03-11 10:13:46 +01:00
cyrillefr
7fdf1a110d Fix incorrect results for multiple tax rates in report
- total_excl_tax would sum amounts and taxes without
    knowledge if taxes rates were really applied or not
  - spec shows use case described in issue 12066
2024-03-11 10:13:46 +01:00
filipefurtad0
07a43fecdf Update all locales with the latest Transifex translations 2024-03-08 11:48:31 +00:00
dependabot[bot]
2cac8471fc chore(deps-dev): bump rubocop-rails from 2.23.1 to 2.24.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.23.1 to 2.24.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.23.1...v2.24.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>
2024-03-08 00:41:31 +00:00
Maikel
b27e0b5339 Merge pull request #12228 from openfoodfoundation/dependabot/bundler/json-jwt-1.16.6
chore(deps): bump json-jwt from 1.16.5 to 1.16.6
2024-03-08 11:39:43 +11:00
Maikel
61f29a4ebf Merge pull request #12226 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.27.1
chore(deps-dev): bump rubocop-rspec from 2.27.0 to 2.27.1
2024-03-08 11:39:06 +11:00
Filipe
9abaf90907 Merge pull request #12233 from dacook/buu/unit-scale-basic-12005
[BUU] Unit Scale - basic implementation
2024-03-07 17:20:45 +00:00
Filipe
de9446f5f3 Merge pull request #12167 from mkllnk/haml-up
Update Haml syntax and gem to version 6
2024-03-07 15:36:29 +00:00
filipefurtad0
5653d542f6 Hides sensitive data 2024-03-07 15:15:18 +00:00
filipefurtad0
7f3953882d Update Stripe API recordings for new version 2024-03-07 14:49:11 +00:00
filipefurtad0
f126b8b316 Update Stripe API recordings for new version 2024-03-07 14:41:40 +00:00
filipefurtad0
7849f30f46 Update Stripe API recordings for new version 2024-03-07 14:20:16 +00:00
Rachel Arnould
cd9bef4f7b Merge pull request #12172 from abdellani/12067-fix-invoice-render-multiple-tax-rates
fix invoice render multiple tax rates
2024-03-07 10:53:52 +01:00
dependabot[bot]
b82496b8a1 chore(deps): bump i18n from 1.14.3 to 1.14.4
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.3 to 1.14.4.
- [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.14.3...v1.14.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 09:31:25 +00:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
Maikel Linke
4a423e3275 Set known default password for sample users
This enables us to easily log in as one of the sample users to test
functionality as enterprise user or customer instead of admin.
2024-03-07 16:25:35 +11:00
Maikel
b4385623b2 Merge pull request #12236 from openfoodfoundation/dependabot/bundler/i18n-1.14.3
chore(deps): bump i18n from 1.14.1 to 1.14.3
2024-03-07 14:45:45 +11:00
Maikel
a256d01440 Merge pull request #12224 from dacook/rubocop-negation-matcher
Add Rubocop negation matcher
2024-03-07 14:41:20 +11:00
Maikel Linke
1472749da8 Add dev script to run rubocop on changed files 2024-03-07 13:43:52 +11:00
David Cook
27d1a9ee09 Downgrade cable_ready JS to 5.0.1
In order to match the gem version

I don't know if I'm using yarn wrong, but it wanted to install a newer version alongside this version, in order to resolve 'cable_ready@^5.0.0'. I manually edited the lockfile and yarn install now works as expected.
2024-03-07 10:32:28 +11:00
Rachel Arnould
5f302f347a Merge pull request #12189 from abdellani/11829-remove-alternative-invoice-when-invoice-feature-is-enabled
hide alternative invoice checkbox if invoices feature is enabled
2024-03-06 11:25:38 +01:00
dependabot[bot]
c0db3eb6ff chore(deps): bump i18n from 1.14.1 to 1.14.3
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.1 to 1.14.3.
- [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.14.1...v1.14.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 09:35:21 +00:00
David Cook
29d3b34776 Increase dropdown height 2024-03-06 17:12:15 +11:00
David Cook
8612f7baab Only add extra padding on alignment edge
Saves a few precious pixels on the other edge.
2024-03-06 14:10:54 +11:00
David Cook
e770f10f2b Tomselect has minimum width 2024-03-06 14:10:54 +11:00
David Cook
cbcf388acc Ensure gap between fields wrapped over a line 2024-03-06 14:10:51 +11:00
David Cook
133c9c0609 Add descriptions for taxomony tree
Better late than never.
2024-03-06 13:41:22 +11:00
David Cook
864b95612a Show error message on variant_unit_name
Now passing options through to the error tag
2024-03-06 13:41:22 +11:00
David Cook
e8bd8389b5 Remove unused parameters
They're being silently discarded. I checked, and those classes weren't needed anyway. (theres' no conditions to even show an error in the second case, but nevermind..)
2024-03-06 13:41:22 +11:00
David Cook
38766f5256 Show variant_unit_name for 'items' 2024-03-06 13:41:22 +11:00
David Cook
e52b8daf50 Refactor: DRY 2024-03-06 13:41:22 +11:00
David Cook
b3cf977c96 Add unit name (items) field 2024-03-06 13:41:22 +11:00
David Cook
bfd6319cf2 Mark tom-select as changed
Thankfully I was able to use basic DOM features, so there's no coupling of the logic with tom-select.

It wasn't going to be simple to get tom-select to listen for the 'changed' class on the original select, so I found a simple solution with a CSS sibling selector instead.
2024-03-06 13:41:22 +11:00
David Cook
af748158aa Hide chevron until hover to allow a bit more space for text 2024-03-06 13:41:22 +11:00
David Cook
864b876a9a Add tom-select with naked style
The rem units are converted to em to make the padding relative to the chevron size. This means different font sizes will Just Work.
2024-03-06 13:41:22 +11:00
David Cook
822054b748 Use capybara helper to find field
This is more flexible and can find a field based on name, id or aria-label
2024-03-06 13:41:22 +11:00
David Cook
4b2406c9c2 Add unit scale dropdown 2024-03-06 13:41:17 +11:00
David Cook
8f0e9c9f5c Remove unnecessary selector
I can't see any reason that fieldsets, which are containers, should share styles with inputs. Maybe font styles, but everything looks fine still.
2024-03-06 13:01:44 +11:00
David Cook
958288b223 Move input styles to form stylesheet
A better way to arrange it, and as a bonus it makes the selectors simpler, yay!
2024-03-06 13:01:44 +11:00
David Cook
2ef9e34f28 Re-arrange imperial units
Who would have guessed it was this complicated.

Fingers crossed this doesn't break any other functionality...
2024-03-06 13:01:43 +11:00
David Cook
ea0067946d Generate variant unit options in Ruby
This re-implements Angular JS function VariantUnitManager.variantUnitOptions()

Well.. almost. See next commit.
2024-03-06 13:01:43 +11:00
David Cook
a1135f7db7 Move unit scale to separate column
This is because it's going to move from product to variant soon, as part of Product Refactor.
2024-03-06 13:01:43 +11:00
David Cook
8f31d8799f Adjust column widths
Table layout is tricky. I had originally hoped that the table would allow us to use min/max width. But that simply doesn't work with `table-layout: fixed`. So we need to set preconfigured widths.

Now I think that table layout doesn't bring any benefit, so I think we should consider switching to flexbox or grid. ButI'll wait until all elements are in place before trying anything new.
2024-03-06 13:01:43 +11:00
David Cook
3e0d54f5f8 Fix Layout/LineLength
Ha, `not_to have` is one character longer..
2024-03-06 09:20:22 +11:00
David Cook
ea0967e22e Safely autocorrect Capybara/NegationMatcher 2024-03-06 09:20:22 +11:00
David Cook
0a70d70118 Add rubocop Capybara/NegationMatcher
And remove other config which was actually disabled already.
2024-03-06 09:20:22 +11:00
Filipe
af9f07f496 Merge pull request #12194 from cyrillefr/Replace-dropdown_controller-with-generic-toggle-control_controller
Re-implement dropdown controller with html details element
2024-03-05 16:28:29 +00:00
Filipe
cd7a9c606e Merge pull request #12208 from abdellani/11673-add-a-coder-for-every-serialized-attribute
add for every serialized attribute a coder
2024-03-05 15:41:45 +00:00
dependabot[bot]
e95a58f735 chore(deps): bump json-jwt from 1.16.5 to 1.16.6
Bumps [json-jwt](https://github.com/nov/json-jwt) from 1.16.5 to 1.16.6.
- [Release notes](https://github.com/nov/json-jwt/releases)
- [Changelog](https://github.com/nov/json-jwt/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nov/json-jwt/compare/v1.16.5...v1.16.6)

---
updated-dependencies:
- dependency-name: json-jwt
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 20:28:10 +00:00
cyrillefr
45f4a06263 [BO Orders] Update Ent. fees on item qty decreasing 2024-03-04 21:08:51 +01:00
dependabot[bot]
0f0ec729f1 chore(deps-dev): bump rubocop-rspec from 2.27.0 to 2.27.1
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.27.0 to 2.27.1.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.27.0...v2.27.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 09:47:53 +00:00
Gaetan Craig-Riou
9ab775c774 Merge pull request #12221 from mkllnk/rspec-sql
Use new rspec-sql gem
2024-03-04 11:37:38 +11:00
David Cook
5440c0dc65 Merge pull request #12223 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.27.0
chore(deps-dev): bump rubocop-rspec from 2.26.1 to 2.27.0
2024-03-04 10:20:49 +11:00
David Cook
2fa681ae8a Merge pull request #12203 from feruzoripov/queries/naming
Standardize Naming Conventions for Query-Related Services in `app/queries`
2024-03-04 10:15:49 +11:00
Feruz Oripov
1f299c84bc Merge branch 'master' into queries/naming 2024-03-02 16:32:50 +05:00
Feruz Oripov
3bf76c81aa Update specs 2024-03-02 16:11:26 +05:00
dependabot[bot]
d761ddabb7 chore(deps-dev): bump rubocop-rspec from 2.26.1 to 2.27.0
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.26.1 to 2.27.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.26.1...v2.27.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 09:35:47 +00:00
Maikel Linke
60b86e1d64 Replace custom query counter with new gem rspec-sql 2024-03-01 11:44:25 +11:00
Maikel Linke
58490c26c1 Add rspec-sql gem 2024-03-01 11:42:03 +11:00
Maikel
a692fc9d12 Merge pull request #12218 from openfoodfoundation/dependabot/bundler/jwt-2.8.1
chore(deps): bump jwt from 2.8.0 to 2.8.1
2024-03-01 08:25:29 +11:00
Maikel
3795880fcd Merge pull request #12216 from openfoodfoundation/dependabot/bundler/rack-2.2.8.1
chore(deps): bump rack from 2.2.8 to 2.2.8.1
2024-03-01 08:15:13 +11:00
Filipe
6cd79e66ad Merge pull request #12192 from openfoodfoundation/filipefurtad0_remove_zenhub_reference
Update README.md
2024-02-29 19:54:26 +00:00
Mohamed ABDELLANI
ee1f60808e prevent generating invoices when order's distributor can't generate invoices 2024-02-29 18:56:52 +01:00
dependabot[bot]
2fff568ef9 chore(deps): bump jwt from 2.8.0 to 2.8.1
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.8.0 to 2.8.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.8.0...v2.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 09:57:42 +00:00
David Cook
a9d586952d Update all locales with the latest Transifex translations 2024-02-29 14:35:08 +11:00
dependabot[bot]
bbc4603106 chore(deps): bump rack from 2.2.8 to 2.2.8.1
Bumps [rack](https://github.com/rack/rack) from 2.2.8 to 2.2.8.1.
- [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.8...v2.2.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 01:38:02 +00:00
David Cook
5cfac3d2c7 Add comments 2024-02-29 10:10:57 +11:00
Maikel
8e29bc1a03 Merge pull request #12213 from openfoodfoundation/dependabot/bundler/dotenv-3.1.0
chore(deps): bump dotenv from 3.0.3 to 3.1.0
2024-02-29 09:01:43 +11:00
Maikel
9ba43c64d7 Merge pull request #12210 from abdellani/11673-redirect-will-no-longer-have-body
on redirect, the body will no longer include the target link
2024-02-29 08:50:52 +11:00
Filipe
ce2712f780 Merge pull request #12168 from rioug/11670-refund-stripe-payment-complete-order
Refund stripe payment when an order is complete
2024-02-28 18:08:50 +00:00
dependabot[bot]
7652c72bd6 chore(deps): bump dotenv from 3.0.3 to 3.1.0
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.0.3 to 3.1.0.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v3.0.3...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 09:58:26 +00:00
cyrillefr
f62b32a3b9 Requested changes after review
- modified css to increase clicking area
  - modified spec to more straightfoward and more user oriented link
2024-02-28 08:15:34 +01:00
David Cook
f4e6095466 Merge pull request #12204 from dacook/rubocop-autocorrect-more
Disable RSpec cops by default
2024-02-28 17:30:22 +11:00
David Cook
2d09c23456 Disable Rails cops by default
There was just too much. Some of them seem over the top, while others look like they could be really helpful.
But we don't have time to evaluate them all right now.
2024-02-28 16:25:32 +11:00
David Cook
6f2b29eeec Move rspec styleguide to separate file 2024-02-28 16:17:49 +11:00
Gaetan Craig-Riou
8e56e076a3 Re record VCR cassettes after rebase 2024-02-28 15:26:51 +11:00
Gaetan Craig-Riou
48ba23af1c Notify BugSnag when something unexpected happens 2024-02-28 15:16:09 +11:00
Gaetan Craig-Riou
b5beeead74 Remove stripe stub for refund scenario 2024-02-28 15:13:40 +11:00
Gaetan Craig-Riou
e5cd8e5216 Log error when something goes wrong
Plus spec.
The old implementation would swallow the error, all we had was a flash
message feedback
2024-02-28 15:13:40 +11:00
Gaetan Craig-Riou
f634855826 Add request spec for Spree::Admin::PaymentsController 2024-02-28 15:13:40 +11:00
Gaetan Craig-Riou
8fb3f9a8b8 Remove "ujs-navigate": "false" from link
It somehow was causing a double loading of the page meaning flash
messages were lost. I suspect it's related to turbo/turbo link, but
I am not sure.
2024-02-28 15:13:40 +11:00
Gaetan Craig-Riou
e0e89e6452 Finally remove StripePaymentIntentsGateway decorator
Add spec for Spree::Gateway::StripeSCA#void
It also partially fix 11670, refund of Stripe payment should now work
for complete order
2024-02-28 15:13:40 +11:00
David Cook
7f77de89fc Explicitly load required file
This will be required if fixing FactoryBot/FactoryClassName
I'm not 100% sure about that rule yet, but figured this fix was worth keeping.
2024-02-28 09:37:34 +11:00
Gaetan Craig-Riou
7b5bc45d6c Merge pull request #12205 from openfoodfoundation/dependabot/bundler/dotenv-3.0.3
chore(deps): bump dotenv from 3.0.2 to 3.0.3
2024-02-28 09:20:36 +11:00
Mohamed ABDELLANI
091023baf7 on redirect, the body will no longer include the target link
for more details:
c2e756a944
2024-02-27 19:18:49 +01:00
Mohamed ABDELLANI
ca13b0154c add for every serialized attribute a coder 2024-02-27 18:59:50 +01:00
dependabot[bot]
29f9d1e374 chore(deps): bump dotenv from 3.0.2 to 3.0.3
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v3.0.2...v3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-27 09:36:15 +00:00
Gaetan Craig-Riou
0b93c1b92b Merge pull request #12190 from openfoodfoundation/dependabot/bundler/stripe-10.10.0
chore(deps): bump stripe from 10.9.0 to 10.10.0
2024-02-27 10:27:42 +11:00
Gaetan Craig-Riou
cabf9a6502 Update Stripe API recordings for new version 2024-02-27 10:18:40 +11:00
Gaetan Craig-Riou
6d6f79ffae Merge pull request #12200 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.26.1
chore(deps-dev): bump rubocop-rspec from 2.23.2 to 2.26.1
2024-02-27 10:13:29 +11:00
Gaetan Craig-Riou
a90d944404 Merge pull request #12199 from openfoodfoundation/dependabot/bundler/webmock-3.23.0
chore(deps-dev): bump webmock from 3.21.2 to 3.23.0
2024-02-27 10:09:00 +11:00
Gaetan Craig-Riou
d2af6279f4 Merge pull request #12197 from openfoodfoundation/dependabot/bundler/listen-3.9.0
chore(deps-dev): bump listen from 3.8.0 to 3.9.0
2024-02-27 10:07:36 +11:00
Gaetan Craig-Riou
a8a1f45f1a Merge pull request #12196 from openfoodfoundation/dependabot/npm_and_yarn/karma-6.4.3
chore(deps-dev): bump karma from 6.4.2 to 6.4.3
2024-02-27 10:06:44 +11:00
Gaetan Craig-Riou
8e5adcd3a6 Merge pull request #12186 from openfoodfoundation/dependabot/bundler/view_component-3.11.0
chore(deps): bump view_component from 3.10.0 to 3.11.0
2024-02-27 09:54:30 +11:00
Gaetan Craig-Riou
a786d08df4 Merge pull request #12182 from openfoodfoundation/dependabot/npm_and_yarn/ip-1.1.9
chore(deps): bump ip from 1.1.8 to 1.1.9
2024-02-27 09:53:09 +11:00
Gaetan Craig-Riou
e1a6cb1d28 Merge pull request #12187 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.3
chore(deps): bump @hotwired/turbo from 8.0.2 to 8.0.3
2024-02-27 09:52:23 +11:00
David Cook
cb1f877117 Layout/LineLength
Manual fix, for some reason rubocop couldn't fix these automatically
2024-02-27 09:51:58 +11:00
Feruz Oripov
c2d8bdd414 cops 2024-02-27 01:01:22 +05:00
Feruz Oripov
3cf75fce72 cops 2024-02-27 00:29:59 +05:00
Feruz Oripov
67cd6ea6ed cops 2024-02-26 23:44:58 +05:00
Feruz Oripov
ef17fd7d80 Cleanup 2024-02-26 23:41:48 +05:00
Feruz Oripov
ff6830f954 Update OutstandingBalanceQuery 2024-02-26 23:37:11 +05:00
Feruz Oripov
81f40a99d9 Update CustomersWithBalanceQuery 2024-02-26 23:25:33 +05:00
Feruz Oripov
d4f37a3daa Update CompleteVisibleOrdersQuery 2024-02-26 23:08:21 +05:00
Feruz Oripov
f8c0edd68b Update CompleteOrdersWithBalanceQuery 2024-02-26 23:05:25 +05:00
dependabot[bot]
b3d9aafcde chore(deps-dev): bump rubocop-rspec from 2.23.2 to 2.26.1
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.23.2 to 2.26.1.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.23.2...v2.26.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:48:06 +00:00
dependabot[bot]
116c5d41d3 chore(deps-dev): bump webmock from 3.21.2 to 3.23.0
Bumps [webmock](https://github.com/bblimke/webmock) from 3.21.2 to 3.23.0.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.21.2...v3.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:47:00 +00:00
dependabot[bot]
2c7d8745d9 chore(deps-dev): bump listen from 3.8.0 to 3.9.0
Bumps [listen](https://github.com/guard/listen) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/guard/listen/releases)
- [Commits](https://github.com/guard/listen/compare/v3.8.0...v3.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:44:48 +00:00
dependabot[bot]
6649039881 chore(deps-dev): bump karma from 6.4.2 to 6.4.3
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.2 to 6.4.3.
- [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.2...v6.4.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:38:36 +00:00
Gaetan Craig-Riou
965d8d20a6 Merge pull request #12195 from rioug/fix-github-action-linter
Fix github action linter
2024-02-26 20:37:54 +11:00
Gaetan Craig-Riou
927acf01f6 Fix reviewdog extension config
We need to use a string list of extensions as shown in the doc:
https://github.com/reviewdog/action-rubocop?tab=readme-ov-file#example-usage
2024-02-26 20:25:49 +11:00
Gaetan Craig-Riou
e749c614a0 Merge pull request #11500 from dacook/rubocop-rspec
Add RSpec cops
2024-02-26 11:56:57 +11:00
cyrillefr
b08623df23 Sytem specs + controller spec
- controller spec is lighter since it is based on an html element
2024-02-25 16:43:57 +01:00
cyrillefr
428b9b273c Replace old dropdown controller by new one
- menu items line are unchanged only beggining of file modified
2024-02-25 16:43:57 +01:00
cyrillefr
884d6f15ff Replace a divs controller by an html details one
- checked_controller close details element on checkboxes
  - dropdown_controller.js is to rebuild controller from many divs
    to be hidden and visible to an html detail elmnt one
  - details html element styling
2024-02-25 16:43:57 +01:00
Filipe
6e73558e66 Update README.md
Removes reference to Zenhub on the README.md from the main project repo.
2024-02-23 11:28:18 +00:00
dependabot[bot]
31d8f49c26 chore(deps): bump stripe from 10.9.0 to 10.10.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.9.0 to 10.10.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/v10.9.0...v10.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-23 09:28:10 +00:00
David Cook
250f7be8a0 Re-organise spec 2024-02-23 12:36:42 +11:00
David Cook
b758bf0735 Fix spec 2024-02-23 12:36:10 +11:00
David Cook
2107aeded1 Un-safely autocorrect RSpec/ExpectChange 2024-02-23 12:17:09 +11:00
David Cook
eaacaf42aa Enforce block style for rspec .change
As discussed in https://github.com/openfoodfoundation/openfoodnetwork/pull/11208#discussion_r1280049281
2024-02-23 12:09:50 +11:00
David Cook
800bab5303 Regenerate Rubocop's TODO file: with new RSpec rules
Wow, so much offences
2024-02-23 12:05:46 +11:00
David Cook
0091a60a6e Install rubocop-rspec
Why not enforce more consistency in our specs also?

Some of them generated way too many violations, so I relaxed them a bit.
2024-02-23 12:03:55 +11:00
David Cook
715e8253ff Disable buggy cop
Although it says it supports safe autocorrection, it requires a manual fix. I was going to manually fix the violation, but found it didn't really make the code more readable. So i'm making the call to get rid of it 🔥
2024-02-23 11:28:23 +11:00
David Cook
6bb48f2c74 Sort/format yaml
I found a plugin that promised to retain comments while sorting, so gave it a try: https://marketplace.visualstudio.com/items?itemName=PascalReitermann93.vscode-yaml-sort

It didn't really save any time, because some comments were still stripped so I had to manually fix it up. Also it reprocesses the yaml and removed other formatting like extra line breaks. So I wouldn't recommend it for this case.

Still, it could be useful for maintaining formatting of a large yaml file like our I18n file.
2024-02-23 11:21:46 +11:00
David Cook
6a2d2c581b Cleanup comments
(to make sorting with a plugin easier)

These settings have been here long enough that I think we can safely say they're accepted. There's no need to have a separate category of contested settings anyway in my opinion.
2024-02-23 11:13:50 +11:00
Maikel Linke
676f64cc4b Update all locales with the latest Transifex translations 2024-02-23 11:11:16 +11:00
Maikel
55aa324028 Link to new Ready to Go column
Instead of Zenhub.
2024-02-23 11:09:33 +11:00
David Cook
68cc9ed2fe Safely autocorrect Layout/EmptyLinesAroundBlockBody
Inspecting 1540 files
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.............................................................................................................................................................................................................................................................................................................................................................C............................................................................

Offenses:

spec/lib/stripe/payment_intent_validator_spec.rb:7:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body beginning.
spec/system/admin/products_v3/products_spec.rb:219:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body end.

1540 files inspected, 2 offenses detected, 2 offenses corrected
2024-02-23 10:02:23 +11:00
David Cook
5a7258c58e Regenerate Rubocop's TODO file 2024-02-23 10:00:18 +11:00
Mohamed ABDELLANI
335c2475ab hide alternative invoice checkbox if invoices feature is enabled 2024-02-22 20:09:43 +01:00
dependabot[bot]
277d185918 chore(deps): bump @hotwired/turbo from 8.0.2 to 8.0.3
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.2 to 8.0.3.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.2...v8.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 09:51:00 +00:00
dependabot[bot]
655fb77ce3 chore(deps): bump view_component from 3.10.0 to 3.11.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.10.0 to 3.11.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.10.0...v3.11.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>
2024-02-22 09:39:08 +00:00
Maikel Linke
ba51641271 Symbolise hash keys in HAML files
This was done by the haml-up script.
2024-02-22 15:01:14 +11:00
Maikel Linke
1ad58b214b Write symbols instead of hash rockets in HAML 2024-02-22 15:01:14 +11:00
Maikel Linke
e2ec3a642c Style flatten tree logic 2024-02-22 15:01:14 +11:00
Maikel Linke
66c6994d78 Fix typo in spec 2024-02-22 15:01:14 +11:00
Maikel Linke
2cf8a6dcb9 Skip haml-up spec with newer versions 2024-02-22 15:01:14 +11:00
Maikel Linke
7a767ab037 Make haml aware of custom boolean attributes 2024-02-22 15:01:13 +11:00
dependabot[bot]
cf7e0eb2cc Bump haml from 5.2.2 to 6.3.0
Bumps [haml](https://github.com/haml/haml) from 5.2.2 to 6.3.0.
- [Release notes](https://github.com/haml/haml/releases)
- [Changelog](https://github.com/haml/haml/blob/main/CHANGELOG.md)
- [Commits](https://github.com/haml/haml/compare/v5.2.2...v6.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 15:01:13 +11:00
Maikel Linke
c097f2b622 Upgrade HAML syntax with script 2024-02-22 15:01:13 +11:00
Maikel Linke
4516d90ede Add script to upgrade HAML syntax
[skip-ci]
2024-02-22 15:01:13 +11:00
Maikel
d2b1511397 Merge pull request #12160 from mkllnk/oidc-tokens
Store OIDC tokens to call DFC APIs
2024-02-22 10:34:32 +11:00
Maikel Linke
008e384f14 Simplify oidc_user factory
Now you can build in memory only as well.
2024-02-22 10:22:00 +11:00
Maikel Linke
4d8bb25f86 Allow enterprise users to disconnect their OIDC account 2024-02-22 10:21:58 +11:00
Maikel Linke
0813f43b49 Better wording for OIDC connection 2024-02-22 10:15:07 +11:00
Maikel Linke
a9b72c8095 Comment on rare upsert usage 2024-02-22 10:15:07 +11:00
Maikel Linke
6d9c5a9c66 Allow user to get new OIDC refresh token
The refresh token is usually valid for a year but it can be revoked at
any time. When we try to use it and it's expired, we should remove it
from the account record and notify the user. They can then refresh the
authorisation.
2024-02-22 10:15:07 +11:00
Maikel Linke
a89b22e397 Allow user to disconnect OIDC account
This makes testing much easier. But probably also good for users to
revoke any access via OIDC apps. It also enables users to then connect
to a different account, or just renew the current connection.
2024-02-22 10:15:07 +11:00
Maikel Linke
4f3ae4f2a4 Spec OIDC setup flow 2024-02-22 10:15:07 +11:00
Maikel Linke
07a8617143 Store OIDC account data in new model 2024-02-22 10:15:07 +11:00
Maikel Linke
6c0d15b6f9 Migrate existing OIDC account data 2024-02-22 10:15:07 +11:00
Maikel Linke
b4ee24368c Add model for OIDC accounts
The provider name and uid are currently stored on the user model but
it's better to move them to their own table. They are only needed in
certain situations, only some users have an account and we are now
storing a lot more.
2024-02-22 10:15:07 +11:00
Maikel Linke
4d680e5fd1 Use recorded auth hash including all tokens
We want to store the access and refresh token as well.
2024-02-22 10:15:07 +11:00
Maikel Linke
60dc710760 Refactor OIDC callback spec
* Clarify that it's a request spec, not testing a controller directly.
* Use `before` block to avoid side effects changing config at load time.
* Better name the test action as request instead of plain "subject".
* Move assignments into `before` block instead of variable.
2024-02-22 10:15:07 +11:00
Maikel Linke
26f4ebc8f9 Remove unnecessary test code 2024-02-22 10:15:07 +11:00
David Cook
0be0e88646 Merge pull request #12175 from mkllnk/spring-rubocop
Add rubocop binstub for spring support
2024-02-22 10:13:16 +11:00
David Cook
cbb1e41bbc Merge pull request #12174 from mkllnk/user-factory
Simplify user factory around admin role
2024-02-22 10:08:28 +11:00
David Cook
59c3bd02c7 Merge pull request #12173 from filipefurtad0/vcr_stripe_profile_storer_spec
[Stripe testing] Replaces stubs for VCR calls on profile_storer_spec.rb
2024-02-22 10:06:52 +11:00
Mohamed ABDELLANI
f4395a9d18 test display_line_item_tax_rate 2024-02-21 20:55:49 +01:00
filipefurtad0
89848efd23 Replaces stubs for VCR calls
Remove calling StripeStubs helper
2024-02-21 10:48:53 +00:00
dependabot[bot]
f564d22941 chore(deps): bump ip from 1.1.8 to 1.1.9
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 22:43:09 +00:00
Gaetan Craig-Riou
4ac2830ce6 Merge pull request #12177 from openfoodfoundation/dependabot/bundler/webmock-3.21.2
chore(deps-dev): bump webmock from 3.20.0 to 3.21.2
2024-02-21 09:42:28 +11:00
filipefurtad0
b91719d63c Removes reference to STRIPE_ACCOUNT
THe connected account is created a few lines below, and this env variable is not needed
2024-02-20 15:15:54 +00:00
dependabot[bot]
ccda70723d chore(deps-dev): bump webmock from 3.20.0 to 3.21.2
Bumps [webmock](https://github.com/bblimke/webmock) from 3.20.0 to 3.21.2.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.20.0...v3.21.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 09:37:03 +00:00
Maikel Linke
0ce75ec6e9 Add rubocop binstub for spring support
I observed a significant speed-up on the second run. The first run seems
to be a lot slower though. Additional output suggests that it's now
loading the Rails environment which it doesn't do without spring.

```
time bundle exec rubocop Gemfile
0m2.496s

time rubocop Gemfile # not always right version
0m1.999s

time ./bin/rubocop Gemfile
0m7.543s

time ./bin/rubocop Gemfile
0m0.670s
```
2024-02-20 14:44:56 +11:00
Maikel Linke
e423015f0a Treat enterprises as normal user attribute in factory 2024-02-20 14:00:19 +11:00
Maikel Linke
af085c223d Simplify user factory around admin role
The original Spree user factory was adding the admin role by default.
Since we don't do that anymore, we don't need to remove it for normal
users. We also need to add it only once to admin users.
2024-02-20 12:58:04 +11:00
Maikel
87daf4eb79 Merge pull request #12171 from openfoodfoundation/dependabot/bundler/sidekiq-7.2.2
chore(deps): bump sidekiq from 7.2.1 to 7.2.2
2024-02-20 09:53:54 +11:00
Maikel
741f5dfc83 Merge pull request #12170 from openfoodfoundation/dependabot/bundler/jwt-2.8.0
chore(deps): bump jwt from 2.7.1 to 2.8.0
2024-02-20 09:53:09 +11:00
Mohamed ABDELLANI
f44a4356c5 remove 0.0% if no tax rate applied to line items 2024-02-19 23:43:21 +01:00
Konrad
2477a63f36 Merge pull request #12103 from basilawwad/selecting-OC-should-redirect-to-shop
Modify default hash tabs controller to redirect users to shopping panel when an OC is selected.
2024-02-19 21:51:19 +01:00
Mohamed ABDELLANI
59a9034108 remove tax rates from line_items data presenter 2024-02-19 12:36:24 +01:00
Mohamed ABDELLANI
56fe7f5e21 fix tax rates listing in invoices 2024-02-19 12:32:11 +01:00
Filipe
7926ce0c79 Merge pull request #12122 from rioug/remove-stripe-decorator
Remove stripe decorator
2024-02-19 11:28:55 +00:00
Mohamed ABDELLANI
91ecdb0eb9 remove tax_rates from line_items serializer 2024-02-19 11:35:09 +01:00
Mohamed ABDELLANI
8370a5fed0 fix existing tests 2024-02-19 11:00:55 +01:00
Mohamed ABDELLANI
64b42b1284 improve all_distributors_can_invoice? 2024-02-19 11:00:41 +01:00
dependabot[bot]
f8908d0cf3 chore(deps): bump sidekiq from 7.2.1 to 7.2.2
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.2.1 to 7.2.2.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.2.1...v7.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 09:49:49 +00:00
dependabot[bot]
f961e2c38e chore(deps): bump jwt from 2.7.1 to 2.8.0
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.7.1 to 2.8.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.7.1...v2.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 09:48:44 +00:00
Mohamed ABDELLANI
f582bffbc5 remove assertions before tests 2024-02-19 09:13:58 +01:00
Mohamed ABDELLANI
b669b804c4 update tests 2024-02-19 09:13:58 +01:00
Mohamed ABDELLANI
6e9089ad47 check ABN before bulk printing 2024-02-19 09:13:58 +01:00
Gaetan Craig-Riou
cb83ad688e Remove old vcr stripe cassettes 2024-02-19 15:44:20 +11:00
Gaetan Craig-Riou
02019f7cae Re recorde vcr cassette after rebase 2024-02-19 11:01:20 +11:00
Gaetan Craig-Riou
848767d50f Per review, clean up test set up 2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
89236f4c2f Per review, create a Stripe account
It's better to avoid hard coded stripe entities
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
ef1d2fdb4d Clean up cassettes
* remove old cassettes left over from a rebase
* re recorded cassettes with the lastest Stripe version
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
657f71c357 Further refactor payment specs
- remove any stub_request
- use intance_double of ActiveMerchant::Billing::Response
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
8832f2fef6 Refactor #credit spec
Model spec shouldn't know about the undelying call to stripe. Replaced
request stubs by payment method stubs.
Consolidate #credit spec in one `describe` block
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
edc40c9ea9 Refactor Spree::Gateway::StripeSCA
- fix confusing comment
- rename parameter to better reflect usage
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
0af9ccd17a Add test for #credit
it uses ActiveMerchant::Billing::StripePaymentIntentsGateway#refund,
we covering the last scenario that previously used the decorator.
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
549610bc35 Finally remove StripePaymentIntentsGateway decorator
Add spec for Spree::Gateway::StripeSCA#void
It also partially fix 11670, refund of Stripe payment should now work
for complete order
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
214e8b85ea StripePaymentIntentsGateway decorator, remove create_intent 2024-02-19 10:53:53 +11:00
Gaetan Craig-Riou
765ec81725 StripePaymentIntentsGateway decorator, remove capture 2024-02-19 10:53:53 +11:00
Gaetan Craig-Riou
84f53abdfe StripePaymentIntentsGateway decorator, remove store 2024-02-19 10:53:53 +11:00
Gaetan Craig-Riou
8a0c32eec0 Improve Stripe::ProfileStorer specs
* Use `with_stripe_setup` helper
* add the request failing scenario
2024-02-19 10:53:53 +11:00
Gaetan Craig-Riou
62fbaa8a6e Update Stripe payment intents decorator
- copied the relevant code from the new Active Merchant version
- Add spec to cover the scenario of saving a card when paying by card
- Fix Stripe stub.

I used stripe stubs for the new scenario because storing a card on
stripe depends on some client side interaction with Stripe. We can't
capture that with VCR.
2024-02-19 10:53:53 +11:00
dependabot[bot]
fad37318b3 chore(deps): bump activemerchant from 1.123.0 to 1.133.0
Bumps [activemerchant](https://github.com/activemerchant/active_merchant) from 1.123.0 to 1.133.0.
- [Release notes](https://github.com/activemerchant/active_merchant/releases)
- [Changelog](https://github.com/activemerchant/active_merchant/blob/master/CHANGELOG)
- [Commits](https://github.com/activemerchant/active_merchant/compare/v1.123.0...v1.133.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 10:53:53 +11:00
Maikel
4bb1afcc8f Merge pull request #12166 from openfoodfoundation/dependabot/bundler/stripe-10.9.0
chore(deps): bump stripe from 10.8.0 to 10.9.0
2024-02-19 10:22:53 +11:00
Maikel Linke
7eccce138b Update Stripe API recordings for new version 2024-02-19 10:02:05 +11:00
Maikel
17186a5974 Merge pull request #12165 from openfoodfoundation/dependabot/bundler/dotenv-3.0.2
chore(deps): bump dotenv from 3.0.1 to 3.0.2
2024-02-19 09:57:32 +11:00
Rachel Arnould
39b83eae19 Merge pull request #12133 from dacook/buu/new-variant-11066
[BUU] Create a new variant inline
2024-02-16 14:32:17 +01:00
Rachel Arnould
a3af15dbae Merge pull request #12162 from isidzukuri/12003_improve_error_messageg_when_no_products_are_changed
Improve error message by not displaying the first part of the second …
2024-02-16 11:24:52 +01:00
Filipe
49ebcc23b3 Merge pull request #12159 from mkllnk/capybara-wait-time
Reduce Capybara wait time during development
2024-02-16 09:37:28 +00:00
dependabot[bot]
ba9f79c684 chore(deps): bump stripe from 10.8.0 to 10.9.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.8.0 to 10.9.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/v10.8.0...v10.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 09:17:53 +00:00
dependabot[bot]
f0ecef193d chore(deps): bump dotenv from 3.0.1 to 3.0.2
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v3.0.1...v3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 09:11:42 +00:00
basilawwad
08111f9a2c added shop target and activateshoppanel function
Remove Pending Message

Update shopping_spec.rb

Update shopping_spec.rb
2024-02-16 09:27:21 +03:00
David Cook
52dbe408dc Merge pull request #12161 from mkllnk/reset
Add rake task to reset queued jobs
2024-02-16 12:17:19 +11:00
David Cook
fbbc47a8d8 Merge pull request #12153 from rioug/12150-dfc-add-state-to-address
[DFC] Add state to address
2024-02-16 10:30:28 +11:00
David Cook
c8af09e0a9 Merge pull request #12152 from mkllnk/record-stripe-commit
(Semi-)automatically commit new Stripe recordings
2024-02-16 10:17:52 +11:00
David Cook
7164cbd0bd Don't validate numericality if blank
This avoids unnecessary second message when left blank:
> can't be blank
> is not a number

Ok this is a little confusing. Why is there a  separate presence check above, and why is it only for measurable units, when we still require a number for _all_ units? Because, for 'items', we allow a blank value then auto-set it to 1.
I don't know if it's really necessary, but that's how it currently works...
2024-02-16 08:51:53 +11:00
David Cook
915a5ce66b Listen for changes on added fields
Finally, we can add new variants!

Requires updated stimulus-rails-nested-form
2024-02-16 08:51:49 +11:00
Maikel
5a0694acbb Merge pull request #12163 from openfoodfoundation/dependabot/bundler/dotenv-3.0.1
chore(deps): bump dotenv from 3.0.0 to 3.0.1
2024-02-16 08:03:54 +11:00
dependabot[bot]
afef8b0a82 chore(deps): bump dotenv from 3.0.0 to 3.0.1
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v3.0.0...v3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-15 09:54:10 +00:00
isidzukuri
ae9229ec7a Merge branch 'master' into 12003_improve_error_messageg_when_no_products_are_changed 2024-02-15 09:36:53 +02:00
isidzukuri
0c02b5d9bd fix spec 2024-02-15 09:24:02 +02:00
isidzukuri
b9eea88f5c more precise spec for error message wording 2024-02-15 09:20:32 +02:00
isidzukuri
c0e820e447 Improve error message by not displaying the first part of the second sentence if no changes were counted 2024-02-15 09:14:52 +02:00
David Cook
0662708247 Use forked gem until contributions are made upstream 2024-02-15 17:32:08 +11:00
David Cook
3706b6d1da Make actions target optional
This is to make testing simpler, but it is strictly optional anyway.
2024-02-15 17:32:08 +11:00
David Cook
765ee0ed78 refactor js 2024-02-15 17:32:08 +11:00
David Cook
1df0eca4d1 Click button to add form
Now we can fill out the form, but in most cases we can't submit it because it's not marked as 'changed'.
2024-02-15 17:32:08 +11:00
David Cook
6cca7a4a3a Refactor HAML
Making use of nested hash to DRY it up
2024-02-15 17:32:08 +11:00
David Cook
6e5154b922 add stimulus-rails-nested-form
The official instructions (https://www.stimulus-components.com/docs/stimulus-rails-nested-form) don't quite work, because of an issue with this component (https://stackoverflow.com/a/76715129). So we work around for now by using the umd file instead.
2024-02-15 17:32:08 +11:00
David Cook
977ea47487 move new variant form to template
it can be activated with JS, once I can get that compoent working..

◉ Best viewed with whitespace ignored
2024-02-15 17:32:08 +11:00
David Cook
5253aeab17 Add unit_value so we can create new variants for producuts by weight/volume 2024-02-15 17:31:50 +11:00
David Cook
eff92b076f Add new variant form
And with the benefit of time travel, a feature spec from the future which will show us where we're heading.
2024-02-15 17:20:38 +11:00
David Cook
831d786d44 Fix existing specs
Gotta wait for server response before making expectations. This reveals that one test was incomplete, oops.
2024-02-15 17:04:14 +11:00
Maikel Linke
78bfd47ad3 Add rake task to reset queued jobs
Please note that the spec is using Redis as Sidekiq does. This revealed
that Sidekiq wasn't set up for jobs in the test environment properly.
2024-02-15 16:51:10 +11:00
Maikel
c15bf61099 Merge pull request #12156 from isidzukuri/issue_12062_fix_flacky_tax_rate_finder_spec
Improve random name generation in factories related to tax_rate_factory
2024-02-15 15:43:05 +11:00
Maikel
0e92bf33dc Merge pull request #12154 from openfoodfoundation/dependabot/bundler/letter_opener-1.9.0
chore(deps-dev): bump letter_opener from 1.8.1 to 1.9.0
2024-02-15 15:41:12 +11:00
David Cook
ec0e8b80eb Add specs for creating variants
This already works, but we want to make sure it stays that way!
2024-02-15 14:57:13 +11:00
Maikel Linke
3f98e2e559 Reduce Capybara wait time during development
In test-driven development, you run tests and expect them to fail.
Waiting for the results unnecessarily long just slows down development.

And even though CI can be slow, we should aim for good performance of
our code. Long wait times can hide performance bottle necks.

If anyone struggles with the default value, we can add an environment
variable to adjust the wait time to your machine in .env.test.local. But
this may just work for everyone.
2024-02-15 13:11:51 +11:00
David Cook
d812815913 Fix: use correct parameter name
Before, the index was defaulting to the record id, but we want to have a sequential index to guarantee the order always stays the same.
And more importantly, we'll need it for new records that don't have an ID yet.
2024-02-15 11:00:59 +11:00
David Cook
7e186091ff Ensure un-changed field error state shows
When there is a required field that can't be empty. I knew these complex styles would come back to bite me.

◉ Best viewed with whitespace ignored
2024-02-15 10:36:45 +11:00
David Cook
c65771eac6 Add new 'naked' button
I couldn't think of a better name.
2024-02-15 10:36:45 +11:00
David Cook
50b325c944 Annotate and arrange scss 2024-02-15 10:36:45 +11:00
David Cook
024f324027 Refactor: move rows to partials
This file was too big and it's about to get bigger.
2024-02-15 10:36:45 +11:00
Konrad
8751cc37f3 Merge pull request #12126 from cyrillefr/Replace-remote_toggle_controller-with-generic-toggle_control_controller
Replace remote_toggle with method inside generic controller
2024-02-15 00:32:05 +01:00
Konrad
6e54b1e726 Merge pull request #12116 from cillian/apply-fees-on-shipments-create
Make sure fees are applied when adding the first item to a back office order
2024-02-14 23:53:54 +01:00
Konrad
7cd7d2e8ea Merge pull request #12132 from rioug/9290-capture-payment-ignore-order-change
Fix capturing order payment ignore order changes
2024-02-14 23:00:49 +01:00
isidzukuri
cffe573203 improve random name generation in factories related to tax_rate_factory 2024-02-14 18:41:28 +02:00
Rachel Arnould
164bac63e0 Merge pull request #12130 from dacook/buu/modal-styles-11065
[BUU] Image modal styles
2024-02-14 16:12:32 +01:00
dependabot[bot]
0af3e8afcb chore(deps-dev): bump letter_opener from 1.8.1 to 1.9.0
Bumps [letter_opener](https://github.com/ryanb/letter_opener) from 1.8.1 to 1.9.0.
- [Changelog](https://github.com/ryanb/letter_opener/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ryanb/letter_opener/compare/v1.8.1...v1.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-14 09:17:52 +00:00
Gaetan Craig-Riou
a5bc1d5c48 Add region to address via DfcProvider::Address
Plus spec and documentation
2024-02-14 16:05:57 +11:00
Gaetan Craig-Riou
17b13e75a8 Add DfcProvider::Address
Add our own address to include `region`, currently not supported
by the DFC connector.
`region` is already included in the next branch of data-model-uml:
729eba31a5
To me removed once the DFC connector is updated
2024-02-14 16:05:48 +11:00
David Cook
6f4e071a28 Update template: Ensure we confirm with next release manager 2024-02-14 14:35:04 +11:00
David Cook
1d9364ade6 Merge pull request #12148 from openfoodfoundation/dependabot/bundler/dotenv-rails-3.0.0
chore(deps): bump dotenv-rails from 2.8.1 to 3.0.0
2024-02-14 14:21:11 +11:00
Maikel Linke
28309c1910 (Semi-)automatically commit new Stripe recordings
This script is used by a developer whenever the Stripe gem is bumped by
Dependabot. I found myself always doing the same commands and thought
that they could be automated.

I'm not going as far as pushing back to the branch but we might do that
in the future?
2024-02-14 13:54:38 +11:00
Gaetan Craig-Riou
affadbc05c Update all locales with the latest Transifex translations 2024-02-14 13:33:28 +11:00
Maikel
4197611ad2 Merge pull request #12141 from openfoodfoundation/dependabot/bundler/stripe-10.8.0
chore(deps): bump stripe from 10.6.0 to 10.8.0
2024-02-14 11:40:16 +11:00
Maikel Linke
96469cb58a Update stripe cassettes 2024-02-14 11:16:59 +11:00
Gaetan Craig-Riou
930aac97eb Replacing dotenv-rails by dotenv
From dotenv V3 changelog:
> The dotenv-rails gem is now superfluous. It's not technically
  deprecated yet and will continue to work, but the dotenv gem does the
  same thing. bkeepers/dotenv#468
2024-02-14 09:25:52 +11:00
Gaetan Craig-Riou
2213487b99 Merge pull request #12147 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.3
chore(deps): bump @floating-ui/dom from 1.6.2 to 1.6.3
2024-02-14 09:04:53 +11:00
dependabot[bot]
e19d3d09dc chore(deps): bump dotenv-rails from 2.8.1 to 3.0.0
Bumps [dotenv-rails](https://github.com/bkeepers/dotenv) from 2.8.1 to 3.0.0.
- [Release notes](https://github.com/bkeepers/dotenv/releases)
- [Changelog](https://github.com/bkeepers/dotenv/blob/main/Changelog.md)
- [Commits](https://github.com/bkeepers/dotenv/compare/v2.8.1...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 09:22:42 +00:00
dependabot[bot]
1260ee281e chore(deps): bump @floating-ui/dom from 1.6.2 to 1.6.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-02-13 09:11:30 +00:00
Maikel
41ebdc0c29 Merge pull request #12144 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.2
chore(deps): bump @floating-ui/dom from 1.6.1 to 1.6.2
2024-02-13 11:48:11 +11:00
Maikel
13b6296764 Merge pull request #12143 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.1.2
chore(deps-dev): bump jasmine-core from 5.1.1 to 5.1.2
2024-02-13 11:46:12 +11:00
Filipe
850918dac5 Merge pull request #12112 from chahmedejaz/bugfix/12085-fix-customer-search-autofill-issue
Fix Customer Search Autofill Issue
2024-02-12 12:29:28 +00:00
dependabot[bot]
942b4eea30 chore(deps): bump @floating-ui/dom from 1.6.1 to 1.6.2
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.2/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>
2024-02-12 09:41:12 +00:00
Gaetan Craig-Riou
78a1726bdc Merge pull request #12142 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.2
chore(deps): bump @hotwired/turbo from 7.3.0 to 8.0.2
2024-02-12 11:29:57 +11:00
Gaetan Craig-Riou
dc2fe0471d Merge pull request #12140 from openfoodfoundation/dependabot/bundler/redis-5.1.0
chore(deps): bump redis from 5.0.8 to 5.1.0
2024-02-12 11:19:33 +11:00
dependabot[bot]
2c0f8f2610 chore(deps-dev): bump jasmine-core from 5.1.1 to 5.1.2
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.1 to 5.1.2.
- [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.1.1...v5.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-09 09:47:15 +00:00
dependabot[bot]
527246ab98 chore(deps): bump @hotwired/turbo from 7.3.0 to 8.0.2
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 7.3.0 to 8.0.2.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v7.3.0...v8.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-09 09:46:46 +00:00
dependabot[bot]
8a9c4f83c5 chore(deps): bump stripe from 10.6.0 to 10.8.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.6.0 to 10.8.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/v10.6.0...v10.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-09 09:30:05 +00:00
dependabot[bot]
c614123339 chore(deps): bump redis from 5.0.8 to 5.1.0
Bumps [redis](https://github.com/redis/redis-rb) from 5.0.8 to 5.1.0.
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v5.0.8...v5.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-09 09:28:19 +00:00
David Cook
c0adf94712 Update all locales with the latest Transifex translations 2024-02-09 10:29:47 +11:00
David Cook
4012eb52e2 Merge pull request #12136 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.7
chore(deps): bump hotkeys-js from 3.13.6 to 3.13.7
2024-02-09 10:19:05 +11:00
David Cook
458d5de426 Merge pull request #12134 from openfoodfoundation/dependabot/bundler/webmock-3.20.0
chore(deps-dev): bump webmock from 3.19.1 to 3.20.0
2024-02-09 10:17:48 +11:00
David Cook
7992d912b7 Merge pull request #12128 from mkllnk/bin-update
Remove update script, use bin/setup instead
2024-02-09 10:17:00 +11:00
David Cook
9d340af680 Merge pull request #12123 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.10
chore(deps): bump trix from 2.0.9 to 2.0.10
2024-02-09 10:08:44 +11:00
David Cook
5d630c27b0 Merge pull request #12104 from filipefurtad0/vcr_credit_card_remover_spec
[Stripe, VCR] Updates credit_card_remover_spec.rb
2024-02-09 09:06:43 +11:00
filipefurtad0
60c03f6161 Re-records VCR tapes 2024-02-08 15:08:59 +00:00
David Cook
c2f8786ffa Filter out STRIPE_INSTANCE_SECRET_KEY from cassettes
And also STRIPE_ENDPOINT_SECRET just in case it's ever used in tests.

Re-records Stripe tests. But some failed... :'(

Failed examples:

rspec ./spec/lib/stripe/credit_card_cloner_spec.rb:71 # Stripe::CreditCardCloner#find_or_clone when called with a valid customer and payment_method clones both the payment method and the customer
rspec ./spec/lib/stripe/payment_intent_validator_spec.rb[1:1:1:1:17:1:2] # Stripe::PaymentIntentValidator#call when payment intent is valid valid non-3D credit cards are correctly handled behaves like payments intents from UnionPay (debit) captures the payment
2024-02-08 14:58:24 +00:00
David Cook
e228ad0326 Exit if any command fails
If the working directory is dirty, git rm might fail.
2024-02-08 14:53:51 +00:00
filipefurtad0
aff8df1957 Undoes changes to stripe initializer
Sets instance key in .env.test file
2024-02-08 14:53:51 +00:00
filipefurtad0
edae56345b Removes unnecessary Stripe api key / secret declaration 2024-02-08 14:53:48 +00:00
filipefurtad0
5b738476e4 Replaces double with instance_double 2024-02-08 14:50:42 +00:00
filipefurtad0
dfb18af971 Improves Stripe api.key declaration 2024-02-08 14:50:42 +00:00
filipefurtad0
ecc5bbd0ed Adds condition to set Stripe.api key
Updates spec accordingly
2024-02-08 14:50:42 +00:00
filipefurtad0
949f7ef4d4 Removes unecessary braces - Ruby magic ;-) 2024-02-08 14:50:42 +00:00
filipefurtad0
9cad866fb6 Renames test case and VCR cassette
deletes previous cassette
2024-02-08 14:50:42 +00:00
filipefurtad0
949b515bfb Replaces stubs for non-existing customer test case 2024-02-08 14:50:42 +00:00
filipefurtad0
57f55d7585 Replaces stubs for existing customer test case 2024-02-08 14:50:42 +00:00
filipefurtad0
94168a3586 Encompasses test cases in describe block
Maybe not needed but, brings perhaps some structure to the spec, an creates a place holder for the required setup
2024-02-08 14:50:42 +00:00
dependabot[bot]
a26ecc0aa1 chore(deps): bump hotkeys-js from 3.13.6 to 3.13.7
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.6 to 3.13.7.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.6...v3.13.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 09:22:40 +00:00
David Cook
c4ea343a47 Merge pull request #12127 from filipefurtad0/corrects_setup_in_credit_card_cloner_spec
Corrects setup for setup in credit card cloner spec
2024-02-08 09:14:35 +11:00
Maikel
b20bfae714 Merge pull request #12135 from filipefurtad0/stripe_payment_state_spec_failure
Removes UnionPay (debit) from non-3DS card list
2024-02-08 08:41:12 +11:00
Maikel
04320bcf27 Merge pull request #12124 from openfoodfoundation/dependabot/bundler/invisible_captcha-2.2.0
chore(deps): bump invisible_captcha from 2.1.0 to 2.2.0
2024-02-08 08:38:45 +11:00
Maikel
2f90adcaf3 Merge pull request #12121 from openfoodfoundation/dependabot/bundler/nokogiri-1.16.2
chore(deps): bump nokogiri from 1.16.0 to 1.16.2
2024-02-08 08:37:09 +11:00
Maikel
75896c0bc1 Merge pull request #12117 from openfoodfoundation/dependabot/bundler/valid_email2-5.2.1
chore(deps): bump valid_email2 from 5.1.1 to 5.2.1
2024-02-08 08:11:20 +11:00
filipefurtad0
6c9556f2db Removes UnionPay (debit) from non-3DS card list
Rubocop fixes
2024-02-07 16:32:34 +00:00
filipefurtad0
769ccfd6ef Corrects setup for setup in credit card cloner spec
We should not need additional hard coded keys other than the API key and the CLIENT_ID; this PR removes hard coded customer ID - creates one instead

Undoes Stripe.api_key deletion

This was a mixup with an ongoing PR in which we remove the need to call api_key in each individual spec.
2024-02-07 12:20:43 +00:00
dependabot[bot]
1d7cf8fdb8 chore(deps-dev): bump webmock from 3.19.1 to 3.20.0
Bumps [webmock](https://github.com/bblimke/webmock) from 3.19.1 to 3.20.0.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.19.1...v3.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 10:08:57 +00:00
dependabot[bot]
49f64b6d2e chore(deps): bump valid_email2 from 5.1.1 to 5.2.1
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.1.1 to 5.2.1.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.1.1...v5.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 08:02:14 +00:00
dependabot[bot]
5c14bb6dbf chore(deps): bump invisible_captcha from 2.1.0 to 2.2.0
Bumps [invisible_captcha](https://github.com/markets/invisible_captcha) from 2.1.0 to 2.2.0.
- [Changelog](https://github.com/markets/invisible_captcha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markets/invisible_captcha/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 04:28:31 +00:00
Gaetan Craig-Riou
5fd36e7eed Fix SubscriptionConfirmJob spec
Fix the payment stubbing, payment `process_offline!` was stubbed to
return true and payment `completed?` was also stubbed to return true.
`process_offline!` did not change the payment status in the database,
meaning that any call to 'order.pending_payments' after that would
return the payment which should have been processed offline, and
therefore completed. This created some unwanted side effect, resulting
in the test breaking.
2024-02-07 15:27:51 +11:00
Gaetan Craig-Riou
c11d30eb13 Refactor order updater spec
Re organise the specs based on the method we are testing, it makes
the spec file more readable.

Best viewed with whitespace hidden
2024-02-07 14:46:26 +11:00
Gaetan Craig-Riou
7da516b637 Update pending payment for completed order
Update pending payment for cash order, so we can take into account any
changes affecting order toral (shipments, line item quantity etc...).
This is to allow payment capture to cover the order total, not just
the amount due at checkout.
2024-02-07 14:46:19 +11:00
Gaetan Craig-Riou
e6fba74a87 Make update_pending_payment private
It's not used anywhere in the code, there is no reason for it to be
public
2024-02-07 14:44:59 +11:00
Gaetan Craig-Riou
a2ce718091 Merge pull request #12131 from mkllnk/openid_connect
Fix gem dependency declaration
2024-02-07 14:15:58 +11:00
Maikel Linke
d92263456d Fix gem dependency declaration
Dependabot updated openid_connect despite this being restricted in our
Gemfile. Now, all future updates downgrade openid_connect again to
satisfy our requested version.

I couldn't find any good reason not to upgrade openid_connect though and
since that's the version we already have, let's keep it and just remove
the restriction. Then bundler doesn't downgrade any more and updates are
performed well.
2024-02-07 13:50:19 +11:00
David Cook
5e4dd3864f Update image and modal size
Using a new 'fit' modal size.

On smaller screens, we need to allow the image to shrink. That's a good general rule, but I was hesitant to make it a global rule..
2024-02-07 12:48:44 +11:00
David Cook
98cfc68c3a Add option for modal class 2024-02-07 12:28:43 +11:00
David Cook
d24348d0f2 Increase button size
And fix alignment for smaller screens.
2024-02-07 10:13:17 +11:00
Maikel Linke
b524e0f1cc Remove update script, use bin/setup instead 2024-02-07 08:24:10 +11:00
cyrillefr
f8cb98f43e Replace remote_toggle with method inside generic controller
- put former remote toggle ctrller toggle method
   in new toggleAdvancedSettings in more generic toggle ctrller
 - modified acordingly the 2 associated views
 - put former test code in more generic ctrller test file
 - deleted now useless ctrller + test files
2024-02-06 17:02:23 +01:00
dependabot[bot]
7c8a149d49 chore(deps): bump trix from 2.0.9 to 2.0.10
Bumps [trix](https://github.com/basecamp/trix) from 2.0.9 to 2.0.10.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.9...v2.0.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 09:10:24 +00:00
Gaetan Craig-Riou
75355b0359 Add test to cover updating pending payments 2024-02-06 16:47:18 +11:00
David Cook
b3692d7468 Remove min-height for ModalComponent 2024-02-06 15:00:29 +11:00
David Cook
6189feadaa Prevent modal covered by scrollbar
Using units relative to the document, rather than the screen.

I don't think that remaining min-height should be there at all, but reveal-modal is used a lot so I don't know for sure.
2024-02-06 14:56:39 +11:00
David Cook
784f74f466 Align buttons to the right 2024-02-06 14:51:13 +11:00
dependabot[bot]
e77bad2dfa chore(deps): bump nokogiri from 1.16.0 to 1.16.2
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.0 to 1.16.2.
- [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.16.0...v1.16.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 14:40:42 +11:00
Maikel
d772c590da Merge pull request #12118 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.6
chore(deps): bump hotkeys-js from 3.13.5 to 3.13.6
2024-02-06 14:37:26 +11:00
David Cook
8c6d3a27ec Move modal action styles to parent component
They were already being shared with a HelpModalComponent in fact.
2024-02-06 14:34:36 +11:00
Maikel
4dda4e2385 Merge pull request #12101 from openfoodfoundation/dependabot/bundler/datafoodconsortium-connector-1.0.0.pre.alpha.10
chore(deps): bump datafoodconsortium-connector from 1.0.0.pre.alpha.9 to 1.0.0.pre.alpha.10
2024-02-06 11:20:41 +11:00
filipefurtad0
6c2f958b3f Update all locales with the latest Transifex translations 2024-02-05 11:11:29 +00:00
Rachel Arnould
d4d5449fba Merge pull request #12107 from dacook/buu/fixes
[BUU] Style and behaviour updates
2024-02-05 11:33:06 +01:00
Rachel Arnould
11bdba3c4e Merge pull request #12073 from rioug/12045-add-invisible-captcha
Add invisible captcha to registration screen
2024-02-05 10:44:41 +01:00
dependabot[bot]
5b719fcb9b chore(deps): bump hotkeys-js from 3.13.5 to 3.13.6
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.5 to 3.13.6.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.5...v3.13.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 09:25:21 +00:00
Maikel Linke
939687a592 Bump DFC taxonomies from v1.0.2 to v1.2.0 2024-02-05 14:19:29 +11:00
Maikel Linke
e3c6629f62 Remove DFC importer monkey patches
The Connector gem contains our code now.
2024-02-05 14:19:29 +11:00
dependabot[bot]
a65c7fc65a chore(deps): bump datafoodconsortium-connector
Bumps datafoodconsortium-connector from 1.0.0.pre.alpha.9 to 1.0.0.pre.alpha.10.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 14:19:29 +11:00
Gaetan Craig-Riou
67aead6981 Merge pull request #12114 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.9
chore(deps): bump trix from 2.0.8 to 2.0.9
2024-02-05 11:58:08 +11:00
Gaetan Craig-Riou
6d3af4801e Merge pull request #12100 from mkllnk/remove-background-reports-toggle
Remove background_reports feature toggle
2024-02-05 11:47:43 +11:00
Cillian O'Ruanaidh
da71f711c0 Make sure fees are applied when adding the first item to a back office order 2024-02-02 13:11:15 +00:00
dependabot[bot]
4a0a6c6827 chore(deps): bump trix from 2.0.8 to 2.0.9
Bumps [trix](https://github.com/basecamp/trix) from 2.0.8 to 2.0.9.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.8...v2.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-02 09:53:24 +00:00
Maikel
df769192af Merge pull request #12109 from openfoodfoundation/dependabot/bundler/omniauth_openid_connect-and-openid_connect-0.7.1
chore(deps): bump omniauth_openid_connect and openid_connect
2024-02-02 15:11:40 +11:00
Maikel
ed62e5f371 Merge pull request #12110 from openfoodfoundation/dependabot/bundler/bootsnap-1.18.3
chore(deps): bump bootsnap from 1.18.2 to 1.18.3
2024-02-02 15:10:02 +11:00
Ahmed Ejaz
a6431bdec6 12085: fix customer search autofill issue 2024-02-02 01:58:35 +05:00
dependabot[bot]
2c497195b4 chore(deps): bump bootsnap from 1.18.2 to 1.18.3
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.18.2 to 1.18.3.
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.18.2...v1.18.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 09:50:57 +00:00
dependabot[bot]
4d6500fe39 chore(deps): bump omniauth_openid_connect and openid_connect
Bumps [omniauth_openid_connect](https://github.com/m0n9oose/omniauth_openid_connect) and [openid_connect](https://github.com/nov/openid_connect). These dependencies needed to be updated together.

Updates `omniauth_openid_connect` from 0.6.1 to 0.7.1
- [Changelog](https://github.com/omniauth/omniauth_openid_connect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/m0n9oose/omniauth_openid_connect/compare/v0.6.1...v0.7.1)

Updates `openid_connect` from 1.4.2 to 2.3.0
- [Release notes](https://github.com/nov/openid_connect/releases)
- [Changelog](https://github.com/nov/openid_connect/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nov/openid_connect/compare/v1.4.2...v2.3.0)

---
updated-dependencies:
- dependency-name: omniauth_openid_connect
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: openid_connect
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 09:50:18 +00:00
David Cook
d0724bab85 Fix column header alignmnt 2024-02-01 12:09:49 +11:00
David Cook
36722bfa20 Add more room for the On Hand column 2024-02-01 12:02:42 +11:00
David Cook
262823bddd Ensure On Demand field doesn't overflow following cell 2024-02-01 11:56:40 +11:00
Maikel
1550f1356d Merge pull request #12105 from openfoodfoundation/dependabot/bundler/bootsnap-1.18.2
chore(deps): bump bootsnap from 1.17.1 to 1.18.2
2024-02-01 11:31:34 +11:00
David Cook
079925bc9a Fix for styling with a blank value
It's not usually valid, but can still be entered. I wasn't able to fix the positioning of the :after psuedo element without having a child text node. Maybe it's possible to add an empty child text node, but I didn't think it worth getting down to that level..
2024-02-01 11:31:14 +11:00
David Cook
133a9e6c7f Show popout when press printable character 2024-02-01 11:18:15 +11:00
David Cook
da82b12ca7 Prevent negative values for stock on hand
Using browser validation. I didn't use model validation because the on_hand pseudo-attribute doesn't support it.

But.. it turned out to  not be so simple. Browser validation can't work if the field is hidden, and breaks the javascript. So now I made the javascript smarter, and the end result is more helpful I think.
2024-02-01 11:18:15 +11:00
David Cook
3d941dcc1f Adjust popout position
Now it's lined up perfectly with the number input.
2024-02-01 11:18:15 +11:00
David Cook
ae1fabae38 Tweak padding according to design 2024-02-01 11:18:15 +11:00
Konrad
a30da1f656 Merge pull request #12093 from cillian/generate-invoice-button-warning
Display a warning when clicking the generate invoice button if an ABN is required but not present
2024-01-31 21:52:15 +01:00
Konrad
60c18ffa85 Merge pull request #12084 from cyrillefr/Replace-toggle_controller-with-generic-toggle_control_controller
Replace toggle_controller with method inside generic controller
2024-01-31 21:17:47 +01:00
Konrad
d24924b8f4 Merge pull request #12075 from cyrillefr/Actions-dropdown-should-not-open-automatically-after-shipping-the-order
Actions dropdown should stay closed after shipping order
2024-01-31 20:49:49 +01:00
Konrad
9e6b8e0624 Merge pull request #12047 from rioug/12021-enterprise-fee-tax-on-invoice
Include Tax on enterprise fees on the invoice
2024-01-31 15:32:54 +01:00
dependabot[bot]
3773946d0d chore(deps): bump bootsnap from 1.17.1 to 1.18.2
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.17.1 to 1.18.2.
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.17.1...v1.18.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 10:00:46 +00:00
David Cook
52e2e37c4e Merge pull request #12078 from mkllnk/yarn
Prompt for nodenv when missing
2024-01-31 14:01:10 +11:00
David Cook
97ab41b47e Merge pull request #12068 from mkllnk/dfc-enterprise-promo-image
Add promo image to DFC Enterprise API
2024-01-31 13:35:47 +11:00
Maikel
46a5f13cd8 Merge pull request #12102 from openfoodfoundation/dependabot/bundler/monetize-1.13.0
chore(deps): bump monetize from 1.12.0 to 1.13.0
2024-01-31 11:36:34 +11:00
dependabot[bot]
8cd64f45b9 chore(deps): bump monetize from 1.12.0 to 1.13.0
Bumps [monetize](https://github.com/RubyMoney/monetize) from 1.12.0 to 1.13.0.
- [Changelog](https://github.com/RubyMoney/monetize/blob/main/CHANGELOG.md)
- [Commits](https://github.com/RubyMoney/monetize/compare/v1.12.0...v1.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-30 09:15:07 +00:00
Maikel Linke
a7571b152d Simplify report rendering
* DRY rendering_options calls.
* Remove unneeded parameter from method.
* Choose better name for background rendering method.
2024-01-30 12:46:32 +11:00
Maikel Linke
d2736002dc Remove dead code from ReportsController
That code was rendering the report in the request but we only do it in
the background now.
2024-01-30 12:34:57 +11:00
Maikel Linke
29bcbc58de Simplify reports form options 2024-01-30 12:18:59 +11:00
Maikel Linke
27353fbd7d Style FeatureToggle option for easier change
When the list of active features is empty, Rubocop wants the hash braces
to be collapsed to `{}`. While that's easier to read, we would need to
change that every time we add an entry or remove it. Instead I moved the
comment into the hash which satisfies Rubocop and is apt in that place.

This could also ease merge conflict resolution when we work on several
features in parallel.
2024-01-30 12:12:55 +11:00
Maikel Linke
bcfaed852b Remove background_reports feature toggle 2024-01-30 12:11:04 +11:00
Maikel
865394913b Merge pull request #12098 from filipefurtad0/shopfront_message_redirect_pending_test_for_12076
[Pending spec] Updates distributor to have a shopfront message (reproduces #12076)
2024-01-30 11:56:40 +11:00
Maikel
fff1a21688 Merge pull request #12074 from filipefurtad0/vcr_credit_card_clone_destroyer_spec
[Stripe, VCR] Updates credit_card_cloner_spec.rb
2024-01-30 11:24:04 +11:00
Maikel Linke
59e3592c6e Remove duplicate code from spec 2024-01-30 11:08:20 +11:00
Gaetan Craig-Riou
66fcbe3fa0 Merge pull request #12097 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.143.0
chore(deps): bump aws-sdk-s3 from 1.142.0 to 1.143.0
2024-01-30 09:42:53 +11:00
Gaetan Craig-Riou
239f4fcb73 Merge pull request #12096 from openfoodfoundation/dependabot/bundler/capybara-3.40.0
chore(deps-dev): bump capybara from 3.39.2 to 3.40.0
2024-01-30 09:40:41 +11:00
Gaetan Craig-Riou
881c54f4a2 Merge pull request #12095 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.1
chore(deps): bump @floating-ui/dom from 1.6.0 to 1.6.1
2024-01-30 09:39:44 +11:00
filipefurtad0
d2bb53da5b Removes assertion on bogus_customer
When running the CI we actually assert on the bogus credentials, which breaks the spec

Removes unecessary StripeStubs inclusion
2024-01-29 20:04:38 +00:00
filipefurtad0
318a8113ed Updates distributor to have a shopfront message
Doing so, enables a homepage for that enterprise, which surfaces issue #12076. The test as been set as pending, which needs to be changed when the issue is fixed
2024-01-29 15:52:31 +00:00
dependabot[bot]
65395d7c90 chore(deps): bump aws-sdk-s3 from 1.142.0 to 1.143.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.142.0 to 1.143.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>
2024-01-29 09:58:09 +00:00
dependabot[bot]
b41944396f chore(deps-dev): bump capybara from 3.39.2 to 3.40.0
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.39.2 to 3.40.0.
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.39.2...3.40.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 09:55:37 +00:00
dependabot[bot]
183cac4a0c chore(deps): bump @floating-ui/dom from 1.6.0 to 1.6.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-01-29 09:24:52 +00:00
Gaetan Craig-Riou
e129ef38c2 Refactor total method to use sum instead of reduce
Plus some extra specs to cover missing scenarios
2024-01-29 14:12:28 +11:00
Gaetan Craig-Riou
04db8dbd37 Remove unused method 2024-01-29 13:21:13 +11:00
Gaetan Craig-Riou
aceb96e2af Merge pull request #12092 from openfoodfoundation/dependabot/bundler/rspec-rails-6.1.1
chore(deps-dev): bump rspec-rails from 6.1.0 to 6.1.1
2024-01-29 11:26:49 +11:00
Gaetan Craig-Riou
fb91e79ff2 Merge pull request #12091 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.7.1
chore(deps): bump newrelic_rpm from 9.7.0 to 9.7.1
2024-01-29 11:25:35 +11:00
Gaetan Craig-Riou
30489b8fb3 Merge pull request #12090 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.0
chore(deps): bump @floating-ui/dom from 1.5.4 to 1.6.0
2024-01-29 11:24:17 +11:00
Gaetan Craig-Riou
d892e00cdd Merge pull request #12083 from openfoodfoundation/dependabot/bundler/rubocop-1.60.2
chore(deps-dev): bump rubocop from 1.59.0 to 1.60.2
2024-01-29 11:15:19 +11:00
Gaetan Craig-Riou
8bb1e03808 Merge pull request #12081 from openfoodfoundation/dependabot/bundler/bugsnag-6.26.3
chore(deps): bump bugsnag from 6.26.2 to 6.26.3
2024-01-29 11:12:07 +11:00
Gaetan Craig-Riou
d39fecccb1 Merge pull request #12079 from mkllnk/pretty
Remove automatic pre-commit hook
2024-01-29 11:10:52 +11:00
Gaetan Craig-Riou
d5499245d0 Merge pull request #11698 from openfoodfoundation/dependabot/bundler/redis-5.0.8
chore(deps): bump redis from 4.8.1 to 5.0.8
2024-01-29 10:55:58 +11:00
Cillian O'Ruanaidh
f960dec0eb Display a warning when clicking the generate invoice button if an ABN is required but not present 2024-01-26 14:28:42 +00:00
dependabot[bot]
ea28282584 chore(deps-dev): bump rspec-rails from 6.1.0 to 6.1.1
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.1.0 to 6.1.1.
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v6.1.0...v6.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 09:52:30 +00:00
dependabot[bot]
b34127dc0d chore(deps): bump newrelic_rpm from 9.7.0 to 9.7.1
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.7.0 to 9.7.1.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.7.0...9.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 09:49:27 +00:00
dependabot[bot]
37fb72b9eb chore(deps): bump @floating-ui/dom from 1.5.4 to 1.6.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.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>
2024-01-26 09:28:38 +00:00
filipefurtad0
3e734f1e6b Attaches customer to payment method and clones payment method
Improves naming of actors; improves assertions
2024-01-25 18:43:05 +00:00
filipefurtad0
baef7de663 Replaces stubs with real accounts and card ids
The second example on this sepec is commented out, and will be addressed on the following commit

Sets user email

We need to set an email for the user we're creating; if we don't, then each time we run the spec, a new user will be created with a random email - as per user factory. This will translate in a (slightly) different HTTP request each time the spec is ran, and will cause a VCR recording error as new cassettes cannot be recorded in under the CI.

Re-recordes cassette after rebase
2024-01-25 18:43:03 +00:00
Rachel Arnould
6fecd57c69 Merge pull request #12048 from dacook/buu/add-product-images-11065
[BUU] Add new product images
2024-01-25 16:44:02 +01:00
Rachel Arnould
96d2021b72 Merge branch 'master' into buu/add-product-images-11065 2024-01-25 16:32:45 +01:00
dependabot[bot]
a1120c6b06 chore(deps-dev): bump rubocop from 1.59.0 to 1.60.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.59.0 to 1.60.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.59.0...v1.60.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 09:32:15 +00:00
cyrillefr
e6c0afa477 Replace toggle_controller with method inside generic ctrller
- move toggle method from toggle_controller inside toggle_control
    ctrller
  - change corresponding html attributes in view
  - mode corresponding spec in toggle_controller ctrller spec
  - delete now unused toggle controller + spec
2024-01-25 10:16:02 +01:00
dependabot[bot]
3df5b0bcf9 chore(deps): bump bugsnag from 6.26.2 to 6.26.3
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.26.2 to 6.26.3.
- [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.26.2...v6.26.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 09:14:57 +00:00
David Cook
a005069394 Merge pull request #12041 from mkllnk/migrations
Remove migrations with faulty ids
2024-01-25 17:29:23 +11:00
David Cook
6ffe125820 Override default messages
Just in case any bots have been trained to handle the gem's default messages.
2024-01-25 17:24:27 +11:00
David Cook
55ad1ede4e Add messages to ensure they get translated 2024-01-25 17:23:34 +11:00
David Cook
2535435b55 Test success with invisible_captcha 2024-01-25 17:09:18 +11:00
David Cook
0638b9eea4 Use unique email address for test
Using the existing user email is only needed for the 'already registered' test.
:
2024-01-25 17:06:25 +11:00
David Cook
c3914bc7ae Merge pull request #11759 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.3.1
chore(deps): bump tom-select from 2.2.3 to 2.3.1
2024-01-25 16:26:10 +11:00
David Cook
4634917597 Treat image integrity error as an input error
And thus give the user a useful message to try again.

Hmm, if this is a good idea, we should do it everywhere we upload an image. Can we build that in somehow, or at least make a shared helper that accepts a block and catches the error?

I replicated this in dev a couple of times, I think with a text file labelled as an image file. Unfortunately, I can no longer replicate in dev or with a spec.
2024-01-25 14:14:58 +11:00
David Cook
a915182bf8 Add tests for image controller 2024-01-25 14:14:58 +11:00
David Cook
c462ac919f Use image url helper
Without it, I think the correct S3 url isn't generated.
2024-01-25 14:14:58 +11:00
David Cook
f72154e40c Add image create form
Re-using the edit image form, because they're basically the same.
2024-01-25 14:14:58 +11:00
David Cook
07bef860b2 Add spec for updating image 2024-01-25 14:14:58 +11:00
David Cook
25f4954795 Combine spec 2024-01-25 14:14:58 +11:00
David Cook
e92f4a120a Refactor: re-organise spec file
No code changes, just moving it around and renaming blocks. Best viewed with white-space ignored.
2024-01-25 14:14:58 +11:00
Maikel Linke
687176cf49 Remove trouble-some hiredis
The hiredis client was praised as being faster parsing bulk responses
but it seems to have multiple issues now:

- The redis release 5.0 moved hiredis support to another gem.
- I tried the hiredis-client gem and it raised errors.
- There are claims of worse performance of hiredis [1].
- Maintenance responsiveness has been questioned [2].

Using the default redis driver seems to work fine though.

[1]: https://discuss.rubyonrails.org/t/hiredis-does-not-support-ssl-action-cable/75945
[2]: https://github.com/redis/hiredis/issues/655
2024-01-25 13:28:44 +11:00
dependabot[bot]
9d710652d4 chore(deps): bump redis from 4.8.1 to 5.0.8
Bumps [redis](https://github.com/redis/redis-rb) from 4.8.1 to 5.0.8.
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v4.8.1...v5.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 11:33:37 +11:00
Maikel Linke
79863fa749 Remove automatic pre-commit hook
It slows down the `git commit` command even when you don't edit any CSS
or JS files. It also restricts you when committing work in progress.

In my opinion, the linting should happen in your IDE, not when
committing. But you can install your own pre-commit hook if you like.

We still have CI to check all contributions.
2024-01-25 11:01:55 +11:00
Maikel Linke
09a24b0f1f Prompt for nodenv when missing
The setup script would display several error messages and continue
running. Now the user is guided to the right solution.
2024-01-25 10:57:38 +11:00
Maikel Linke
1884bcf780 Update all locales with the latest Transifex translations 2024-01-25 10:10:20 +11:00
Konrad
773131741b Merge pull request #11817 from rioug/10809-match-taxons-to-DFC-product-types
[DFC] match taxons to dfc product types
2024-01-25 00:05:31 +01:00
Konrad
d15395a252 Merge pull request #12052 from dacook/hotkeys
Hotkey fix
2024-01-24 23:34:50 +01:00
Konrad
ca12eab4bb Merge pull request #11985 from chahmedejaz/task/11768-add-voucher-in-enterprise-fees-with-tax-by-order-report
Include vouchers in report: Enterprise Fees With Tax Report By Order
2024-01-24 22:57:48 +01:00
Konrad
5377304190 Merge pull request #12050 from cyrillefr/Replace-toggle_button_disabled_controller-with-generic-toggle_control_controller
Replace toggle_button_disable controller with generic toggle_control controller
2024-01-24 16:39:26 +01:00
Konrad
ec4bbe6241 Merge pull request #12038 from mkllnk/dfc-tax-category
Spec requiring tax category when creating products
2024-01-24 16:26:57 +01:00
cyrillefr
b8743d853f Actions dropdown should stay closed after shipping order
- added hidden css class for it to stay closed.
2024-01-24 08:35:55 +01:00
Gaetan Craig-Riou
048619d660 Move disabling timestamp check to the spec helper 2024-01-24 15:56:25 +11:00
Gaetan Craig-Riou
67dc79b074 Replace tomselect_search_and_select by tomselect_select
In these scenarios, searching for the option is not actually required,
we can directly click on the needed option. It prevent issue with
the dropdown option staying open and breaking specs.
2024-01-24 14:53:44 +11:00
Gaetan Craig-Riou
98545741e6 Add tomselect_select helper
When using `tomselect_search_and_select` and searching isn't really
required it leaves the dropdown option open. It can then cause problem
when trying to interact with other element in the page. This happens
because clicking on the chosen option happena before the searching
finishes.
We can now use `tomselect_select` when searching is not actually
required.
It should not be a problem when search is required, as capybara will
wait for the option to appear on the page before clicking.
2024-01-24 14:47:21 +11:00
Maikel
25a4e45171 Merge pull request #12070 from openfoodfoundation/dependabot/bundler/sidekiq-7.2.1
Bump sidekiq from 7.2.0 to 7.2.1
2024-01-24 14:21:59 +11:00
Maikel Linke
d12c0a7d9d Fixup: Remove unused method from spec 2024-01-24 12:09:02 +11:00
Gaetan Craig-Riou
f4ea71eb3c Fix check for locale cookie
For some reason the app set an `_ofn_session_id cookie`, which broke
the assertion expecting no cookie.
2024-01-24 10:04:49 +11:00
Gaetan Craig-Riou
0d474f6e29 Fix Rubocop warning 2024-01-23 17:00:19 +11:00
Gaetan Craig-Riou
910d0a91f7 Small style refactor.
- Replace `context` by `describe`, although they are equivalent, they
don't convey the same intent.
- Remove "should" in `it` descrption
2024-01-23 16:35:13 +11:00
Gaetan Craig-Riou
d8876c40b8 Add invisible_captcha on the user registration page
The default action when a user submit the form too quickly is to
redirect to :back with flash error message. As we are using CableReady
it's not working for us, so I render_alert_timestamp_error_message
to show the error message to the user.
2024-01-23 16:30:12 +11:00
Gaetan Craig-Riou
c68b03c0dd Add invisble_captcha gem 2024-01-23 13:26:18 +11:00
Gaetan Craig-Riou
270a310e0f Use send_keys to populate tom select input
Setting the value directly doesn't trigger the search, presumably
because it doesn't trigger any javascript event.
2024-01-23 11:52:01 +11:00
dependabot[bot]
cd9c505c6b chore(deps): bump tom-select from 2.2.3 to 2.3.1
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.2.3...v2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 11:52:01 +11:00
dependabot[bot]
67d66bde06 Bump sidekiq from 7.2.0 to 7.2.1
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.2.0 to 7.2.1.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.2.0...v7.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 00:50:34 +00:00
Gaetan Craig-Riou
46b1fe713f Merge pull request #12072 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-2.0.7
Bump js-big-decimal from 2.0.4 to 2.0.7
2024-01-23 11:47:40 +11:00
Gaetan Craig-Riou
41c1b8da10 Merge pull request #12071 from openfoodfoundation/dependabot/bundler/shoulda-matchers-6.1.0
Bump shoulda-matchers from 6.0.0 to 6.1.0
2024-01-23 11:44:52 +11:00
Gaetan Craig-Riou
fab6a79dae Fix various method to remove or add enterprise fee tax 2024-01-23 10:36:58 +11:00
Gaetan Craig-Riou
8181f3b09a Add enterprise_fee_additional_tax and enterprise_fee_included_tax 2024-01-23 10:36:43 +11:00
Gaetan Craig-Riou
b28e63174d Update display_line_items_taxes
Make sure we add the correct enterprise fee tax amount based on tax
being included in the price or not.
2024-01-23 10:36:43 +11:00
Gaetan Craig-Riou
bfe8f08910 Refator, add total_additional_tax and total_included_tax
They are used to add/remove enterprise fee tax as needed
2024-01-23 10:35:09 +11:00
dependabot[bot]
41268153c0 Bump js-big-decimal from 2.0.4 to 2.0.7
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 2.0.4 to 2.0.7.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v2.0.4...v2.0.7)

---
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>
2024-01-22 09:36:14 +00:00
dependabot[bot]
36f32ddca2 Bump shoulda-matchers from 6.0.0 to 6.1.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v6.0.0...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 09:21:27 +00:00
Maikel Linke
8bb6bef0fa Comment on ABC style 2024-01-22 16:32:45 +11:00
Maikel Linke
fc75ea97a2 Add promo image to DFC Enterprise API
We want to use this image in the Discover Regenerative portal in
Australia. The property is read-only and the API doesn't support the
upload of a new file.

The enterprise factory needed fixing as well. This trait hadn't been
used anywhere else.
2024-01-22 16:21:10 +11:00
Gaetan Craig-Riou
3cfa7e29d1 Add the enterprise fee tax to amount with taxes 2024-01-22 13:08:58 +11:00
Gaetan Craig-Riou
ba841d9fbc Add enterprise_fee_tax to Invoice::LineItemSerializer 2024-01-22 13:08:58 +11:00
Gaetan Craig-Riou
a77ba5b0b1 Include enterprise fee tax in the line item tax 2024-01-22 13:08:39 +11:00
Gaetan Craig-Riou
913da34228 Add EnterpriseFeeAdjustments
It represent a collection of enterprise fee adjustments. Currently
it only allows you to calculate the tax amount relating to enterprise
fees when tax is not included in price
2024-01-22 13:08:39 +11:00
Gaetan Craig-Riou
36b3b3c989 Switch to comparing product type semanticId
Currently it's not possibel to compare two
`DataFoodConsortium::Connector::SKOSConcept` or
two `VirtualAssembly::Semantizer::SemanticObject with` `==`.

Related to : https://github.com/assemblee-virtuelle/semantizer-ruby/pull/2/files
2024-01-22 11:40:50 +11:00
Maikel
a55587b765 Merge pull request #12059 from openfoodfoundation/dependabot/bundler/stripe-10.6.0
Bump stripe from 10.5.0 to 10.6.0
2024-01-22 10:29:31 +11:00
Maikel Linke
e25464b38a Re-record stripe API requests 2024-01-22 10:21:15 +11:00
Maikel
1f5541d2fb Merge pull request #12064 from dacook/bump-prettier-v4
Bump prettier and pretty-quick
2024-01-22 10:15:30 +11:00
Gaetan Craig-Riou
96a010033d Fix admin view to use dfc_id
This was missed in a previous refactor
2024-01-22 10:12:39 +11:00
Maikel Linke
28e17aff68 Fix DFC context in spec to resolve product types
The `dfc-b:hasType` value can only be parsed as object id if the context
contains:

```
    "dfc-b:hasType":{
      "@type":"@id"
    },
```

The standard context includes this and it's easier to use. Now that the
URIs of product types are correctly resolved, we don't need to
substitute the URI manually.

Also dropped an old unneeded spec for backwards compatibility.
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
35da321e15 Fix skos parser to not replace Product type URI by dfc-pt
The given productType.rdf file doesn't give us any context for `dfc-pt`,
so there was no reason to do that.
We still need to do some substitution in the importer, as some times
we are given `dfc-pt` as input data.
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
2aa0ab15b9 Simplify traversing of Product Types 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
9607739e16 Per review, store product type instead of path 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
c1e7aa6daa Small improvment for Importer
Doesn't try to load skos concept if we are not dealing with an object
that doesn't refers to a skos concept
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
c40ccb8e86 Refactor, move product type matching to DfcProductTypeFactory
It keeps SuppliedProductBuilder and move all the matching logic to its
own class
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
d8b56d5c16 Per review, match on the product type URI instead of name part 2
For import this time
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
8013fac5b8 Per review, match on the product type URI instead of name
Fox export only
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
162fd4bef5 update documentation 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
25a820fe12 Allow updating of product type 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
a35e896a98 Add taxon to request spec 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
47cea0af6b Add matching DFC product type to taxon when importing product 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
e917b26e91 Support non "underscore" name for dfc_name
Ie: you can now use "Soft drink" instead of "soft_drink", case is also
ignored
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
476f3b8a28 Fix DFC importer to support Product types 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
2be1aea64c SKOS parser, user shorten version for product types URI 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
a2cb1f4c37 Update swagger documentation 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
4d52e169e2 Update taxon to not be a top concept product type
This is to test the product type matching is working properly
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
42e2141d05 Match product taxon with DFC Product type
It relies on having dfc_name populated on the given taxon.
Matching is as follow:
 - parse the DFC product types and store in PRODUCT_TYPES if needed
 - match the dfc_name against PRODUCT_TYPES
 - call the method returned on the DFC connector
2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
8014aa4c2f Update test to check for Product Type 2024-01-22 10:12:39 +11:00
Gaetan Craig-Riou
403386ea09 Add basic match on the root level Product Types
Currently anything but the leaf level is modelled as a
DataFoodConsortium::Connector::SKOSInstance, which isn't supported
by the connector as "hasType" for a product. The lead level is modelled
by DataFoodConsortium::Connector::SKOSConcept which is supported by
connector. On top of is `#narrowers`, `#broaders`and `#prefLabels`
aren't set making it very difficult to travers the Product Type tree.
2024-01-22 10:12:32 +11:00
Gaetan Craig-Riou
652c7a563c Add dfc_name field on Spree::Taxons
This will let us map OFN product taxons to DFC product types
2024-01-22 10:02:10 +11:00
Gaetan Craig-Riou
83beafc564 Add missing translation on taxon admin form 2024-01-22 10:02:10 +11:00
dependabot[bot]
acb6a866db Bump stripe from 10.5.0 to 10.6.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.5.0 to 10.6.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/v10.5.0...v10.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 10:41:53 +00:00
Filipe
487a7b2257 Merge pull request #12058 from openfoodfoundation/dependabot/bundler/stripe-10.5.0
Filter out Stripe client_id
2024-01-19 10:36:34 +00:00
David Cook
40166bf3e8 Update spec/support/vcr_setup.rb
Co-authored-by: Maikel <maikel@email.org.au>
2024-01-19 09:55:39 +11:00
David Cook
df82db9a95 Fix Layout/LineLength 2024-01-19 09:24:30 +11:00
David Cook
bb19151705 Merge pull request #12035 from filipefurtad0/remove_default_selection_pr_template
Removes default selection for User facing changes
2024-01-19 09:21:15 +11:00
Maikel
0b8ac17354 Merge pull request #12060 from openfoodfoundation/dependabot/bundler/roo-2.10.1
Bump roo from 2.10.0 to 2.10.1
2024-01-19 09:06:56 +11:00
David Cook
efc4fce7de Bump pretty-quick to v4.0.0 2024-01-19 09:03:21 +11:00
David Cook
9a5e9817a8 Bump prettier to v3.2.4
It's supported by the latest version of pretty-quick now.
2024-01-19 09:02:41 +11:00
Ahmed Ejaz
ff48825241 11768: fix the amount with voucher 2024-01-19 01:52:24 +05:00
Ahmed Ejaz
3a8e4d203a 11768: replace order_id with order 2024-01-19 01:52:24 +05:00
Ahmed Ejaz
cb9c2963af 11768: add roundoff
- Fix lint issues
2024-01-19 01:52:24 +05:00
Ahmed Ejaz
a3592cb14a 11768: add specs
- For applied_voucher_rate method in order
2024-01-19 01:52:24 +05:00
Ahmed Ejaz
38b7616b1a 11768: apply voucher 2024-01-19 01:52:18 +05:00
Konrad
bed405794f Merge pull request #11762 from binarygit/send-shipment-email-optionally
send-shipment-email-optionally
2024-01-18 12:02:00 +01:00
dependabot[bot]
7983988fde Bump roo from 2.10.0 to 2.10.1
Bumps [roo](https://github.com/roo-rb/roo) from 2.10.0 to 2.10.1.
- [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.10.0...v2.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 09:44:22 +00:00
cyrillefr
ca4aa645f7 Delete now ununsed stimulus controller toggle_button_disabled
- also delete one comment about replacing this controller with another
2024-01-18 10:10:49 +01:00
David Cook
6e522cb055 Filter out Stripe client_id 2024-01-18 12:47:02 +11:00
Maikel
08ca85250a Merge pull request #12018 from openfoodfoundation/dependabot/bundler/stripe-10.5.0
Bump stripe from 10.3.0 to 10.5.0
2024-01-18 12:41:17 +11:00
Maikel
1458f81bf8 Merge pull request #12049 from openfoodfoundation/dependabot/bundler/bullet-7.1.6
Bump bullet from 7.1.5 to 7.1.6
2024-01-18 12:33:16 +11:00
Maikel
a0e538d2df Merge pull request #12053 from openfoodfoundation/dependabot/npm_and_yarn/pretty-quick-3.3.1
Bump pretty-quick from 3.1.3 to 3.3.1
2024-01-18 12:32:29 +11:00
David Cook
ccf0e78b91 Refactor
It's not as beautiful as I hoped, but it enforces the rule. Am I going too far? Probably.
2024-01-18 12:26:21 +11:00
dependabot[bot]
0e0ad26699 Bump bullet from 7.1.5 to 7.1.6
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.5 to 7.1.6.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.5...7.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 01:22:51 +00:00
Maikel
8be7935169 Merge pull request #12054 from openfoodfoundation/dependabot/bundler/bugsnag-6.26.2
Bump bugsnag from 6.26.1 to 6.26.2
2024-01-18 12:21:40 +11:00
David Cook
a2436e9a1a Rename hidden keys
If they follow a rule, it reduces indirection and makes it easier to manage, I reckon.
2024-01-18 12:14:07 +11:00
dependabot[bot]
18ab0312bb Bump bugsnag from 6.26.1 to 6.26.2
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.26.1 to 6.26.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.26.1...v6.26.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 01:03:40 +00:00
Maikel
60acd566e1 Merge pull request #12042 from openfoodfoundation/dependabot/bundler/bootsnap-1.17.1
Bump bootsnap from 1.17.0 to 1.17.1
2024-01-18 12:02:18 +11:00
dependabot[bot]
2d839d3238 Bump pretty-quick from 3.1.3 to 3.3.1
Bumps [pretty-quick](https://github.com/prettier/pretty-quick) from 3.1.3 to 3.3.1.
- [Release notes](https://github.com/prettier/pretty-quick/releases)
- [Changelog](https://github.com/prettier/pretty-quick/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/pretty-quick/compare/v3.1.3...v3.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-17 09:06:08 +00:00
David Cook
b4f1709dcd Remove console.log
Oops.
2024-01-17 17:25:24 +11:00
David Cook
6ed74b2bc1 Ensure keyboard shortcut fires event handlers correctly
A StimulusReflex form handler was being ignored, resulting in an error.

Note that this method can support angular forms, the submit buttons just need to be updated to type='submit' (why they are not already boggles me).
2024-01-17 17:24:24 +11:00
David Cook
bf649b2f96 Merge pull request #12044 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.5
Bump hotkeys-js from 3.13.3 to 3.13.5
2024-01-17 16:42:20 +11:00
Gaetan Craig-Riou
4b0e5ee7b6 Update all locales with the latest Transifex translations 2024-01-17 16:23:08 +11:00
Gaetan Craig-Riou
2a9731f886 Reverse commenting out git status --porcelain
It was wrongly commented out in this commit:
7c9d4f1342
2024-01-17 16:20:43 +11:00
David Cook
f348cbc10c Update Stripe cassettes
Note that stripe_account_spec.rb:51 requires a special client_id
2024-01-17 15:16:52 +11:00
David Cook
f14f325441 Record exception details
Why mask the actual exception with a made-up one? The name did convey a bit more context, but Bugsnag tracks the context anyway. It would be more helpful to record the details of the error.

Just in case, I checked if there were any recorded instances of StripeDeauthorizeFailure. I couldn't find any in Bugsnag (last 3 months) for AU, Germany, Katuma, NZ, Norway, UK, USA. Also no mention in GitHub issues.
2024-01-17 15:16:51 +11:00
David Cook
d7bb3b77a7 Add comment
We really need to update our documentation more, but this is better than nothing.
2024-01-17 15:14:44 +11:00
dependabot[bot]
2315c51221 Bump stripe from 10.3.0 to 10.5.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.3.0 to 10.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/v10.3.0...v10.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>
2024-01-17 15:14:44 +11:00
Maikel
12be3f9ff6 Merge pull request #12037 from mkllnk/dfc-import
Update variant name, price and stock through the DFC API
2024-01-17 11:47:29 +11:00
cyrillefr
8eb5ac990e Replace toggle_button_disable ctrller with generic toggle_control ctrller
- add enableIfPresent method in toggle_control_controller.js to handle enabling on toggle
- add testing in the corresponding spec
- replace in view previous ctrler with intended generic toggle-control
2024-01-16 20:35:21 +01:00
David Cook
dd502f0883 Merge pull request #12031 from dacook/buu/update-product-images-11065
[BUU] Update product images
2024-01-16 15:52:44 +11:00
Gaetan Craig-Riou
aa6392029c Add #enterprise_fee_adjustments
It returns adjustments associated to enterprise fee
2024-01-16 15:40:22 +11:00
David Cook
627863bdf7 Fix up button colour variables 2024-01-16 13:45:02 +11:00
David Cook
c67f0c52a2 Show edit button only when hover image
This required some branching in the haml, which would be nice to avoid. But we have more work to do here so we'll refactor at the end.
2024-01-16 13:45:02 +11:00
David Cook
fa9deeb948 Remove unused method 2024-01-16 13:45:02 +11:00
David Cook
471dadeaec Accept only image files
Leaving the more specific validation in the Rails model (rather than try to duplicate it).
2024-01-16 13:45:02 +11:00
David Cook
88c840b3ee Update styling for close button
I think we need a more general solution similar to ConfirmModalComponent's .modal-actions so that we can style all modals more consistently. But it's too late in the afternoon.
2024-01-16 13:45:00 +11:00
David Cook
6ed96bae85 Submit image when selected
This could have been done with a tiny amount of inline JS, but I went this way in case I needed any special logic for UJS. It turns out we don't.. but it still looks a bit cleaner this way.
2024-01-16 13:44:34 +11:00
David Cook
6479990f6d Show image update form in modal
It submits to the existing controller. I wanted to submit it with StimulusReflex, but it [doesn't support file uploads](https://docs.stimulusreflex.com/guide/working-with-forms.html#a-note-about-file-uploads). Perhaps we'll enhance this with javascript later.
2024-01-16 13:44:28 +11:00
David Cook
20ca33adbe Merge pull request #11942 from dacook/buu-product-images-11065
[BUU] See product images
2024-01-16 13:41:48 +11:00
David Cook
38661a67bc Add option to open modal instantly
Using pre-existing feature in ModalController
2024-01-16 12:53:07 +11:00
David Cook
137489f492 Refactor: move basic modal styles to generic parent component
The style was already being shared with a sibling component.

Now we can instantiate a plain old 'modal'.
2024-01-16 12:53:07 +11:00
David Cook
91abb856a6 DRY
Refactor to use the (previously unused) shared method.
2024-01-16 12:53:07 +11:00
David Cook
c584d639cc Show default image if none set 2024-01-16 12:53:07 +11:00
David Cook
ca73a9ab62 Reduce space used by image 2024-01-16 12:53:07 +11:00
David Cook
a6a3a02d79 Use padding to set button size
It's more flexible.
Also reduced the overall size to suit the desired table row sizes.
2024-01-16 12:53:06 +11:00
David Cook
1f61b03796 Add image with edit button
With a new 'mini' button style.

For now, it's just a shortcut to the image edit page.
2024-01-16 12:50:31 +11:00
dependabot[bot]
5cc0a235fd Bump hotkeys-js from 3.13.3 to 3.13.5
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.3 to 3.13.5.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.3...v3.13.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 09:49:35 +00:00
dependabot[bot]
12ab460d1b Bump bootsnap from 1.17.0 to 1.17.1
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.17.0 to 1.17.1.
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.17.0...v1.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 09:43:26 +00:00
Gaetan Craig-Riou
64043b820a Merge pull request #12030 from mkllnk/connected-apps-visibility
Show Connected Apps only to enterprise managers
2024-01-15 15:24:29 +11:00
Maikel Linke
dc411eb42b Remove migrations with bad ids
We could rename them later but we don't want them to be executed under
their new name. So we need to deploy the version rename in the database
first.
2024-01-15 14:36:23 +11:00
Maikel Linke
301add4992 Remove faulty migration generation
The long timestamps don't play well with Rails default timestamps for
migrations. They are always seen as the newest. Not using long
timestamps leads to duplicate timestamps though.

The better solution is to use `rails generate migration` and copy the
`change` method.
2024-01-15 14:36:23 +11:00
Maikel
3431f89ec3 Merge pull request #11470 from openfoodfoundation/dependabot/bundler/webmock-3.19.1
chore(deps-dev): bump webmock from 3.18.1 to 3.19.1
2024-01-15 10:57:08 +11:00
binarygit
e865f27158 Provide correct modal-link-target-value and write tests for orders#edit page 2024-01-14 15:33:31 +05:45
binarygit
746b521856 Associate each label with its checkbox 2024-01-14 15:06:02 +05:45
binarygit
bc570743a5 Bugfix: Link individual send shipment button to its corresponding form 2024-01-14 15:06:02 +05:45
binarygit
5b99c2666a Use cable_ready.replace instead of morphing after order is captured 2024-01-14 15:06:02 +05:45
binarygit
6e00a34494 Use transaltion with HTML in it by adding html suffix 2024-01-14 15:06:02 +05:45
binarygit
75ca1dddf1 Fix tests and rubocop warnings 2024-01-14 15:06:02 +05:45
binarygit
36c5d7c5ee Change displayed message 2024-01-14 15:06:02 +05:45
binarygit
267e749369 Show same dialog box when shipping order through the actions dropdown 2024-01-14 15:06:02 +05:45
binarygit
e83fd5bd83 Create ShipOrder component 2024-01-14 15:06:02 +05:45
binarygit
aa7a4fb5a2 Send shipment email by default 2024-01-14 15:06:02 +05:45
binarygit
5fe246e739 Add translations 2024-01-14 15:06:02 +05:45
binarygit
99f4c4705f Remove redundant function 2024-01-14 15:06:02 +05:45
binarygit
5e45d3b877 send shipment email optionally from orders#edit page 2024-01-14 15:06:02 +05:45
binarygit
95a51159d7 send-shipment-email-optionally 2024-01-14 15:05:59 +05:45
filipefurtad0
0a5982bb8f Update all locales with the latest Transifex translations 2024-01-12 12:12:17 +00:00
filipefurtad0
6eb56fa79b Update all locales with the latest Transifex translations 2024-01-12 11:59:48 +00:00
Filipe
4c96eb40df Merge pull request #11932 from dacook/buu-dropdown-tweaks-11518
[BUU] Dropdown UI tweaks (tom-select)
2024-01-12 11:41:07 +00:00
Filipe
2cd3545d1d Merge pull request #12015 from rioug/fix-select-customer-search
Backoffice, fix customer search when searching by first name
2024-01-12 11:22:13 +00:00
Rachel Arnould
877a145874 Merge branch 'master' into buu-dropdown-tweaks-11518 2024-01-12 10:40:19 +01:00
Maikel Linke
ad26a006e2 Remove unnecessary spec helper module
These shared examples were used in only one spec file. It's much easier
to read having all the related specs in one file instead of hiding some
in a helper module.

It's also one less file to load whenever we run specs.
2024-01-12 17:18:07 +11:00
Maikel Linke
c5b64e875f Remove unnecessary spec helper
Best viewed ignoring whitespaces.

Products don't require a tax category by default. And when you activate
it via Spree::Config then it's automatically reset at the end of the spec.
We don't need this helper to do it.
2024-01-12 17:12:40 +11:00
Maikel Linke
95c6a56e2e Simplify loading of default tax category
The logic doesn't change but I simplified it and added more detailed
specs.
2024-01-12 17:06:24 +11:00
Maikel Linke
9ad2cf78ce Spec requiring tax category when creating products
We observed an error when an instance requires a tax category and we
tried to create products via the DFC API:

* https://github.com/openfoodfoundation/openfoodnetwork/issues/11212

But I found that the error only appears after changing the instance
config without declaring a tax category as default. The right setup as
in the spec does work. The spec passes.

I don't think that this needs any fix. We shouldn't assign any tax
category just because it's required. The instance manager needs to
select a default.
2024-01-12 17:06:24 +11:00
Maikel Linke
aa5c6f34f2 Move product type definition to separate module 2024-01-12 14:58:03 +11:00
Maikel Linke
583ac65920 Move building of Offer to the right module
The DfcBuilder was doing everything to start with but we are moving its
parts to smaller modules now.
2024-01-12 14:57:58 +11:00
Maikel Linke
bdff8ffea3 Spec pending setting of on_demand via DFC API
The DFC Connector doesn't support importing null values. This has to
wait until it's solved in the Connector or we have an urgent use case.
2024-01-12 14:25:14 +11:00
Maikel Linke
af51177593 Update price and stock through the DFC API 2024-01-12 14:25:11 +11:00
Maikel Linke
8d6ae18fb6 Show Offers on the DFC API 2024-01-12 14:22:24 +11:00
Maikel Linke
4bac83dd83 Update variant name instead of product via DFC
A DFC SuppliedProduct relates to a Spree::Variant and when updating its
name we only want to change the name for that variant. Otherwise, when
we update the name of the product, it would update the name for all
variants and all the corresponding SuppliedProducts.
2024-01-12 14:22:24 +11:00
Maikel Linke
afb334c449 Add explicit label for user-facing changes 2024-01-12 09:09:58 +11:00
Maikel
2ff2cebb0d Merge pull request #12033 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.7.0
Bump newrelic_rpm from 9.6.0 to 9.7.0
2024-01-12 08:58:46 +11:00
Maikel
90fb0ed399 Merge pull request #12024 from rioug/11707-DFC-update-enterprise-group
[DFC] add/delete enterprise to enterprise group
2024-01-12 08:53:17 +11:00
Filipe
2493ee5e2a Merge pull request #11982 from drummer83/logo_size
Make hint for logo size translatable and adjust to 300 px
2024-01-11 19:27:11 +00:00
Rachel Arnould
6ff2be17c6 Merge pull request #12023 from dacook/buu/sticky_table_header_and_saving_banner-2
[BUU] Sticky table header and saving banner - alternate solution
2024-01-11 15:23:06 +01:00
filipefurtad0
a655ff099b Removes default selection for User facing changes 2024-01-11 14:06:27 +00:00
dependabot[bot]
f66cdba0da Bump newrelic_rpm from 9.6.0 to 9.7.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.6.0 to 9.7.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.6.0...9.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 09:13:52 +00:00
David Cook
ef82925710 Merge pull request #12032 from mkllnk/swagger
Show DFC API first in documentation
2024-01-11 16:45:16 +11:00
Maikel Linke
3425be4ded Show DFC API first in documentation
The capabilities and documentation for the DFC API are bigger. And since
it's in active development, people want to check the DFC API more
frequently. They needed to find the switch to select the DFC API in the
top right corner but now it's displayed straight away.
2024-01-11 15:14:10 +11:00
Maikel Linke
30b5d065c1 Replace deprecated swagger syntax 2024-01-11 15:13:41 +11:00
Maikel Linke
78e42ec664 Show Connected Apps only to enterprise managers
Super-admins also saw that tab but connecting an app doesn't work unless
you are a manager of that enterprise.
2024-01-11 12:20:40 +11:00
Maikel Linke
f480997754 Spec admin enterprise menu helper
There was no spec despite lots of logic. And I want to add more logic.
2024-01-11 12:14:09 +11:00
Maikel
d197251262 Merge pull request #12026 from dacook/rubocop-autocorrect
Autocorrect Rubocop issues
2024-01-11 09:04:49 +11:00
Maikel
1f8fe7b8ed Merge pull request #12027 from openfoodfoundation/dependabot/bundler/view_component-3.10.0
Bump view_component from 3.9.0 to 3.10.0
2024-01-11 08:55:09 +11:00
Maikel
52baa96fa3 Merge pull request #12028 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.4
Bump knapsack_pro from 6.0.3 to 6.0.4
2024-01-11 08:54:14 +11:00
Maikel
a3e7898194 Merge pull request #12029 from openfoodfoundation/dependabot/bundler/faraday-2.9.0
Bump faraday from 2.8.1 to 2.9.0
2024-01-11 08:53:28 +11:00
Konrad
1c01af5874 Merge pull request #11983 from bmd08a1/opt/fix-enterprise-roles
Improve `admin/enterprise_roles` page performance
2024-01-10 20:30:41 +01:00
Konrad
19dd5b110c Merge pull request #12009 from chahmedejaz/bugfix/11971-tos-position-issue
Fix ToS Position Issue
2024-01-10 19:36:57 +01:00
dependabot[bot]
bb031b6bf6 Bump faraday from 2.8.1 to 2.9.0
Bumps [faraday](https://github.com/lostisland/faraday) from 2.8.1 to 2.9.0.
- [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.8.1...v2.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 09:09:23 +00:00
dependabot[bot]
286816700d Bump knapsack_pro from 6.0.3 to 6.0.4
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.3 to 6.0.4.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.3...v6.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 09:08:02 +00:00
dependabot[bot]
013ee6e9b7 Bump view_component from 3.9.0 to 3.10.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.9.0 to 3.10.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.9.0...v3.10.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>
2024-01-10 09:06:32 +00:00
Gaetan Craig-Riou
557e6e6a37 Return a duplicate empty string for css pack request 2024-01-10 16:46:13 +11:00
David Cook
0bb0e1674e Remove unused rule
I forgot to remove this before.
2024-01-10 16:41:47 +11:00
Gaetan Craig-Riou
a78042cee1 Remove save after adding an association with <<
`<<` operator already save the the association to the database
2024-01-10 15:48:36 +11:00
David Cook
443b3134df Tweak padding
I'm not sure why this requires extra padding here, but it looks good 🤷

Co-authored-by: Mario Carabotta <6696729+mariocarabotta@users.noreply.github.com>
2024-01-10 14:26:56 +11:00
David Cook
792dc2cb36 Add shadow 2024-01-10 14:15:10 +11:00
Gaetan Craig-Riou
92921c89d1 Add enpoint to delete enterprise from group
Plus documentation
2024-01-10 12:44:02 +11:00
David Cook
c3e513e457 Move .form-actions into table, to allow sticky stacking
Unfortunately, it's not possible to stack two sticky elements that are inside different containers:
https://stackoverflow.com/questions/54689034/pure-css-multiple-stacked-position-sticky

So instead I've moved them under the same container. The .form-actions needs to cover up some of the table border.
I don't like the deep nesting of markup or class naming.. pls suggest if you have better ideas!
2024-01-10 12:33:41 +11:00
Gaetan Craig-Riou
b90349e4c2 Add endpoint to add enterprise to a group
plus documentaion
2024-01-10 12:31:38 +11:00
David Cook
a2f3179510 Merge pull request #12025 from openfoodfoundation/dependabot/bundler/bugsnag-6.26.1
Bump bugsnag from 6.26.0 to 6.26.1
2024-01-10 11:38:02 +11:00
David Cook
c1486630e1 Merge pull request #12022 from openfoodfoundation/dependabot/npm_and_yarn/follow-redirects-1.15.4
Bump follow-redirects from 1.14.8 to 1.15.4
2024-01-10 11:36:17 +11:00
David Cook
c95d7523f6 Merge pull request #12013 from mkllnk/spec-file-helper
DRY specs with fixture_file_upload helper
2024-01-10 10:28:23 +11:00
David Cook
47418d9873 Merge pull request #12014 from mkllnk/voucher-on
Remove feature toggle for vouchers, they are always on
2024-01-10 09:58:35 +11:00
David Cook
2a3d498c13 Style/RedundantReturn 2024-01-10 09:38:35 +11:00
David Cook
7e00dbfd67 Style/RedundantParentheses 2024-01-10 09:38:21 +11:00
David Cook
18c2b2512b Safely autocorrect Style/RedundantLineContinuation
Inspecting 1530 files
.................................................................................................................................................................................C................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................

Offenses:

app/helpers/shop_helper.rb:48:43: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    no_open_order_cycles?(order_cycles) &&
                                          ^
app/helpers/shop_helper.rb:48:44: C: [Corrected] Style/RedundantLineContinuation: Redundant line continuation.
    no_open_order_cycles?(order_cycles) && \ ...
                                           ^
spec/system/admin/configuration/content_spec.rb:35:64: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    expect(page).to have_selector :link, "markdown link", href:
                                                               ^
spec/system/admin/configuration/content_spec.rb:35:65: C: [Corrected] Style/RedundantLineContinuation: Redundant line continuation.
    expect(page).to have_selector :link, "markdown link", href: \ ...
                                                                ^

1530 files inspected, 4 offenses detected, 4 offenses corrected
2024-01-10 09:29:37 +11:00
David Cook
fbbaf51522 Safely autocorrect Lint/SymbolConversion
Inspecting 1530 files
.....................................................................................................................................................................................................................................................................................................................................................W.................................................................................................................................................................................................................................................W..........................................................................................................................................................................................................................................................W.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/spree/preferences/preferable_class_methods.rb:73:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}" instead.
        "preferred_#{name}".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:77:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}=" instead.
        "preferred_#{name}=".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:81:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"prefers_#{name}?" instead.
        "prefers_#{name}?".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:85:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"prefers_#{name}=" instead.
        "prefers_#{name}=".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:89:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_default" instead.
        "preferred_#{name}_default".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:93:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_type" instead.
        "preferred_#{name}_type".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:97:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_description" instead.
        "preferred_#{name}_description".to_sym
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/sets/product_set.rb:121:28: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"variant_#{error.attribute}" instead.
        product.errors.add("variant_#{error.attribute}".to_sym, error.message)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/environment_extension.rb:11:24: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"#{name}=" instead.
        create_method( "#{name}=".to_sym ) { |val|
                       ^^^^^^^^^^^^^^^^^

1530 files inspected, 9 offenses detected, 9 offenses corrected
2024-01-10 09:21:43 +11:00
Konrad
7c33c9749d Merge pull request #11999 from chahmedejaz/task/11923-add-vouchers-to-oc-customer-total-report
Add Vouchers to OC Customer Total Report
2024-01-09 20:56:50 +01:00
Konrad
591885610a Merge branch 'master' into task/11923-add-vouchers-to-oc-customer-total-report 2024-01-09 18:51:47 +01:00
Konrad
1e2985b3cb Merge pull request #11990 from dacook/form-hotkeys
Add keyboard shortcut to submit forms
2024-01-09 18:33:33 +01:00
dependabot[bot]
d847565bfb Bump bugsnag from 6.26.0 to 6.26.1
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.26.0 to 6.26.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.26.0...v6.26.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 10:00:06 +00:00
David Cook
4f27bea02f Make table header sticky
But it overlaps the .form-actions. how to make them sticky together..

todo: register the z-index in variables.scss
2024-01-09 17:07:37 +11:00
Gaetan Craig-Riou
626e903ab9 Add ability for controller to use CanCan 2024-01-09 14:44:12 +11:00
David Cook
e48d009668 Hide #sort section instead of covering it
Before, the .form-actions was overlaying it, to avoid making the table below jump. But if the .form-actions and #sort are the same height, it won't jump when we swap them.

It does make the table jump in the case of a multi-line .form-actions message, but that only happens after submit anyway.

This is needed for the next commit..
2024-01-09 13:11:49 +11:00
David Cook
2defc4afa7 Ensure form-actions content uses available space
Using pre-defined colunms was a hacky short term solution, this way is more flexible.
2024-01-09 12:34:05 +11:00
Gaetan Craig-Riou
a7fbff12dd Merge pull request #12019 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.5.4
Bump @floating-ui/dom from 1.5.3 to 1.5.4
2024-01-09 09:57:00 +11:00
Gaetan Craig-Riou
5ebc8be887 Merge pull request #12017 from openfoodfoundation/dependabot/bundler/bullet-7.1.5
Bump bullet from 7.1.4 to 7.1.5
2024-01-09 09:55:39 +11:00
dependabot[bot]
ee6fd0ffeb Bump follow-redirects from 1.14.8 to 1.15.4
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.8 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.8...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 22:54:20 +00:00
Gaetan Craig-Riou
c84e3d9018 Merge pull request #12016 from openfoodfoundation/dependabot/bundler/puma-6.4.2
Bump puma from 6.4.1 to 6.4.2
2024-01-09 09:53:47 +11:00
Rachel Arnould
16a091d95c Merge pull request #11921 from abdellani/11431-show_warning_when_a_new_invoice_can_be_generated
show warning when a new invoice can be generated
2024-01-08 16:45:11 +01:00
Rachel Arnould
f7aca7a9f1 Merge branch 'master' into 11431-show_warning_when_a_new_invoice_can_be_generated 2024-01-08 16:38:39 +01:00
Rachel Arnould
bd0a296100 Merge pull request #11846 from chahmedejaz/task/11068-delete-product-or-variant
[BUU] Add option to delete a product or variant
2024-01-08 13:17:29 +01:00
dependabot[bot]
c3e102aa0e Bump @floating-ui/dom from 1.5.3 to 1.5.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.5.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>
2024-01-08 09:36:52 +00:00
dependabot[bot]
d8c6241398 Bump bullet from 7.1.4 to 7.1.5
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.4 to 7.1.5.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.4...7.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 09:09:30 +00:00
dependabot[bot]
da1ed8c118 Bump puma from 6.4.1 to 6.4.2
Bumps [puma](https://github.com/puma/puma) from 6.4.1 to 6.4.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.4.1...v6.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 09:07:26 +00:00
Jean-Baptiste Bellet
9ea6fc00cb Ignore test.host host to avoid error
```
Failed to open TCP connection to test.host:80
```
2024-01-08 16:54:53 +11:00
Jean-Baptiste Bellet
f500d1e7a8 Instead of stubbing CSS pack requests, ignore them with VCR 2024-01-08 16:54:53 +11:00
dependabot[bot]
ed5c750199 chore(deps-dev): bump webmock from 3.18.1 to 3.19.1
Bumps [webmock](https://github.com/bblimke/webmock) from 3.18.1 to 3.19.1.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.18.1...v3.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 16:54:53 +11:00
Maikel Linke
4e510e9bd0 Avoid warning hiding main menu in report spec 2024-01-08 15:54:25 +11:00
Maikel Linke
38843c4d4d Remove use of feature vouchers 2024-01-08 15:53:50 +11:00
Maikel Linke
9aff9efa86 Remove feature vouchers 2024-01-08 15:53:50 +11:00
Maikel Linke
a8c83b670b Remove superfluous feature tag from specs 2024-01-08 15:53:50 +11:00
Maikel Linke
e2eead0f86 Scroll to reveal White Label tab
The Vouchers tab pushed the White Label tab further down and it was
hidden by the savebar. The CSS adjustment in this commit makes sure
that users can always see all menu items.

The automatic scrolling by Capybara fails because of the savebar but
scrolling to the bottom works.
2024-01-08 15:52:17 +11:00
Gaetan Craig-Riou
9d13549de4 Remove jquery usage
Also remove populating user_id as it's not on the page
2024-01-08 15:51:37 +11:00
Gaetan Craig-Riou
5f499a9d3f Add search on first name 2024-01-08 15:22:28 +11:00
Maikel Linke
b0b061f97d Activate vouchers for dev and test
CI can then tell me if some specs still rely on it being disabled.
2024-01-08 14:30:28 +11:00
Maikel Linke
2699ae6ca7 DRY terms of service PDF file use in specs 2024-01-08 13:01:21 +11:00
Maikel Linke
dd639435f1 Remove unnecessary image file helper 2024-01-08 13:01:21 +11:00
Maikel Linke
6327f46733 Use fixture_file_upload helper where possible
We can't use it in factories but in other places it's a nice shortcut.
2024-01-08 11:32:01 +11:00
Maikel Linke
41112c1462 DRY uploaded file use in specs 2024-01-08 11:32:01 +11:00
Maikel
e11d1582f2 Merge pull request #11994 from abdellani/11673-upgrade-paper_trail
upgrade paper-trail to 15.1
2024-01-08 09:34:51 +11:00
Konrad
1e9aaf17ba Merge pull request #11981 from bouaik/fix-flash-type-when-updating-entreprise-fees
Fix flash type when updating entreprise fees
2024-01-06 20:45:16 +01:00
Gaetan Craig-Riou
b0541b0a34 Merge pull request #12004 from mkllnk/default-country
Cache default country simply in memory
2024-01-05 14:10:35 +11:00
Maikel Linke
a1b02de11e Update all locales with the latest Transifex translations 2024-01-05 12:16:41 +11:00
Maikel
a35b42da2f Merge pull request #12008 from openfoodfoundation/dependabot/bundler/shoulda-matchers-6.0.0
Bump shoulda-matchers from 5.3.0 to 6.0.0
2024-01-05 12:10:09 +11:00
Maikel Linke
57a6d1ef06 Partial spec of error message for readability
This avoids Rubocop warnings. We don't need to test for the whole
message. The tested part is unique already and quicker to read.
2024-01-05 11:48:30 +11:00
Maikel
6bdbb270d3 Merge pull request #12010 from openfoodfoundation/dependabot/bundler/view_component-3.9.0
Bump view_component from 3.8.0 to 3.9.0
2024-01-05 11:42:23 +11:00
Maikel
def32bcab8 Merge pull request #12007 from openfoodfoundation/dependabot/bundler/mime-types-3.5.2
Bump mime-types from 3.5.1 to 3.5.2
2024-01-05 11:41:08 +11:00
Maikel
582ea2c1bb Merge pull request #12006 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.142.0
Bump aws-sdk-s3 from 1.141.0 to 1.142.0
2024-01-05 11:40:10 +11:00
dependabot[bot]
b5c413b9e7 Bump view_component from 3.8.0 to 3.9.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.8.0 to 3.9.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.8.0...v3.9.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 22:05:30 +00:00
Ahmed Ejaz
056907d195 11971: update z-index for ToS 2024-01-05 00:59:42 +05:00
dependabot[bot]
0e9ef61648 Bump shoulda-matchers from 5.3.0 to 6.0.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 5.3.0 to 6.0.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v5.3.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 09:22:11 +00:00
dependabot[bot]
9a0685bec4 Bump mime-types from 3.5.1 to 3.5.2
Bumps [mime-types](https://github.com/mime-types/ruby-mime-types) from 3.5.1 to 3.5.2.
- [Changelog](https://github.com/mime-types/ruby-mime-types/blob/main/History.md)
- [Commits](https://github.com/mime-types/ruby-mime-types/compare/v3.5.1...v3.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 09:17:21 +00:00
dependabot[bot]
36c6d5fd2e Bump aws-sdk-s3 from 1.141.0 to 1.142.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.141.0 to 1.142.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>
2024-01-04 09:12:23 +00:00
Ahmed Ejaz
25c1f64876 Update lib/reporting/reports/orders_and_fulfillment/order_cycle_customer_totals.rb
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2024-01-04 12:53:24 +05:00
Maikel Linke
883bfcdf0d Simplify column toggling in report spec
* This partly reverts 3a957fb988.
2024-01-04 16:53:36 +11:00
Maikel Linke
074e97c414 Remove paper_trail version restriction for Dependabot updates 2024-01-04 16:01:35 +11:00
Maikel
e2aeb18359 Merge pull request #11998 from abdellani/remove-unecessary-require-instructions
remove unnecessary require instructions
2024-01-04 15:30:33 +11:00
Maikel
f986825311 Merge pull request #11996 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.4
Bump active_storage_validations from 1.1.3 to 1.1.4
2024-01-04 13:59:51 +11:00
Maikel Linke
cb3cd3e7ea Cache default country simply in memory
This simplifies the code, avoids a method naming collision with Rails
and should be faster as well.
2024-01-04 13:45:36 +11:00
dependabot[bot]
9e9daa0239 Bump active_storage_validations from 1.1.3 to 1.1.4
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.1.3 to 1.1.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/commits)

---
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>
2024-01-04 01:37:31 +00:00
Gaetan Craig-Riou
759aa684d6 Merge pull request #11997 from openfoodfoundation/dependabot/bundler/pdf-reader-2.12.0
Bump pdf-reader from 2.11.0 to 2.12.0
2024-01-04 12:37:25 +11:00
Gaetan Craig-Riou
eee4ef847d Merge pull request #11995 from openfoodfoundation/dependabot/bundler/puma-6.4.1
Bump puma from 6.4.0 to 6.4.1
2024-01-04 12:32:36 +11:00
Gaetan Craig-Riou
85f1c58e52 Merge pull request #11993 from abdellani/11673-upgrade-ransack
upgrade ransack to 4.1.0
2024-01-04 12:06:08 +11:00
Dung Bui
14d755d706 fix typo 2024-01-04 07:55:19 +07:00
Filipe
c2100bb607 Merge pull request #12002 from openfoodfoundation/RachL-patch-2
Update copyright year in README.md
2024-01-03 17:54:04 +00:00
Dung Bui
ab6a7e307b remove unused helpers 2024-01-04 00:19:15 +07:00
Dung Bui
f1da550912 remove unused structs 2024-01-04 00:19:15 +07:00
Dung Bui
b844b188ce fix enterprise roles page performance 2024-01-04 00:19:15 +07:00
Rachel Arnould
84aada4137 Update README.md
Changing the year in the readme - Happy New Year!
2024-01-03 15:32:45 +01:00
Mohamed ABDELLANI
1ffdca3fc2 require tag_rule_applicator as it's not loaded automatically on OrderAvailableShippingMethods & OrderAvailablePaymentMethods 2024-01-03 12:08:26 +01:00
Ahmed Ejaz
dcc962a8fd 11923: fix lint issues 2024-01-03 16:02:07 +05:00
Mohamed ABDELLANI
3fab2c350e require tag_rule_applicator on Shop::OrderCyclesList 2024-01-03 11:59:21 +01:00
Ahmed Ejaz
c06f251ff3 11923: update voucher_amount logic 2024-01-03 15:54:32 +05:00
Ahmed Ejaz
3a957fb988 11923: add specs 2024-01-03 15:46:16 +05:00
Mohamed ABDELLANI
ab1a0ba986 add ActiveSupport::TimeZone to yaml_column_permitted_classes 2024-01-03 11:41:37 +01:00
Mohamed ABDELLANI
d239beb226 remove unnecessary require instructions 2024-01-03 11:34:57 +01:00
Mohamed ABDELLANI
d591ce6977 add Time to yaml_column_permitted_classes 2024-01-03 11:24:50 +01:00
Mohamed ABDELLANI
0a474f9288 add "ActiveSupport::TimeWithZone" to yaml_column_permitted_classes 2024-01-03 11:12:06 +01:00
Rachel Arnould
edfd4277ac Merge pull request #11977 from drummer83/my_pr-11936
Fixes minor styling issues of admin and admin v3 in the dashboard
2024-01-03 10:47:56 +01:00
dependabot[bot]
f2e4343fad Bump pdf-reader from 2.11.0 to 2.12.0
Bumps [pdf-reader](https://github.com/yob/pdf-reader) from 2.11.0 to 2.12.0.
- [Changelog](https://github.com/yob/pdf-reader/blob/main/CHANGELOG)
- [Commits](https://github.com/yob/pdf-reader/compare/v2.11.0...v2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 09:40:18 +00:00
dependabot[bot]
9f785cc7b9 Bump puma from 6.4.0 to 6.4.1
Bumps [puma](https://github.com/puma/puma) from 6.4.0 to 6.4.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.4.0...v6.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 09:37:32 +00:00
Mohamed ABDELLANI
ec439b4bf7 update paper-trail to 15.1 2024-01-03 10:28:17 +01:00
Mohamed ABDELLANI
81c2fdd62a upgrade ransack to 4.1.0 2024-01-03 10:19:27 +01:00
Maikel
1746ba5878 Merge pull request #11972 from filipefurtad0/fix_flaky_enterprise_navigation
Moves test introduced by #11799 to avoid non-explicit modal acceptance
2024-01-03 11:19:33 +11:00
Maikel
b9f117e643 Merge pull request #11959 from mkllnk/connect-app-id
Send semantic id when connecting enterprise to app
2024-01-03 11:18:01 +11:00
Maikel
990984108f Merge pull request #11956 from mkllnk/dfc-product-name
Use full product and variant name on DFC API
2024-01-03 11:17:44 +11:00
Maikel
63ce91d52a Merge pull request #11954 from mkllnk/delete-app
Enterprise user can remove Connected Apps
2024-01-03 11:17:26 +11:00
Maikel
1f0c5fc187 Merge pull request #11963 from filipefurtad0/stripe_payment_status_spec_vcr
Tests app/services/stripe_payment_status.rb
2024-01-03 10:57:46 +11:00
Maikel
5c4dcf371b Merge pull request #11979 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.23.1
Bump rubocop-rails from 2.23.0 to 2.23.1
2024-01-03 10:57:34 +11:00
Maikel
b5c145c15f Merge pull request #11989 from openfoodfoundation/dependabot/npm_and_yarn/moment-2.30.1
Bump moment from 2.29.4 to 2.30.1
2024-01-03 10:46:42 +11:00
Maikel
1d4e0ec779 Merge pull request #11980 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.26
Bump combine_pdf from 1.0.25 to 1.0.26
2024-01-03 10:44:54 +11:00
Maikel
6e26eda08a Merge pull request #11969 from openfoodfoundation/dependabot/bundler/debug-1.9.1
Bump debug from 1.9.0 to 1.9.1
2024-01-03 10:43:54 +11:00
Ahmed Ejaz
862edbe55b 11923: add voucher to OC customer total report 2023-12-30 14:35:37 +05:00
David Cook
aa3d4c3f6e Add keyboard shortcut to submit forms on frontend 2023-12-29 15:02:43 +11:00
David Cook
78e2311f59 Add keyboard shortcut to submit form in admin
Unfortunately it doesn't work for Angular forms. I'm not sure if there's a way to trigger an angular submit.
2023-12-29 14:57:59 +11:00
David Cook
50fb8466a9 [add package] hotkeys-js 2023-12-29 14:57:39 +11:00
David Cook
e62cd0eb89 Add reports readme [doc]
It doesn't say much yet, but could be a helpful starting point. Hopefully we will add to it next time we're working on it.

[skip ci]
2023-12-29 13:58:55 +11:00
Ahmed Ejaz
c2693d1a32 11068: add responsiveness to delete modal actions 2023-12-29 03:02:16 +05:00
Ahmed Ejaz
1d6a089754 11068: fix specs 2023-12-28 22:11:52 +05:00
Ahmed Ejaz
17bd3bb0cc 11068: update setModalDataset logic to generic logic 2023-12-28 21:34:37 +05:00
Ahmed Ejaz
f194b03882 11068: add sleep of 0.1s 2023-12-28 17:51:52 +05:00
Ahmed Ejaz
548ffc0222 11068: replace p tag with a tag 2023-12-28 17:28:26 +05:00
Ahmed Ejaz
813ebd9129 11068: add confirm_actions to close the modal 2023-12-28 17:07:18 +05:00
Ahmed Ejaz
047e63541c 11068: add black-text css class 2023-12-28 17:06:56 +05:00
Ahmed Ejaz
0fd868b669 11068: update variant_scope method to inline 2023-12-28 17:06:21 +05:00
dependabot[bot]
74214aba7e Bump moment from 2.29.4 to 2.30.1
Bumps [moment](https://github.com/moment/moment) from 2.29.4 to 2.30.1.
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.4...2.30.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-28 09:14:28 +00:00
David Cook
59ad2cf5ec Re-set vcr config after each test
I couldn't find a built-in way to do it, and couldn't even directly access the vcr config outside of VCR.configure. So this is the best way I could think of.
2023-12-28 17:47:09 +11:00
David Cook
263f68f927 Merge pull request #11915 from murjax/cleanse-stripe-js-errors-11886
Cleanse JS errors from DOM on Stripe failure
2023-12-28 13:11:36 +11:00
drummer83
da4dc637e4 Add empty line at end of file 2023-12-27 09:33:27 +01:00
drummer83
887a6d8e7a Make string translatable and adjust to 300 px 2023-12-26 16:00:00 +01:00
Ahmed Ejaz
86c2397f63 11068: update modal padding 2023-12-26 15:41:38 +05:00
bouaik
2e926e867c fix flash type when updating entreprise fees 2023-12-25 10:19:51 +01:00
dependabot[bot]
15e810b7f1 Bump combine_pdf from 1.0.25 to 1.0.26
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.25 to 1.0.26.
- [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.25...v1.0.26)

---
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-12-25 09:09:26 +00:00
dependabot[bot]
13e71d5b8c Bump rubocop-rails from 2.23.0 to 2.23.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.23.0 to 2.23.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.23.0...v2.23.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-12-25 09:06:40 +00:00
drummer83
120b2c363d Fixing indentation error 2023-12-24 20:29:41 +01:00
drummer83
ad508c36e5 Avoid overflow of enterprise list when only few enterprises present 2023-12-24 19:07:14 +01:00
drummer83
2ab3efe5de Adjust outline when focusing the overflowing enterprisie list (was red in Firefox) 2023-12-24 19:02:58 +01:00
drummer83
4e6f43afab Add styles for hovering and warning 2023-12-24 17:59:27 +01:00
drummer83
ddd455a73e Use methodology from order_cycles for products 2023-12-24 17:58:21 +01:00
drummer83
dddebae56a Unify coding style 2023-12-24 17:52:21 +01:00
Ahmed Ejaz
c5a86341dc 11068: update sleep logic in specs 2023-12-24 02:00:26 +05:00
David Cook
3319f38e6c Rename class to signal intent
Because the HTML is changed, I had to also update the old stylesheet too.
2023-12-23 15:46:15 +01:00
David Cook
39d66c082b Remove unused green class 2023-12-23 15:46:15 +01:00
David Cook
e379ee761b Refactor
'positive' and 'zero' methods are preferred in this case.
2023-12-23 15:46:15 +01:00
David Cook
6ca98d497a Remove unnecessary 'blue' class
Buttons are already blue.

And we don't want the text to be blue. This resolves #11865
2023-12-23 15:46:15 +01:00
David Cook
e9fe66748a Replace 'orange' class with 'red'
It was the same colour anyway
2023-12-23 15:46:15 +01:00
Ahmed Ejaz
87d328d6d6 11068: fix specs 2023-12-23 16:08:26 +05:00
Ahmed Ejaz
6ed447b6ac 11068: code refactor
- Add single delete modal
  for product and variant each
2023-12-23 15:53:28 +05:00
Konrad
eb70eb4bc8 Merge pull request #11966 from bouaik/fix-menu-and-sub-menu-highlighting
Fix menu and sub menu highlighting
2023-12-22 22:35:47 +01:00
Konrad
398be49d43 Merge pull request #11914 from bmd08a1/ft/include-vouchers-in-revenues-by-hub-report
Include voucher tax adjustment in revenues by hub report
2023-12-22 20:59:00 +01:00
filipefurtad0
2e301a67b0 Moves test introduced by #11799 to a section in the spec where a modal does not need acceptance
Tests forward navigation
2023-12-22 14:24:37 +00:00
Konrad
72c824a412 Merge pull request #11795 from rioug/11720-enterprise-user-consent-to-ToS-changes
Add banner to allow user to accept ToS changes
2023-12-22 14:03:24 +01:00
Gaetan Craig-Riou
1bb4a667da Move banner to orignal postion at the bottom of page 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
772c641611 Move banner up to not cover existing button 2023-12-22 13:20:14 +01:00
David Cook
041d74b7c2 Fix CSS selector
These styles should only apply to the form-actions in the products form.
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
d0edf57e74 Fix tos system spec
Actually create a ToS file instead of using a fake one
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
a1d3b20e5b Remove the fact ToS file
Now that we check if there is a ToS file before displaying the banner
it's not needed anymore
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
9609ba4268 Don't show the banner if no ToS file uploaded 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
17fa6b6168 Per review, revert change 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
91e5227d80 Move to simple UserReflex 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
b28f40b125 Add system spec for ToS Banner 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
b3acdaf324 Remove user.id parameter
It's not needed, as the reflex get the curent user based on the user
session
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
f643ba5074 Update only User who are enterprise owner 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
56b75ad9fb Per review, stream line the css
Reuse existing css when possible, and use variable for z-index so its
easier to track usage of z-index
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
aaa8f3f572 Per review, move logic to display ToS banner to a helper
It easier to understand when we can see the logic to display the banner
in the view.
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
d0ba881aa2 Move acepting of ToS change to a reflex
Spree::Admin::UserController is for super admin user only. Moving to a
reflex simplifies the code by getting rid of a new route and a new stimulus
controller
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
91862c126b Remove now useless fix
Now that the banner isn't displayed if enterprise are not required to
sign ToS, the fix is useless
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
d2b210c818 Update migration to set terms_of_service_accepted_at to time of deployment 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
8371eada23 Don't show the banner if enterprises are not required to accepte ToS 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
6226067846 Update translation to be inline with design mockup 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
25d1511f0b Add Terms of Service banner styling for admin V3 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
5c9abfefee Per review, remove useless code pass
It shouldn't be possible for the update to fail, as we are not sending
any parameter. Any other failure should be handled by rails already, ie
missing csrf token.
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
44f22dc634 Per review, check terms_of_service_accepted_at has been updated 2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
8e3e9ad18a Fix terms and condition spec
Timecop intefere with the fake terms of service, so we need to manually
accept the terms of service to make the banner disappear
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
94fb1397f0 Set up data to hide ToS banner
The banner can in some case overlap element we are trying to interact
with. Add a fake ToS file and make sure user have accepted the ToS, so
that the banner is not shown
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
8e31e35d5d Add Tos banner on all admin pages
Plus spec, this is tested on the dashboard page.
The banner will show if the user accepted_at is before the tos file
updated at time.
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
ee79fd88d2 Add /admin/users/:id/accept_terms_or_service end point
Plus specs
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
a234f1ace6 Add stimulus controller to handle ToS banner
Plus spec
2023-12-22 13:20:14 +01:00
Gaetan Craig-Riou
16cb72adbc Add terms_of_service_accepted_at to spree_user
It will be used to track when a user has accepted changed to ToS
2023-12-22 13:20:14 +01:00
Konrad
5f7760c3cc Merge pull request #11803 from rioug/11801-remove-raw-from-email-template
Remove raw from various template
2023-12-22 13:10:33 +01:00
filipefurtad0
265de61e49 Resets VCR/Stripe library directory, after example run, on base spec helper 2023-12-22 12:09:50 +00:00
dependabot[bot]
f88d4a6da1 Bump debug from 1.9.0 to 1.9.1
Bumps [debug](https://github.com/ruby/debug) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.9.0...v1.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-22 09:48:10 +00:00
Gaetan Craig-Riou
ffbdb17b60 Merge pull request #11960 from mkllnk/rswag-deprecations
Update Swagger config to new naming
2023-12-22 11:30:18 +11:00
Ahmed Ejaz
985487c061 11068: update confirm_modal_component
- add new position alignment for the modal actions
- add 'justify-space-around' and 'justify-end' as new alignment classes
- use the above classes accordingly
2023-12-22 03:10:52 +05:00
Maikel
e3a838bc3f Merge pull request #11961 from openfoodfoundation/dependabot/bundler/faraday-2.8.1
Bump faraday from 2.7.12 to 2.8.1
2023-12-22 08:47:11 +11:00
Maikel
e15893e697 Merge pull request #11950 from filipefurtad0/stripe_accounts_vcr_spec
Replaces Stripe stubs with the real account IDs
2023-12-22 08:45:25 +11:00
Maikel
0b9a4386f2 Merge pull request #11965 from filipefurtad0/remove_comment
Removes forgotten comment line
2023-12-22 08:28:59 +11:00
Ahmed Ejaz
dc78fa843a Update app/reflexes/products_reflex.rb
11068: remove overdefensive auth check

Co-authored-by: Maikel <maikel@email.org.au>
2023-12-22 02:24:28 +05:00
Ahmed Ejaz
24fd75a85d Update app/reflexes/products_reflex.rb
11068: remove overdefensive auth check

Co-authored-by: Maikel <maikel@email.org.au>
2023-12-22 02:21:53 +05:00
bouaik
6fa3720d05 Merge branch 'master' into fix-menu-and-sub-menu-highlighting 2023-12-21 21:20:04 +01:00
bouaik
fde7c34287 fix highlighting 2023-12-21 21:16:39 +01:00
filipefurtad0
dc9774def6 Removes forgotten comment line 2023-12-21 18:56:11 +00:00
filipefurtad0
0517d1ce6b Replaces receive_message_chain rspec mocks with responses from real Stripe calls 2023-12-21 18:15:34 +00:00
filipefurtad0
d8d874f7ea Creates a connected account and tests OFN code for disconnecting it
Re-records cassettes

Creates a bogus publishable key

We need to feed some value to the ENV variables which are picked up from the local test environment, for the build to run. We could also store them all as environment secrets on our repo, but I don'r think this is necessary, as we only run recorderd API/VCR calls on our build, and never real API calls.
2023-12-21 11:09:18 +00:00
filipefurtad0
beb916d24d Improves assertions around disconnect-failure and -success test cases 2023-12-21 11:02:57 +00:00
filipefurtad0
87ba37dcfd Replaces Stripe stubs with the account and customer IDs
Adds STRIPE_ACCOUNT as sensitive data to VCR setup

Rubocop fixes and re-recording of cassettes

Adds bogus client_id to local test file - for CI to run
2023-12-21 11:02:55 +00:00
dependabot[bot]
f977a6f8d4 Bump faraday from 2.7.12 to 2.8.1
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.12 to 2.8.1.
- [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.12...v2.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 09:37:20 +00:00
Maikel Linke
82d3199cf0 Update Swagger config to new naming
Avoids deprecation warnings:

```
DEPRECATION WARNING: swagger_root= is deprecated and will be removed from rswag-api 3.0 (use openapi_root= instead) (called from block in <main> at config/initializers/rswag_api.rb:8)
DEPRECATION WARNING: Rswag::Ui: WARNING: The method will be renamed to "openapi_endpoint" in v3.0 (called from block in <main> at config/initializers/rswag_ui.rb:12)
DEPRECATION WARNING: Rswag::Ui: WARNING: The method will be renamed to "openapi_endpoint" in v3.0 (called from block in <main> at config/initializers/rswag_ui.rb:13)
```
2023-12-21 16:23:27 +11:00
Maikel Linke
1903747c0a Send semantic id when connecting enterprise to app
It allows us to list enterprises from any OFN server, not just ofn-au.
The app could even accept any enterprise on any server providing its
data in the DFC format.
2023-12-21 15:09:09 +11:00
Maikel
589ae4db44 Merge pull request #11957 from duleorlovic/11855_add_ml_and_pa
Add Punjabi and Malayalam language for India instance #11855
2023-12-21 10:47:27 +11:00
Maikel
9ad60e891e Merge pull request #11906 from filipefurtad0/add_translation_checks
Adds build node to check for i18n exceptions
2023-12-21 09:31:28 +11:00
Dusan Orlovic
2585820bbb Add Punjabi and Malayalam language for India instance #11855 2023-12-20 12:55:51 +01:00
filipefurtad0
8891091ebb Uncomments preferences
Moves I18n exception handler within base spec helper
2023-12-20 11:16:25 +00:00
Ahmed Ejaz
0290697fb7 11068: add specs
- For delete_product
- For delete_variant
2023-12-20 12:54:54 +05:00
Ahmed Ejaz
78f5a8ad30 11068: add specs
- For system's product delete action
2023-12-20 12:54:54 +05:00
Ahmed Ejaz
d767529e11 11068: add divs to contain modals 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
9c321ef9c8 11068: update comment message 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
f44476b9af 11068: code refactoring
- Make use of reflexes when deleting the product and variant
- Add reflex dataset param to confirm_modal_component
2023-12-20 12:54:54 +05:00
Ahmed Ejaz
9cf51f3453 11068: add success and failure messages 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
1936adc82f 11068: fix lint issues 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
a321a962a5 11068: separate prompt_html into individual translation 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
26d102f66b 11068: update product/varaint delete actions 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
a71bb21789 11068: update confirm_button_color to confirm_button_class 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
d8eace8dff #11068: remove product_actions_controller.js 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
05e7674805 #11068: add delete variant and product reflexes 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
eca83eeec3 #11068, update delete links for uniq modal ids 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
5d90993f21 11068, apply delete_modals partial 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
c202324cb0 #11068: add product_v3 delete_modals partial 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
0efd78b979 #11068: update confirm_modal_component to accept controller values 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
d1224ea022 #11068, resolve conflicts 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
d7f2cbf882 11068, revert controller changes 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
2f0965aa62 #11068, add product_actions_controller 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
bf0943e655 #11068, add ProductDeleter 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
4f76478619 #11068, add delete modals 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
5d490ded15 #11068, update ConfirmModalComponent to take more options 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
0ff1067bc6 #11068, add delete option for product variant 2023-12-20 12:54:54 +05:00
Ahmed Ejaz
39de2f704f #11068, add delete dropdown option
# Conflicts:
#	app/views/admin/products_v3/components/_product_actions.html.haml
2023-12-20 12:54:54 +05:00
Maikel Linke
eb03235295 Use full product and variant name on DFC API 2023-12-20 16:43:29 +11:00
Maikel Linke
a9b206f74e Update Discover Regenerative description 2023-12-20 16:35:01 +11:00
Maikel Linke
67ffb5526e Display loading status in action button 2023-12-20 16:35:00 +11:00
Maikel Linke
b33910d5b4 Disconnect Connected App as enterprise user
The app has to provide a webhook URL to be notified when the app is
disconnected. Once we have better token management, we would have a
unique token per app and could revoke it. But for now it's just a
request to disconnect the app.
2023-12-20 15:29:28 +11:00
Maikel Linke
efee68007d Adjust header colour in new layout 2023-12-20 15:29:28 +11:00
Maikel Linke
fcb540a89f Improve readability by limiting text width 2023-12-20 15:29:28 +11:00
Maikel
6d5f07c6a0 Merge pull request #11945 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.23.0
Bump rubocop-rails from 2.22.2 to 2.23.0
2023-12-20 13:58:33 +11:00
Maikel
70a2a05a8d Merge pull request #11953 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.25
Bump combine_pdf from 1.0.24 to 1.0.25
2023-12-20 13:58:16 +11:00
Maikel Linke
89ef62d341 Update Rubocop config todo
[skip ci]
2023-12-20 13:57:06 +11:00
filipefurtad0
cdceefb6fb Moves test.rb I18n exception hanlder into base_spec_helper 2023-12-19 16:44:53 +00:00
Konrad
4973b5c07c Merge pull request #11789 from duleorlovic/11784_contact_tab
Fix open Contact tab from "customers only" message
2023-12-19 15:05:41 +01:00
dependabot[bot]
632291e8c7 Bump combine_pdf from 1.0.24 to 1.0.25
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.24 to 1.0.25.
- [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.24...v1.0.25)

---
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-12-19 09:07:11 +00:00
Rachel Arnould
2b749714bd Merge pull request #11927 from drummer83/Dashboard
Show Dashboard header in the header area for multi-enterprise users
2023-12-18 17:49:49 +01:00
Dung Bui
248b9fb186 update order state 2023-12-18 19:26:00 +07:00
dependabot[bot]
4551a9b689 Bump rubocop-rails from 2.22.2 to 2.23.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.22.2 to 2.23.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.22.2...v2.23.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-12-18 09:18:45 +00:00
Maikel
080086aa38 Merge pull request #11943 from openfoodfoundation/dependabot/bundler/stripe-10.3.0
Bump stripe from 10.2.0 to 10.3.0
2023-12-18 14:46:40 +11:00
Gaetan Craig-Riou
502df3d78f Remove a bunch of non needed string interpolation 2023-12-18 14:42:04 +11:00
Gaetan Craig-Riou
eb4115ceed Per review, use existing TrixScrubber to sanitize content 2023-12-18 14:40:14 +11:00
Gaetan Craig-Riou
085629fae1 Remove raw 2023-12-18 14:40:14 +11:00
Gaetan Craig-Riou
28f3161bf8 Removing raw from invoice template 2023-12-18 14:40:14 +11:00
Gaetan Craig-Riou
031cc45992 Sanitize home_page_alert_html
It still allows some specific tag so we can have link and some
formatting.
2023-12-18 14:39:13 +11:00
Gaetan Craig-Riou
84a8c6b31a Remove raw from email template 2023-12-18 14:39:13 +11:00
Gaetan Craig-Riou
4a32df7ef5 Remove seemingly useless method
Left over from Spree, it looks like a weird way to cast somehing to a
string
2023-12-18 14:38:16 +11:00
Maikel Linke
317d492873 Test Stripe with real API 2023-12-18 14:06:38 +11:00
Maikel
b52b0c0413 Merge pull request #11937 from mkllnk/dfc-app
Add new enterprise settings tab Connected Apps
2023-12-18 13:37:26 +11:00
dung bui
738b338827 Merge branch 'master' into ft/include-vouchers-in-revenues-by-hub-report 2023-12-17 10:52:37 +07:00
Dung Bui
1867d7ef8e creat real records instead of mocking 2023-12-17 10:47:48 +07:00
Dusan Orlovic
120e299653 Use activate instead of changeActivePanel/ChangeActiveTab
Remove shop-tabs controllers since we can listen on `"data-action":
"orderCycleSelected@window->tabs-and-panels#activateDefaultPanel"`

Test for cases:
* activate by clicking on tab
* activateDefaultPanel on orderCycleSelected event
* activateFromWindowLocationOrDefaultPanelTarget to activate tab based
  on achor in URL
2023-12-16 10:00:17 +01:00
Dusan Orlovic
ba7ffc25fe Add data-action=tabs-and-panels 2023-12-15 23:00:13 +01:00
filipefurtad0
264b6e072e Adds missing translation key 2023-12-15 13:20:32 +00:00
filipefurtad0
57aa151ddd Comments out default values from superadmin fields to bring the build back to green 2023-12-15 12:48:21 +00:00
filipefurtad0
f8f85e7fbd Adds I18n exception handler as test initializer
As per code review, we follow this approach https://sikac.hu/missing-translations-keys-gotta-catch-em-all-3aa8d2ead8bd
2023-12-15 12:48:21 +00:00
dependabot[bot]
7f0a461385 Bump stripe from 10.2.0 to 10.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.2.0 to 10.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/v10.2.0...v10.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-12-15 09:11:11 +00:00
Maikel Linke
f758daadc0 Use common colours in old and new design 2023-12-15 16:21:43 +11:00
Maikel Linke
35ca66cbb7 Respond fast by rendering only partial 2023-12-15 12:34:40 +11:00
Maikel Linke
1d7f96e965 Broadcast connected app to all user tabs 2023-12-15 12:34:40 +11:00
Maikel Linke
e1730f25d6 Show app connection state and update link 2023-12-15 12:34:40 +11:00
Maikel Linke
12e5a0d1e1 Query webhook to connect app 2023-12-15 11:50:04 +11:00
Maikel Linke
4eb273b06e Create ConnectedApp with a reflex
I would have like to use a standard form to submit to the reflex but the
whole enterprise settings tab is in a form already and HTML doesn't
allow nested forms. While it does still work in browsers, it would have
added much more HTML to set up a form with a hidden input field instead
of just one additional data attribute.

The whole page is rendered by the controller again but the reflex root
attribute ensures that only parts of this tab are replaced. Otherwise
unsaved data on other tabs could be replaced and the page actually
becomes blank because AngularJS doesn't play well with the morph.
2023-12-15 11:50:04 +11:00
Maikel Linke
2346f03b6f Add ConnectedApp model 2023-12-15 11:50:04 +11:00
Maikel Linke
ca7b02d3ee Add basic description of Discover Regen app 2023-12-15 11:50:04 +11:00
Maikel Linke
d4ce3965b1 Connected apps can be enabled per user or enterprise 2023-12-15 11:22:15 +11:00
Maikel Linke
af2b65256f Add new enterprise settings tab Connected Apps 2023-12-15 11:22:15 +11:00
David Cook
aebc378aa8 [suggestion] Update translation key 2023-12-15 09:58:30 +11:00
David Cook
ad809facc6 [fixup] Fix translation key
The dot indicates lazy lookup
Also the name was missing a letter. It was hard to notice because the key name was so long, so I suggest reducing the key to something like 'order_has_changed'
2023-12-15 09:55:14 +11:00
Rachel Arnould
97985dbe8f Merge pull request #11805 from abdellani/fix-shipping-method-category-on-invoices-v3
[Invoices] Display the shipping category.
2023-12-14 17:09:39 +01:00
Mohamed ABDELLANI
2b1d7923da remove ':' after the shipping category on the invoice template 2023-12-14 16:42:24 +01:00
Mohamed ABDELLANI
82d50f58f3 remove raw from shipping method name 2023-12-14 16:36:36 +01:00
Mohamed ABDELLANI
db653fc945 render the shipping category in the invoice. 2023-12-14 16:36:36 +01:00
Rachel Arnould
9d87449730 Merge pull request #11704 from abdellani/add-reference-to-previous-invoices
a new invoice should refer the latest invoice.
2023-12-14 16:05:08 +01:00
Mohamed ABDELLANI
1038536c39 show warning when a new invoice can be generated 2023-12-14 15:34:19 +01:00
David Cook
37a1776c7e Prevent scrollbars on select2 item
This is unrelated to the rest of the PR, I just noticed this issue so decided to fix it. I can't find any explanation, or think of any good reason for this rule, so I'm burning it.
2023-12-14 15:23:41 +11:00
David Cook
2cbe9a4268 Style tom-select dropdown-input to appear over the main control
It's more compact, and we don't need to see the currently selected value because it's highlighted in the list already.
2023-12-14 15:23:40 +11:00
David Cook
b97890b537 Support custom placeholder value
Hmm, but this isn't useful until we get Tom-Select to work the way we want..

To do that, I think we'd ned to hook into TS to clear the current selection when focused, then set it back upon blur (if no selection was made). Hmm, but we still want it to show slected in the dropdown list.
Can we do it with css maybe?
2023-12-14 14:24:21 +11:00
David Cook
e8266ba3ae Refactor 2023-12-14 14:23:50 +11:00
David Cook
2756e37603 Placeholder style 2023-12-14 14:19:31 +11:00
David Cook
e578f697f5 Refactor: use data hash 2023-12-14 14:19:09 +11:00
David Cook
a5b2a24dc2 Refactor: Code cleanup 2023-12-14 14:13:01 +11:00
David Cook
ad797de1a6 Responsive sizing for elements
The query input can grow to fill the space.
2023-12-14 14:13:01 +11:00
David Cook
f29c1d5797 Use chevron for dropdown icon
We should be able to use @extend .icon-chevron-down, but I couldn't get it to work. I'd like to have a better method for this, but we should upgrade our ancient FontAwesome before worrying about that.
2023-12-14 14:13:01 +11:00
David Cook
1776420d4a Clip long content with ellipsis 2023-12-14 14:13:01 +11:00
David Cook
0efda02b9b Style list items as per design 2023-12-14 13:33:05 +11:00
David Cook
3fbd5f6357 Style single-select as per design 2023-12-14 13:33:03 +11:00
David Cook
05582b3d2d Fix display of single-select dropdowns 2023-12-14 13:28:41 +11:00
David Cook
53c49050a6 Use body font size on all form inputs 2023-12-14 13:28:41 +11:00
Gaetan Craig-Riou
b8e24918fc Merge pull request #11933 from openfoodfoundation/dependabot/bundler/rubocop-1.59.0
Bump rubocop from 1.58.0 to 1.59.0
2023-12-14 11:42:17 +11:00
Rachel Arnould
329ad1ddb2 Merge pull request #11874 from dacook/buu-success-message-11517
[BUU] Flash message redesign
2023-12-13 11:59:19 +01:00
David Cook
f99b0b19e7 Disable another OutputSafety warning
This one is a little more concerning: what if a model error message includes the user-submitted value? But this is for the admin interface only, and I'm not sure if we have model error messages that do that. So it's probably fine (it's certainly been like this a long time already).
2023-12-13 14:21:27 +11:00
David Cook
0e95b3211b Disable most OutputSafety warnings
These all seem to require html_safe/raw, so we'll permit it.
Some of the spree code is a bit strange and could probably be improved, but I think it's ok for now.
2023-12-13 14:19:19 +11:00
David Cook
dc9fd669a2 Remove unnecessary html_safe calls
The tag generator methods should already be returning html_safe strings.
2023-12-13 14:11:02 +11:00
Maikel
55ff376193 Merge pull request #11924 from filipefurtad0/stripe_sca_vcr_spec
Replaces Stripe Stubs with VCR calls
2023-12-13 11:53:15 +11:00
filipefurtad0
0f41d900df DRYes card and payment intent let groups
Fixes typo on capture_amount declaration
2023-12-12 13:18:17 +00:00
dependabot[bot]
321e6ef316 Bump rubocop from 1.58.0 to 1.59.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.58.0 to 1.59.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.58.0...v1.59.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-12-12 09:32:12 +00:00
David Cook
b340762366 Merge pull request #11931 from drummer83/Dashboard_v3_pointer
Fix colour of the arrow when hovering the change package area in dashboard
2023-12-12 14:19:23 +11:00
drummer83
dcba1dc5e9 Fix colour of the arrow when hovering the change package area in dashboard 2023-12-12 03:56:37 +01:00
David Cook
1f8a1cc376 Merge pull request #11929 from drummer83/Dashboard_translation
Fix missing translation of tooltip in dashboard
2023-12-12 13:47:53 +11:00
drummer83
43effb8197 Fix missing translation of tooltip 2023-12-12 02:00:59 +01:00
David Cook
638dbde1ba Merge pull request #11919 from openfoodfoundation/dependabot/bundler/debug-1.9.0
Bump debug from 1.8.0 to 1.9.0
2023-12-12 10:48:41 +11:00
drummer83
1afdbd92ea Show Dashboard header in the header area for multi-enterprise users
Use correct translation string
2023-12-12 00:11:15 +01:00
filipefurtad0
b45fc0b7ef Replaces Stripe Stubs with VCR calls
Adds new VCR cassettes

Keeps assertion on ActiverMerchant response

Re-records cassettes
2023-12-11 21:52:37 +00:00
Ryan Murphy
b84707edd9 Cleanse JS errors from DOM on Stripe failure 2023-12-11 07:46:42 -05:00
dependabot[bot]
ae04716391 Bump debug from 1.8.0 to 1.9.0
Bumps [debug](https://github.com/ruby/debug) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.8.0...v1.9.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-12-11 09:27:53 +00:00
Mohamed ABDELLANI
915afd8557 update the invoice v3 template 2023-12-11 08:26:32 +01:00
Mohamed ABDELLANI
615c001c28 implement Invoice#previous_invoice 2023-12-11 08:26:32 +01:00
Gaetan Craig-Riou
f6ba2dc70c Merge pull request #11917 from mkllnk/json-canonicalization
Bump json-canonicalization from 0.3.2 to 0.4.0
2023-12-11 10:04:02 +11:00
Maikel
3ceef60f6f Merge pull request #11913 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.3
Bump knapsack_pro from 6.0.2 to 6.0.3
2023-12-11 09:58:29 +11:00
Maikel Linke
e8eeb0029c Bump json-canonicalization from 0.3.2 to 0.4.0
This is actually not changing anything. The author didn't realise the
bad implications of yanking 0.3.2 and restored it as 0.4.0.

https://github.com/dryruby/json-canonicalization/issues/2
2023-12-11 09:48:51 +11:00
Konrad
5aaaef63ac Merge pull request #11911 from arunguleria/11599-checkout-page-title-changes
Change page title on checkout pages
2023-12-10 20:53:56 +01:00
Konrad
cdb7312e95 Merge pull request #11798 from cillian/conditional-supplier-column-in-order-cycle-report
Only display Supplier column in Order Cycle Report email if there is more than one supplier
2023-12-10 16:49:23 +01:00
dung bui
c0ed579b44 Merge branch 'master' into ft/include-vouchers-in-revenues-by-hub-report 2023-12-09 13:04:52 +07:00
Dung Bui
d8024eb526 include voucher tax adjustment in revenues by hub report 2023-12-09 12:40:51 +07:00
Sigmund Petersen
7b7b4ceb81 Merge pull request #11696 from abdellani/sequential-invoice-numbers-per-distributor
Sequential invoice numbers per distributor
2023-12-08 13:56:23 +01:00
Mohamed ABDELLANI
4a22224c73 fix existing tests 2023-12-08 13:33:36 +01:00
Mohamed ABDELLANI
fea910f8b6 update the invoice number rendering 2023-12-08 13:33:36 +01:00
Mohamed ABDELLANI
41d5ca7861 update the invoice number calculation 2023-12-08 13:33:36 +01:00
Rachel Arnould
60656dedd4 Merge pull request #11901 from dacook/buu-bom-pagination-11608
Ensure pagination appears at bottom of table
2023-12-08 13:25:31 +01:00
dependabot[bot]
9f71f710ff Bump knapsack_pro from 6.0.2 to 6.0.3
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.2 to 6.0.3.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.2...v6.0.3)

---
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-12-08 09:18:18 +00:00
Maikel Linke
29ef444f36 Consolidate system specs for efficiency
And test for literal strings. It's more readable and robust.
2023-12-08 09:05:00 +05:30
Maikel Linke
f88a3122ee Fix expectation of checkout title 2023-12-08 09:05:00 +05:30
Arun Guleria
d60216787b 11599 Remove whitespace trailing 2023-12-08 09:05:00 +05:30
Arun Guleria
4e408d404b 11599-Change page title on checkout pages 2023-12-08 09:05:00 +05:30
Maikel
029b8ce255 Merge pull request #11910 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.2
Bump knapsack_pro from 6.0.1 to 6.0.2
2023-12-08 09:14:35 +11:00
Maikel
fe4380a84a Merge pull request #11900 from filipefurtad0/valid_cards_extend_payment_intents_tests
Adds payment intent creation/capture tests for valid credid card types (non-3D)
2023-12-08 09:04:56 +11:00
filipefurtad0
3802447bfe Removes credit card mock, pointing to real Stripe object
Re-records cassettes after source change
2023-12-07 18:30:23 +00:00
dependabot[bot]
4938d1a37c Bump knapsack_pro from 6.0.1 to 6.0.2
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.1 to 6.0.2.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.1...v6.0.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-12-07 09:53:12 +00:00
David Cook
1d3a588820 Update all locales with the latest Transifex translations 2023-12-07 16:53:26 +11:00
Maikel
f898572094 Merge pull request #11903 from openfoodfoundation/dependabot/bundler/json-2.7.1
Bump json from 2.7.0 to 2.7.1
2023-12-07 08:03:03 +11:00
Maikel
f8347ff836 Merge pull request #11904 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.1
Bump knapsack_pro from 6.0.0 to 6.0.1
2023-12-07 08:02:42 +11:00
Maikel
7bc1442b5b Merge pull request #11899 from filipefurtad0/system_spec_zero_priced_variant
Adds test cases to account for priceless and 0.0 priced variant creation
2023-12-07 07:53:42 +11:00
dependabot[bot]
244d532268 Bump json from 2.7.0 to 2.7.1
Bumps [json](https://github.com/flori/json) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.7.0...v2.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 20:48:01 +00:00
Maikel
c34990bef4 Merge pull request #11895 from openfoodfoundation/dependabot/bundler/rubocop-1.58.0
Bump rubocop from 1.57.2 to 1.58.0
2023-12-07 07:46:54 +11:00
Konrad
7efc6f35b2 Merge pull request #11891 from bmd08a1/ft/search-by-customer-fullname-with-comma
Allow searching orders by customers' full name with comma and full name reversed
2023-12-06 21:08:28 +01:00
Konrad
7c892b2e9e Merge pull request #11889 from cillian/split-checkout-to-just-checkout
Replace references to 'split checkout' with just 'checkout'
2023-12-06 20:42:26 +01:00
Konrad
dc4b6519dd Merge pull request #11885 from dacook/flash-messages
Fix mapping of flash messages on order cycle pages
2023-12-06 18:03:57 +01:00
David Cook
979071736b Fix typo 2023-12-06 17:00:31 +11:00
David Cook
6280d4c1ea Merge pull request #11907 from dacook/buu-style-tweaks
[BUU] Link style tweaks
2023-12-06 16:10:52 +11:00
David Cook
0f3a952fd0 Add translation for product cloned message
A validation error shouldn't happen. If it does, it's an exception, not an error.
2023-12-06 15:13:20 +11:00
David Cook
0f46da07b2 Render flashes along with table
It doesn't matter where the flash messages appear in the HTML (thanks to fixed positioning), so why not keep it simple and send them with the main response.

preventDefault in case we are inside a form, so the button doesn't submit it.
2023-12-06 15:13:15 +11:00
David Cook
7fe2284d84 Refactor: Move ID out of partial
Because it can only be used once. But the classname can be used each time the partial is included.
2023-12-06 14:18:58 +11:00
David Cook
9fa521917e Allow nav menu items to wrap
And thus avoid wrapping inside the li.

This avoids the menu going off the edge of the screen.
2023-12-06 12:54:04 +11:00
David Cook
4de40e817f Left-align navigation menu
It looks really wierd when there's only a few items.
2023-12-06 12:54:04 +11:00
David Cook
3760cd93b9 Enable brower-default outlines on links
This code was from Spree. Unless you have good focus/active styles for all links, the outline is very helpful for accessibility.
Most websites these days add nice thick outlines, which might be worth considering in the future.
2023-12-06 12:54:01 +11:00
David Cook
32a4088386 Revert "#11067, remove messages to match with old UI UX"
Now we support flash messages, we can show it!

This reverts commit d8904099dd.
2023-12-06 10:12:18 +11:00
David Cook
fbf0afa15d Auto dismiss success flashes only 2023-12-06 10:12:18 +11:00
David Cook
0b4013dd11 Add dismiss button to flashes
And updating the secondary button style to ensure it's always white background
2023-12-06 10:12:17 +11:00
David Cook
20afe5b99c Update style of flash messages
They now hover near the bottom of the screen.

I've created new variables so as not to mess with the existing use of color-success etc.
2023-12-06 10:12:17 +11:00
David Cook
44187658be Copy messages styles for admin_v3 2023-12-06 10:12:17 +11:00
David Cook
f1a407c8a9 Remove unnecessary mixin,
and use generic variable for shadows.
2023-12-06 10:12:17 +11:00
David Cook
54d61cd24d Don't show flashes until everything else is done.
Mario reported that it was showing before the loading spinner had gone.
Technically the loading spinner doesn't hide until after the reflex is finished, but hopefully this is close enough.
2023-12-06 10:12:17 +11:00
David Cook
6dc04c458c Show saving success message in flash
I don't know if this is the best way to do it with SR, but it works..
2023-12-06 10:12:17 +11:00
David Cook
70f153b0f7 Refactor spec
Only the first example is testing the updated variant here.
2023-12-06 10:11:19 +11:00
David Cook
7d299affd3 Move hiding logic to stimulus controller
This ensures morphed flashes hide like other flashes (eg in bulk order actions). I wanted to write a spec to prove it, but Capybara doesn't support mocking setTimeout and I didn't want to use sleep.

I've made it optional because this controller is shared with the shop frontend ([supposedly](5ef34347a3), although angular seems to override it).
2023-12-06 10:11:19 +11:00
David Cook
127eaa44e5 Ensure loading message always shows
Before, it was affixed near the top of the page and wasn't visible after scrolling down.
2023-12-06 10:11:19 +11:00
filipefurtad0
e50baa9a18 Adds payment capture scenario 2023-12-05 15:27:46 +00:00
dependabot[bot]
e47cb0e961 Bump knapsack_pro from 6.0.0 to 6.0.1
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.0...v6.0.1)

---
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-12-05 09:05:10 +00:00
David Cook
c4e8d4318c Ensure pagination appears at bottom of table
I'm not sure what the problem was. It's obviously a hacky fix, but it works for now. We intend to rebuild this screen without Angular anyway.
2023-12-05 14:46:51 +11:00
David Cook
300998acb6 Merge pull request #11811 from dacook/buu-stock-levels-11062
[BUU] Stock level popout
2023-12-05 13:56:01 +11:00
David Cook
685a1955bc Merge pull request #11872 from mkllnk/activate-background-reports
Activate background report processing by default
2023-12-05 12:04:19 +11:00
filipefurtad0
f3f59ed6ad Adds valid credid card types (non-3D) 2023-12-04 20:48:53 +00:00
filipefurtad0
7aeb6e4cd9 Adds test cases to account for priceless and 0.0 priced variant creation 2023-12-04 18:40:55 +00:00
dependabot[bot]
0281381e6e Bump rubocop from 1.57.2 to 1.58.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.2 to 1.58.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.57.2...v1.58.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-12-04 09:42:24 +00:00
Maikel
cb5164ac6e Merge pull request #11888 from openfoodfoundation/dependabot/bundler/stripe-10.2.0
bump stripe from 10.1.0 to 10.2.0
2023-12-04 14:54:38 +11:00
Maikel
89b6b183b9 Merge pull request #11893 from rioug/10809-patch-dfc-connector-parser
[DFC] Patch dfc connector parser to improve SKOS concept parsing
2023-12-04 14:32:02 +11:00
Gaetan Craig-Riou
021e292190 Add a quick patch description 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
9628045e1c Fix indentation 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
a06e7c1d9e Fix rubocop issue 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
0392806018 Parser, populate SKOSConcept label 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
9f209cac14 Fix rubocop warning 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
633d0eadfe Parser element, add label 2023-12-04 13:56:14 +11:00
Dung Bui
8a3aababa1 group specs into one it block, added fullname with comma reversed ransacker 2023-12-04 08:45:19 +07:00
Gaetan Craig-Riou
c61e982a76 Fix rubocop warning 2023-12-04 12:00:18 +11:00
Maikel Linke
48c6d0144d Update stripe tests 2023-12-04 10:58:10 +11:00
Maikel
6b22227c5f Merge pull request #11887 from openfoodfoundation/dependabot/bundler/json-2.7.0
chore(deps): bump json from 2.6.3 to 2.7.0
2023-12-04 10:53:43 +11:00
Gaetan Craig-Riou
55d64e1768 Fix rubocop warning 2023-12-04 10:36:53 +11:00
Dung Bui
6206164c30 fix rubocop 2023-12-03 14:28:50 +07:00
Dung Bui
600226cb52 add fullname reversed search 2023-12-03 14:15:41 +07:00
Dung Bui
febda2ce12 add search by fullname with comma 2023-12-03 14:10:12 +07:00
Cillian O'Ruanaidh
2f972a5446 Remove more references to split checkout in test descriptions 2023-12-01 13:04:49 +00:00
Cillian O'Ruanaidh
a75ee3b207 Remove duplicate checkout translations which are now scoped under :step3 2023-12-01 12:56:21 +00:00
Cillian O'Ruanaidh
b78258c505 Replace references to :split_checkout translation keys with :checkout in views, controllers, etc. 2023-12-01 12:37:13 +00:00
Cillian O'Ruanaidh
3fee77136a Remove duplicate checkout.already_ordered translations 2023-12-01 12:31:42 +00:00
Cillian O'Ruanaidh
95a3e372ed Move translations in :split_checkout scope to :checkout. 2023-12-01 12:21:57 +00:00
Cillian O'Ruanaidh
def027efb2 Replace references to split_checkout directory in views and specs 2023-12-01 11:32:55 +00:00
Cillian O'Ruanaidh
931e42cf14 Rename split_checkout_controller_spec.rb to checkout_controller_spec.rb 2023-12-01 11:23:50 +00:00
Cillian O'Ruanaidh
a4b752e538 Rename SplitCheckoutHelper used in specs to CheckoutHelper 2023-12-01 11:22:44 +00:00
Cillian O'Ruanaidh
e014a991d8 Send /checkout routes to CheckoutController instead of SplitCheckoutController 2023-12-01 11:20:06 +00:00
Cillian O'Ruanaidh
a63b9c2690 Rename SplitCheckoutController to CheckoutController 2023-12-01 11:18:56 +00:00
Cillian O'Ruanaidh
7505f9504e Rename spec/views/split_checkout directory to spec/views/checkout 2023-12-01 11:16:57 +00:00
Cillian O'Ruanaidh
222c6d8ac5 Rename app/views/split_checkout directory to app/views/checkout 2023-12-01 11:12:00 +00:00
Filipe
f94d2c386c Merge pull request #11863 from abdellani/11862-fix-product-shoud-not-be-priceless
product should not be priceless
2023-12-01 10:43:30 +00:00
dependabot[bot]
cdf87436f9 bump stripe from 10.1.0 to 10.2.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-12-01 10:08:51 +00:00
dependabot[bot]
ef58061cc0 chore(deps): bump json from 2.6.3 to 2.7.0
Bumps [json](https://github.com/flori/json) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.6.3...v2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 09:52:00 +00:00
David Cook
a2b8fb5105 Show success messages as.. success. 2023-12-01 16:59:23 +11:00
Maikel Linke
72755840c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
75467a0c65 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
d1c73f86c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
049df77558 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
0b7cf86b5b Update report spec for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
bbe37e1392 Update ReportsController for background reports
As it turns out, the background reports were missing a small feature to
store user preferences. Yay specs!
2023-12-01 15:21:42 +11:00
Maikel Linke
f28a8c87ab Activate background report processing by default
Many report specs are still testing the old behaviour. We need to
migrate them to background reports. Some tests may be better as unit
tests instead of system tests.
2023-12-01 14:44:33 +11:00
Gaetan Craig-Riou
e846761e54 WIP Patch DFC connector to fix SKOS Concept parsing
This is to let us use intermediary SKOS Concept.
Upstream PR for more details: https://github.com/datafoodconsortium/connector-codegen/pull/10/files
2023-12-01 14:26:09 +11:00
David Cook
1cd9d9aafd Organise controller translation keys with lazy loading 2023-12-01 14:20:30 +11:00
Gaetan Craig-Riou
7c9d4f1342 Update all locales with the latest Transifex translations 2023-12-01 11:22:35 +11:00
David Cook
dbb62c9820 Merge pull request #11881 from mkllnk/rswag
Help Dependabot to update rswag
2023-12-01 11:12:31 +11:00
David Cook
c35b82373e Merge pull request #11867 from mkllnk/tos-spec
DRY Terms of Service spec to save time
2023-12-01 11:10:48 +11:00
Gaetan Craig-Riou
082f78c772 Merge pull request #11873 from dacook/viewcomponent-sidecar
ViewComponent sidecar
2023-12-01 10:44:13 +11:00
David Cook
9658223700 Merge pull request #11792 from filipefurtad0/invoice_printing_legal_invoices_feature
Adds a pending spec for legal invoices feature issue #11791
2023-12-01 09:11:51 +11:00
Maikel Linke
2bf480732d Help Dependabot to update rswag
The rswag gem consists of three gem which are all maintained in the same
repository. So when one of the three gems is updated, the version of all
three gems is bumped. Dependabot was opening 3 independent pull requests
with the same release notes and linking to the same repository.

I hope that making the rswag gem a dependency will make Dependabot try
to update all gems together.

We are still listing two gems separately to be loaded in production.
They enable us to view the API documentation. But we don't need the
third gem rswag-specs in production. That one is only useful in tests.
2023-12-01 09:11:15 +11:00
Maikel
dd786312bf Merge pull request #11876 from openfoodfoundation/dependabot/bundler/rswag-ui-2.13.0
chore(deps): bump rswag-ui from 2.12.0 to 2.13.0
2023-12-01 09:08:11 +11:00
Maikel
5bfb72f65f Merge pull request #11875 from openfoodfoundation/dependabot/bundler/rswag-api-2.13.0
chore(deps): bump rswag-api from 2.12.0 to 2.13.0
2023-12-01 09:07:42 +11:00
Maikel
e54e9b2110 Merge pull request #11878 from openfoodfoundation/dependabot/bundler/rswag-specs-2.13.0
chore(deps-dev): bump rswag-specs from 2.12.0 to 2.13.0
2023-12-01 09:07:10 +11:00
Maikel
bc614c7b89 Merge pull request #11877 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.0
chore(deps-dev): bump knapsack_pro from 5.7.0 to 6.0.0
2023-12-01 09:05:20 +11:00
Maikel Linke
08d0345967 Simplify feature selection in spec 2023-12-01 08:55:47 +11:00
Cillian O'Ruanaidh
b96110ec6c Don't display a supplier column if there is only one supplier in the orders grouped by customer part of the order cycle report 2023-11-30 20:32:23 +00:00
Cillian O'Ruanaidh
c3a62e53fc If not display supplier column in the order cycle report, reduce number of columns in totals row by one too to keep columns aligned 2023-11-30 20:32:23 +00:00
Cillian O'Ruanaidh
1d88510b7b Only display Supplier column in Order Cycle Report email if there is more than one supplier 2023-11-30 20:32:23 +00:00
filipefurtad0
3bf4e47d53 Sets shared example for invoice bulk printing
with legal invoices feature enabled and disabled
2023-11-30 12:44:49 +00:00
dependabot[bot]
22e9cf66e2 chore(deps-dev): bump rswag-specs from 2.12.0 to 2.13.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.12.0 to 2.13.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.12.0...2.13.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-11-30 09:37:20 +00:00
dependabot[bot]
235d17a2b8 chore(deps-dev): bump knapsack_pro from 5.7.0 to 6.0.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.7.0 to 6.0.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.7.0...v6.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-11-30 09:30:00 +00:00
dependabot[bot]
4d9137a2a6 chore(deps): bump rswag-ui from 2.12.0 to 2.13.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.12.0 to 2.13.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.12.0...2.13.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-11-30 09:28:58 +00:00
dependabot[bot]
58892b5a37 chore(deps): bump rswag-api from 2.12.0 to 2.13.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.12.0 to 2.13.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.12.0...2.13.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-11-30 09:19:25 +00:00
David Cook
58215727bc [fixup]
- Style/ClassAndModuleChildren: Use nested module/class definitions instead of compact style.
- fix spec
2023-11-30 13:47:39 +11:00
Maikel
ccc460a990 Merge pull request #11868 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.141.0
chore(deps): bump aws-sdk-s3 from 1.140.0 to 1.141.0
2023-11-30 13:03:53 +11:00
David Cook
2013750732 Rename files to match recommended naming scheme
This naming scheme removes some duplication which is nice, but it's a little strange and results in a longer name overall. I don't like it very much because:
- filenames don't include the component's actual name. This makes it slightly harder to find them in my text editor (but I'd probably get used to that)
- the namespace and class naming isn't exactly right. This is _the_ vertical_ellipsis_menu, not a subcomponent.
- the stimulus controller name is now longer, adding more cruft to the HTML.

Lots of discussion here: https://github.com/ViewComponent/view_component/discussions/67
People tried to come up with a better way (and I was tempted to try myself). It seems this approach won. I guess it's not so bad if your component names are shorter.
2023-11-30 12:25:18 +11:00
David Cook
f6d72127a7 Move controller to sidecar directory 2023-11-30 12:18:55 +11:00
David Cook
ed93c77578 Load Stimulus controllers from 'sidecar' directories
Javascript files can now be included in the component directory, alongside HTML and CSS.

As per https://viewcomponent.org/guide/javascript_and_css.html
2023-11-30 12:18:55 +11:00
dependabot[bot]
db652acf67 chore(deps): bump aws-sdk-s3 from 1.140.0 to 1.141.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.140.0 to 1.141.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-11-29 09:04:14 +00:00
Rachel Arnould
63bf574b02 Merge pull request #11807 from abdellani/fix-bulk-invoice-printing
[Invoices] fix bulk invoice printing
2023-11-29 08:17:38 +01:00
David Cook
6bf418c4eb Fixup 2023-11-29 15:36:00 +11:00
David Cook
ccc0c17e04 Hide value of disabled input in popout
I'm not sure if we want to do this on all fields, so just scoped it here for now.
2023-11-29 15:36:00 +11:00
David Cook
9ce511f69d Update disabled field style 2023-11-29 15:35:59 +11:00
David Cook
aa792346fc Refactor 2023-11-29 15:18:23 +11:00
Maikel
afdd68269c Merge pull request #11866 from openfoodfoundation/dependabot/bundler/view_component-3.8.0
chore(deps): bump view_component from 3.7.0 to 3.8.0
2023-11-29 13:59:52 +11:00
Maikel Linke
f6e9bfe15d Further simplify Terms of Service spec
Since system specs are expensive, the standard workflow can be tested in
one "smoke test", as one scenario.

Run time reduced from 5.8s to 4.9s.
2023-11-29 12:21:38 +11:00
Maikel Linke
d3f2c72730 DRY Terms of Service spec to save time
The test conditions were already checked in the normal file upload.

Run time reduced from 7.2s to 5.8s.
2023-11-29 12:21:37 +11:00
Mohamed ABDELLANI
da900321ca fix product controller tests 2023-11-28 16:15:20 +01:00
Mohamed ABDELLANI
c995f5dfbe set the price to 0 on the cloned product (Spree::Code::RroductDuplicator) 2023-11-28 16:15:12 +01:00
Mohamed ABDELLANI
9ce62cf6af replace link_to with contant_tag 2023-11-28 15:02:03 +01:00
Mohamed ABDELLANI
a13e087541 use render edit instead of redirect_to
with redirect_to, the validation errors will be lost at the rendering time.
2023-11-28 13:45:17 +01:00
Mohamed ABDELLANI
a0c2facca4 validate price numericality on product and variants 2023-11-28 13:45:08 +01:00
Konrad
d4cebfdb4f Merge pull request #11837 from binarygit/open-link-in-new-page
Open external link in product description inside new page
2023-11-28 11:09:35 +01:00
dependabot[bot]
794d964007 chore(deps): bump view_component from 3.7.0 to 3.8.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.7.0 to 3.8.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.7.0...v3.8.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-11-28 09:45:44 +00:00
David Cook
40742d6308 Merge pull request #11861 from openfoodfoundation/dependabot/bundler/rswag-ui-2.12.0
chore(deps): bump rswag-ui from 2.11.0 to 2.12.0
2023-11-28 13:57:05 +11:00
David Cook
77c55838fa Merge pull request #11860 from openfoodfoundation/dependabot/bundler/rswag-api-2.12.0
chore(deps): bump rswag-api from 2.11.0 to 2.12.0
2023-11-28 13:52:54 +11:00
David Cook
021d11c5dd Merge pull request #11859 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.140.0
chore(deps): bump aws-sdk-s3 from 1.139.0 to 1.140.0
2023-11-28 13:47:43 +11:00
dependabot[bot]
457b9e4010 chore(deps): bump rswag-ui from 2.11.0 to 2.12.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.11.0 to 2.12.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.11.0...2.12.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-11-28 02:38:02 +00:00
dependabot[bot]
868b96fff0 chore(deps): bump rswag-api from 2.11.0 to 2.12.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.11.0 to 2.12.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.11.0...2.12.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-11-28 02:38:00 +00:00
David Cook
e3ef791e10 Merge pull request #11858 from openfoodfoundation/dependabot/bundler/rswag-specs-2.12.0
chore(deps-dev): bump rswag-specs from 2.11.0 to 2.12.0
2023-11-28 13:36:37 +11:00
David Cook
bac023abf9 Merge pull request #11857 from mkllnk/default-host
Remove unnecessary host config in specs
2023-11-28 13:23:38 +11:00
David Cook
f034e46aed Fix label
Strangely, the spec passed when run locally, but not in CI. It's a curious case of the wrong letter case.
2023-11-28 10:44:34 +11:00
David Cook
994dd606b9 Refactor: remove dead code
I was mistakenly thinking that you can define variables in beforeEach, but it turns out these are not used.

Rather, Jest was automatically creating variables for the elements according to their IDs. How convenient!
2023-11-28 10:44:34 +11:00
David Cook
bc6a83017b Update spec
Ok that was an afterthought, but better late than never.
2023-11-28 10:44:34 +11:00
David Cook
373743f96d Simplify event handlers
The new 'input' event is for this exact use case.
2023-11-28 10:44:34 +11:00
David Cook
88fe8dcbe0 Show changes on popout button 2023-11-28 10:44:34 +11:00
David Cook
5e96368c85 Count changed checkboxes 2023-11-28 10:44:34 +11:00
David Cook
69f160ff95 Toggle input disabled when on demand checked
This introduces a new 'toggle' controller, and we already had three\! So I created a generic interface that could be extended to potentially support all of them. I propose we try to reduce them all into the one controller, but won't go down the rabbit-hole just yet..

I have an idea on how to re-arrange and make it more contained, by assigning the controller only to the checkbox, and defining targets with aria-controls="", but chose to stick with Stimulus conventions for now.
2023-11-28 10:44:34 +11:00
David Cook
9bc1e873d3 Display summary of the popout values
I couldn't think of a simpler way to hardcode it, so now we have a clever generic method :)

We can assume that hidden elements will stay hidden, but we need to check each time if an element is disabled or not.
2023-11-28 10:44:34 +11:00
David Cook
888e0b976b Refactor spec
Shoulda done this at the start.
2023-11-28 10:44:34 +11:00
David Cook
b6045655ee Hide popout when checkbox is checked 2023-11-28 10:44:34 +11:00
David Cook
78d2ddb9b7 Close popout when focus outside
I'm starting to think that these stimulus tests are worthless. The environment is not the same as a browser, which creates extra work to deal with the inconsistencies. And it means we're not testing real world behaviour.

So these are just unit tests, but they take extra effort to put together due to the inter-relatedness with the DOM. Hmm.
2023-11-28 10:44:34 +11:00
David Cook
4560e3728c Show popout on click or down key
It looks like a select drop-down, so it can behave like one too.
2023-11-28 10:44:34 +11:00
David Cook
735b5789cc [wip] Style on-hand button
Had to update the form controller a little bit to handle buttons.

But arrow not showwing on focus.
Getting some weird SCSS behaviour here.. maybe I'm trying to be too clever.
2023-11-28 10:44:34 +11:00
David Cook
d218565834 Style stock popout 2023-11-28 10:44:34 +11:00
David Cook
d9570cdf32 Update v3 checkbox style
This doesn't _quite_ match the design, but would require a big CSS hack to customise it further, so I thought let's start with this.
2023-11-28 10:44:34 +11:00
David Cook
b7ac1f2696 Move specific style rule to where it belongs
Also fixed it to line up properly. There's probably a better way to line it up but that's no my concern right now..
2023-11-28 10:44:34 +11:00
David Cook
eccfe96a5b Use form hash structure
The array format is generally fine, but to properly support checkboxes, we need this format with hash keys.
https://guides.rubyonrails.org/form_helpers.html#understanding-parameter-naming-conventions
2023-11-28 10:44:34 +11:00
David Cook
55cd8a6773 Add on_demand field
But 'Array parameters do not play well with the check_box helper.'

...
2023-11-28 10:43:10 +11:00
David Cook
7aefa834bf Add on_hand input 2023-11-28 10:43:10 +11:00
David Cook
4d22123e02 Remove stock level from product row
It creates the false impression we can handle agregated stock.
2023-11-28 10:43:10 +11:00
dependabot[bot]
a2b64f9ebb chore(deps): bump aws-sdk-s3 from 1.139.0 to 1.140.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.139.0 to 1.140.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-11-27 09:47:30 +00:00
dependabot[bot]
2f9375dcb2 chore(deps-dev): bump rswag-specs from 2.11.0 to 2.12.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.11.0 to 2.12.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.11.0...2.12.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-11-27 09:43:36 +00:00
Maikel Linke
4c5c39f23b Remove unnecessary host config in specs 2023-11-27 10:51:23 +11:00
Gaetan Craig-Riou
4b070f8447 Merge pull request #11848 from dacook/vertical_ellipsis_menu_component
Vertical ellipsis menu component
2023-11-27 10:21:09 +11:00
Maikel
d067f1329f Merge pull request #11856 from duleorlovic/add_hi_and_mr_locale
Add hi and mr locale using tx pull -l hi
2023-11-27 09:18:03 +11:00
Dusan Orlovic
fc42330383 Add hi and mr locale using tx pull -l hi 2023-11-26 08:35:50 +01:00
Filipe
92686c97d6 Merge pull request #11853 from dacook/check_pdf_file_bulk_invoice_print2
Spec refactor
2023-11-24 10:14:53 +00:00
David Cook
e53960bae7 Disable Rails/OutputSafety for specs
This cop is to protect against user input. There's no user input (or users) in specs.
2023-11-24 16:35:45 +11:00
David Cook
d989b8ad2f Remove unnecessary partial
Yay, now it's compact enough to fit in the table partial.

(Although we should probably try to reduce that one down one day..)
2023-11-24 16:28:00 +11:00
David Cook
968a224da6 Move vertical ellipsis menu to a ViewComponent
Javascript hasn't been moved in, as we don't seem to be set up for that yet.

We could make it smarter, and pass in an array of parameters to build the links (as in _order_links.html.haml). But why make it complicated if we don't need to?
2023-11-24 16:23:18 +11:00
David Cook
2bd2bea7b7 Remove need for class
Generally, I would say that style rules should have a BEM-style class name, but in this case it's terribly convenient to support a tags directly.
2023-11-24 16:14:28 +11:00
Maikel Linke
f2f63eb416 Update all locales with the latest Transifex translations 2023-11-24 14:23:46 +11:00
Maikel Linke
777060ea6b Remove old script
We use Github to draft releases these days.
2023-11-24 14:22:42 +11:00
David Cook
3bfe0f86f2 Merge pull request #11852 from filipefurtad0/fix_display_inventory_warning_spec
Fix display inventory warning spec
2023-11-24 13:46:41 +11:00
David Cook
358470f801 Merge pull request #11849 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.139.0
chore(deps): bump aws-sdk-s3 from 1.138.0 to 1.139.0
2023-11-24 13:29:41 +11:00
David Cook
eecca8ee96 Refactor: match url with regexp
And remove unnecessary button click.
2023-11-24 12:41:02 +11:00
Gaetan Craig-Riou
f10c35dc32 Merge pull request #11850 from openfoodfoundation/dependabot/bundler/spring-4.1.3
chore(deps-dev): bump spring from 4.1.2 to 4.1.3
2023-11-24 12:31:29 +11:00
Gaetan Craig-Riou
8b5e543ba5 Merge pull request #11836 from filipefurtad0/check_pdf_file_bulk_invoice_print
Extends bulk print invoice spec to assert on file contents
2023-11-24 11:42:49 +11:00
David Cook
907d559eef Merge pull request #11847 from mkllnk/spec-opt
Avoid precompiling assets unnecessarily
2023-11-24 09:16:50 +11:00
filipefurtad0
0390d52f18 Adds test to reproduce issue #11851 2023-11-23 19:49:34 +00:00
filipefurtad0
8b5d5b3626 Changes inventory setting for order cycle coordinator
...instead of supplier; Inventory is a feature which is relevant for shops/hubs.
2023-11-23 17:27:09 +00:00
dependabot[bot]
103f5d1dcb chore(deps-dev): bump spring from 4.1.2 to 4.1.3
Bumps [spring](https://github.com/rails/spring) from 4.1.2 to 4.1.3.
- [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.2...v4.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-23 10:09:38 +00:00
dependabot[bot]
bafbcd1e1e chore(deps): bump aws-sdk-s3 from 1.138.0 to 1.139.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.138.0 to 1.139.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-11-23 10:01:00 +00:00
Maikel Linke
3586497c56 Precompile assets only when needed 2023-11-23 17:23:47 +11:00
David Cook
c6fc139f62 Always generate components in subfolders
Currently all our view components are in subfolders, so we probably want to keep it that way.
2023-11-23 17:04:09 +11:00
Maikel Linke
37feefce37 Avoid precompiling assets unnecessary
We had two calls to precompile assets, one for all specs and then a
second one just for system specs. The one for system specs is better
because it checks for the webpack dev server before compiling assets. So
let's use just that one.
2023-11-23 17:00:44 +11:00
Maikel Linke
6431b94aba Remove unnecessary condition in spec helper
This helper file is only loaded when system specs are loaded. So we
don't need to check for the absence of system specs because this file
wouldn't be loaded if there were not system specs to be run.
2023-11-23 16:59:30 +11:00
Maikel
bb0684bd23 Merge pull request #11818 from mkllnk/dfc-vocabularies 2023-11-23 10:06:38 +11:00
Maikel
ee4dd0666c Merge pull request #11840 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.3
chore(deps): bump active_storage_validations from 1.1.2 to 1.1.3
2023-11-23 09:29:50 +11:00
Maikel
f8fc44ea72 Merge pull request #11844 from filipefurtad0/fix_blacklist_whitelist_deprecation_warning
[System specs, CI] Fixes blacklist/whitelist deprecation warning
2023-11-23 08:48:48 +11:00
Maikel
1e635673c0 Merge pull request #11842 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.138.0
chore(deps): bump aws-sdk-s3 from 1.137.0 to 1.138.0
2023-11-23 08:47:49 +11:00
Maikel
bf95a655af Merge pull request #11841 from openfoodfoundation/dependabot/bundler/rspec-rails-6.1.0
chore(deps-dev): bump rspec-rails from 6.0.3 to 6.1.0
2023-11-23 08:47:13 +11:00
Maikel
3f76a4c68e Merge pull request #11839 from openfoodfoundation/dependabot/bundler/faraday-2.7.12
chore(deps): bump faraday from 2.7.11 to 2.7.12
2023-11-23 08:42:51 +11:00
Maikel Linke
22e96764ec Simplify spec 2023-11-23 08:39:20 +11:00
filipefurtad0
660db32c04 Converts whitelist URLs to regular expressions 2023-11-22 17:37:41 +00:00
filipefurtad0
674974f868 Moves block within test description
This way, we don't need to use it as a global method

Clarifies context naming
2023-11-22 17:01:43 +00:00
Rachel Arnould
1088b6b6dd Merge pull request #11785 from chahmedejaz/task/11067-admin_style_v3-product-clone
Implement product clone
2023-11-22 16:29:38 +01:00
dependabot[bot]
4b2def7831 chore(deps): bump aws-sdk-s3 from 1.137.0 to 1.138.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.137.0 to 1.138.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-11-22 09:32:36 +00:00
dependabot[bot]
55a2562061 chore(deps-dev): bump rspec-rails from 6.0.3 to 6.1.0
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.3 to 6.1.0.
- [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.3...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:28:41 +00:00
dependabot[bot]
fa3bfe7698 chore(deps): bump active_storage_validations from 1.1.2 to 1.1.3
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.1.2 to 1.1.3.
- [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/commits)

---
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-11-22 09:16:42 +00:00
dependabot[bot]
0bed1e852f chore(deps): bump faraday from 2.7.11 to 2.7.12
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.11 to 2.7.12.
- [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.11...v2.7.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:12:53 +00:00
Maikel
599085b33f Merge pull request #11838 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.8
chore(deps): bump trix from 2.0.7 to 2.0.8
2023-11-22 16:46:26 +11:00
Maikel
19c4629ff9 Merge pull request #11835 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.137.0
chore(deps): bump aws-sdk-s3 from 1.136.0 to 1.137.0
2023-11-22 16:26:00 +11:00
Maikel
a286b15be5 Merge pull request #11834 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.22.2
chore(deps-dev): bump rubocop-rails from 2.22.1 to 2.22.2
2023-11-22 15:57:38 +11:00
Maikel
97d9ea4f7a Merge pull request #11833 from openfoodfoundation/dependabot/bundler/bullet-7.1.4
chore(deps-dev): bump bullet from 7.1.3 to 7.1.4
2023-11-22 15:54:41 +11:00
Maikel
e602174451 Merge pull request #11832 from openfoodfoundation/dependabot/bundler/activerecord-import-1.5.1
chore(deps): bump activerecord-import from 1.5.0 to 1.5.1
2023-11-22 15:53:46 +11:00
Maikel
e16429b166 Merge pull request #11821 from mkllnk/feature-toggled-specs
Feature toggled specs
2023-11-22 14:18:13 +11:00
Konrad
8ae9399a28 Merge pull request #11831 from chahmedejaz/task/11827-activate-vouchers-by-default
Fully Enable Vouchers Feature Toggle by Default
2023-11-21 14:45:13 +01:00
Konrad
40f5fadc9a Merge pull request #11732 from yasirazgar/11612_keep_data_range_reports
Maintain date range values in the report forms
2023-11-21 13:48:58 +01:00
Yasir Azgar
72089d8213 11612 - pass date args
fix typo
2023-11-21 11:15:52 +01:00
dependabot[bot]
8398e6facb chore(deps): bump trix from 2.0.7 to 2.0.8
Bumps [trix](https://github.com/basecamp/trix) from 2.0.7 to 2.0.8.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.7...v2.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-21 09:19:11 +00:00
binarygit
208cad959a Open external link in product description inside new page 2023-11-21 13:33:48 +05:45
filipefurtad0
a5e5b4a114 Extends bulk print invoice spec to assert on file contents 2023-11-20 19:31:10 +00:00
dependabot[bot]
e37acfc251 chore(deps): bump aws-sdk-s3 from 1.136.0 to 1.137.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.136.0 to 1.137.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-11-20 09:51:11 +00:00
dependabot[bot]
2ab4f7010d chore(deps-dev): bump rubocop-rails from 2.22.1 to 2.22.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.22.1 to 2.22.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.22.1...v2.22.2)

---
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-11-20 09:49:30 +00:00
dependabot[bot]
7a88c9186a chore(deps-dev): bump bullet from 7.1.3 to 7.1.4
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.3 to 7.1.4.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.3...7.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:48:19 +00:00
dependabot[bot]
0b0d7f7610 chore(deps): bump activerecord-import from 1.5.0 to 1.5.1
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.5.0 to 1.5.1.
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.5.0...v1.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:47:53 +00:00
Maikel
7919329651 Update db/migrate/20231118125941_activate_voucher_by_default.rb 2023-11-20 09:31:50 +11:00
Ahmed Ejaz
e370693309 #11827, fully enable vouchers by default 2023-11-18 18:05:45 +05:00
filipefurtad0
a30c0008a1 Update all locales with the latest Transifex translations 2023-11-17 12:49:34 +00:00
Filipe
ebd1151054 Merge pull request #11730 from murjax/payment-save-flash-9048
Fix Stripe payment flash rendering issue
2023-11-17 11:51:42 +00:00
Filipe
e6e4e014dc Merge pull request #11731 from chahmedejaz/bugfix/11667-clone-tags-issue-for-OC
Fix Cloning Tags Issue for OrderCycle
2023-11-17 10:50:33 +00:00
Filipe
c9084db933 Merge pull request #11761 from binarygit/open-external-links-in-new-page
Open external links in product description in a new page
2023-11-17 10:30:03 +00:00
David Cook
84ea05ad5a Merge pull request #11822 from rioug/revert-prettier-to-2.8.8
Revert prettier to v 2.8.8
2023-11-17 16:01:20 +11:00
Maikel
a1dbb3353f Merge pull request #11820 from macanudo527/fix_autocorrect_rubocop2
Fix Style Rubocop Errors
2023-11-17 14:25:12 +11:00
Maikel
df44446291 Merge pull request #11819 from dacook/update-browserslist-db
Update browserslist caniuse db
2023-11-17 14:05:11 +11:00
Maikel Linke
6f3bee708c Check feature name in specs
There was one case where a typo meant that the desired feature wasn't
active and tests were not testing the right code path. Using this new
syntax should prevent that.

* https://github.com/openfoodfoundation/openfoodnetwork/pull/11705
2023-11-17 13:18:31 +11:00
Maikel Linke
d841b1dae2 DRY feature activation in specs
It's simple this way and we have one place to add logic to when needed
(see next commit).
2023-11-17 13:17:27 +11:00
Gaetan Craig-Riou
5117cd31e9 Pretty-quick breaks with Prettier v3
As explained here : https://github.com/azz/pretty-quick/issues/164
We most likely need to move away from pretty-quick
2023-11-17 13:04:32 +11:00
Maikel
f087aa07d0 Merge pull request #11705 from abdellani/fix-existing-tests
Fix invoice printing tests
2023-11-17 12:57:24 +11:00
Neal Chambers
c3c4486d0c Safely autocorrect Style/RedundantStringEscape
Inspecting 1513 files
..........................................................................................................................................................................................................................................................................................................................C...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...........................................................................................................

Offenses:

app/models/spree/calculator.rb:31:48: C: [Corrected] Style/RedundantStringEscape: Redundant escape of / inside string literal.
      self.class.name.titleize.gsub("Calculator\/", "")
                                               ^^
spec/controllers/spree/admin/shipping_methods_controller_spec.rb:40:78: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
        params[:shipping_method][:calculator_attributes][shipping_amount] = "\'20.0'"
                                                                             ^^
spec/system/admin/enterprise_fees_spec.rb:82:78: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
    fill_in("#{prefix}_calculator_attributes_preferred_flat_percent", with: "\'20.0'")
                                                                             ^^
spec/system/admin/enterprise_fees_spec.rb:140:42: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
        'preferred_flat_percent', with: "\'20.0'"
                                         ^^

1513 files inspected, 4 offenses detected, 4 offenses corrected
2023-11-17 09:03:32 +09:00
Neal Chambers
edbf4c15a9 Safely autocorrect Style/RedundantReturn
Inspecting 1513 files
.........................................................................................................................................................................................................................................................................................................C......................................................C............................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................C.......C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/product_import/entry_validator.rb:200:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return true unless Float(value, exception: false).nil?
      ^^^^^^
app/models/spree/stock/availability_validator.rb:30:9: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
        return line_item.target_shipment if line_item.target_shipment
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/stock/availability_validator.rb:31:9: C: [Corrected] Style/RedundantReturn: Redundant return detected.
        return line_item.order.shipments.first if line_item.order&.shipments&.any?
        ^^^^^^
lib/reporting/reports/enterprise_fee_summary/summarizer.rb:41:11: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
          return DataRepresentations::IncomingExchangeLineItemFee if for_incoming_exchange?
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/summarizer.rb:42:11: C: [Corrected] Style/RedundantReturn: Redundant return detected.
          return DataRepresentations::OutgoingExchangeLineItemFee if for_outgoing_exchange?
          ^^^^^^
lib/stripe/authorize_response_patcher.rb:31:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return url if url.match(%r{https?://\S+}) && url.include?("stripe.com")
      ^^^^^^
lib/tasks/data.rake:99:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return true if Integer(value)
      ^^^^^^

1513 files inspected, 7 offenses detected, 7 offenses corrected
2023-11-17 09:00:50 +09:00
Neal Chambers
85fef7ac4b Safely autocorrect Style/RedundantRegexpArgument
Inspecting 1513 files
...........................................................................................................................................................................................................................................................................................................................................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/spree/shipping_method.rb:69:25: C: [Corrected] Style/RedundantRegexpArgument: Use string ":tracking" as argument instead of regexp /:tracking/.
      tracking_url.gsub(/:tracking/, tracking) unless tracking.blank? || tracking_url.blank?
                        ^^^^^^^^^^^
lib/spree/i18n.rb:36:17: C: [Corrected] Style/RedundantRegexpArgument: Use string "spree" as argument instead of regexp /spree/.
      path.gsub(/spree/, '')
                ^^^^^^^

1513 files inspected, 2 offenses detected, 2 offenses corrected
2023-11-17 08:59:27 +09:00
David Cook
668b102efc Combine two specs for efficiency 2023-11-17 10:21:55 +11:00
Gaetan Craig-Riou
8347557bea Merge pull request #11814 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.2
chore(deps): bump active_storage_validations from 1.1.1 to 1.1.2
2023-11-17 10:12:29 +11:00
Gaetan Craig-Riou
ecb5ae47ff Merge pull request #11812 from openfoodfoundation/dependabot/bundler/angular_rails_csrf-6.0.0
chore(deps): bump angular_rails_csrf from 5.0.0 to 6.0.0
2023-11-17 10:08:15 +11:00
Ahmed Ejaz
b056c1495b Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-17 03:53:33 +05:00
Maikel
54f6b32231 Merge pull request #11810 from filipefurtad0/extend_payment_intents_tests
[VCR, automation] Adds payment intent tests with invalid cards
2023-11-17 09:50:25 +11:00
Ahmed Ejaz
29eadedc3a Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-17 03:45:54 +05:00
David Cook
de9fbea2b8 npx update-browserslist-db@latest
Compilation was sometimes failing with the following error. So I did what it said.

> Browserslist: caniuse-lite is outdated. Please run:
>   npx update-browserslist-db@latest
>   Why you should do it regularly: https://github.com/browserslist/update-db#readme
2023-11-17 09:45:11 +11:00
David Cook
2960f7570e Merge pull request #11741 from abdellani/fix-product-with-ml-unit-display-dl
Fix product with ml unit display dl
2023-11-17 09:41:44 +11:00
Konrad
0fae09f5a2 Merge pull request #11659 from chahmedejaz/bugfix/11606-localized-date-times
Fixes un-localized Order date and time format on edit order page
2023-11-16 21:27:13 +01:00
Ahmed Ejaz
fc59c9397d 11606, fix lint issues 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
4040dc0a52 #11606, add and fix specs for pretty_time method 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
edc827bdc8 #11606, adds long time formatting for en.yml 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
dddb777cea #11606, adds date locales for Português do Brasil 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
4639a002f2 #11606, adds date locales for Nederlands (Belgium) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
6a889d8084 #11606, adds date locales for Italiano (Switzerland) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
a35dcde0e3 #11606, adds date locales for Français (Cameroon) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
ec7c77af68 #11606, adds date locales for Français (Switzerland) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
6a0588e6a2 #11606, adds date locales for Français (Canada) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
c3bc2d1087 #11606, adds date locales for Français (Belgium) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
e0ed5ef9f0 #11606, adds date locales for Filipino (Philippines) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
295ad230c2 #11606, adds date locales for Espanol (United States) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
afa172bfa2 #11606, adds date locales for Espanol (Costa Rica) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
315dfe7d38 #11606, adds date locales for Espanol (Colombia) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
adcca684bf #11606, adds date locales for German (Germany) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
850a9c3738 #11606, adds langage locales for the German for Germany 2023-11-16 20:57:40 +01:00
Filipe
ed8fd41bec Merge pull request #11290 from cyrillefr/Orders_in_confirmation_state_cannot_be_completed_by_hub_or_shop
Fix Orders in confirmation state cannot be completed by hub or shop
2023-11-16 19:50:14 +00:00
Filipe
37436aab80 Merge pull request #11799 from murjax/enterprise-panel-navigation-6754
Fix navigation behavior on enterprise settings panel tabs
2023-11-16 17:56:49 +00:00
Filipe
8a3fbf92b9 Merge pull request #11776 from rioug/11775-fix-hidden-input
Fix hidden input showing on Producer registration
2023-11-16 17:26:28 +00:00
Konrad
dff8257255 Merge pull request #11661 from mkllnk/report-file-storage
Store report files on the local disk
2023-11-16 16:20:46 +01:00
filipefurtad0
beb47f03c0 Removes Stripe module
...and calls it within the describe block
2023-11-16 14:46:25 +00:00
Maikel
c8023b7c37 Merge pull request #11813 from openfoodfoundation/dependabot/bundler/spring-4.1.2
chore(deps-dev): bump spring from 4.1.1 to 4.1.2
2023-11-16 17:00:51 +11:00
Maikel
63721938c3 Merge pull request #11780 from filipefurtad0/fix_pending_examples_on_invoices_spec
Fixes pending tests cases on invoices spec
2023-11-16 17:00:02 +11:00
Maikel Linke
6e34c41f42 Bump DFC taxonomies to v1.0.2
Finally replacing the last of the old DFC context URLs that are not
valid any more.
2023-11-16 15:52:31 +11:00
Maikel
5f3e176b49 Merge pull request #11816 from mkllnk/dfc-enterprise-fields
Add logo and contact info to DFC Enterprise API
2023-11-16 10:15:01 +11:00
Maikel Linke
b055474918 DRY long method 2023-11-16 09:30:04 +11:00
Maikel Linke
e5f5f3922c Add contact name to DFC Enterprise API 2023-11-16 09:10:43 +11:00
filipefurtad0
9d00b7dc43 Re-records relevant cassettes 2023-11-15 13:05:15 +00:00
filipefurtad0
4c3f87f047 Adds payment intent tests with invalid cards 2023-11-15 13:05:15 +00:00
Maikel Linke
3e6db7fda4 Update spec of changed report link
The link now contains the local test server instead of some fake domain.
2023-11-15 10:29:05 +01:00
Maikel Linke
9f00817852 Use source of truth of url_options for report URLs
The ActionController options were not set in testing nor Sidekiq jobs.
The now used config is always set in config/application.rb.
2023-11-15 10:29:05 +01:00
Maikel Linke
a110ee0982 Simplify Active Storage config for test env 2023-11-15 10:29:05 +01:00
Maikel Linke
eaff1ed921 Store report files on the local disk 2023-11-15 10:29:05 +01:00
Maikel Linke
20af19c912 Simplify report file storage 2023-11-15 10:29:05 +01:00
Maikel Linke
ff6bcb113f Create report file where the content is generated
In the past, we needed the report blob to know when the report has been
finished and uploaded. But not we use cable_ready to notify when the
report is done and we don't need the blob in the controller.
2023-11-15 10:29:05 +01:00
dependabot[bot]
021e150421 chore(deps): bump active_storage_validations from 1.1.1 to 1.1.2
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.1.1 to 1.1.2.
- [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/commits)

---
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-11-15 09:17:25 +00:00
dependabot[bot]
b54794f3f6 chore(deps-dev): bump spring from 4.1.1 to 4.1.2
Bumps [spring](https://github.com/rails/spring) from 4.1.1 to 4.1.2.
- [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.1...v4.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 09:16:50 +00:00
dependabot[bot]
9d2ca908cb chore(deps): bump angular_rails_csrf from 5.0.0 to 6.0.0
Bumps [angular_rails_csrf](https://github.com/jsanders/angular_rails_csrf) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/jsanders/angular_rails_csrf/releases)
- [Changelog](https://github.com/jsanders/angular_rails_csrf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsanders/angular_rails_csrf/compare/v5.0.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 09:14:26 +00:00
Maikel Linke
fc8f0ec4f2 Add email address to DFC Enterprise API 2023-11-15 17:00:53 +11:00
Maikel Linke
057c1363b1 Add phone number to DFC Enterprise API 2023-11-15 16:57:38 +11:00
Maikel Linke
80c0df9d1e Add website to DFC Enterprise API 2023-11-15 16:48:44 +11:00
Maikel Linke
1fb87bc497 Add SocialMedia to DFC Enterprise API 2023-11-15 16:19:23 +11:00
Maikel Linke
9311a29c9f Add logo URL to DFC Enterprise API 2023-11-15 15:16:39 +11:00
Maikel Linke
6266df5c76 Add long description to DFC Enterprise API 2023-11-15 14:59:15 +11:00
David Cook
3f4ef3e48b Merge pull request #11806 from openfoodfoundation/dependabot/npm_and_yarn/prettier-3.1.0
chore(deps-dev): bump prettier from 2.8.8 to 3.1.0
2023-11-15 12:28:12 +11:00
David Cook
58cf3cfca8 Merge pull request #11802 from mkllnk/flaky-taxonomies
Stabilise spec with sleep
2023-11-15 11:55:25 +11:00
Maikel Linke
58d2e9d9aa Fix pending spec example and clarify displayed content 2023-11-15 10:28:45 +11:00
Maikel Linke
b626ec1cd7 Further reduce branching
This is much easier to read.
2023-11-15 10:13:24 +11:00
Maikel Linke
d0c07df0cf Avoid complexity of branch flags 2023-11-15 10:06:48 +11:00
filipefurtad0
a56f95d1e3 Uses more readable DB call
Also makes some other minor improvements, like removing the rest case around editing ajustment types, something which we don't really need a test for, as it should not occur in the app
2023-11-14 14:40:21 +00:00
filipefurtad0
612125b918 Updates create/delete adjustments tests
Creating and deleting adjustments will change associated attributes such as the payment state of the order which triggers a new invoice
2023-11-13 23:20:50 +00:00
filipefurtad0
eea15089d3 Updates state change tests
Cancelling orders will change associated attributes such as payment_state which is triggers a new invoice
2023-11-13 23:19:40 +00:00
filipefurtad0
e7c2b52f52 Updates pending example
..however: creating and deleting adjustments are still not passing when can_update_latest_invoice? is called over the order. @abdellani, I think I need your help on this one, I was not able to progress any further
2023-11-13 23:19:40 +00:00
filipefurtad0
9057ffd6c0 Fixes pending test case 2023-11-13 23:19:40 +00:00
binarygit
249c0029dd Improve tests 2023-11-13 21:31:41 +05:45
binarygit
f52c7e8a5d Rename richtext controller and write specs 2023-11-13 21:31:41 +05:45
binarygit
e78fe663d2 Open external links in product description in a new page 2023-11-13 21:31:41 +05:45
dependabot[bot]
40430a8fab chore(deps-dev): bump prettier from 2.8.8 to 3.1.0
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.1.0.
- [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.8...3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 09:58:03 +00:00
Mohamed ABDELLANI
847c3af4da update WeightsAndMeasures#scales_for_variant_unit to ignore available untis when needed 2023-11-13 09:59:14 +01:00
David Cook
b872d7c308 Re-arrange spec
Best viewed with white-space ignored
2023-11-13 09:29:31 +01:00
David Cook
91cb3df215 Use named config method
And mock the preference value, rather than setting it. Before, the set preference could have leaked to other tests.
(I noticed that it was already like this in product_import_spec.rb)
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
72d854487a update VariantUnitManager#compatibleUnitScales to return units that are selected 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
864f63b7b0 update VariantUnitManger specs 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
a9d85fd08f fix existing tests 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
2733e45e16 update the list of the unit on VariantUnitManager 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
e10d441153 load GeneralSettingsHelper#all_units from WeightsAndMeasures::UNITS 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
fb24678654 update units list on Spree::Admin::GeneralSettingsHelper#all_units
added a test to make sure that all units on WeightsAndMeasures::UNITS are list on all_units
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
642cd85cb9 update WeightsAndMeasures#scale_for_unit_value to only return units that are selected on 'Available Units' list 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
b3b86c428c test tax totals on the printed version of the invoice (v3) 2023-11-13 07:48:59 +01:00
Mohamed ABDELLANI
e37f9e54fd reimplement "order with taxes" tests under "invoices feature enabled" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
c759a0f646 move tests under shared_examples "order with tax" to context "when invoice feature is not enabled" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
13bfbc21e0 remove unecessary instructions from "Check display on each invoice: legacy and alternative" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
4eedf74ecd remove unecessary instructions from "contains right Payment Description at Checkout information"
1.When the user tries to print an invoice for an order (that doesn't have any previous invoices), an invoice will be generated automatically.
2.When the user tries to print an invoice for an order without specifing the id of the invoice, he'll get the latest invoice
2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
5be8ec0c5a set completed_at on the order used for testing 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
1724e1d626 fix invoice feature flag enabling 2023-11-13 07:39:55 +01:00
Gaetan Craig-Riou
1107083bc9 Merge pull request #11733 from yasirazgar/11714_fix_bugsnag_warning
11714 -  Fix bugsnag warning
2023-11-13 16:52:20 +11:00
yasir azgar
703ef8a203 Update config/initializers/bugsnag.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-11-13 10:42:46 +05:30
yasir azgar
b119a97eaf Update config/initializers/bugsnag.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-11-13 10:42:46 +05:30
Yasir Azgar
5eed500786 supress bugsnag warn in dev 2023-11-13 10:42:46 +05:30
Yasir Azgar
eb82accb79 revert unwanted change 2023-11-13 10:42:46 +05:30
Yasir Azgar
866a1b4bcb 11714 fix bugsnag warn 2023-11-13 10:42:46 +05:30
Maikel Linke
6ce3572b24 Stabilise spec with sleep
I didn't look into what's going wrong here. A sleep is not ideal but
better than a retry.

That page needs a rewrite anyway and therefore I don't want to invest
more work now.
2023-11-13 14:21:10 +11:00
Maikel
b2c6551c26 Merge pull request #11797 from openfoodfoundation/dependabot/npm_and_yarn/cable_ready-5.0.2
chore(deps): bump cable_ready from 5.0.1 to 5.0.2
2023-11-13 12:48:56 +11:00
dependabot[bot]
54426f80df chore(deps): bump cable_ready from 5.0.1 to 5.0.2
Bumps [cable_ready](https://github.com/stimulusreflex/cable_ready) from 5.0.1 to 5.0.2.
- [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/compare/v5.0.1...v5.0.2)

---
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-11-12 23:27:36 +00:00
Maikel
709c4d20f9 Merge pull request #11786 from macanudo527/fix_autocorrect_rubocop
Fix Style Rubocop Errors
2023-11-13 10:25:03 +11:00
Ahmed Ejaz
8bac8ad4be 11067, fix lint issues 2023-11-11 16:04:28 +05:00
Ahmed Ejaz
2d55322a55 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-11 16:00:15 +05:00
Ahmed Ejaz
ab93b06bac #11067, add specs 2023-11-11 15:58:29 +05:00
Ahmed Ejaz
0457755e27 Merge branch 'task/11067-admin_style_v3-product-clone' of https://github.com/chahmedejaz/openfoodnetwork into task/11067-admin_style_v3-product-clone 2023-11-11 15:54:58 +05:00
Ahmed Ejaz
d8904099dd #11067, remove messages to match with old UI UX 2023-11-11 15:47:59 +05:00
Ryan Murphy
5c4b06730b Fix navigation behavior on enterprise panel tabs 2023-11-10 12:26:16 -05:00
Filipe
5d76f98fec Merge pull request #11754 from mkllnk/reload-bug
Don't update order when not enough stock when editing as admin
2023-11-10 16:57:43 +00:00
Ahmed Ejaz
e1e46bcbc2 #11067, hide clone option for variant 2023-11-10 15:36:10 +05:00
Gaetan Craig-Riou
06a4cbafd4 Merge pull request #11788 from dacook/release-scripts
Add script for preparing translations
2023-11-10 13:56:04 +11:00
David Cook
d47128e355 Describe how to choose version number
Thanks Maikel for summarising this: https://community.openfoodnetwork.org/t/release-numbering/105/6
2023-11-10 12:14:52 +11:00
David Cook
0c6608f828 Add comments 2023-11-10 11:46:48 +11:00
Neal Chambers
7c14853add Safely autocorrect Style/RedundantDoubleSplatHashBraces
Inspecting 1509 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...............

Offenses:

spec/system/support/cuprite_setup.rb:13:5: C: [Corrected] Style/RedundantDoubleSplatHashBraces: Remove the redundant double splat and braces, use keyword arguments directly.
    **{ ...
    ^^^
spec/system/support/cuprite_setup.rb:14:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      browser_options:,
      ^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:15:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      process_timeout: 60,
      ^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:16:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      timeout: 60,
      ^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:17:7: C: [Corrected] Layout/CommentIndentation: Incorrect indentation detected (column 6 instead of 4).
      # Don't load scripts from external sources, like google maps or stripe
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:18:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      url_whitelist: ["http://localhost", "http://0.0.0.0", "http://127.0.0.1"],
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:19:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      inspector: true,
      ^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:20:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      headless:,
      ^^^^^^^^^
spec/system/support/cuprite_setup.rb:21:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      js_errors: true
      ^^^^^^^^^^^^^^^

1509 files inspected, 9 offenses detected, 9 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
c3b4781a28 Safely autocorrect Style/RedundantConstantBase
Inspecting 1509 files
.........................................................................................................C.........................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................CCC........................................C......................................................................................C......................................................................................................................................................................................................

Offenses:

app/controllers/split_checkout_controller.rb:5:33: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class SplitCheckoutController < ::BaseController
                                ^^
app/controllers/webhook_endpoints_controller.rb:3:36: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class WebhookEndpointsController < ::BaseController
                                   ^^
config.ru:5:9: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
require ::File.expand_path('config/environment', __dir__)
        ^^
spec/helpers/checkout_helper_spec.rb:168:68: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
      let!(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: ::Calculator::DefaultTax.new) }
                                                                   ^^
spec/models/spree/order_spec.rb:619:25: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:fee_handler) { ::OrderFeesHandler.new(subject) }
                        ^^
spec/models/spree/payment_method_spec.rb:150:51: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                  ^^
spec/models/spree/payment_method_spec.rb:154:54: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                         calculator: ::Calculator::FlatPercentItemTotal
                                                     ^^
spec/models/spree/payment_spec.rb:429:49: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
            create(:payment_method, calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                ^^
spec/models/spree/payment_spec.rb:1002:11: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
          ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10)
          ^^
spec/models/spree/payment_spec.rb:1039:28: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
        let(:calculator) { ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10) }
                           ^^
spec/queries/complete_visible_orders_spec.rb:12:31: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:order_permissions) { ::Permissions::Order.new(user, filter_canceled) }
                              ^^
spec/services/paypal_items_builder_spec.rb:34:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^
spec/services/paypal_items_builder_spec.rb:38:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^

1509 files inspected, 13 offenses detected, 13 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
ef928aa6fe Safely autocorrect Style/QuotedSymbols
Inspecting 1509 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.................................................................................................................................................................................................................................................................................................................................C............................................................C...........................................................................................................................................................................................................................................................................................................................................C.C.........................................................................................................................................C........................................................................................................................................

Offenses:

app/services/exchange_products_renderer.rb:50:13: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
      where("spree_variants.id": incoming_exchanges_variants)
            ^^^^^^^^^^^^^^^^^^^
lib/stripe/credit_card_cloner.rb:67:50: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
                                   { metadata: { "ofn-clone": true } },
                                                 ^^^^^^^^^^^
spec/controllers/api/v0/exchange_products_controller_spec.rb:59:52: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          Spree::Product.includes(:variants).where("spree_variants.id": exchange.variants.map(&:id))
                                                   ^^^^^^^^^^^^^^^^^^^
spec/requests/api/orders_spec.rb:35:11: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          "application/json": {
          ^^^^^^^^^^^^^^^^^^
spec/requests/api/v1/customers_spec.rb:39:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:186:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:207:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:230:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:239:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:274:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:286:18: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          schema "$ref": "#/components/schemas/error_response"
                 ^^^^^^
spec/requests/api/v1/customers_spec.rb:361:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:427:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:440:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:455:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/support/request/stripe_stubs.rb:72:42: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
    stub = stub.with(body: { metadata: { "ofn-clone": true } })
                                         ^^^^^^^^^^^

1509 files inspected, 16 offenses detected, 16 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
3c7c345534 Safely autocorrect Style/ParenthesesAroundCondition
Inspecting 1509 files
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..............

Offenses:

spec/system/support/precompile_assets.rb:10:10: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
  next if
         ^
spec/system/support/precompile_assets.rb:10:11: C: [Corrected] Style/ParenthesesAroundCondition: Don't use parentheses around the condition of an if.
  next if ( ...
          ^
spec/system/support/precompile_assets.rb:13:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/support/precompile_assets.rb:14:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.

1509 files inspected, 4 offenses detected, 4 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
69e7419a45 Safely autocorrect Style/NegatedIfElseCondition
Inspecting 1509 files
....................................................................................................................................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................

Offenses:

app/mailers/spree/shipment_mailer.rb:15:25: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the ternary branches.
      default_subject = !@delivery ? t('.picked_up_subject') : default_i18n_subject
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/matchers/table_matchers.rb:34:5: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the if-else branches.
    if rows.count != expected_table.count ...
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1509 files inspected, 2 offenses detected, 2 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
0ec03da30e Regenerate Rubocop's TODO file 2023-11-10 09:13:57 +09:00
David Cook
95028d5347 Merge pull request #11790 from duleorlovic/11783_add_present
Check for .present? for ENV GOOGLE variables
2023-11-10 11:12:57 +11:00
Maikel
72dc00ba5c Merge pull request #11779 from filipefurtad0/stripe_version_in_sync_with_vcr_tests
Stripe version in sync with vcr tests
2023-11-10 10:43:28 +11:00
Ahmed Ejaz
e97676a680 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-09 19:42:21 +05:00
Dusan Orlovic
0f30836c1d Check for .present? for ENV GOOGLE variables 2023-11-09 09:45:19 +01:00
David Cook
f754eac3a0 Add script for preparing translations 2023-11-09 17:42:09 +11:00
Maikel
ec1f23a947 Merge pull request #11781 from openfoodfoundation/dependabot/bundler/datafoodconsortium-connector-1.0.0.pre.alpha.9
chore(deps): bump datafoodconsortium-connector from 1.0.0.pre.alpha.8 to 1.0.0.pre.alpha.9
2023-11-09 16:46:05 +11:00
David Cook
023eb0633d Update all locales with the latest Transifex translations 2023-11-09 16:42:04 +11:00
Maikel Linke
0a88e8b8ac Update API documentation 2023-11-09 16:17:11 +11:00
Maikel Linke
cde57fcfb4 Update specs for changed attribute URI 2023-11-09 16:16:24 +11:00
Maikel Linke
eac632c81e Use new DFC Connector API to add an address 2023-11-09 16:16:24 +11:00
Maikel Linke
8d81802f47 Update DFC SKOS Parser monkey patch with current code 2023-11-09 16:16:24 +11:00
Maikel Linke
5d29dee848 Update DFC Importer to use shortened URIs
The new Connector code uses shortened URIs now.
2023-11-09 16:16:24 +11:00
dependabot[bot]
3ca426945f chore(deps): bump datafoodconsortium-connector
Bumps datafoodconsortium-connector from 1.0.0.pre.alpha.8 to 1.0.0.pre.alpha.9.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-09 15:46:32 +11:00
Maikel Linke
71c50e1fcf Update warning message for item quantity 2023-11-09 10:56:41 +11:00
Maikel Linke
efc338aeeb Don't update order when not enough stock
There's a user-facing change here. When you tried to update the quantity
of a line item beyond available stock, two things used to happen:

1. A warning was displayed.
2. The item's quantity was updated to the highest possible.

Unfortunately, the logic to update the line item was also reloading the
page and the warning message disappeared before it could be
acknowledged. The easiest fix was to skip the update request. And in my
opinion, it's even better to let the user decide if they still want to
update or cancel the update.

Eventually, we want to replace all this custom Javascript logic with
StimulusJS anyway. So let's not put too much effort into this. It was
important though to resolve the flaky spec which made many builds fail.
2023-11-09 10:56:41 +11:00
Maikel Linke
d5dca97438 Spec tiny bug which caused a flaky spec
It still needs solving.
2023-11-09 10:56:41 +11:00
Maikel
4e52fc28ef Merge pull request #11756 from rioug/11712_DFC_add_image_to_product
[DFC API] add image to product
2023-11-09 09:37:06 +11:00
Maikel Linke
4c1334fb69 Record new version of Stripe requests 2023-11-09 08:56:46 +11:00
Maikel Linke
cb57807466 Streamline stripe test recording updates 2023-11-09 08:52:06 +11:00
Ahmed Ejaz
2af678cb28 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-08 18:41:31 +05:00
Ahmed Ejaz
851ce281ea #11067, implement product clone 2023-11-08 18:36:22 +05:00
Maikel Linke
d0dd6e57ca Replace variable values with fixed values in Swagger doc 2023-11-08 17:12:42 +11:00
Maikel Linke
7dd0d0581c Codify re-recording of Stripe cassettes 2023-11-08 15:05:54 +11:00
filipefurtad0
9d50b11090 Adds re-recorded Stripe cassettes within Stripe gem folder name 2023-11-08 14:25:19 +11:00
filipefurtad0
7dac08a0be Sets flag to create folder with Stripe version 2023-11-08 14:24:19 +11:00
Gaetan Craig-Riou
f76bdf0c6f Fix rubocop warning 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
11ee4b30c2 Update Swagger documentation to include ofn:image 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
7987967824 Check product image url is present on supplied product endpoint 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
12c6257a0f Pass the image url to DfcProvider::SuppliedProduct 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
424954ec54 Add ofn:image to SuppliedProduct
Temporary solution as we wait for the DFC connector to be updated
to support "dfc_b:image" for SuppliedProduct
2023-11-08 13:57:35 +11:00
Maikel
cbc2ef54c8 Merge pull request #11778 from openfoodfoundation/dependabot/bundler/bullet-7.1.3
chore(deps-dev): bump bullet from 7.1.2 to 7.1.3
2023-11-08 13:57:04 +11:00
Maikel
13e7448739 Merge pull request #11777 from openfoodfoundation/dependabot/bundler/cuprite-0.15
chore(deps-dev): bump cuprite from 0.14.3 to 0.15
2023-11-08 13:56:28 +11:00
Maikel
3eb9cf994b Merge pull request #11758 from openfoodfoundation/dependabot/bundler/stripe-10.1.0
chore(deps): bump stripe from 10.0.0 to 10.1.0
2023-11-08 13:49:19 +11:00
Maikel
dd1f358d36 Merge pull request #11757 from dacook/buu-disabled-button
[BUU] Grey out disabled button
2023-11-08 13:48:23 +11:00
David Cook
9172c87fce Merge pull request #11701 from macanudo527/remove_bogus_gateways
Remove bogus gateways
2023-11-08 09:36:36 +11:00
Neal Chambers
af764bd38e Move payment_intent to Helper 2023-11-07 16:30:50 +09:00
Neal Chambers
31fda7169d Delete Bogus and BogusSimple Gateways from Locales 2023-11-07 11:19:26 +09:00
Neal Chambers
1456f3b7db Remove Bogus Gateway from Sample Data 2023-11-07 11:19:26 +09:00
Neal Chambers
3ddf3c05ae Remove References to Bogus in Pending Specs 2023-11-07 11:19:26 +09:00
Neal Chambers
6ba8c88ea7 Rewrite Specs to Use Paypal or Stripe Gateway instead of Bogus 2023-11-07 11:19:26 +09:00
Neal Chambers
0663f04535 Remove Simple References to Bogus Gateway 2023-11-07 11:19:26 +09:00
Neal Chambers
74870ff0ad Delete Bogus Gateway Files 2023-11-07 11:19:23 +09:00
dependabot[bot]
1c878e7fa9 chore(deps-dev): bump bullet from 7.1.2 to 7.1.3
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.2 to 7.1.3.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.2...7.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 10:00:55 +00:00
dependabot[bot]
19a385b4eb chore(deps-dev): bump cuprite from 0.14.3 to 0.15
Bumps [cuprite](https://github.com/rubycdp/cuprite) from 0.14.3 to 0.15.
- [Release notes](https://github.com/rubycdp/cuprite/releases)
- [Changelog](https://github.com/rubycdp/cuprite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rubycdp/cuprite/compare/v0.14.3...v0.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 09:56:52 +00:00
Gaetan Craig-Riou
c42d9d7d54 Use type="hidden" to hide input
It looks some CSS we use is breaking the use of "hidden"
2023-11-06 16:54:48 +11:00
Rachel Arnould
1e15d32a24 Merge pull request #11679 from abdellani/new_and_unique_invoice_template
New and unique invoice template
2023-11-03 16:49:19 +01:00
dependabot[bot]
01b24a8383 chore(deps): bump stripe from 10.0.0 to 10.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.0.0 to 10.1.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/v10.0.0...v10.1.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-11-03 09:30:15 +00:00
Sigmund Petersen
40c14c6ae3 Merge pull request #11749 from mkllnk/cuprite
Clarify cuprite driver configuration
2023-11-03 09:59:36 +01:00
David Cook
f9fc1657a8 Grey out disabled button
It looks like the disabled-bg colour was being used for pagination, but I can't see where. This way we should be able to apply the styles more consistently in the future.
2023-11-03 17:28:20 +11:00
David Cook
38296eb967 Merge pull request #11755 from mkllnk/cleaning
Remove orphaned JSON data in admin pages
2023-11-03 16:02:10 +11:00
Maikel
eef7df8ce3 Merge pull request #11750 from dacook/buu-editing-part5c-show-summary-11059
[BUU] Showing error summary at top of form
2023-11-03 15:45:24 +11:00
Maikel Linke
f6903518c3 Remove orphaned JSON data in admin pages
This was left over data from commit:

- 79ba223e12
2023-11-03 15:16:22 +11:00
David Cook
7fe6f3fe89 Disable form elements in a disabled-section
I chose to use the 'elements' collection rather than choosing which elements to include (ie this supports inputs, textareas, buttons and anything else I didn't think of). It could be a bit simpler if we assume the element is a form. Even simpler if it's a fieldset (that has a disabled property). But I didn't want to limit it too much.

Unfortunately JS is quite ugly compared to Ruby. And 'prettier' made it uglier in my opinion.
2023-11-03 14:32:58 +11:00
David Cook
f63f37fd3b Wrap form element in a form
This makes it easier to control in the next commit.
2023-11-03 14:32:58 +11:00
David Cook
d0abbc5d2c Ensure error summary always shows when error
Best viewed with whitespace ignored.
2023-11-03 14:32:58 +11:00
David Cook
41cf0bedfc Fix: Handle missing attributes 2023-11-03 14:32:58 +11:00
David Cook
f05d27b58b Show error message summary at top of form 2023-11-03 14:32:58 +11:00
David Cook
a94c50f0c1 Count updated products
Ignoring variants for now.
2023-11-03 14:32:58 +11:00
David Cook
de915e8bd7 Capture variant errors when updating 2023-11-03 14:32:55 +11:00
Maikel Linke
d64b311230 Update all locales with the latest Transifex translations 2023-11-03 12:56:16 +11:00
Filipe
771bd93f5f Merge pull request #11677 from rioug/11359-vouchers-fix-tax-moving-back-in-checkout
[vouchers] fix tax calculation when moving back in the checkout process
2023-11-02 17:02:08 +00:00
David Cook
1d5ec6b8d2 Spec for updating products with variants
Trying to cover it more comprehensively, and revealing we have a lot of behaviour to update.
Products and their variants should always get saved (or not saved) together. This is considered the most intuitive behaviour.

There's still duplication with the "variant has error" context, but I try to avoid nesting shared_examples, it starts to get ugly. Happy to discuss though.
2023-11-02 15:42:40 +11:00
Maikel
eea08ac0a1 Merge pull request #11745 from openfoodfoundation/dependabot/bundler/sidekiq-7.2.0
chore(deps): bump sidekiq from 7.1.6 to 7.2.0
2023-11-02 15:33:53 +11:00
Maikel Linke
c4c5c97270 Clarify cuprite driver configuration
Rails is registering a driver called `cuprite`. And when we did that as
well the driver got registered three times somehow. It looked like our
driver options were used in the end but just to clarify I gave it a
unique name.

This was inspired by:

* https://github.com/ViewComponent/view_component/pull/1877

It suggests that it may avoid dead browser errors on CI. We'll see.
2023-11-02 14:07:33 +11:00
David Cook
e651e3cd5e Tiny spec refactor
I found this in my stashes
2023-11-02 11:05:45 +11:00
David Cook
39eeb0e917 Add spec for truthiness
It's generally expected that a #save method will return true on succes, and false on failure.
2023-11-02 11:05:45 +11:00
Ryan Murphy
7e5ad8c8a4 9048: Fix Stripe payment flash rendering issue 2023-11-01 07:33:06 -04:00
dependabot[bot]
744b0799a6 chore(deps): bump sidekiq from 7.1.6 to 7.2.0
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.6 to 7.2.0.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.6...v7.2.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-11-01 09:26:51 +00:00
David Cook
d8cc45c5c3 Merge pull request #11742 from filipefurtad0/vcr_payment_intent_validator_spec
Replaces mocks with VCR calls
2023-11-01 17:04:00 +11:00
David Cook
031abd6546 Merge pull request #11743 from openfoodfoundation/revert-11708-test-redis-5
Revert "replace hiredis gem with hiredis-client"
2023-11-01 16:08:49 +11:00
Maikel
6a236a8678 Revert "replace hiredis gem with hiredis-client" 2023-11-01 15:16:57 +11:00
Maikel
8e88ef021f Merge pull request #11738 from openfoodfoundation/dependabot/bundler/bootsnap-1.17.0
chore(deps): bump bootsnap from 1.16.0 to 1.17.0
2023-11-01 14:40:29 +11:00
Maikel
a1c6a43954 Merge pull request #11740 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.6.0
chore(deps): bump newrelic_rpm from 9.5.0 to 9.6.0
2023-11-01 14:00:16 +11:00
Maikel
512fee2a9b Merge pull request #11739 from openfoodfoundation/dependabot/bundler/view_component-3.7.0
chore(deps): bump view_component from 3.6.0 to 3.7.0
2023-11-01 13:59:02 +11:00
Maikel
e6e2f27ed4 Merge pull request #11736 from dacook/registration-noindex
Print robots tag for registration layout
2023-11-01 13:53:07 +11:00
Maikel
fb732e55bc Merge pull request #11734 from openfoodfoundation/dependabot/bundler/angular-rails-templates-1.2.1
chore(deps): bump angular-rails-templates from 1.2.0 to 1.2.1
2023-11-01 13:46:32 +11:00
Maikel
8f4f691cb2 Merge pull request #11735 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.22.1
chore(deps-dev): bump rubocop-rails from 2.21.2 to 2.22.1
2023-11-01 13:40:52 +11:00
Maikel
25a3149f48 Merge pull request #11702 from dacook/buu-editing-part5b-11059
[BUU] Mark changed fields, when error
2023-11-01 13:01:08 +11:00
Maikel
ddd410ceb5 Merge pull request #11729 from openfoodfoundation/dependabot/npm_and_yarn/browserify-sign-4.2.2
chore(deps): bump browserify-sign from 4.2.1 to 4.2.2
2023-11-01 12:50:20 +11:00
Maikel
e85a1cef7e Merge pull request #11708 from abdellani/test-redis-5
replace hiredis gem with hiredis-client
2023-11-01 10:02:25 +11:00
filipefurtad0
a88919299f Replaces mocks with VCR calls 2023-10-31 19:06:40 +00:00
dependabot[bot]
1134c9c07a chore(deps): bump newrelic_rpm from 9.5.0 to 9.6.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.5.0 to 9.6.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.5.0...9.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-31 09:44:29 +00:00
dependabot[bot]
d3883c7302 chore(deps): bump view_component from 3.6.0 to 3.7.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.6.0 to 3.7.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.6.0...v3.7.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-10-31 09:44:08 +00:00
dependabot[bot]
a8de70c79e chore(deps): bump bootsnap from 1.16.0 to 1.17.0
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.16.0 to 1.17.0.
- [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Shopify/bootsnap/compare/v1.16.0...v1.17.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-10-31 09:42:54 +00:00
David Cook
18b79668a5 Merge pull request #11727 from openfoodfoundation/dependabot/bundler/valid_email2-5.1.1
chore(deps): bump valid_email2 from 5.1.0 to 5.1.1
2023-10-31 14:32:44 +11:00
David Cook
d79c5c39cf Merge pull request #11723 from openfoodfoundation/dependabot/bundler/rubocop-1.57.2
chore(deps-dev): bump rubocop from 1.57.1 to 1.57.2
2023-10-31 14:31:01 +11:00
David Cook
1d96747570 Merge pull request #11716 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.1
chore(deps): bump active_storage_validations from 1.0.4 to 1.1.1
2023-10-31 14:29:42 +11:00
David Cook
435bf6e6b0 Print robots tag for registration layout
This is copied from the darkswarm layout.
2023-10-31 14:03:32 +11:00
Mohamed ABDELLANI
6d0f7d7c81 render null shipment when shipment adjustment doesn't exist 2023-10-30 22:53:19 +01:00
Mohamed ABDELLANI
23a56d35a0 add tax_adjustment total to the invoice 2023-10-30 22:09:22 +01:00
Mohamed ABDELLANI
e16df2777a optimize DataPresenter#checkout_adjustments
reduce the complexity of the method
2023-10-30 21:58:37 +01:00
Mohamed ABDELLANI
c8f69c8778 always render shipment on the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
c513eb5d9d fix existing test 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
15aeb2f8e5 remove legacy template (used when invoice feature enable) 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
da89860f35 fix price per unit 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
c1ed8ed67c update the adjustments rows 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
716cf3e522 reorder the totals section 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
b7f601d140 show tax rate column regardless of the tax amount on the order 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a08a2fd5f6 [skip ci] add terms of service link to the invoice. 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a5fd0608c3 align the columns of the totals rows 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a8f9b29a6d [skip ci]add the total price columns to the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
30537f7743 add "Weight/VOL." column to the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
b64058a71d swap tax rate with total price (incl tax) 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
1182544c47 update the view used when the invoice feature is enabled 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
4634c2d965 add unit_price_price_and_unit to line_item serializer
*  unit_price_price_and_unit refers UnitPrice which refers to other attributes
that belong to variant and product.
Instead of collecting all the attributes that were using indirectly by the method and adding them to the serializers
I perefered to serialize the result of the method call.
2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
affecf53c6 add order cycle name to the invoice number section 2023-10-30 19:43:57 +01:00
dependabot[bot]
c27f616ac0 chore(deps-dev): bump rubocop-rails from 2.21.2 to 2.22.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.21.2 to 2.22.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.21.2...v2.22.1)

---
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-10-30 09:10:27 +00:00
dependabot[bot]
16ff608e33 chore(deps): bump angular-rails-templates from 1.2.0 to 1.2.1
Bumps [angular-rails-templates](https://github.com/pitr/angular-rails-templates) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/pitr/angular-rails-templates/releases)
- [Changelog](https://github.com/pitr/angular-rails-templates/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pitr/angular-rails-templates/compare/v1.2.0...v1.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 09:08:50 +00:00
Maikel Linke
7f7f6f5c96 Remove unneeded require of hiredis-client 2023-10-30 16:28:18 +11:00
cyrillefr
a764cc0f89 Specs for the new action complete after capture
- In admin dashboard, clicking on capture leads to a completed order
- Modifications of actual specs to take into account new action
2023-10-29 22:05:50 +01:00
cyrillefr
7c89458a95 New locale (tooltip) 2023-10-29 22:05:50 +01:00
cyrillefr
31cc0494c2 Icon for the new action
- Similar to the actual capture action
2023-10-29 22:05:34 +01:00
cyrillefr
e1374d5837 Add Order completion after capturing event
- A new processing method
- Payment means that link to it
- Altering methods that handle next status choice
2023-10-29 21:58:03 +01:00
cyrillefr
d6daf25b98 Spec checking order in confirmation state transition to payment 2023-10-29 21:58:03 +01:00
cyrillefr
cd6c3c45e6 Allow an order in confirmation state to transition to payment 2023-10-29 21:58:03 +01:00
Ahmed Ejaz
df773aaee9 Merge branch 'master' into bugfix/11667-clone-tags-issue-for-OC 2023-10-28 14:57:43 +05:00
Ahmed Ejaz
adf65acee5 #11667, fix existing test case 2023-10-28 14:03:27 +05:00
Ahmed Ejaz
0e0b322707 #11667, assign tag_list to cloned exchange tag_list 2023-10-28 14:02:44 +05:00
dependabot[bot]
743a5e1a3c chore(deps): bump browserify-sign from 4.2.1 to 4.2.2
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-27 16:23:32 +00:00
dependabot[bot]
255872ebe3 chore(deps): bump valid_email2 from 5.1.0 to 5.1.1
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.1.0 to 5.1.1.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.1.0...v5.1.1)

---
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-10-27 09:45:13 +00:00
Gaetan Craig-Riou
33de80f13c Fix checking if shipping method changed
We now check if the shipping method changed before we actually select
it. Fix the related spec.The spec was wrong because order.select_shipping_method
fails silently. That means the shipping method wasn't getting
updated on the order, thus the test was passing.
2023-10-27 14:20:31 +11:00
Gaetan Craig-Riou
4f961098c4 Update all locales with the latest Transifex translations 2023-10-27 11:36:13 +11:00
Filipe
f1d4ec9fe7 Merge pull request #11684 from ccozkan/issue-11609
Fix content aligning in subscriptions table
2023-10-26 16:20:33 +01:00
Filipe
aa9cacada8 Merge pull request #11676 from openfoodfoundation/dependabot/bundler/stripe-10.0.0
chore(deps): bump stripe from 9.4.0 to 10.0.0
2023-10-26 15:41:49 +01:00
dependabot[bot]
0919b2bc6c chore(deps-dev): bump rubocop from 1.57.1 to 1.57.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.1 to 1.57.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.57.1...v1.57.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-10-26 12:57:54 +00:00
Filipe
a54de4b522 Merge pull request #11691 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.24
chore(deps): bump combine_pdf from 1.0.23 to 1.0.24
2023-10-26 13:56:44 +01:00
Filipe
b67acaae21 Merge pull request #11694 from prateek0411999/bugfix/11666-warning_forfeit_remaining_amount
add condition on warning_forfeit_remaining_amount note
2023-10-26 13:44:22 +01:00
Filipe
3da8341946 Merge pull request #11695 from ccozkan/issue-8943
Make update button on enterprises primary details form clickable upon input to name field
2023-10-26 13:12:27 +01:00
Filipe
7b3c6e9f58 Merge pull request #11688 from mkllnk/enterprise-fee-report
Avoid error when generating Enterprise fees w/ Tax Report by Producer
2023-10-26 12:43:19 +01:00
Mohamed ABDELLANI
d6890e9828 check key class before call Rails.cache.delete 2023-10-26 10:27:00 +01:00
dependabot[bot]
38485a8010 chore(deps): bump active_storage_validations from 1.0.4 to 1.1.1
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.0.4 to 1.1.1.
- [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.4...1.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 09:25:54 +00:00
Mohamed ABDELLANI
5360df6cee replace hiredis gem with hiredis-client 2023-10-26 10:10:51 +01:00
David Cook
ed520ea679 Merge pull request #11703 from abdellani/remove-mini-portile2
removes mini_portile2
2023-10-26 09:40:38 +11:00
David Cook
7195314dc6 Merge pull request #11697 from openfoodfoundation/dependabot/bundler/mini_portile2-2.8.5
chore(deps): bump mini_portile2 from 2.8.4 to 2.8.5
2023-10-26 09:23:06 +11:00
Çağrı Özkan
924cee0876 Trigger build (empty commit) 2023-10-25 18:21:39 +03:00
Çağrı Özkan
7b21126a9c Use both onchange and oninput on ng_form.html.haml 2023-10-25 17:32:25 +03:00
Filipe
6280bfcebe Merge pull request #11706 from yasirazgar/11318_flaky_packing_report_spec
11318 - Fix flaky packing_report_spec.rb
2023-10-25 15:22:04 +01:00
Çağrı Özkan
38d1de896c Use oninput on ng_form.html.haml instead of onchange 2023-10-25 17:11:30 +03:00
dependabot[bot]
8fc4d6cd4d chore(deps): bump mini_portile2 from 2.8.4 to 2.8.5
Bumps [mini_portile2](https://github.com/flavorjones/mini_portile) from 2.8.4 to 2.8.5.
- [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.4...v2.8.5)

---
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-10-25 08:20:25 +00:00
Mohamed ABDELLANI
d77a94d377 add comment about mini_protile2 gem 2023-10-25 09:17:21 +01:00
David Cook
fac354e678 Merge pull request #11700 from macanudo527/fix_stylehash_12
Fix Style/HashSyntax 13/13
2023-10-25 10:40:52 +11:00
yasir azgar
3ba208e3d3 11318 - fix flaky packing_report_spec
fix rubocop DurationArithmetic
2023-10-24 22:21:42 +05:30
David Cook
08ac46fd91 Refactor spec: Only create necessary records
This was creating a lot of records for every single test. Now it's much more efficient and spec conditions are clearer.
2023-10-24 16:44:34 +11:00
David Cook
671dc570ec Refactor: with form builder 2023-10-24 15:21:14 +11:00
David Cook
aa4630d74c Mark fields as changed if they contain unsaved values.
This can happen when there's a validation error. The field with error will also be marked changed, but the error style will override it.

I'd like to move this into a FormBuilder. Existing formbuilder gems don't seem to support it (though I didn't look very hard).
2023-10-24 15:21:14 +11:00
David Cook
04032e61e2 Prettier 2023-10-24 15:21:13 +11:00
David Cook
fdad45bb46 Rename 'modified' state to 'changed'
This conveniently matches the terminology used in both JavaScript and ActiveModel::Dirty.
2023-10-24 15:21:13 +11:00
David Cook
ceb9d9af92 Add comment
I decided to look into why this is so complicated, in case some of the complexity can be removed. It can't :(
2023-10-24 15:21:13 +11:00
David Cook
1534908895 Move generic method to base class
Because rubocop complained about the size of ProductSet.
2023-10-24 15:21:13 +11:00
David Cook
89e53c88f3 Move context up a level
Best viewed with whitespace ignored.
2023-10-24 15:21:13 +11:00
David Cook
8293f24ed3 Remove redundant context
Best viewed with whitespace ignored.
2023-10-24 15:21:13 +11:00
David Cook
224b6f514b Remove concept of master variant
from old bulk product screen. Hmm I just realised we're deleting that screen soon anyway.

But this helps clean up the spec before I refactor it further.
2023-10-24 15:21:13 +11:00
David Cook
be6481dac3 Refactor spec: combine expectations
These expectations have the same conditions, so why set it up three times?
2023-10-24 15:21:13 +11:00
David Cook
3710aa2149 Refactor spec
Better to explicitly test for the change, and specify expected values.
2023-10-24 15:21:13 +11:00
Neal Chambers
cf072fb56f Update .rubocop_todo.yml 2023-10-24 08:49:48 +09:00
Neal Chambers
dc607b654d Fix Style/HashSyntax 2023-10-24 08:49:34 +09:00
David Cook
a2f8b0db16 Update ansible group name 2023-10-24 10:37:32 +11:00
Maikel
42f5469de5 Merge pull request #11674 from mkllnk/money
Format money amounts according to locale, not currency
2023-10-24 09:47:37 +11:00
Sigmund Petersen
0d557eb0f2 Merge branch 'master' into dependabot/bundler/combine_pdf-1.0.24 2023-10-23 09:38:02 +02:00
prateek0411999
a113b5ba01 add condition on warning_forfeit_remaining_amount note 2023-10-23 10:45:35 +05:30
Gaetan Craig-Riou
d5d043880a Fix scenario when no shipment available
I though that once the shipping method was set it's available on the
order, but apparently it's not always the case. At least some of the
test scenario have order with no shipment, thus no shipping method set.
2023-10-23 15:38:01 +11:00
Gaetan Craig-Riou
25af178011 Refactor updating order state
It makes the code a bit easier to read
2023-10-23 15:37:53 +11:00
Gaetan Craig-Riou
9f426add8d Merge pull request #11690 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.2.3
chore(deps): bump tom-select from 2.2.2 to 2.2.3
2023-10-23 09:48:48 +11:00
Çağrı Özkan
e465015184 Add oninput:"make form dirty" to enterprise_form/name text field 2023-10-21 01:19:41 +03:00
Filipe
44a675bcda Merge branch 'master' into dependabot/bundler/combine_pdf-1.0.24 2023-10-20 16:44:08 +01:00
filipefurtad0
e645ef72a7 Update all locales with the latest Transifex translations 2023-10-20 12:27:28 +01:00
Konrad
2ba5ab7dc1 Merge pull request #11577 from jibees/10956-use-cable_ready-instead-of-morph
Admin, Orders list: when capturing an order, fix an issue that makes the tooltip invisible (+ errors in the console)
2023-10-20 11:56:53 +02:00
dependabot[bot]
06eac95a48 chore(deps): bump combine_pdf from 1.0.23 to 1.0.24
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.23 to 1.0.24.
- [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.23...v1.0.24)

---
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-10-20 09:20:47 +00:00
dependabot[bot]
c734f982a1 chore(deps): bump tom-select from 2.2.2 to 2.2.3
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.2.2...v2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 09:06:10 +00:00
Gaetan Craig-Riou
5ba21e486a Recalculate voucher voucher adjusment when needed
We need to recalculate the voucher adjustment(s) in the following
scenarii :
When a voucher as been added to the order and :
  * Moving to the payment step from details step, to take into account
    potential change in shipment fees. (this happen if we return to the
    details step after reaching the summary step)
  * Moving to the summary step from payment step, to take into account
    payment fees
2023-10-20 16:49:21 +11:00
Maikel Linke
b83651a7ae Avoid error when generating fee report
Instead some data is missing from the report. A slightly better outcome
but still wrong. This is tracked in another issue though.
2023-10-20 15:45:32 +11:00
Maikel Linke
4fc66f6585 Spec fee report failing on removed variant
Well, creating a unit test level spec in the first place. Edge cases
like this don't need to be tested in slow system specs.
2023-10-20 15:35:17 +11:00
Gaetan Craig-Riou
f9d2deeb17 Small clean up 2023-10-20 15:28:26 +11:00
Maikel Linke
43b1eca026 Remove unneeded report spec
Testing for the absence of behaviour is useful when changing code to
assert that the change is successful but in the long term, it doesn't
add any value. If you don't have any reason to believe that the report
may delete parameters then we don't need to test for that.
2023-10-20 14:22:43 +11:00
Maikel
d45fe44c9f Remove unused Code Climate badge
It always gave us a good score anyway because we ignored the bad code.
2023-10-20 10:22:42 +11:00
David Cook
8fad8b9f80 Merge pull request #11687 from filipefurtad0/fix_flaky_spec_#11686
Moves assertions within before do block
2023-10-20 09:57:41 +11:00
David Cook
801c30f4d5 Merge pull request #11685 from openfoodfoundation/dependabot/bundler/roadie-rails-3.1.0
chore(deps): bump roadie-rails from 3.0.0 to 3.1.0
2023-10-20 09:55:42 +11:00
David Cook
2d68d49c1f Merge pull request #11683 from openfoodfoundation/dependabot/npm_and_yarn/babel/traverse-7.23.2
chore(deps): bump @babel/traverse from 7.21.5 to 7.23.2
2023-10-20 09:51:32 +11:00
David Cook
3805988c6e Merge pull request #11682 from filipefurtad0/assert_status_on_order_confirmation_screen
Adds coverage on order confirmation page
2023-10-20 09:49:10 +11:00
Maikel
5d2d925eb6 Merge pull request #11547 from filipefurtad0/legal_invoices_associations_comparator_spec
Adds coverage on order-associated attributes
2023-10-20 08:52:27 +11:00
filipefurtad0
8d6ed5ec23 Moves assertions within before do block
Doing so, assures the removal of the invoice is finished, before clicking the 'Next - Order summary' button
2023-10-19 17:38:27 +01:00
filipefurtad0
c05716cea9 Addresses review suggestions from @dacook
I've noticed that it was necessary to include a reference to the order like 'order.adjustments << create(:adjustment, order:)' for the tests to pass

Updates test case description
2023-10-19 15:49:28 +01:00
dependabot[bot]
91f94505c2 chore(deps): bump roadie-rails from 3.0.0 to 3.1.0
Bumps [roadie-rails](https://github.com/Mange/roadie-rails) from 3.0.0 to 3.1.0.
- [Changelog](https://github.com/Mange/roadie-rails/blob/master/Changelog.md)
- [Commits](https://github.com/Mange/roadie-rails/compare/v3.0.0...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 09:22:55 +00:00
dependabot[bot]
f35388ef3a chore(deps): bump @babel/traverse from 7.21.5 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.5 to 7.23.2.
- [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.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 02:28:53 +00:00
Çağrı Özkan
a6bcac8a7d Remove text-center from subscription table td's 2023-10-19 05:16:20 +03:00
filipefurtad0
27ecd4224e Sets tests as shared example (further DRYes spec) 2023-10-18 19:12:58 +01:00
filipefurtad0
461ef48c3a DRYes spec 2023-10-18 18:26:42 +01:00
filipefurtad0
80f0b30e5c Adds coverage on order confirmation page
Related to the changes from PRs #11668 and #11114.
2023-10-18 16:02:31 +01:00
Filipe
caa655f500 Merge pull request #11668 from drummer83/master
Don't show credit owed when = 0 in order confirmation
2023-10-18 12:16:54 +01:00
Konrad
448eb8b3b1 Merge branch 'openfoodfoundation:master' into master 2023-10-18 12:41:12 +02:00
filipefurtad0
2004abc8be Sets pending test - issue #11350
changing the payment_total should not generate a new invoice; rather, it should update the current invoice
2023-10-18 11:20:48 +01:00
filipefurtad0
530cdacc77 Restructures tests as shared examples
Merges test files
2023-10-18 11:20:06 +01:00
filipefurtad0
8a1a14112b Moves tests to shared examples file 2023-10-18 11:20:05 +01:00
filipefurtad0
8b249ee050 Adds unit tests for different attributes 2023-10-18 11:19:03 +01:00
Maikel
0477bef53a Merge pull request #11657 from mkllnk/report-job-retries
Notify user about errors raised in reports
2023-10-18 15:38:34 +11:00
Gaetan Craig-Riou
b09054a76a Update order state when moving back through checkout step
Some important logic happens after the order transition from one state
to another. In particular, voucher are recalculated. To fix any
inconsistency, we make sure the order is the state matching the checkout
step we are on.
2023-10-18 09:45:05 +11:00
Gaetan Craig-Riou
d0e38c8d10 Add order event back_to_payment and back_to_address
It gives the possibility to move an order back to payment state or
address state when going through the checkout steps
2023-10-18 09:36:37 +11:00
dependabot[bot]
83269af410 chore(deps): bump stripe from 9.4.0 to 10.0.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 9.4.0 to 10.0.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v9.4.0...v10.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 09:19:18 +00:00
Rachel Arnould
aecb55beb3 Merge pull request #11660 from dacook/products_v3_path
Hide old products screen when admin_style_v3 enabled
2023-10-17 10:45:01 +02:00
Gaetan Craig-Riou
d2952d46a6 Add the highlighted version of the "ship" icon 2023-10-17 13:35:01 +11:00
Gaetan Craig-Riou
7ce3fea7d5 Refactor tooltip on the backoffice orders page 2023-10-17 13:35:01 +11:00
Gaetan Craig-Riou
6a1664d2fd Refactor "What's this" tooltip 2023-10-17 13:33:15 +11:00
Gaetan Craig-Riou
01a13a814a Improve tooltip partial 2023-10-17 13:33:15 +11:00
Gaetan Craig-Riou
4639e53673 Remove insertToolTipMarkup
It's not great to have Stimulus controller rendering markup on `connect`
Stimulus is intended to add behavior to existing markup.
Plus add some documentation
2023-10-17 13:33:15 +11:00
Gaetan Craig-Riou
31c537c5e0 Revert to using morph instead of cable_ready
The issue is with with the stimilus tooltip controller, it add some
element to the DOM which create issue when it's modified by
StimulusReflex. See here for a more detailed explanation:
https://github.com/stimulusreflex/stimulus_reflex/issues/314#issuecomment-702479357
2023-10-17 13:33:15 +11:00
Jean-Baptiste Bellet
3525320590 We should use cable_ready.inner_html instead of morph
To be sure that every stimulus controllers attached to the DOM that is replaced is will connected.
What I saw is that when using `morph`, the stimulus controller (specially `tooltip_controller`) were not attached to the DOM (and not disconnected as well) that triggered some errors in the console.

Adds test case for payment capture thanks to @filipefurtad0
2023-10-17 13:33:15 +11:00
David Cook
ad9048c595 Merge pull request #11627 from dacook/reflex-locale
Ensure dynamic modals always use selected locale
2023-10-17 10:23:58 +11:00
Maikel Linke
c0938d1607 Simplify view with number helpers 2023-10-16 16:37:47 +11:00
Maikel Linke
fcb6e36480 Format money amounts according to locale
It used to be formatted according to the currency. So even if the
default currency is USD but your locale is French then you should see it
formatted as $10.000,00 instead of the US formatting of $10,000.00.
2023-10-16 11:19:11 +11:00
Maikel
c87a10a855 Merge pull request #11672 from openfoodfoundation/dependabot/bundler/bullet-7.1.2
chore(deps-dev): bump bullet from 7.1.1 to 7.1.2
2023-10-16 10:54:38 +11:00
Maikel
ba00106e38 Merge pull request #11671 from openfoodfoundation/dependabot/bundler/acts-as-taggable-on-10.0.0
chore(deps): bump acts-as-taggable-on from 9.0.1 to 10.0.0
2023-10-16 10:54:12 +11:00
dependabot[bot]
d76dbb3592 chore(deps-dev): bump bullet from 7.1.1 to 7.1.2
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.1 to 7.1.2.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.1...7.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 23:24:48 +00:00
dependabot[bot]
c4adcf93c0 chore(deps): bump acts-as-taggable-on from 9.0.1 to 10.0.0
Bumps [acts-as-taggable-on](https://github.com/mbleigh/acts-as-taggable-on) from 9.0.1 to 10.0.0.
- [Release notes](https://github.com/mbleigh/acts-as-taggable-on/releases)
- [Changelog](https://github.com/mbleigh/acts-as-taggable-on/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mbleigh/acts-as-taggable-on/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: acts-as-taggable-on
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 23:23:51 +00:00
Maikel
9c5b986ab6 Merge pull request #11664 from openfoodfoundation/dependabot/bundler/rubocop-1.57.1
chore(deps-dev): bump rubocop from 1.57.0 to 1.57.1
2023-10-16 10:05:14 +11:00
Maikel
08e799c5fa Merge pull request #11663 from dacook/tag_release
Update tag_release script
2023-10-16 10:02:41 +11:00
drummer83
c2b82651ee Don't show credit owed when = 0 2023-10-13 20:51:12 +02:00
Konrad
246fceb214 Merge pull request #11634 from lauriejefferson/11610-left-align-all-table-content
[BUU] Left-align headers of new orders table
2023-10-13 19:58:09 +02:00
David Cook
6e6854f564 Fix payment state indicator
Now the correct class is added, we can see the little coloured circles again.
2023-10-13 19:25:12 +02:00
lauriejefferson
e234b71b25 removed empty spaces 2023-10-13 19:25:12 +02:00
lauriejefferson
2020a9fa76 changed table row alignment to align-left and removed padding from table header 2023-10-13 19:25:12 +02:00
Konrad
5859d2ff78 Merge pull request #11114 from lauriejefferson/not-paid-order-confirmations-resemble-paid-orders-7603
Not paid order confirmations resemble paid orders 7603
2023-10-13 18:52:10 +02:00
Konrad
d7b234c062 Merge pull request #11593 from rioug/11363-vouchers-fix-tax-included-in-price-amount
[Vouchers] Fix tax included in price amount
2023-10-13 18:22:11 +02:00
David Cook
8f30b27b58 Guard against nil values
These are validated and shouldn't be nil, but I suspect we have corrupt data causing problems here.
2023-10-13 15:54:24 +02:00
David Cook
a0b64cb58a Remove unnecessary set_locale calls
The locale is now set in ApplicationReflex
2023-10-13 15:54:24 +02:00
David Cook
2915048afa Always set locale for reflexes
I considered using I18nHelper like we do in controllers, but that is for choosing a locale, which we don't need to do for reflexes.
2023-10-13 15:54:24 +02:00
dependabot[bot]
52498b6bf4 chore(deps-dev): bump rubocop from 1.57.0 to 1.57.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.0 to 1.57.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.57.0...v1.57.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-10-13 09:58:15 +00:00
David Cook
9276469c53 Update checklist 2023-10-13 11:56:21 +11:00
David Cook
4eb169ea0d Add a shortcut to draft new release
Next time, we can add a script to randomly choose a food-related release name ;)
2023-10-13 11:30:25 +11:00
David Cook
a13c95433e Merge pull request #11548 from macanudo527/add_foreign_key_script
Add Spec that Generates Migrations for Missing Foreign Keys
2023-10-13 11:20:47 +11:00
David Cook
0b2a0d9e58 Update all locales with the latest Transifex translations 2023-10-13 11:15:45 +11:00
David Cook
655c16cca0 New bulk products screen shares path with old
The feature toggle will determine which bulk products screen shows. An additional products_old path is also temporarily added for easy reference.

Later, when the old screen is full removed, we'll probably rename the _v3 classes to tidy up.
2023-10-13 10:39:45 +11:00
Maikel
45db61be53 Merge pull request #11655 from openfoodfoundation/dependabot/bundler/devise-4.9.3
chore(deps): bump devise from 4.9.2 to 4.9.3
2023-10-13 08:30:08 +11:00
Maikel
604cc10c3f Merge pull request #11654 from openfoodfoundation/dependabot/bundler/rubocop-1.57.0
chore(deps-dev): bump rubocop from 1.56.4 to 1.57.0
2023-10-13 08:29:29 +11:00
lauriejefferson
43232a5d63 removed not-paid styling for credit owed 2023-10-12 11:50:30 -04:00
Konrad
cc8898e074 Merge pull request #11219 from abdellani/fix-tax-rates-rendering-when-invoice-enabled
fix Viewing an invoice with the instance's invoice setting set to alternative model leads to an error 500
2023-10-12 17:47:27 +02:00
Konrad
26fa85d89b Merge pull request #11651 from HillaryOkello/master
Display ordered lists uniform with unordered lists in Trix editor
2023-10-12 17:00:43 +02:00
Konrad
f87186373c Merge pull request #11647 from dacook/image-validation
Only validate image when changed
2023-10-12 15:42:22 +02:00
Maikel Linke
702f3b7784 Notify user about errors raised in reports 2023-10-12 16:31:13 +11:00
Maikel Linke
f61a2fa2bf Rescue errors in report generation
So we can report them to Bugsnag and the job isn't marked as failed and
therefore won't repeat.
2023-10-12 16:01:52 +11:00
Maikel Linke
477ca39e58 Update spec 2023-10-12 15:40:06 +11:00
Maikel Linke
f4fde0a42c Trying to clarify voucher tax amount
The whole concept is confusing. Maybe translators will find better
versions.
2023-10-12 15:20:17 +11:00
Maikel Linke
f83e78a5b8 Clarify adjustment data only for display
We are not creating a new adjustment here.
2023-10-12 15:16:38 +11:00
Maikel Linke
74c8f06e80 Simplify helper with extracted method 2023-10-12 14:17:41 +11:00
Maikel Linke
45dd5cc40a Style/SingleLineDoEndBlock: Prefer multiline do...end block 2023-10-12 10:10:42 +11:00
dependabot[bot]
4b38817aff chore(deps-dev): bump rubocop from 1.56.4 to 1.57.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.4 to 1.57.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.56.4...v1.57.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-10-11 22:55:03 +00:00
Maikel
17c1ccc509 Merge pull request #11653 from openfoodfoundation/dependabot/bundler/paranoia-2.6.3
chore(deps): bump paranoia from 2.6.2 to 2.6.3
2023-10-12 09:52:39 +11:00
Maikel
e3e7031a91 Merge pull request #11649 from openfoodfoundation/dependabot/bundler/rswag-specs-2.11.0
chore(deps-dev): bump rswag-specs from 2.10.1 to 2.11.0
2023-10-12 09:51:41 +11:00
Maikel
5526006add Merge pull request #11652 from openfoodfoundation/dependabot/bundler/responders-3.1.1
chore(deps): bump responders from 3.1.0 to 3.1.1
2023-10-12 09:27:56 +11:00
dependabot[bot]
1efff07953 chore(deps): bump devise from 4.9.2 to 4.9.3
Bumps [devise](https://github.com/heartcombo/devise) from 4.9.2 to 4.9.3.
- [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.2...v4.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 22:18:53 +00:00
dependabot[bot]
a8b4e9b070 chore(deps-dev): bump rswag-specs from 2.10.1 to 2.11.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.10.1 to 2.11.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.10.1...2.11.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-10-11 22:12:51 +00:00
Maikel
903bf8a725 Merge pull request #11650 from openfoodfoundation/dependabot/bundler/rswag-api-2.11.0
chore(deps): bump rswag-api from 2.10.1 to 2.11.0
2023-10-12 09:11:17 +11:00
dependabot[bot]
b8b6641a05 chore(deps): bump paranoia from 2.6.2 to 2.6.3
Bumps [paranoia](https://github.com/rubysherpas/paranoia) from 2.6.2 to 2.6.3.
- [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.2...v2.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 22:07:31 +00:00
dependabot[bot]
0d3a1417d6 chore(deps): bump responders from 3.1.0 to 3.1.1
Bumps [responders](https://github.com/heartcombo/responders) from 3.1.0 to 3.1.1.
- [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.1.0...v3.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 22:06:10 +00:00
Maikel
c047a2c70c Merge pull request #11648 from openfoodfoundation/dependabot/bundler/rswag-ui-2.11.0
chore(deps): bump rswag-ui from 2.10.1 to 2.11.0
2023-10-12 09:03:14 +11:00
Konrad
047360e839 Merge pull request #11646 from dacook/buu-products-menu
Show only the new products page in the menu
2023-10-11 21:31:38 +02:00
HillaryOkello
d8e5f7ae4c Remove padding-top for the ordered lists 2023-10-11 15:55:52 +03:00
Mohamed ABDELLANI
1c2aa1c370 fix linter issue 2023-10-11 11:00:37 +01:00
Mohamed ABDELLANI
c750602b52 remove duplicated code 2023-10-11 10:38:45 +01:00
dependabot[bot]
54d3b39b2e chore(deps): bump rswag-api from 2.10.1 to 2.11.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.10.1 to 2.11.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.10.1...2.11.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-10-11 09:27:01 +00:00
dependabot[bot]
61bfde4e80 chore(deps): bump rswag-ui from 2.10.1 to 2.11.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.10.1 to 2.11.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.10.1...2.11.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-10-11 09:24:44 +00:00
Mohamed ABDELLANI
7cb200e21e fix linting errors 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
4a74396bcc add 'app/models/invoice/data_presenter.rb' to Metrics/ClassLength:Exclude 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
9950dd90f7 fix display_checkout_taxes_hash 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
7eabb9a170 move include ::ActionView::Helpers::NumberHelper to Invoice::DataPresenter::Base 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
aa4798d35c add adjustables to the list of objects to serialize when creating an invoice 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
fc519da83b update the invoice system tests to run with invoice feature (enabled/disabled) 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
d40338bed5 add adjustment originators to the order serialization
for some helpers like display_checkout_taxes_hash, it's needed to access the tax rates through the adjument's originator.
The adjustment's originator will store the minimal details: id, type and amount
2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
a2b06fa200 fix cloning all_eligible_adjustments array on DataPresenter#checkout_adjustments 2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
b027387bee add :originator_type to Invoice::AdjustmentSerializer 2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
68a6fb132a implement display_adjustment_tax_rates helper on the adjustment presenter
For every adjustment a list of tax rates will be created using TaxRateFinder.tax_rates_of.
This will prevent running the queries to find the tax rates during the invoice generation.
2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
33826631a3 reimplement the display_line_item_tax_rates helper on the line item presenter
1. reimplment the helper on the LintItem presenter
2. add the tax rate associated to the line items to the list of objects to serialize during the order serialization.
3. implement a presenter for the introducer tax rates.
2023-10-11 09:26:49 +01:00
Maikel
7fe7176e5d Merge pull request #11641 from dacook/release-template
Update feature toggle title
2023-10-11 16:56:56 +11:00
David Cook
472cd9b55c Merge pull request #11639 from openfoodfoundation/dependabot/bundler/bullet-7.1.1
chore(deps-dev): bump bullet from 7.1.0 to 7.1.1
2023-10-11 14:14:27 +11:00
David Cook
32b2e572b3 Merge pull request #11643 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.6
chore(deps): bump sidekiq from 7.1.5 to 7.1.6
2023-10-11 14:01:13 +11:00
dependabot[bot]
ca2d175650 chore(deps-dev): bump bullet from 7.1.0 to 7.1.1
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.0 to 7.1.1.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.0...7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 02:52:50 +00:00
David Cook
64ba01a55c Merge pull request #11637 from mkllnk/spec-report-order
Test customer report filtering without sorting
2023-10-11 13:49:25 +11:00
David Cook
69b2386c52 Merge pull request #11631 from openfoodfoundation/dependabot/bundler/awesome_nested_set-3.6.0
chore(deps): bump awesome_nested_set from 3.5.0 to 3.6.0
2023-10-11 13:47:55 +11:00
David Cook
fd6bd72e7a Merge pull request #11630 from openfoodfoundation/dependabot/bundler/stripe-9.4.0
chore(deps): bump stripe from 9.3.0 to 9.4.0
2023-10-11 13:46:49 +11:00
David Cook
b42cf9735f Only validate an image if it has been changed
Best viewed with whitespace ignored.
2023-10-11 10:12:52 +11:00
David Cook
31b5be73f9 Add spec 2023-10-11 10:12:52 +11:00
lauriejefferson
e056ba42db added 'credit owed' label and removed red styling when balance <= 0 2023-10-10 17:14:16 -04:00
David Cook
99205e435c Show only the new products page in the menu
When the feature toggle is enabled, we don't want to see the old products page. It's a bit broken and causes confusion. But we still want to be able to access it by the URL for now.
2023-10-10 22:09:26 +11:00
Konrad
0bd4fe315c Merge pull request #11620 from openfoodfoundation/dependabot/bundler/devise-i18n-1.12.0
chore(deps): bump devise-i18n from 1.11.0 to 1.12.0
2023-10-10 12:36:42 +02:00
dependabot[bot]
f57d139909 chore(deps): bump sidekiq from 7.1.5 to 7.1.6
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.5 to 7.1.6.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.5...v7.1.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-10-10 10:05:08 +00:00
David Cook
3d821722e1 Update feature toggle title
[skip ci] because this isn't covered (and doesn't need to be).
2023-10-10 16:30:49 +11:00
Maikel Linke
228f69f13e Test customer report filtering without sorting
The report doesn't seem to sort. So the specs don't expect that either
now. These specs were flaky before, depending on the random order in the
database query result.
2023-10-09 12:05:24 +11:00
Maikel
90c25d604b Merge pull request #11441 from macanudo527/fix_rails_HasManyOrHasOneDependent
Fix Rails/HasManyOrHasOneDependent
2023-10-09 11:44:23 +11:00
Maikel
b8f15ca52f Merge pull request #11632 from openfoodfoundation/dependabot/bundler/bullet-7.1.0
chore(deps-dev): bump bullet from 7.0.7 to 7.1.0
2023-10-09 10:56:00 +11:00
Konrad
6cfc20fcaa Merge pull request #11345 from abdellani/support-enabling-invoices-to-individual-users
Support enabling invoices to individual users
2023-10-08 22:22:33 +02:00
David Cook
1c0ebfe61e Add comment 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
95e7900585 test print invoice button under ACTIONS 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
13b366e7ff list send invoice and print invoice under actions even when the invoice feature is enabled 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
a9719a798f fix order mailer tests 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
f047deaf12 load the latest invoice when user tries to print an order 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
3f4eab2a0a update the invoice renderer to check if the feature is enable for individual user 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
dce096a56e check if invoices feature is enabled for the current user before showing invoices tab 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
614c8a5060 update order mailer to check if invoices feature is enabled for the current user 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
adecf64cf3 update bulk invoice job to check if the invoices feature is enabled for the current user 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
bd2a1b3e22 check if invoices feature is enabled for the current user before printing a single invoice 2023-10-08 21:47:17 +02:00
Konrad
944925eb06 Merge pull request #11603 from murjax/prevent-customer-edit-shipped-9235
Prevent customers from editing shipped orders
2023-10-08 21:42:18 +02:00
Konrad
0a36f7983f Merge pull request #11623 from ccozkan/issue-11607-timeshift-in-customers-report
Fix occurring time shift in customers report results
2023-10-08 19:02:02 +02:00
Çağrı Özkan
877ea12645 Call in_time_zone on boundary parameters 2023-10-08 17:44:24 +02:00
Konrad
eb9c8bd678 Merge pull request #11618 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.7
chore(deps): bump trix from 2.0.6 to 2.0.7
2023-10-08 17:34:41 +02:00
Konrad
ef855e8887 Merge pull request #11619 from ccozkan/issue-11611
Add ability to customers report to filter with open ended boundaries
2023-10-08 16:28:52 +02:00
dependabot[bot]
ebfacea17b chore(deps): bump stripe from 9.3.0 to 9.4.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 9.3.0 to 9.4.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/v9.3.0...v9.4.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-10-06 12:25:38 +00:00
Rachel Arnould
abfd316b3d Merge pull request #11565 from dacook/buu-editing-part4-11059
[BUU] Inline error messages and validation
2023-10-06 14:23:58 +02:00
David Cook
117085aeba Transform weight before validation
I guess validates_length_from_database also validates numbers. That's not a bad thing.
So now it's being validated, we should validate the transformed value that will be saved to the database.
2023-10-06 14:15:07 +02:00
David Cook
9a9be8dacd Validate length of variant fields 2023-10-06 14:15:07 +02:00
David Cook
875d083a1d There's a gem for that [add gem] 2023-10-06 14:15:07 +02:00
David Cook
3ec6386e1c Validate length of some product fields
We know if the values are too long, so let's provide a useful message rather than generating an unhandled database error.
This code seems rather repetetive, it would be good to use a shared module. I wonder if there's a gem for that.

Note that the existing /products/*/edit screen doesn't even handle validation errors yet, but that's something for another day..
2023-10-06 14:15:07 +02:00
David Cook
fee126d6e1 Style form error messages
With an icon, and sentence case (upcase_first is similar to humanize, but simpler (https://dev.to/junko911/rails-helper-methods-to-change-the-form-of-strings-1h9c#upcase-first))
2023-10-06 14:15:07 +02:00
David Cook
3b19a19776 Show inline errors for product fields
The form helper () doesn't work for this case, but it seems we can call it directly like this instead. I'd like to fix the helper, but got stuck this time.
2023-10-06 14:15:07 +02:00
David Cook
5e478b8a76 Vertically align non-input content in table rows 2023-10-06 14:15:07 +02:00
David Cook
836f5a1fb3 Remove unused withError class
It added specificity but had no use.
I reviewed a couple of screens to make sure:
  - /admin/orders/Rx/customer
  - /admin/properties/new

I have to confess I don't know how Spree::Admin::BaseHelper is included, or where it's used.

Best viewed with whitespace ignored.
2023-10-06 14:15:07 +02:00
dependabot[bot]
734e80880b chore(deps-dev): bump bullet from 7.0.7 to 7.1.0
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.7 to 7.1.0.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.0.7...7.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 09:23:35 +00:00
dependabot[bot]
0adf44e525 chore(deps): bump awesome_nested_set from 3.5.0 to 3.6.0
Bumps [awesome_nested_set](https://github.com/collectiveidea/awesome_nested_set) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/collectiveidea/awesome_nested_set/releases)
- [Changelog](https://github.com/collectiveidea/awesome_nested_set/blob/master/CHANGELOG)
- [Commits](https://github.com/collectiveidea/awesome_nested_set/compare/v3.5.0...v3.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 09:16:36 +00:00
David Cook
9e04dc36d1 Merge pull request #11629 from mkllnk/tag-release
Add script to create patch release tags
2023-10-06 15:16:45 +11:00
Maikel Linke
74a8b1e721 Add script to create patch release tags 2023-10-06 13:58:37 +11:00
Neal Chambers
085d0f27f7 Move Timestamp Generation into its own Method 2023-10-06 11:19:31 +09:00
Neal Chambers
aaa42ce410 Add Filtering for Optional Relationships 2023-10-06 11:06:54 +09:00
Neal Chambers
3c51b48225 Fix Formatting and Bugs 2023-10-06 11:06:54 +09:00
Neal Chambers
6d22ec5605 Improve Migration Timestamping 2023-10-06 11:06:54 +09:00
Neal Chambers
2b4bf185d6 Replace Duplicate Model Detection with Column Specific Foreign Key Check 2023-10-06 11:06:54 +09:00
Neal Chambers
f02da9f59e Update schema.rb with new Foreign Keys 2023-10-06 11:06:54 +09:00
Neal Chambers
f1c61fa3aa Add Option to Write Migrations to Disk 2023-10-06 11:06:54 +09:00
Neal Chambers
fd8e94cb50 Update Migrations to Include Commented-Out Orphaned Record Query 2023-10-06 11:06:54 +09:00
Neal Chambers
2d6784b88d Allow Full Modulized Class Name to be Used for TODOs 2023-10-06 11:06:54 +09:00
Neal Chambers
d4c363ac39 Reduce Cyclomatic Complexity 2023-10-06 11:06:54 +09:00
Neal Chambers
099b2f455f Remove Unified Orphaned Records SQLs 2023-10-06 11:06:54 +09:00
Neal Chambers
9df42f596c Add SQL to Migration Files 2023-10-06 11:06:54 +09:00
Neal Chambers
7ec1f69e2a Create Foreign Key TODO 2023-10-06 11:06:54 +09:00
Neal Chambers
800d50d732 Add Foreign Key Column to Migrations 2023-10-06 11:06:54 +09:00
Neal Chambers
816ffe6e32 Convert rake task to spec 2023-10-06 11:06:54 +09:00
Neal Chambers
6729218846 Improve SQL query to Allow for Optional Relationships 2023-10-06 11:06:54 +09:00
Neal Chambers
72e75c0e2d Remove Delete on Cascade from Migrations 2023-10-06 11:06:54 +09:00
Neal Chambers
3590da6106 Remove Old Migrations 2023-10-06 11:06:54 +09:00
Neal Chambers
bf2c6128a7 Add Foreign Key Column 2023-10-06 11:06:54 +09:00
Neal Chambers
78cb4c6adc Add migrations to add foreign keys to database 2023-10-06 11:06:54 +09:00
Neal Chambers
5b87890141 Add SQL script to check for Orphaned Records 2023-10-06 11:06:54 +09:00
Neal Chambers
cb864411ee Add Rake Task that Generates Migrations for Missing Foreign Keys 2023-10-06 11:06:50 +09:00
David Cook
cd34e160bf Fix deleting of return_authorizations
return_authorizations have a stock_location_id, not the other way round. So there's no dependent field to nullify.
2023-10-06 10:58:49 +09:00
Neal Chambers
fec59e5ae2 Apply Changes Suggested by Code Review 2023-10-06 10:58:49 +09:00
Neal Chambers
cf07a055d0 Fix Rails/HasManyOrHasOneDependent with nil 2023-10-06 10:58:49 +09:00
Neal Chambers
e49489cd1c Fix invoices dependent relationship 2023-10-06 10:58:49 +09:00
Neal Chambers
d295a3bdae Update .rubocop_todo.yml for Reversions 2023-10-06 10:58:49 +09:00
Neal Chambers
2520d222bb Fix Rails/HasManyOrHasDependent with restrict_with_exception 2023-10-06 10:58:49 +09:00
Neal Chambers
180cd4abe6 Revert Complicated Rails/HasManyOrHasOneDependent Errors 2023-10-06 10:58:49 +09:00
Neal Chambers
e22e08e666 Change destroy to nullify 2023-10-06 10:58:49 +09:00
Neal Chambers
7c9bc58a4b Add nullify to orders relationship, instead of manually nullifying 2023-10-06 10:58:49 +09:00
Neal Chambers
921347f0f2 Update .rubocop_todo.yml 2023-10-06 10:58:49 +09:00
Neal Chambers
7f8ac94933 Fix Rails/HasManyOrHasOneDependent with nil 2023-10-06 10:58:49 +09:00
Neal Chambers
019b54ea95 Fix Rails/HasManyOrHasOneDependent with delete_all 2023-10-06 10:58:49 +09:00
Neal Chambers
070d2cb855 Fix stock_movements relation in variant 2023-10-06 10:58:49 +09:00
Neal Chambers
825342914d Fix Rails/HasManyOrHasOneDependent with nullify 2023-10-06 10:58:49 +09:00
Neal Chambers
b76fb10d46 Fix Rails/HasManyOrHasOneDependent with Destroy 2023-10-06 10:58:49 +09:00
Neal Chambers
53f5d63e4a Delete Rails/HasManyOrHasOneDependent TODOs 2023-10-06 10:58:49 +09:00
Maikel Linke
ff60dacebd Update all locales with the latest Transifex translations 2023-10-06 11:23:43 +11:00
David Cook
3f27fb69b3 Merge pull request #11625 from aisayo/patch-1
Update README.md
2023-10-05 09:52:03 +11:00
David Cook
ee13d1072c Merge pull request #11624 from filipefurtad0/make_seed_data_enteprise_visible
[dev ENV only] Adds attribute to enterprise factory
2023-10-05 09:10:23 +11:00
aisayo
97f315b363 Update README.md
Outdated instructions
2023-10-04 15:34:37 -04:00
filipefurtad0
0e699e9cee Adds attribute to enterprise factory
so that sample data rake task creates visible enterprises by default
2023-10-04 18:00:36 +01:00
lauriejefferson
0cda8d7d4c removed paid styling and added currency formatter to payment_total 2023-10-04 09:30:05 -04:00
Sigmund Petersen
4e8cd330b3 Merge pull request #11571 from dacook/buu-editing-fixups
[BUU] editing fixups
2023-10-04 13:48:31 +02:00
David Cook
6f43165006 Show generic error message when StimulusReflex fails
I decided not to invest the time to figure out how to test this..

The messages should have the same effect as the 500 error, but not technically a 500 because it's not handling a HTTP response. The documentation seems to state this covers server-side errors only (not network errors for example). I couldn't find any way to handle network errors with action cable.
2023-10-04 13:40:36 +02:00
David Cook
6d35b1ac71 Fix bulk form input styles
'header' fields are meant to be bold, and the field backgrounds are meant to match the cell background colour.
2023-10-04 13:40:36 +02:00
David Cook
cd63ab63d8 Refactor form code
Co-authored-by: Maikel <maikel@email.org.au>
2023-10-04 13:40:36 +02:00
David Cook
ed207e3df6 DRY up code 2023-10-04 13:40:36 +02:00
David Cook
4467758a9f Apply code suggestion
Co-authored-by: Jean-Baptiste Bellet <jb.bellet@gmail.com>
2023-10-04 13:40:36 +02:00
David Cook
136b370de1 Merge pull request #11621 from openfoodfoundation/dependabot/bundler/valid_email2-5.1.0
chore(deps): bump valid_email2 from 5.0.5 to 5.1.0
2023-10-04 15:33:26 +11:00
David Cook
7ffe318352 Merge pull request #11616 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.5
chore(deps): bump sidekiq from 7.1.4 to 7.1.5
2023-10-04 15:21:03 +11:00
dependabot[bot]
2b2bb6d46b chore(deps): bump valid_email2 from 5.0.5 to 5.1.0
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.0.5 to 5.1.0.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.0.5...v5.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 03:50:57 +00:00
dependabot[bot]
34829ea53e chore(deps): bump devise-i18n from 1.11.0 to 1.12.0
Bumps [devise-i18n](https://github.com/tigrish/devise-i18n) from 1.11.0 to 1.12.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.11.0...v1.12.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-10-04 03:49:24 +00:00
David Cook
057a9f73ed Merge pull request #11605 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.21.2
chore(deps-dev): bump rubocop-rails from 2.21.1 to 2.21.2
2023-10-04 14:49:03 +11:00
Maikel
05b30a72e5 Merge pull request #11604 from openfoodfoundation/dependabot/bundler/valid_email2-5.0.5
chore(deps): bump valid_email2 from 5.0.3 to 5.0.5
2023-10-04 14:45:45 +11:00
Maikel
2ac2b30b14 Merge pull request #11588 from filipefurtad0/split_subscription_spec
Splits bottleneck system/admin/subscriptions_spec.rb
2023-10-04 13:33:20 +11:00
Çağrı Özkan
f93fcd347b Rubocop fix 2023-10-04 02:00:21 +03:00
Çağrı Özkan
a5a13761a8 Filter with open ended boundaries upon missing params 2023-10-04 01:05:41 +03:00
Ryan Murphy
4db6570039 9235: Prevent customers from editing shipped orders 2023-10-03 08:36:57 -04:00
dependabot[bot]
f4fce6e69c chore(deps): bump trix from 2.0.6 to 2.0.7
Bumps [trix](https://github.com/basecamp/trix) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.6...v2.0.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 09:52:21 +00:00
filipefurtad0
14caf3b25c Moves helper into support folder
Wraps SubscripionHelper module around definitions
2023-10-03 09:49:26 +01:00
filipefurtad0
181ddcefbc Updates rubocop_todo file
Removes local untracked files
2023-10-03 09:49:26 +01:00
filipefurtad0
bc73d09438 Declares enable_subscriptions separately 2023-10-03 09:49:26 +01:00
filipefurtad0
96432ebec2 Splits files into new folder
Creates helper file for existing methods
2023-10-03 09:49:26 +01:00
filipefurtad0
8bc2feda23 Asserts for subscription instructions and tab 2023-10-03 09:49:26 +01:00
filipefurtad0
b554308f10 Sets correct context 2023-10-03 09:49:26 +01:00
dependabot[bot]
db3cdd95a3 chore(deps): bump sidekiq from 7.1.4 to 7.1.5
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.4 to 7.1.5.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.4...v7.1.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-10-03 05:28:17 +00:00
David Cook
2558855ad5 Merge pull request #11595 from openfoodfoundation/dependabot/bundler/rubocop-1.56.4
chore(deps-dev): bump rubocop from 1.56.3 to 1.56.4
2023-10-03 16:26:21 +11:00
dependabot[bot]
372defe20f chore(deps-dev): bump rubocop-rails from 2.21.1 to 2.21.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.21.1 to 2.21.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.21.1...v2.21.2)

---
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-10-02 09:18:16 +00:00
dependabot[bot]
0cd87a7bbf chore(deps): bump valid_email2 from 5.0.3 to 5.0.5
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.0.3 to 5.0.5.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.0.3...v5.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-10-02 09:06:58 +00:00
Maikel
b122c93055 Merge pull request #11586 from macanudo527/fix_stylehash_11
Fix Style/HashSyntax 12/13
2023-10-02 16:25:21 +11:00
Maikel Linke
fec6caf576 Remove unnecessary Rubocop disable 2023-10-02 16:18:51 +11:00
Gaetan Craig-Riou
7f2c1feaf8 Fix rubocop warning 2023-10-02 15:58:13 +11:00
Gaetan Craig-Riou
1a66f3d94f Fix system spec to take into account discounted tax 2023-10-02 15:58:13 +11:00
Gaetan Craig-Riou
8d639c14cb Add a fake adjustment voucher tax on admin order page
When tax are included in price, voucher tax is stored in the voucher
adjustment and not as its own adjustment. So we add a "fake adjustment"
for display purposes.
2023-10-02 15:58:12 +11:00
Gaetan Craig-Riou
8254bd9625 Take into account voucher tax part when displaying tax included in price 2023-10-02 15:58:12 +11:00
Maikel
350ca3b778 Merge pull request #11479 from filipefurtad0/split_split_checkout
Splits checkout files
2023-10-02 12:01:20 +11:00
Konrad
8150a8b04a Merge pull request #11579 from macanudo527/remove_delegate_belongs_to
Remove Deprecated delegate_belongs_to
2023-10-01 13:19:22 +02:00
Konrad
11ea4d93a9 Merge pull request #11584 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.6
chore(deps): bump trix from 2.0.5 to 2.0.6
2023-10-01 12:49:32 +02:00
Konrad
33d9ed4000 Merge pull request #11591 from dacook/admin-users-api-key-9833
Redirect to admin users edit path on success
2023-10-01 12:20:46 +02:00
Konrad
06ebeeac0f Merge pull request #11543 from rioug/11364-Voucher-fix-tax-report
[Vouchers] Fix Sales Tax Totals By Order report
2023-10-01 02:09:33 +02:00
dependabot[bot]
89414ba821 chore(deps-dev): bump rubocop from 1.56.3 to 1.56.4
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.3 to 1.56.4.
- [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.56.3...v1.56.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-29 09:53:53 +00:00
lauriejefferson
7320bb5af1 removed styling for paid orders and removed row for non oustanding balance 2023-09-28 20:02:58 -04:00
Neal Chambers
f3382d78c4 Update .rubocop_todo.yml 2023-09-29 08:51:48 +09:00
Neal Chambers
57d2f04330 Fix Style/HashSyntax 2023-09-29 08:51:48 +09:00
Gaetan Craig-Riou
dd0279c983 Update all locales with the latest Transifex translations 2023-09-28 11:52:49 +02:00
David Cook
e844d71abc Redirect to edit path on success
Simply rendering the edit form on the posted path is problematic. For example if you refresh the path you get a 404.
But if there's errors, we want to render the form with unsaved values so you can see the errors and try again.
2023-09-28 09:41:44 +10:00
Maikel
c1587b689a Merge pull request #11589 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.136.0
chore(deps): bump aws-sdk-s3 from 1.135.0 to 1.136.0
2023-09-28 09:20:36 +10:00
Maikel Linke
3fc78e1f7f Update Rubocop todo file 2023-09-28 08:26:35 +10:00
filipefurtad0
a634283ec5 Removes unecessary shipping method setup - guest 2023-09-27 22:20:31 +01:00
filipefurtad0
adede9df03 Removes unecessary shipping method setup - details 2023-09-27 22:19:37 +01:00
filipefurtad0
6763095f26 Removes unecessary shipping method setup - payment 2023-09-27 22:19:37 +01:00
filipefurtad0
3702a2e7b1 Removes unecessary shipping method setup - summary 2023-09-27 22:19:31 +01:00
filipefurtad0
25c58426db Moves split-checkout files to own folder
Removes split_ prefix
2023-09-27 21:45:03 +01:00
dependabot[bot]
4d7f21eec4 chore(deps): bump aws-sdk-s3 from 1.135.0 to 1.136.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.135.0 to 1.136.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-09-27 09:05:00 +00:00
Gaetan Craig-Riou
33f3c660a4 Fix rubocop warning 2023-09-26 11:21:05 +02:00
filipefurtad0
a4abedf3e3 Fixes rubocop issues 2023-09-26 10:18:28 +01:00
filipefurtad0
d3f9f989f6 Moves summary-step scenarios into dedicated file 2023-09-26 10:18:28 +01:00
filipefurtad0
67793c78ad Moves payment-step scenarios into dedicated file 2023-09-26 10:18:28 +01:00
filipefurtad0
a0611057f0 Moves details-step/not selecting shipping method scenarios into dedicated file 2023-09-26 10:18:28 +01:00
filipefurtad0
b8f7d6102e Moves guest/out of stock scenarios into dedicated file 2023-09-26 10:18:28 +01:00
Gaetan Craig-Riou
b129b9f1d0 DRY up specs 2023-09-26 10:50:58 +02:00
Gaetan Craig-Riou
e9051f5c58 As per review comment, clarify specs
And some DRYing
2023-09-26 10:26:06 +02:00
David Cook
91b251acd4 Refactor 2023-09-26 10:56:44 +10:00
Neal Chambers
50eb8f31f2 Remove Deprecated delegate_belongs_to 2023-09-26 09:50:08 +09:00
David Cook
4e05047cc6 Merge pull request #11583 from macanudo527/fix_stylehash_10
Fix Style/HashSyntax 11/13
2023-09-26 10:38:54 +10:00
dependabot[bot]
8797132117 chore(deps): bump trix from 2.0.5 to 2.0.6
Bumps [trix](https://github.com/basecamp/trix) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.5...v2.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 09:14:02 +00:00
Gaetan Craig-Riou
02aaf6f692 Remove voucher validation on code format
The code doesn't rely on label match any more so this restriction
is not necessary anymore
2023-09-25 09:49:55 +02:00
Gaetan Craig-Riou
097b775fa0 Add metadata before saving adjustment
Rails may put it all in one transaction

Co-authored-by: Maikel <maikel@email.org.au>
2023-09-25 17:44:16 +10:00
Neal Chambers
48132b055f Update .rubocop_todo.yml 2023-09-25 13:15:54 +09:00
Neal Chambers
70e218d2e9 Fix Style/HashSyntax 2023-09-25 13:15:38 +09:00
Maikel
51f125e301 Merge pull request #11582 from macanudo527/fix_stylehash_9
Fix Style/HashSyntax 10/13
2023-09-25 13:43:38 +10:00
Neal Chambers
232ffb1eb8 Update .rubocop_todo.yml 2023-09-24 22:41:48 +09:00
Neal Chambers
35e8f88943 Fix Style/HashSyntax 2023-09-24 22:41:27 +09:00
Rachel Arnould
aa489d4cd6 Merge pull request #11185 from jibees/11155-improve-customer-addresses-report
Admin, reports: improve customer addresses report
2023-09-22 18:06:47 +02:00
Jean-Baptiste Bellet
2803f1c6b2 Group all orders by customer_id, email and distributor_id
Therefore have one (and only) row per customer

Co-Authored-By: Maikel <maikel@email.org.au>
2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
9ce89125a4 Fix linter error: line is too long 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
d6c10170da Use plain text instead of computed date in specs
https://github.com/openfoodfoundation/openfoodnetwork/wiki/Code-Conventions#prefer-plain-text-over-method-calls-in-expected-values
2023-09-22 16:44:33 +01:00
jibees
5eab033a80 Improve indentation
Co-Authored-By: Maikel <maikel@email.org.au>
2023-09-22 16:44:33 +01:00
Maikel Linke
adc5bf6e93 Simplify date filter in customers report 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
82ccdcca70 Customers report has only one report: Customers
No more `addresses` report

+ Fix pre-existing rubocop issues

+ Create method to simplify and remove CyclomaticComplexity error
2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
5edc8d8ce1 Delete Mailing List report 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
c6c9cdca65 Add last completed order date 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
d2fbaa7cfd Add total amount spent at the shop for the customer 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
d55098f94f Add the number of orders for the customer 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
1378202732 Disable rubocop warning. Not sure how to handle it actually 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
cc26da6560 We'll need to get all the orders per line to count and sum them; prepare it 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
c134de850c Add filter on completed_at of an order 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
4f332504af Add new line at the end of file 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
9e295146cb Remove supplier filter 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
baff4b5399 Rename 'distributor' to 'hub' 2023-09-22 16:44:33 +01:00
Gaetan Craig-Riou
19fc1fab8c As per review, visit page directly to save time
We still visit the page as user would do once to make sure it is
working.
2023-09-22 11:35:56 +02:00
filipefurtad0
b913e5c851 Update all locales with the latest Transifex translations 2023-09-22 10:29:52 +01:00
Gaetan Craig-Riou
03ce39d5c5 Add metadata to tax related voucher adjustment
In the scenario where you have tax excluded from price, when adding
a voucher to an order, we create 2 voucher adjusments. One of them
represent the tax part of the voucher, and has a label starting with
"Tax". To better differentiate them and allow a reliable way to
query it, we add a metadata entry.
2023-09-22 11:16:21 +02:00
Rachel Arnould
a3ca7e9032 Merge pull request #11568 from jibees/11069-buu-fully-update-the-details-of-my-products-and-variants-1
🚧 [BUU] Add `Edit` link into a small menu on the last Actions column to the right of the table
2023-09-22 10:30:01 +02:00
Gaetan Craig-Riou
0a68300e40 Remove Voucher scenario
It is now covered by unit test
2023-09-22 10:22:47 +02:00
Gaetan Craig-Riou
25adaaa6ea Simplify test set up 2023-09-22 10:17:50 +02:00
Gaetan Craig-Riou
f54846829d Add test for #voucher_tax_adjustment
And mock calls to VoucherAdjustmentsService
2023-09-22 10:17:50 +02:00
Gaetan Craig-Riou
9e49da8fae Add unit test for Reporting::Reports::SalesTax::SalesTaxTotalsByOrder
And a small refactoring.
Currently it only covers tax excluded from price
2023-09-22 10:17:50 +02:00
Gaetan Craig-Riou
3197480121 Prevent voucher from starting with "Tax"
Plus spec
2023-09-22 10:17:50 +02:00
Gaetan Craig-Riou
bec5ad55dd Use VoucherAdjustmentsService to retrieve tax part of the voucher 2023-09-22 10:17:50 +02:00
Gaetan Craig-Riou
7c34145ed7 Add voucher_included_tax and voucher_excluded_tax
It retrieves the tax part of the voucher adjustment for tax included
in price and tax excluded from price respectively.
2023-09-22 10:17:40 +02:00
Gaetan Craig-Riou
b620e413f4 Merge pull request #11378 from mkllnk/dfc-ofn-product-group-id
[DFC API] Add custom OFN product id to DFC SuppliedProduct
2023-09-22 17:57:11 +10:00
Jean-Baptiste Bellet
b9cd8ee462 Factorize elements into beforeEach block 2023-09-22 09:34:36 +02:00
Jean-Baptiste Bellet
458a031558 Create a private function for event listener 2023-09-22 09:30:40 +02:00
Maikel Linke
847ddab4e6 Improve readability of assignment without blank lines 2023-09-22 17:18:49 +10:00
Maikel
886988e24a Merge pull request #11578 from macanudo527/fix_stylehash_8
Fix Style/HashSyntax 9/13
2023-09-22 15:09:46 +10:00
Neal Chambers
4a3a246e7a Update .rubocop_todo.yml 2023-09-22 09:08:50 +09:00
Neal Chambers
fe88a88206 Fix Style/HashSyntax 2023-09-22 09:08:50 +09:00
Maikel
3ed92312dd Merge pull request #11576 from openfoodfoundation/dependabot/bundler/puma-6.4.0
chore(deps): bump puma from 6.3.1 to 6.4.0
2023-09-22 09:57:07 +10:00
Maikel
998370163c Merge pull request #11575 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.135.0
chore(deps): bump aws-sdk-s3 from 1.134.0 to 1.135.0
2023-09-22 09:55:32 +10:00
Maikel
a2f9289031 Merge pull request #11570 from macanudo527/fix_stylehash_7
Fix Style/HashSyntax 8/13
2023-09-22 09:54:46 +10:00
Neal Chambers
22e3542de3 Update .rubocop_todo.yml 2023-09-21 22:58:42 +09:00
Neal Chambers
7ecd4a149b Fix Style/HashSyntax 2023-09-21 22:58:42 +09:00
Konrad
a55797d727 Merge pull request #11510 from rioug/11421-deactivate-voucher
[Vouchers] add activate/deactivate feature
2023-09-21 15:03:47 +02:00
Konrad
1e877f4183 Merge pull request #11555 from mkllnk/spree-orders
Remove duplicate association from Spree::User
2023-09-21 13:23:51 +02:00
Filipe
a587a10dfe Merge pull request #11573 from mkllnk/flaky-invoice-spec
Compare adjustments in deterministic order for invoices
2023-09-21 11:34:29 +01:00
jibees
4c82d27a7d Merge pull request #11574 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.7.0
chore(deps-dev): bump knapsack_pro from 5.6.0 to 5.7.0
2023-09-21 11:34:01 +02:00
dependabot[bot]
252c86ccc0 chore(deps): bump puma from 6.3.1 to 6.4.0
Bumps [puma](https://github.com/puma/puma) from 6.3.1 to 6.4.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.3.1...v6.4.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-09-21 09:31:34 +00:00
dependabot[bot]
d54a09f26a chore(deps): bump aws-sdk-s3 from 1.134.0 to 1.135.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.134.0 to 1.135.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-09-21 09:20:35 +00:00
dependabot[bot]
f44eae2d6b chore(deps-dev): bump knapsack_pro from 5.6.0 to 5.7.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.6.0 to 5.7.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.6.0...v5.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>
2023-09-21 09:16:47 +00:00
David Cook
52fb4f5287 Remove unused workflow
Sadly this one can't work for PRs created from forks.
2023-09-21 16:42:27 +10:00
Maikel Linke
6386a997d3 Compare adjustments in deterministic order for invoices
The comparator would sometimes compare two different adjustments when it
should have compared two versions of the same adjustment.
2023-09-21 16:37:07 +10:00
Maikel Linke
ee1611904b Fix typos in spec description 2023-09-21 16:37:07 +10:00
David Cook
f2e8063a22 Merge pull request #11572 from dacook/test-api-changes
Remove unnecessary space
2023-09-21 15:57:42 +10:00
David Cook
ec29038372 Remove unnecessary space 2023-09-21 15:54:40 +10:00
David Cook
23959c96bc Send a Slack notification when api-changes PRs are merged 2023-09-21 15:53:34 +10:00
Maikel Linke
07ac381a97 Ignore block length of response blocks
In Rswag request specs, the `response` block is like `describe` and is
just used to group several other blocks. It can be long and that's okay.
2023-09-21 09:19:21 +10:00
Maikel Linke
02f251c900 Import DFC SuppliedProduct as new variant of existing product 2023-09-21 09:04:57 +10:00
Maikel Linke
db5b6e5406 Enable DFC importer to import OFN objects 2023-09-21 09:04:28 +10:00
Maikel Linke
fcf7b94278 Add our own SuppliedProduct with custom property 2023-09-21 09:02:20 +10:00
Maikel Linke
c42f62e09f Add custom OFN product id to DFC SuppliedProduct
The Spree::Variant in OFN corresponds to a DFC SuppliedProduct. But
several Spree::Variant can be grouped under one Spree::Product which
wasn't exposed on the DFC API.

I'm adding a custom property here which can be used internally and
shouldn't break any other DFC tools.

A gotcha of this first test implementation:

The `ofn:` prefix has not been defined in the context. Software needs
to know that this is an Open Food Network attribute or ignore it.
We could define our own context and ontology and publish it on our
website but I don't see any benefit of that at this point.
2023-09-21 08:54:32 +10:00
Maikel Linke
2175c59a6b Load spec helper not knowing Rails
When the application is not preloaded then running Rspec doesn't know
Rails until the spec helper is loaded. So we can't use Rails to find the
path of the spec helper. This has been fixed before but the DFC Address
code was developed at the same time and missed.
2023-09-21 08:54:32 +10:00
Maikel
458767fe13 Merge pull request #11569 from macanudo527/fix_stylehash_6
Fix Style/HashSyntax 7/13
2023-09-21 08:35:39 +10:00
Rachel Arnould
15137caed2 Merge pull request #11509 from dacook/buu-editing-part3-11059
[BUU] Bulk form editing features
2023-09-20 19:27:05 +02:00
Neal Chambers
bad1f55cdd Update .rubocop_todo.yml 2023-09-20 23:47:52 +09:00
Neal Chambers
29df80945d Fix Style/HashSyntax 2023-09-20 23:46:26 +09:00
Maikel
d216b68993 Merge pull request #11562 from macanudo527/fix_stylehash_5
Fix Style/HashSyntax 6/13
2023-09-20 12:00:30 +10:00
jibees
964373ce2b Merge pull request #11566 from openfoodfoundation/dependabot/bundler/valid_email2-5.0.3
chore(deps): bump valid_email2 from 5.0.2 to 5.0.3
2023-09-19 16:25:46 +02:00
jibees
34d605111a Merge pull request #11567 from openfoodfoundation/dependabot/bundler/ffaker-2.23.0
chore(deps): bump ffaker from 2.22.0 to 2.23.0
2023-09-19 16:25:01 +02:00
Jean-Baptiste Bellet
2a98789571 Add vertical-ellipsis-menu as product/variant actions menu in products table
+ add specs
2023-09-19 16:08:27 +02:00
Jean-Baptiste Bellet
c76bc07f7f Creates a vertical-ellipsis-menu component 2023-09-19 15:32:50 +02:00
Jean-Baptiste Bellet
2c478f1d8e Link to product/variant edit page 2023-09-19 14:26:14 +02:00
Jean-Baptiste Bellet
0847f6b0f6 Create a new column actions for each rows (product+variant) 2023-09-19 14:25:55 +02:00
dependabot[bot]
f9aa4a9d67 chore(deps): bump ffaker from 2.22.0 to 2.23.0
Bumps [ffaker](https://github.com/ffaker/ffaker) from 2.22.0 to 2.23.0.
- [Release notes](https://github.com/ffaker/ffaker/releases)
- [Changelog](https://github.com/ffaker/ffaker/blob/main/Changelog.md)
- [Commits](https://github.com/ffaker/ffaker/compare/v2.22.0...v2.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 09:56:46 +00:00
dependabot[bot]
5eeb45ed25 chore(deps): bump valid_email2 from 5.0.2 to 5.0.3
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.0.2 to 5.0.3.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.0.2...v5.0.3)

---
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-09-19 09:46:32 +00:00
David Cook
759705efcf Add spec for onKeyup 2023-09-19 14:48:39 +10:00
David Cook
6bfdd1bc12 Split spec into multiple examples 2023-09-19 14:48:34 +10:00
David Cook
693d5bad4a Merge pull request #11551 from mkllnk/setup-node-version
Install the current node version in setup
2023-09-19 13:49:43 +10:00
David Cook
0af497ab23 Merge pull request #11539 from filipefurtad0/improve_tests_around_bulk_invoice_printing
[Release test automation] Adds assertions on bulk invoice creation
2023-09-19 13:49:19 +10:00
David Cook
fb93aeb195 Optimise spec 2023-09-19 13:39:36 +10:00
Neal Chambers
d1b8edaa94 Update .rubocop_todo.yml 2023-09-19 08:26:15 +09:00
Neal Chambers
42a6a02353 Fix Style/HashSyntax 2023-09-19 08:25:56 +09:00
filipefurtad0
6a31849fb4 Asserts on url from View File link 2023-09-18 10:43:13 +01:00
Gaetan Craig-Riou
c6e9a84633 Merge pull request #11557 from openfoodfoundation/dependabot/bundler/valid_email2-5.0.2
chore(deps): bump valid_email2 from 5.0.0 to 5.0.2
2023-09-18 19:29:08 +10:00
Rachel Arnould
00b7ae9600 Merge pull request #11496 from jibees/buu-css/ui-tweaks-on-legacy-backoffice-to-be-consitent-and-usable
🚧  BUU: update and tweak UI and CSS to fit V3 style to legacy
2023-09-18 10:53:28 +02:00
filipefurtad0
06ca2979dd Adds assertions on bulk invoice creation 2023-09-18 09:29:44 +01:00
Maikel
2c3561d47f Merge pull request #11554 from macanudo527/fix_stylehash_4
Fix Style/HashSyntax 5/13
2023-09-18 15:34:06 +10:00
Maikel
a1e3bae9b6 Merge pull request #11550 from openfoodfoundation/dependabot/bundler/stripe-9.3.0
chore(deps): bump stripe from 9.2.0 to 9.3.0
2023-09-18 15:31:42 +10:00
dependabot[bot]
6cf46c9bdc chore(deps): bump valid_email2 from 5.0.0 to 5.0.2
Bumps [valid_email2](https://github.com/micke/valid_email2) from 5.0.0 to 5.0.2.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v5.0.0...v5.0.2)

---
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-09-18 04:21:35 +00:00
Maikel
e2783cda05 Merge pull request #11549 from openfoodfoundation/dependabot/bundler/view_component-3.6.0
chore(deps): bump view_component from 3.5.0 to 3.6.0
2023-09-18 14:14:35 +10:00
Maikel Linke
4ebfe73f60 Remove duplicate association
Probably a relict from a Spree upgrade.
2023-09-18 12:38:01 +10:00
Neal Chambers
4beacfb970 Update .rubocop_todo.yml 2023-09-16 09:07:22 +09:00
Neal Chambers
4596997547 Fix Style/HashSyntax 2023-09-16 09:05:31 +09:00
Gaetan Craig-Riou
776f478038 Make update the only public method
I think this got lost when refactoring, but only `update` is meant
to be a public method, other than `new`.
2023-09-15 11:42:04 +02:00
jibees
0b4d0a1438 Merge pull request #11552 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.5.3
chore(deps): bump @floating-ui/dom from 1.5.2 to 1.5.3
2023-09-15 11:28:38 +02:00
dependabot[bot]
727afbc115 chore(deps): bump @floating-ui/dom from 1.5.2 to 1.5.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.5.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-09-15 09:14:48 +00:00
Jean-Baptiste Bellet
02bbd9a9ba Adjust colors and height for sidebar-item component 2023-09-15 11:05:59 +02:00
Jean-Baptiste Bellet
657f4d95d7 move sidebar-item into admin v3 context 2023-09-15 11:02:45 +02:00
Jean-Baptiste Bellet
fe81900639 Update select2.scss 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
10b6df6bd7 Tweak dashboard for a hub manager 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
7326241c70 Move pages/changetypeform to admin v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
ae04063643 Create and adjust big button 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
4aaf0ddc18 Move dashboard-single-ent into admin v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
a59c8adbbf Adjust color for edit action to $teal 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
241dbd1ded move plugins/powertip into admin v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
62465b9bbc Move components/actions into admin_v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
dfe79396f6 Use $teal color for some info in the order page 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
f71ace1d39 Move sections/orders scss file into admin v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
f110c55531 Add product_import into admin_v3 context and adjust some colors 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
8ae68b15a0 Adjust select2 multiple choices colors 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
beba709827 Move buttons/input stuff into related file
And adjust design for v3 style
2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
371e064f82 Adjust padding left right size for text-angular component in v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
6a771ad09c Move text-angular component rules to admin_style_v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
e3359dd240 Move text-angular rules into its own file 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
351fe1b430 Date / date range (flatpickr) colors customization 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
7e1c2dac45 Move flatpickr customization into admin_v3 context 2023-09-15 10:47:44 +02:00
Jean-Baptiste Bellet
4b3688f878 Move date picker into admin_v3 context 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
d72a4a758b Add border to table 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
705ec5e5f8 Change color of tagging component in admin/customers page 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
2fd5390374 Design background color of dropdown component 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
102f20ad9e Add enterprise_index_panels into admin_v3 context 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
3cfd4cdc9b No need to have light in v3 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
0d410d27ae No more green but $red (which is almost orange btw) for navigation 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
e434f7112a Add sidebar to admin_v3 context 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
8b0fc875da Use the same arrow 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
b355d8beb3 Change colors for dropdown components
It's a bit annoying: we do have several "selector" components.
 - built-in select
 - dropdown directive
 - select2 component
 - tom-select component

Each has its own design, and having common design a loooong time job ;)
2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
db4d6c8010 Don't need to change background color hovering 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
b0e6062bec Create a arrowDown mixin in order to display arrow for select compoentns 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
aacdeac1e5 Move dropdown into admin_v3 context 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
99d0b3f092 Prefer to use color-btn-hover-bg var instead of color-10
The variable name is easier to understand.
2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
549e9259d9 Fix comment 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
6ee48a04fc Remove file admin/plugins/select2 for adminV3 and copy content into
already used file: `components/select2`
2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
ccc59926f1 Update button background color when hovering on dashboard 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
5df211137e Tweak stimulus pagination (used on orders) to be up to date 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
f2941f9275 form legend are red 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
1b9a7aa81e Adjust height, border and background colors for inputs 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
98f9303c99 Tweak colors, size, ... for select2 to looks like tom-select
One day, we'll remplace select2 by tom-select
2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
e5086ce057 Adjust colors for select2 and remove useless ones 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
3a67f5c9d7 Integrate select2 to admin_v3 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
b8406be4b9 Add trix editor to admin_v3 css
That was an omission when installing trix
2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
03d5f8acc4 No need to specify padding when having a line height 2023-09-15 10:47:43 +02:00
Jean-Baptiste Bellet
48f1c65a91 Include dashboard_item into admin_v3 2023-09-15 10:47:43 +02:00
David Cook
e075d40525 Prevent accidentally leaving the page 2023-09-15 16:00:41 +10:00
David Cook
99ac48a258 Discarding changes reloads from DB
But it also clears any search filters. To confirm exactly what behaviour is desired before fixing...
2023-09-15 15:46:02 +10:00
David Cook
8ff67aca41 Disable filters and sorting when form is modified
Stimulus controllers aren't supposed to reach outside their own element (so we can't do this with targets). Perhaps the controller should be bigger to encompass more, but I wanted to see if I could avoid making a mega component that does everything. For now it seems appropriate just to pass a selector in.
Another option is to publish events on other controllers using Outlets, but I don't know if we need to go there just yet.
2023-09-15 15:45:48 +10:00
David Cook
e047f49998 Make form actions float over sort controls. 2023-09-15 15:45:48 +10:00
David Cook
15f7a8299b Show form actions only when modified 2023-09-15 15:45:48 +10:00
David Cook
daefada5a9 Show summary of modified records
I found myself trying to write Ruby in Javascript, and it's not nearly as pretty..
Javascript now has more advanced data structures like Map, but it's rather useless because it doesn't have the usual iterator methods (such as filter, map, reduce etc).

Also for the spec I wasn't sure of the best approach, so will gladly recieve feedback.
2023-09-15 15:45:48 +10:00
David Cook
18e40bebd0 Mark modified fields 2023-09-15 15:45:45 +10:00
Maikel Linke
ab157246df Install the current node version in setup 2023-09-15 15:25:16 +10:00
dependabot[bot]
b1f42c14ee chore(deps): bump stripe from 9.2.0 to 9.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 9.2.0 to 9.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/v9.2.0...v9.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-09-15 03:07:27 +00:00
dependabot[bot]
86b5791268 chore(deps): bump view_component from 3.5.0 to 3.6.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.5.0 to 3.6.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.5.0...v3.6.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-09-15 03:02:49 +00:00
Maikel
aad58f1c8b Merge pull request #11546 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.21.1
chore(deps-dev): bump rubocop-rails from 2.21.0 to 2.21.1
2023-09-15 12:59:54 +10:00
Maikel
2994227c35 Merge pull request #11542 from dacook/update-templates
Update templates
2023-09-15 11:42:12 +10:00
Maikel
0c87c16847 Merge pull request #11540 from macanudo527/fix_stylehash_3
Fix Style/HashSyntax 4/13
2023-09-15 11:32:03 +10:00
dependabot[bot]
f9aab96332 chore(deps-dev): bump rubocop-rails from 2.21.0 to 2.21.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.21.0 to 2.21.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.21.0...v2.21.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-09-14 09:48:33 +00:00
Gaetan Craig-Riou
0c005ad734 Sales Tax Totals by order included tax, fix tax amount when voucher applied
Plus specs
2023-09-14 10:21:50 +02:00
Gaetan Craig-Riou
e7a52e4733 Update app/controllers/admin/enterprises_controller.rb
Simplify code

Co-authored-by: Maikel <maikel@email.org.au>
2023-09-14 17:57:31 +10:00
Neal Chambers
0c1cb5282c Update .rubocop_todo.yml 2023-09-14 16:25:49 +09:00
Neal Chambers
bf9db13bb3 Fix Style/HashSyntax 2023-09-14 16:25:49 +09:00
David Cook
814144d77d Remember to mention API changes
[skip ci]
2023-09-14 15:04:01 +10:00
David Cook
00b2c70239 Release categories are now automatically generated. 2023-09-14 15:03:56 +10:00
David Cook
b0c822c63b Remember to consider webhook changes as API changes too 2023-09-14 15:03:54 +10:00
David Cook
7ef4df0087 Update all locales with the latest Transifex translations 2023-09-14 13:47:58 +10:00
David Cook
0966864589 Merge pull request #11511 from dacook/fix-update-button-11349
Fix Update button sizing
2023-09-14 13:37:19 +10:00
David Cook
2e6e083667 [fixup] Fix Update button sizing
By disabling line wrap we can consistently predict how it will appear. The longest translation we currently have is 14 characters so this should be fine.
2023-09-14 09:37:10 +10:00
Maikel
8e226bc473 Merge pull request #11537 from filipefurtad0/fix_flaky_orders_cycle_supplier_totals_report_spec.rb
Renames product so it always appears first on the report results
2023-09-14 09:08:16 +10:00
Maikel
758c6e033f Merge pull request #11533 from macanudo527/fix_stylehash_2
Fix Style/HashSyntax 3/13
2023-09-14 09:04:03 +10:00
Maikel
0382b4c80a Merge pull request #11535 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.5.0
chore(deps): bump newrelic_rpm from 9.4.2 to 9.5.0
2023-09-14 08:45:44 +10:00
Konrad
c36c5be2c9 Merge pull request #11497 from Matt-Yorkley/import-tax-category
Fix error when importing entries with a tax category
2023-09-13 23:28:16 +02:00
Konrad
29a12c7235 Merge pull request #11013 from filipefurtad0/add_enterprise_fees_w_tax_report_by_producer
Adds enterprise fees w tax report by producer
2023-09-13 21:55:59 +02:00
David Cook
ee2520a1f6 Visit page directly to save time
Shaved a couple of seconds off, 35->33 sec.

And make it easier to hide from the list.
2023-09-13 19:09:55 +02:00
David Cook
b27f63fa60 Refactor: DRY up init code 2023-09-13 19:09:55 +02:00
David Cook
ef1ccca4fa Temporarily 'hide' report
The reports framework doesn't currently support hidden reports, but we can mark it with a strike-through at least.
2023-09-13 19:09:55 +02:00
David Cook
db8392ce81 Temporarily hide report 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
4cb91da8b2 load only enterprise fees connected to incoming exchanges on the OC 2023-09-13 19:09:55 +02:00
filipefurtad0
af525f9f7f Fixes rubocop issues 2023-09-13 19:09:55 +02:00
filipefurtad0
131474e91d Updates test case
should list all the tax rates (2)
2023-09-13 19:09:55 +02:00
filipefurtad0
57f058eeb2 Updates test case
should list all the tax rates
2023-09-13 19:09:55 +02:00
filipefurtad0
fc9826b44a Updates test case
should filter by fee name
2023-09-13 19:09:55 +02:00
filipefurtad0
86e6697723 Updates test case
should filter by producer
2023-09-13 19:09:55 +02:00
filipefurtad0
7734b0417d Updates test case
should filter by distributor and order cycle (2)
2023-09-13 19:09:55 +02:00
filipefurtad0
d7a6db3eb0 Updates test case
should filter by distributor and order cycle
2023-09-13 19:09:55 +02:00
filipefurtad0
d8501e7d83 Updates test case
generates the report and displays fees for the respective suppliers
2023-09-13 19:09:55 +02:00
David Cook
47d5fe909e Deduplicate order2 setup 2023-09-13 19:09:55 +02:00
David Cook
8c514b2fe9 Deduplicate order setup 2023-09-13 19:09:55 +02:00
David Cook
b574e71fc9 Refactor: set included_in_price once
This saves the need for an update, and more importantly moves setup out of the before block which means we can finally deduplicate order setup.
2023-09-13 19:09:55 +02:00
David Cook
6e15049728 Refactor distributor 2023-09-13 19:09:55 +02:00
David Cook
bf2298829f Refactor order cycle setup more
Moving more code out of before blocks which will help us reduce duplication in following commits.
2023-09-13 19:09:55 +02:00
David Cook
ce57ac65f3 Refactor order cycle lets
It turns out the outgoing exchanges were never even used.
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
9a22cdc5e7 test scenario: 'multiple orders, same enterprise fee, different tax rates' 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
624b4c8ad2 fix calculation of the summary row's total excl tax 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
a3f012c9fe calculate tax total using existing rows 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
f0c3d7685e replace string reference with the translated string 2023-09-13 19:09:55 +02:00
David Cook
420494715f Tighten up spec
I noticed that the tests don't check if the right totals are shown for each section. Now we can be certain.
2023-09-13 19:09:55 +02:00
David Cook
b7e1a660c3 Rename supplier to be more specific
To ensure specs are matching the right supplier.
2023-09-13 19:09:55 +02:00
David Cook
e934bc7cb9 Ignore ClassLength
I'm never quite sure the best way to deal with these, so I added a comment to at least explain my justification.
2023-09-13 19:09:55 +02:00
David Cook
93cca56e68 Style/HashSyntax 2023-09-13 19:09:55 +02:00
filipefurtad0
019c7b3e71 Splits filtering tests between orders
Sets pending test case for orders with more than one supplier
2023-09-13 19:09:55 +02:00
filipefurtad0
e43661fd3c Adds/corrects comments around Added tax section 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
080e81e0fe optimize join_supplier 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
44e8d2d735 fix pending lint issues 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
219c581f9a remove pending from "should filter by producer" 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
6dd70d310c fix the calculation of the cost of produce
we want the cost of produce to only include the items produced by the supplier used to group the rows.
2023-09-13 19:09:55 +02:00
filipefurtad0
9837a4fcf2 Removes pending (3)
Reverts Included Tax values
2023-09-13 19:09:55 +02:00
filipefurtad0
1b4235eb1d Extends tests to inclusive tax scenario 2023-09-13 19:09:55 +02:00
filipefurtad0
bb0f9a6758 Adds pending test
on fees from order with line items from different suppliers

Adds pending test on producer filter
2023-09-13 19:09:55 +02:00
filipefurtad0
928337c3fd Adds a second supplier and product to the setup 2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
7a875723ca fix order_cycle summary row.
the summary row has to only include the line items coming from the supplier used in the grouping key
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
7b0a99c652 fix enterprise fees listing
For every producer, we want to only show the enterprise fees that are applied to at lease one of his products.
To do that, we use the order cycle to build a list of the enterprise fees for every variant.
Every variant will have coordinator fee + additional fees coming from incoming/outgoing exchanges.
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
1cd0f88c1e fix supplier filter 2023-09-13 19:09:55 +02:00
David Cook
9ae65e135b Rails/Pick
Prefer pick("sum(amount)") over pluck("sum(amount)").first
2023-09-13 19:09:55 +02:00
David Cook
55742f40d1 Show a line for cost of produce
Utilising a second group_by rule, we can add a second summary_row. The cost of produce is also inserted into the TOTALS row as per requirements.
2023-09-13 19:09:55 +02:00
David Cook
cc54e2e6c7 Add long report class to .rubocop_todo.yml
Long classes are a problem that would be good to resolve one day. But it's hard to resolve with the current reports framework.
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
ee7668e713 implement enterprise fee report filters
squash Reformat/Refactor spec
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
481b09edda test enterprise summary fee with tax report by producer
Reformat/Refactor spec
2023-09-13 19:09:55 +02:00
Mohamed ABDELLANI
2880fd5a87 implement EnterpriseFeesWithTaxReportByProducer
squash Re-format code

squash Apply suggestions from code review

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

squash More refactor

squash Update lib/reporting/reports/enterprise_fee_summary/enterprise_fees_with_tax_report_by_producer.rb
2023-09-13 19:09:55 +02:00
Filipe
0f47ec0094 Merge pull request #11525 from jibees/11524-enlarged-unit-price-tooltip-image-on-variant-edit-page
BUU: Fix question mark icon for tooltip
2023-09-13 16:52:15 +01:00
Filipe
dae05e31ab Merge pull request #11501 from jibees/9146-improve-user-feedback-in-oc-edit-page-for-hidden-inventory
Improve user feedback in oc edit page for hidden inventory
2023-09-13 16:26:39 +01:00
jibees
9f675fed32 Merge pull request #11534 from openfoodfoundation/dependabot/bundler/faraday-2.7.11
chore(deps): bump faraday from 2.7.10 to 2.7.11
2023-09-13 15:02:29 +02:00
jibees
f7dd94268e Merge pull request #11536 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.4
chore(deps): bump sidekiq from 7.1.3 to 7.1.4
2023-09-13 14:59:06 +02:00
filipefurtad0
263b5e280e Renames product so it always appears first on the report results 2023-09-13 11:33:58 +01:00
dependabot[bot]
2c79a8be3c chore(deps): bump sidekiq from 7.1.3 to 7.1.4
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.3 to 7.1.4.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.3...v7.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:02:05 +00:00
dependabot[bot]
866f9b9d9d chore(deps): bump newrelic_rpm from 9.4.2 to 9.5.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.4.2 to 9.5.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.4.2...9.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 10:00:35 +00:00
dependabot[bot]
8adc0a9144 chore(deps): bump faraday from 2.7.10 to 2.7.11
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.10 to 2.7.11.
- [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.10...v2.7.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 09:59:46 +00:00
Neal Chambers
1fa0dc99fe Update .rubocop_todo.yml 2023-09-13 16:45:00 +09:00
Neal Chambers
ed06edda3f Fix Style/HashSyntax 2023-09-13 16:45:00 +09:00
Maikel
ead4f784ba Merge pull request #11528 from macanudo527/fix_stylehash_1
Fix Style/HashSyntax 2/13
2023-09-13 17:17:26 +10:00
Maikel
463ecf2880 Merge pull request #11508 from mkllnk/dfc-enterprise-groups
[DFC API] Add endpoint for enterprise groups
2023-09-13 16:50:05 +10:00
Maikel Linke
7e222ad83e Include address when showing group
It may be nice to show more data like social media URLs but the DFC
Connector hasn't implemented that yet and it's not specified in the
current issue.
2023-09-13 16:36:36 +10:00
Maikel Linke
88a3615de7 List groups when showing DFC Enterprise 2023-09-13 16:36:36 +10:00
Maikel Linke
cf18229e5b Avoid loading DFC catalog for Person or Groups endpoint 2023-09-13 16:36:36 +10:00
Maikel Linke
95d3987752 List enterprise groups on DFC API 2023-09-13 16:36:36 +10:00
Maikel Linke
a03fb01a8c List enterprises within groups on DFC API 2023-09-13 16:36:36 +10:00
Maikel Linke
2d91a61dcb Add DFC API EnterpriseGroups#show 2023-09-13 16:36:36 +10:00
David Cook
ae72158e87 Merge pull request #11494 from mkllnk/dfc-swagger-config
Group DFC API operations by endpoint in documentation
2023-09-13 14:57:14 +10:00
Neal Chambers
7c3e61104a Update .rubocop_todo.yml 2023-09-12 23:19:25 +09:00
Neal Chambers
4ffd3759cc Fix Style/HashSyntax 2023-09-12 23:19:05 +09:00
jibees
0ebdc8abca Merge pull request #11526 from openfoodfoundation/dependabot/bundler/sidekiq-7.1.3
chore(deps): bump sidekiq from 7.1.2 to 7.1.3
2023-09-12 15:54:25 +02:00
Gaetan Craig-Riou
9925399292 Sales Tax Totals by order, fix tax amount when voucher applied
Apply the tax discount to the tax collumn when a voucher is added
to the order, and update total excluding tax accordingly.
2023-09-12 14:36:28 +02:00
Gaetan Craig-Riou
a7bceb0b28 Add spec scenario where a voucher is added to the order
Voucher tax portion needs to be removed from the tax amount so we
can display the correct tax in the report.
2023-09-12 14:14:01 +02:00
Gaetan Craig-Riou
29a4bf88d7 DRY up specs 2023-09-12 14:13:04 +02:00
dependabot[bot]
1d430265a2 chore(deps): bump sidekiq from 7.1.2 to 7.1.3
Bumps [sidekiq](https://github.com/sidekiq/sidekiq) from 7.1.2 to 7.1.3.
- [Changelog](https://github.com/sidekiq/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/sidekiq/sidekiq/compare/v7.1.2...v7.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 09:32:05 +00:00
Gaetan Craig-Riou
57f563f4bc Merge pull request #11516 from macanudo527/fix_rubocop_9
Fix Style/HashSyntax 1
2023-09-12 18:56:47 +10:00
Jean-Baptiste Bellet
637096534f Implement spec for #9146 issue 2023-09-12 10:20:26 +02:00
Jean-Baptiste Bellet
ff8b9465c7 Display info on outgoing products panel when some variants hidden 2023-09-12 10:20:26 +02:00
Jean-Baptiste Bellet
ff7629ba2c Display information on outgoing product when variant aren't available
Update en.yml
2023-09-12 10:20:26 +02:00
jibees
eecc0d5772 Merge pull request #11519 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.21.0
chore(deps-dev): bump rubocop-rails from 2.20.2 to 2.21.0
2023-09-11 16:31:03 +02:00
jibees
a08d9e5a3c Merge pull request #11523 from openfoodfoundation/dependabot/bundler/rubocop-1.56.3
chore(deps-dev): bump rubocop from 1.56.2 to 1.56.3
2023-09-11 16:30:23 +02:00
Jean-Baptiste Bellet
edc6ac801d Use the right colors for the question mark icon tooltip in admin style v3 2023-09-11 15:44:08 +02:00
Jean-Baptiste Bellet
75751f07b8 Move question-mark-icon into admin_style_v3 context 2023-09-11 15:31:30 +02:00
Jean-Baptiste Bellet
99ea4a63e0 No need to have a button: not conflicting with button styles 2023-09-11 15:29:09 +02:00
jibees
f05ed020f3 Merge pull request #11522 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.5.2
chore(deps): bump @floating-ui/dom from 1.5.1 to 1.5.2
2023-09-11 15:03:16 +02:00
Gaetan Craig-Riou
e44a0092ea Fix edge case when trying to deactivate the only availabe voucher
Plus spec
2023-09-11 12:00:48 +02:00
Gaetan Craig-Riou
48956b9bd1 As per review comment, simplify voucher view a little 2023-09-11 11:59:34 +02:00
dependabot[bot]
fe83be1853 chore(deps-dev): bump rubocop from 1.56.2 to 1.56.3
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.2 to 1.56.3.
- [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.56.2...v1.56.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 09:18:20 +00:00
dependabot[bot]
5b0b03dc5d chore(deps): bump @floating-ui/dom from 1.5.1 to 1.5.2
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.5.2/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-09-11 09:17:54 +00:00
Maikel
f885e80413 Merge pull request #11520 from openfoodfoundation/dependabot/bundler/rails-7.0.8
chore(deps): bump rails from 7.0.7.2 to 7.0.8
2023-09-11 15:48:37 +10:00
Maikel Linke
99529ff599 Put new rubocop violations on todo list 2023-09-11 15:44:15 +10:00
Maikel Linke
df3fc83c8e Remove version from DFC API URL in specs
We were aiming to use stable URLs to identify resources but the URL
helpers were still using dfc-v1.7 because that was the last and
overriding path of the mounted DFC Provider engine.
2023-09-11 15:00:08 +10:00
Maikel Linke
7654d37fc3 DRY, shorten swagger file names 2023-09-11 14:57:39 +10:00
Maikel Linke
fe2eecb69e DRY swagger-ui config with relative path 2023-09-11 14:57:38 +10:00
Maikel Linke
fc7c8757d9 Move DFC patches into our DFC engine
It seems to belong there and it's avoiding some loading issues with
Spring.
2023-09-11 14:57:38 +10:00
Maikel Linke
73193fbfd0 Explicitely load our DFC Connector patches
It makes sure we can extend functionality without conflicts.
2023-09-11 14:57:38 +10:00
Maikel Linke
191c4a79db Load spec helpers before Rails is loaded
Using Spring was hiding an loading error. When you start Rspec, Rails
and its engines are not loaded yet. So our way to load the spec helper
via `Rails.root` did not work when you ran specs on their own without
loading Rails with Spring first.
2023-09-11 14:57:38 +10:00
Maikel Linke
6316974146 Group DFC API operations by endpoint
Previously they were all in one long list called "default".
2023-09-11 14:57:38 +10:00
dependabot[bot]
ce7c9f0895 chore(deps): bump rails from 7.0.7.2 to 7.0.8
Bumps [rails](https://github.com/rails/rails) from 7.0.7.2 to 7.0.8.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.0.7.2...v7.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 04:05:35 +00:00
dependabot[bot]
29f476e559 chore(deps-dev): bump rubocop-rails from 2.20.2 to 2.21.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.20.2 to 2.21.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.20.2...v2.21.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-09-11 04:01:42 +00:00
Maikel
ecc04b05e3 Merge pull request #11512 from openfoodfoundation/dependabot/bundler/stripe-9.2.0
chore(deps): bump stripe from 9.1.0 to 9.2.0
2023-09-11 14:00:15 +10:00
Neal Chambers
e69e5eb0ec Update .rubocop_todo.yml 2023-09-09 09:02:14 +09:00
Neal Chambers
416d6e538a Fix Style/HashSyntax 2023-09-09 09:00:38 +09:00
Matt-Yorkley
839e580878 Fix error when importing entries with a tax category 2023-09-08 19:24:50 +01:00
Gaetan Craig-Riou
8face3d182 Merge pull request #11488 from macanudo527/fix_helperinstancevariable_2
Fix Rails/HelperInstanceVariable 2
2023-09-08 19:51:39 +10:00
dependabot[bot]
eb4517cf0b chore(deps): bump stripe from 9.1.0 to 9.2.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 9.1.0 to 9.2.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/v9.1.0...v9.2.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-09-08 09:15:23 +00:00
David Cook
99da60921f Fix Update button sizing
This was broken when upgrading [Foundation](https://github.com/openfoodfoundation/openfoodnetwork/pull/11349). For some reason the button.expand class now sets larger font size and padding, which overrides the button.small class. It's probably a bug but we'll have to work around it.
2023-09-08 10:20:26 +10:00
Maikel
1991970185 Merge pull request #11377 from mkllnk/dfc-update-request
[DFC API] Import known units when creating new products
2023-09-08 09:05:26 +10:00
Filipe
b64c1c2675 Merge pull request #11349 from dacook/foundation-sites-5.5.3
chore(deps): bump foundation-sites from 5.5.2 to 5.5.3
2023-09-07 18:33:43 +01:00
Filipe
ccabf5936d Merge pull request #11505 from drummer83/master
[Super admin] Highlight 'Configuration' tab on 'Terms of Service' page
2023-09-07 18:00:18 +01:00
Konrad
ea622cd2d7 Merge pull request #11487 from pedrocarmona/feature/invitation-email-locale
Send translated email when creating users via super admin interface
2023-09-07 16:41:59 +02:00
Gaetan Craig-Riou
f225cd78df Handle unique voucher code exception
Rails validation doesn't handle unique validation for soft deleted
object. So we rescue the exception raise by the database and display
a nice error message. We don't want an enterprise to be able to reuse
a code in case the voucher get reactivated.
2023-09-07 15:13:47 +02:00
Gaetan Craig-Riou
63cd8ccf28 Test scenario where a voucher is deactivated before end of checkout
A customer should be able to complete the checkout even if the voucher
has been deactivated after being added to the order.
2023-09-07 14:00:26 +02:00
Gaetan Craig-Riou
b955e0b25d Use depedend: nil on adjustment association
We want to keep the voucher adjustment associated with the Voucher
event when the voucher as been soft deleted, as we use this
functionality as activate/deactivate feature
2023-09-07 13:58:07 +02:00
David Cook
ab5e16effb chore(deps): bump foundation-sites from 5.5.2 to 5.5.3
Better 7 years late than never...

This resolves CWE-79: https://security.snyk.io/vuln/npm:foundation-sites:20150619
2023-09-07 11:45:37 +10:00
drummer83
a7ddf99ee4 Fix typo 2023-09-06 23:20:12 +02:00
drummer83
13d5b954e6 Add 'Terms of Service' to the tabs 2023-09-06 23:18:00 +02:00
Konrad
3b9ebf4e07 Merge pull request #11396 from abdellani/fix-if-tos-is-not-set
fix If ToS file is not set, customer needs to accept Terms on each checkout
2023-09-06 16:56:21 +02:00
Neal Chambers
dbb758b73a Update .rubocop_todo.yml 2023-09-06 22:36:51 +09:00
Neal Chambers
2da9ffd3cb Delete Unused Helper Functions 2023-09-06 22:36:51 +09:00
Neal Chambers
b1e40ed605 Fix Rails/HelperInstanceVariable 2023-09-06 22:36:46 +09:00
jibees
d8f4f58c77 Merge pull request #11499 from openfoodfoundation/dependabot/bundler/web-console-4.2.1
chore(deps-dev): bump web-console from 4.2.0 to 4.2.1
2023-09-06 08:52:58 +02:00
dependabot[bot]
954e080cbf chore(deps-dev): bump web-console from 4.2.0 to 4.2.1
Bumps [web-console](https://github.com/rails/web-console) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/rails/web-console/releases)
- [Changelog](https://github.com/rails/web-console/blob/main/CHANGELOG.markdown)
- [Commits](https://github.com/rails/web-console/compare/v4.2.0...v4.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 01:44:08 +00:00
David Cook
aaa3bebb93 Merge pull request #11495 from openfoodfoundation/dependabot/bundler/valid_email2-5.0.0
chore(deps): bump valid_email2 from 4.0.6 to 5.0.0
2023-09-06 11:39:26 +10:00
Gaetan Craig-Riou
d1b5dcab88 Add ability to activate deactivate a voucher
Plus controller specs
2023-09-05 15:48:59 +02:00
Gaetan Craig-Riou
79f4caaee2 Clean up spec 2023-09-05 15:48:30 +02:00
dependabot[bot]
3405865c0f chore(deps): bump valid_email2 from 4.0.6 to 5.0.0
Bumps [valid_email2](https://github.com/micke/valid_email2) from 4.0.6 to 5.0.0.
- [Changelog](https://github.com/micke/valid_email2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micke/valid_email2/compare/v4.0.6...v5.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 09:48:34 +00:00
David Cook
a096c56658 Merge pull request #11484 from openfoodfoundation/mkllnk-patch-1
Add release note category "API changes"
2023-09-05 13:29:55 +10:00
Maikel Linke
997c8a49ca Combine system specs for efficiency 2023-09-05 10:51:38 +10:00
Pedro Carmona
51050036d4 Use instance default locale as the default locale for a new user 2023-09-05 01:00:35 +01:00
Pedro Carmona
c4830e3baa Send localized email when creating users via admin interface
Based on the current user locale
2023-09-05 01:00:35 +01:00
David Cook
0874c7ddb8 Merge pull request #11309 from filipefurtad0/legal_invoices_spec_comparator
[Invoices] Adds unit level test coverage order model attributes
2023-09-05 09:45:00 +10:00
Maikel
b1a88ab7a9 Merge pull request #11490 from mkllnk/sample-data-validation
Skip online validation of sample emails
2023-09-05 09:28:16 +10:00
Konrad
c50a3b4f86 Merge pull request #11489 from mkllnk/order_cycle_schedule
Require associations on join model
2023-09-04 21:37:30 +02:00
Konrad
fd6f2338e5 Merge pull request #11450 from mkllnk/feature-toggle-enterprise
Activate vouchers feature per user or enterprise
2023-09-04 21:30:41 +02:00
filipefurtad0
82ca115931 Removes unnecessary && operator
reloads instead of saving order again
2023-09-04 19:35:28 +01:00
filipefurtad0
4e54279b05 Rearranges relevant and non-relevant test cases 2023-09-04 19:32:06 +01:00
Konrad
406577ed2a Merge pull request #11140 from jibees/11129-add-trix-editor-to-product-description-editor
Admin, add trix editor to product description editor (both new and edit)
2023-09-04 20:22:14 +02:00
Gaetan Craig-Riou
08c131680d Merge pull request #11471 from mkllnk/variant-supplier
[DFC API] Replace service class with simple AR association
2023-09-04 23:59:37 +10:00
Jean-Baptiste Bellet
b6b64e9439 Add trix editor to new product form 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
1d5d1c5405 Include trix-styles mixin in where content from trix is displayed 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
34dab4003d Create a mixin that include list of styles for trix editor + content
Will be used elsewhere (in shopfront in particular)
2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
c402093081 Special case for unordered list in trix editor: should be overwritten 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
ca6d12e8ed Actually, used in the shopfront context, links are orange 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
3225c52898 Actually, this should not be sanitize before going through trix editor 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
a8a35318f5 Add horizontal rule to trix editor 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
4c27e79519 Sanitize content when display it on shop
Use the TrixSanitizer | TrixScrubber
2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
f9bc00e5cd We used to use <p> to seperate block between them. now use <div>
trix doesn't allow the use of `<p>` as block separator since it can not contain `<figure>`: use `<div>` and _emulate_ as `<p>` with margin bottom
2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
b6e047086a Update trixEditor rendering <a /> element: should be green 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
e200eccc42 Replace angular editor by trix editor 2023-09-04 15:46:54 +02:00
Gaetan Craig-Riou
50693dd5d2 Merge pull request #11468 from dacook/buu-editing-part2-11059
[BUU] Editing - part 2 (product and variant text fields) 🚧
2023-09-04 23:41:44 +10:00
Gaetan Craig-Riou
db52b29b8f Merge pull request #11476 from macanudo527/fix_rails_helperinstancevariable
Fix Rails/HelperInstanceVariable in injection_helper.rb
2023-09-04 22:30:14 +10:00
Maikel Linke
ae63a50719 Skip online validation of sample emails 2023-09-04 17:15:52 +10:00
Maikel Linke
38869cba2f Require associations on join model
It's actually required in the database already. This just simplifies the
code.
2023-09-04 17:07:07 +10:00
Maikel
8b9425a206 Merge pull request #11486 from openfoodfoundation/dependabot/bundler/activerecord-session_store-2.1.0
chore(deps): bump activerecord-session_store from 2.0.0 to 2.1.0
2023-09-04 13:16:11 +10:00
Maikel
2d090042a3 Merge pull request #11485 from openfoodfoundation/dependabot/bundler/stripe-9.1.0
chore(deps): bump stripe from 9.0.0 to 9.1.0
2023-09-04 12:49:26 +10:00
Maikel
4f981417a9 Merge pull request #11477 from mkllnk/flaky-enterprise-fee
Stabilise flaky enterprise fee spec
2023-09-04 12:45:46 +10:00
dependabot[bot]
8bd749301e chore(deps): bump activerecord-session_store from 2.0.0 to 2.1.0
Bumps [activerecord-session_store](https://github.com/rails/activerecord-session_store) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/rails/activerecord-session_store/releases)
- [Commits](https://github.com/rails/activerecord-session_store/compare/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 09:28:13 +00:00
dependabot[bot]
34fa41dac2 chore(deps): bump stripe from 9.0.0 to 9.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 9.0.0 to 9.1.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/v9.0.0...v9.1.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-09-01 09:26:36 +00:00
Maikel
f27ecb6bcd Add release note category "API changes"
[skip ci]
2023-09-01 14:14:47 +10:00
Maikel
bcfc15f102 Enable copy of translation update commands
The added `code` tag makes Github add the copy button.
2023-09-01 13:53:20 +10:00
Maikel Linke
ee3fe08378 Update all locales with the latest Transifex translations 2023-09-01 13:51:29 +10:00
David Cook
441b9febc8 Merge pull request #11454 from macanudo527/fix_rubocop_8
Fix Rubocop Style Errors
2023-09-01 13:22:38 +10:00
David Cook
32c0b5a3e2 Remove unnecessary details
As far as I can tell we didn't need to specify these for the tests.
2023-09-01 12:04:27 +10:00
Neal Chambers
4feb8f922e Fix Rails/HelperInstanceVariable in injection_helper.rb 2023-09-01 11:03:26 +09:00
David Cook
381ce1c2b9 Simplify order definition
There only needs to be one order at a time, and it can be created on-demand. We can simply override it in the specs that need to.
2023-09-01 12:00:29 +10:00
Maikel Linke
c439aaf32f Spec trying to ready a shipment twice 2023-09-01 08:55:56 +09:00
Neal Chambers
b0bb97a22f Fix ready to execute only if it isn't ready
Co-authored-by: Maikel <maikel@email.org.au>
2023-09-01 08:55:56 +09:00
Neal Chambers
819fa611e8 Fix Rails/Blank 2023-09-01 08:55:56 +09:00
Neal Chambers
8ae5b61252 Manually Fix Style/GuardClause 2023-09-01 08:55:56 +09:00
Neal Chambers
70e765bff6 Safely autocorrect Style/GuardClause
Inspecting 1488 files
......................C....C.C..........................C.........C.........................C............................................C..............................................................................................................C.C........................................CC..............................C...........C...........................................................................................................................................................................................................C........................................................................................................C.......................................................C.............C...........................................................................................C..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...C....................................................................................................................C.............

Offenses:

app/controllers/admin/enterprises_controller.rb:50:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless params[:stimulus]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:50:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless params[:stimulus]) instead of wrapping the code inside a conditional expression.
      if params[:stimulus]
      ^^
app/controllers/admin/enterprises_controller.rb:51:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @enterprise.is_primary_producer = params[:is_primary_producer]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:52:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @enterprise.sells = params[:enterprise_sells]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:53:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        render cable_ready: cable_car.morph("#side_menu", partial("admin/shared/side_menu")) ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:55:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:56:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:266:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless user_id.positive? && @enterprise.user_ids.include?(user_id)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:266:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless user_id.positive? && @enterprise.user_ids.include?(user_id)) instead of wrapping the code inside a conditional expression.
      if user_id.positive? && @enterprise.user_ids.include?(user_id)
      ^^
app/controllers/admin/enterprises_controller.rb:267:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @enterprise.update_contact(user_id)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:268:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:270:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:272:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless attrs[:calculator_type].present? && attrs[:calculator_attributes].present?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:272:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless attrs[:calculator_type].present? && attrs[:calculator_attributes].present?) instead of wrapping the code inside a conditional expression.
      if attrs[:calculator_type].present? && attrs[:calculator_attributes].present?
      ^^
app/controllers/admin/enterprises_controller.rb:273:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        rule.update(calculator_type: attrs[:calculator_type])
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:274:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        attrs[:calculator_attributes].merge!( id: rule.calculator.id )
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:275:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:278:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:279:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if spree_current_user.admin?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:279:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if spree_current_user.admin?) instead of wrapping the code inside a conditional expression.
      unless spree_current_user.admin?
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:280:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        params[:sets_enterprise_set][:collection_attributes].each do |_i, enterprise_params| ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:285:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:289:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:289:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if spree_current_user.admin? || spree_current_user == @enterprise.owner
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:289:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if spree_current_user.admin? || spree_current_user == @enterprise.owner) instead of wrapping the code inside a conditional expression.
      unless spree_current_user.admin? || spree_current_user == @enterprise.owner
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:290:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        enterprise_params.delete :sells
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:291:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:296:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:299:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if spree_current_user.admin?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:299:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if spree_current_user.admin?) instead of wrapping the code inside a conditional expression.
      unless spree_current_user.admin?
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:300:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        has_hub = spree_current_user.owned_enterprises.is_hub.any?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:301:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        new_enterprise_is_producer = Enterprise.new(enterprise_params).is_primary_producer
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:302:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        enterprise_params[:sells] = has_hub && !new_enterprise_is_producer ? 'any' : 'none'
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:303:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:307:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:307:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?) instead of wrapping the code inside a conditional expression.
      unless ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:308:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        enterprise_params.delete :owner_id
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:309:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:309:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:313:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if spree_current_user.admin?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:313:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if spree_current_user.admin?) instead of wrapping the code inside a conditional expression.
      unless spree_current_user.admin?
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:314:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        bulk_params[:collection_attributes].each do |_i, enterprise_params| ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:316:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:317:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:321:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:321:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?) instead of wrapping the code inside a conditional expression.
      unless ( spree_current_user == @enterprise.owner ) || spree_current_user.admin?
      ^^^^^^
app/controllers/admin/enterprises_controller.rb:322:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        enterprise_params.delete :user_ids
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:323:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/enterprises_controller.rb:325:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/enterprises_controller.rb:332:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/order_cycles_controller.rb:185:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless json_request?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:185:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless json_request?) instead of wrapping the code inside a conditional expression.
      if json_request?
      ^^
app/controllers/admin/order_cycles_controller.rb:188:9: C: [Corrected] Layout/CommentIndentation: Incorrect indentation detected (column 8 instead of 6).
        #   to limit returned ocs to recent or undated
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:188:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        orders_close_at_gt = raw_params[:q]&.delete(:orders_close_at_gt) || 31.days.ago
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:189:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        raw_params[:q] = { ...
        ^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:194:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @collection = collection
        ^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:195:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/order_cycles_controller.rb:196:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/order_cycles_controller.rb:248:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if Enterprise.managed_by(spree_current_user).include?(@order_cycle.coordinator)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:248:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if Enterprise.managed_by(spree_current_user).include?(@order_cycle.coordinator)) instead of wrapping the code inside a conditional expression.
      unless Enterprise.managed_by(spree_current_user).include?(@order_cycle.coordinator)
      ^^^^^^
app/controllers/admin/order_cycles_controller.rb:249:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        order_cycle_params.delete_if do |k, _v| ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/order_cycles_controller.rb:252:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/order_cycles_controller.rb:254:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/product_import_controller.rb:59:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if params[:file] || (params[:filepath] && File.exist?(params[:filepath]))
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/product_import_controller.rb:59:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if params[:file] || (params[:filepath] && File.exist?(params[:filepath]))) instead of wrapping the code inside a conditional expression.
      unless params[:file] || (params[:filepath] && File.exist?(params[:filepath]))
      ^^^^^^
app/controllers/admin/product_import_controller.rb:60:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        redirect_to '/admin/product_import', notice: I18n.t(:product_import_file_not_found_notice)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/product_import_controller.rb:61:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/product_import_controller.rb:62:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/admin/product_import_controller.rb:93:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return if importer.item_count
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/product_import_controller.rb:93:7: C: [Corrected] Style/GuardClause: Use a guard clause (return if importer.item_count) instead of wrapping the code inside a conditional expression.
      unless importer.item_count
      ^^^^^^
app/controllers/admin/product_import_controller.rb:94:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        redirect_to '/admin/product_import', ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/product_import_controller.rb:96:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        true
        ^^^^
app/controllers/admin/product_import_controller.rb:97:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/admin/product_import_controller.rb:99:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/api/v0/shipments_controller.rb:48:11: C: Style/GuardClause: Use a guard clause (unless @shipment.can_ready?; render(json: { error: I18n.t(:cannot_ready, scope: "spree.api.shipment") },
                   status: :unprocessable_entity) && return; end) instead of wrapping the code inside a conditional expression.
          if @shipment.can_ready?
          ^^
app/controllers/application_controller.rb:118:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return if (@distributor = current_distributor)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:118:5: C: [Corrected] Style/GuardClause: Use a guard clause (return if (@distributor = current_distributor)) instead of wrapping the code inside a conditional expression.
    unless (@distributor = current_distributor)
    ^^^^^^
app/controllers/application_controller.rb:119:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      redirect_to main_app.root_path
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:120:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      false
      ^^^^^
app/controllers/application_controller.rb:121:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/application_controller.rb:122:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/application_controller.rb:125:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return if current_order_cycle
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:125:5: C: [Corrected] Style/GuardClause: Use a guard clause (return if current_order_cycle) instead of wrapping the code inside a conditional expression.
    unless current_order_cycle
    ^^^^^^
app/controllers/application_controller.rb:126:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      redirect_to main_app.shop_path
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:127:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/application_controller.rb:129:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/application_controller.rb:131:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless current_distributor_closed?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:131:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless current_distributor_closed?) instead of wrapping the code inside a conditional expression.
    if current_distributor_closed?
    ^^
app/controllers/application_controller.rb:132:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      current_order.empty!
      ^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:133:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      current_order.set_distribution! nil, nil
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:134:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      flash[:info] = I18n.t('order_cycles_closed_for_hub')
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:135:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      redirect_to main_app.root_url
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/application_controller.rb:136:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/application_controller.rb:139:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/home_controller.rb:7:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless ContentConfig.home_show_stats
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/home_controller.rb:7:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless ContentConfig.home_show_stats) instead of wrapping the code inside a conditional expression.
    if ContentConfig.home_show_stats
    ^^
app/controllers/home_controller.rb:8:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      @num_distributors = cached_count('distributors', Enterprise.is_distributor.activated.visible)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/home_controller.rb:9:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      @num_producers = cached_count('producers', Enterprise.is_primary_producer.activated.visible)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/home_controller.rb:10:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      @num_orders = cached_count('orders', Spree::Order.complete)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/home_controller.rb:11:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      @num_users = cached_count( ...
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/home_controller.rb:14:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/home_controller.rb:15:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/spree/orders_controller.rb:136:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless params[:order] && params[:order][:line_items_attributes]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/orders_controller.rb:136:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless params[:order] && params[:order][:line_items_attributes]) instead of wrapping the code inside a conditional expression.
      if params[:order] && params[:order][:line_items_attributes]
      ^^
app/controllers/spree/orders_controller.rb:137:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        params[:order][:line_items_attributes] = ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/orders_controller.rb:139:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/spree/orders_controller.rb:140:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/controllers/spree/orders_controller.rb:183:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless items.empty?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/orders_controller.rb:183:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless items.empty?) instead of wrapping the code inside a conditional expression.
      if items.empty?
      ^^
app/controllers/spree/orders_controller.rb:184:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        flash[:error] = I18n.t(:orders_cannot_remove_the_final_item)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/orders_controller.rb:185:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        redirect_to main_app.order_path(order_to_update)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/orders_controller.rb:186:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/controllers/spree/orders_controller.rb:188:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/enterprise.rb:518:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return if owner.can_own_more_enterprises?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:518:5: C: [Corrected] Style/GuardClause: Use a guard clause (return if owner.can_own_more_enterprises?) instead of wrapping the code inside a conditional expression.
    unless owner.can_own_more_enterprises?
    ^^^^^^
app/models/enterprise.rb:519:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      errors.add(:owner, I18n.t(:enterprise_owner_error, email: owner.email, ...
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:521:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/enterprise.rb:522:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/enterprise.rb:546:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless is_hub
    ^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:546:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless is_hub) instead of wrapping the code inside a conditional expression.
    if is_hub
    ^^
app/models/enterprise.rb:547:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      enterprises.is_primary_producer.each do |enterprise| ...
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:553:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/enterprise.rb:555:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/enterprise.rb:557:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return if preferred_shopfront_taxon_order =~ /\A((\d+,)*\d+)?\z/
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:557:5: C: [Corrected] Style/GuardClause: Use a guard clause (return if preferred_shopfront_taxon_order =~ /\A((\d+,)*\d+)?\z/) instead of wrapping the code inside a conditional expression.
    unless preferred_shopfront_taxon_order =~ /\A((\d+,)*\d+)?\z/
    ^^^^^^
app/models/enterprise.rb:558:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      errors.add(:shopfront_category_ordering, "must contain a list of taxons.")
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:559:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/enterprise.rb:562:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/enterprise.rb:563:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return if preferred_shopfront_producer_order =~ /\A((\d+,)*\d+)?\z/
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:563:5: C: [Corrected] Style/GuardClause: Use a guard clause (return if preferred_shopfront_producer_order =~ /\A((\d+,)*\d+)?\z/) instead of wrapping the code inside a conditional expression.
    unless preferred_shopfront_producer_order =~ /\A((\d+,)*\d+)?\z/
    ^^^^^^
app/models/enterprise.rb:564:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      errors.add(:shopfront_category_ordering, "must contain a list of producers.")
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:565:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/enterprise.rb:569:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/enterprise_group.rb:80:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless permalink.blank? || permalink_changed?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:80:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless permalink.blank? || permalink_changed?) instead of wrapping the code inside a conditional expression.
    if permalink.blank? || permalink_changed?
    ^^
app/models/enterprise_group.rb:81:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      requested = permalink.presence || permalink_was.presence || name.presence || 'group'
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:82:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      self.permalink = create_unique_permalink(requested.parameterize)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:83:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/enterprise_group.rb:84:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/producer_property.rb:16:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless name.present?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/producer_property.rb:16:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless name.present?) instead of wrapping the code inside a conditional expression.
    if name.present?
    ^^
app/models/producer_property.rb:16:12: C: [Correctable] Rails/Blank: Use if name.blank? instead of unless name.present?.
    return unless name.present?
           ^^^^^^^^^^^^^^^^^^^^
app/models/producer_property.rb:17:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      self.property = Spree::Property.find_by(name: name) || ...
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/producer_property.rb:19:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/producer_property.rb:20:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/product_import/entry_processor.rb:42:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless total_saved_count.zero?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/product_import/entry_processor.rb:42:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless total_saved_count.zero?) instead of wrapping the code inside a conditional expression.
      if total_saved_count.zero?
      ^^
app/models/product_import/entry_processor.rb:43:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @importer.errors.add(:importer, ...
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/product_import/entry_processor.rb:45:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/product_import/entry_processor.rb:46:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/spree/order.rb:506:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless !completed? && shipments.any?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/order.rb:506:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless !completed? && shipments.any?) instead of wrapping the code inside a conditional expression.
      if !completed? && shipments.any?
      ^^
app/models/spree/order.rb:507:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        shipments.destroy_all
        ^^^^^^^^^^^^^^^^^^^^^
app/models/spree/order.rb:508:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        restart_checkout_flow
        ^^^^^^^^^^^^^^^^^^^^^
app/models/spree/order.rb:509:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/spree/order.rb:510:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/models/spree/preferences/preferable_class_methods.rb:67:9: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
        return unless method_defined? preference_description_getter_method(name)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:67:9: C: [Corrected] Style/GuardClause: Use a guard clause (return unless method_defined? preference_description_getter_method(name)) instead of wrapping the code inside a conditional expression.
        if method_defined? preference_description_getter_method(name)
        ^^
app/models/spree/preferences/preferable_class_methods.rb:68:11: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
          remove_method preference_description_getter_method(name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:69:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/models/spree/preferences/preferable_class_methods.rb:70:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
app/services/order_syncer.rb:90:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless !pickup_to_delivery || order.shipment.blank?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/order_syncer.rb:90:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless !pickup_to_delivery || order.shipment.blank?) instead of wrapping the code inside a conditional expression.
    if !pickup_to_delivery || order.shipment.blank?
    ^^
app/services/order_syncer.rb:91:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      order.updater.shipping_address_from_distributor
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/order_syncer.rb:92:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
app/services/order_syncer.rb:93:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
engines/order_management/app/services/order_management/order/updater.rb:166:9: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
        return unless payment.completed? || order.completed?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/app/services/order_management/order/updater.rb:166:9: C: [Corrected] Style/GuardClause: Use a guard clause (return unless payment.completed? || order.completed?) instead of wrapping the code inside a conditional expression.
        if payment.completed? || order.completed?
        ^^
engines/order_management/app/services/order_management/order/updater.rb:167:11: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
          persist_totals
          ^^^^^^^^^^^^^^
engines/order_management/app/services/order_management/order/updater.rb:168:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
engines/order_management/app/services/order_management/order/updater.rb:169:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
lib/discourse/single_sign_on.rb:33:9: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
        raise "Bad signature for payload #{diags}" unless parsed["sso"] =~ %r{[^a-zA-Z0-9=\r\n/+]}m
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/discourse/single_sign_on.rb:33:9: C: [Corrected] Style/GuardClause: Use a guard clause (raise "Bad signature for payload #{diags}" unless parsed["sso"] =~ %r{[^a-zA-Z0-9=\r\n/+]}m) instead of wrapping the code inside a conditional expression.
        if parsed["sso"] =~ %r{[^a-zA-Z0-9=\r\n/+]}m
        ^^
lib/discourse/single_sign_on.rb:34:11: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
          raise "The SSO field should be Base64 encoded, using only A-Z, a-z, 0-9, +, /, " \ ...
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/discourse/single_sign_on.rb:37:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/discourse/single_sign_on.rb:38:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/discourse/single_sign_on.rb:39:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
lib/discourse/single_sign_on.rb:39:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/discourse/single_sign_on.rb:40:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
lib/open_food_network/order_cycle_form_applicator.rb:76:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless manages_coordinator?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:76:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless manages_coordinator?) instead of wrapping the code inside a conditional expression.
      if manages_coordinator?
      ^^
lib/open_food_network/order_cycle_form_applicator.rb:77:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        exchange.save!
        ^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:78:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        ExchangeVariantBulkUpdater.new(exchange).update!(variant_ids) unless variant_ids.nil?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:80:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        @touched_exchanges << exchange
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:81:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/open_food_network/order_cycle_form_applicator.rb:82:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
lib/open_food_network/order_cycle_form_applicator.rb:107:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless manages_coordinator?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:107:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless manages_coordinator?) instead of wrapping the code inside a conditional expression.
      if manages_coordinator?
      ^^
lib/open_food_network/order_cycle_form_applicator.rb:108:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        untouched_exchanges.each(&:destroy)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/open_food_network/order_cycle_form_applicator.rb:109:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/open_food_network/order_cycle_form_applicator.rb:111:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
lib/spree/core/controller_helpers/respond_with.rb:42:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      raise ActionController::UnknownFormat unless format
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:42:7: C: [Corrected] Style/GuardClause: Use a guard clause (raise ActionController::UnknownFormat unless format) instead of wrapping the code inside a conditional expression.
      if format
      ^^
lib/spree/core/controller_helpers/respond_with.rb:43:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        _process_format(format)
        ^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:44:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        collector
        ^^^^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:45:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/spree/core/controller_helpers/respond_with.rb:46:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
lib/spree/core/controller_helpers/respond_with.rb:46:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/spree/core/controller_helpers/respond_with.rb:47:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
lib/spree/core/controller_helpers/respond_with.rb:47:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
lib/spree/core/controller_helpers/respond_with.rb:48:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
lib/spree/core/controller_helpers/respond_with.rb:48:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
spec/support/request/distribution_helper.rb:10:7: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
      return unless order_cycle && page.has_select?('order_order_cycle_id')
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/request/distribution_helper.rb:10:7: C: [Corrected] Style/GuardClause: Use a guard clause (return unless order_cycle && page.has_select?('order_order_cycle_id')) instead of wrapping the code inside a conditional expression.
      if order_cycle && page.has_select?('order_order_cycle_id')
      ^^
spec/support/request/distribution_helper.rb:11:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        select_by_value order_cycle.id, from: 'order_order_cycle_id'
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/request/distribution_helper.rb:12:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/support/request/distribution_helper.rb:13:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
spec/support/request/shop_workflow.rb:127:5: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
    return unless oc.exchanges.from_enterprise(supplier).incoming.empty?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/request/shop_workflow.rb:127:5: C: [Corrected] Style/GuardClause: Use a guard clause (return unless oc.exchanges.from_enterprise(supplier).incoming.empty?) instead of wrapping the code inside a conditional expression.
    if oc.exchanges.from_enterprise(supplier).incoming.empty?
    ^^
spec/support/request/shop_workflow.rb:128:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      create(:exchange, order_cycle: oc, incoming: true, ...
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/request/shop_workflow.rb:130:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/support/request/shop_workflow.rb:131:1: C: [Corrected] Layout/EmptyLinesAroundMethodBody: Extra empty line detected at method body end.
spec/system/support/precompile_assets.rb:18:5: C: [Corrected] Style/GuardClause: Use a guard clause (next if Webpacker.dev_server.running?) instead of wrapping the code inside a conditional expression.
    if Webpacker.dev_server.running?
    ^^
spec/system/support/precompile_assets.rb:19:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/support/precompile_assets.rb:20:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
spec/system/support/precompile_assets.rb:20:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/support/precompile_assets.rb:21:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      $stdout.puts "\n Precompiling assets.\n"
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/support/precompile_assets.rb:23:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      Webpacker.compile
      ^^^^^^^^^^^^^^^^^
spec/system/support/precompile_assets.rb:24:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body end.
spec/system/support/precompile_assets.rb:24:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.

1488 files inspected, 220 offenses detected, 218 offenses corrected, 1 more offense can be corrected with `rubocop -A`
2023-09-01 08:55:56 +09:00
Neal Chambers
afdddc9237 Safely autocorrect Style/FileRead
Inspecting 1488 files
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C............................................................................................................................................................................

Offenses:

lib/tasks/karma.rake:33:15: C: [Corrected] Style/FileRead: Use File.read.
    unit_js = File.open('config/ng-test.conf.js', 'r').read
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/upload_sanitizer_spec.rb:13:41: C: [Corrected] Style/FileRead: Use File.read.
    let(:service) { UploadSanitizer.new(File.open(upload).read) }
                                        ^^^^^^^^^^^^^^^^^^^^^^

1488 files inspected, 2 offenses detected, 2 offenses corrected
2023-09-01 08:55:56 +09:00
Neal Chambers
4cce85378c Safely autocorrect Rails/WhereNot
Inspecting 1488 files
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

lib/reporting/reports/users_and_enterprises/base.rb:27:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: nil }) instead of manually constructing negated SQL in where.
            .where("enterprises.id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:39:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprise_id: nil) instead of manually constructing negated SQL in where.
            .where("enterprise_id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:40:14: C: [Corrected] Rails/WhereNot: Use where.not(user_id: nil) instead of manually constructing negated SQL in where.
            .where("user_id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1488 files inspected, 3 offenses detected, 3 offenses corrected
2023-09-01 08:55:56 +09:00
Neal Chambers
f71ee22d2f Regenerate Rubocop's TODO file 2023-09-01 08:55:56 +09:00
filipefurtad0
e0031225d1 Covers order special instruction 2023-08-31 14:25:18 +01:00
filipefurtad0
3374c38d5c Covers order state - cancelled, resumed - changes 2023-08-31 14:25:18 +01:00
filipefurtad0
301c070fc3 Covers order currency change 2023-08-31 14:25:18 +01:00
filipefurtad0
2e72fe1bce Covers order number change 2023-08-31 14:25:18 +01:00
filipefurtad0
38eb84b1d8 Covers order total change 2023-08-31 14:25:18 +01:00
filipefurtad0
b0c362f75e Corrects description, if the order didn't change 2023-08-31 14:25:18 +01:00
filipefurtad0
79a38345e9 Passes order as argument
to invoice comparator
2023-08-31 14:25:18 +01:00
filipefurtad0
a223675e74 Covers shipping method change 2023-08-31 14:25:18 +01:00
filipefurtad0
0540548893 Adds coverage for included/added taxes
at the order-object level
2023-08-31 14:25:18 +01:00
filipefurtad0
8d382f3de4 Corrects description
for order-level, non-relevant attribute change
2023-08-31 14:25:18 +01:00
Maikel
67d5ffdc54 Merge pull request #11475 from filipefurtad0/uncomment_i18n_inflections_spec
Uncomments pluralize test
2023-08-31 17:20:35 +10:00
Maikel Linke
57b4f615e8 Fix DFC context in spec example 2023-08-31 17:06:20 +10:00
David Cook
63383e8ea1 Enable editing of variant price
Formatting of the price was copied from the existing bulk product screen.
2023-08-31 16:41:41 +10:00
David Cook
26d6dedd4d Fix FrozenString error
An error was apparent in specs when trying to assign a string as the price. It's not a problem when submitting the form in the browser, I don't know why.

But in any case, it shouldn't be trying to modify a variable passed as a parameter.
2023-08-31 16:41:41 +10:00
David Cook
b955cd8fee Enable editing of variant SKU
I'm not sure what the point of the product SKU was to be honest.. it will probably be removed in the product refactor.
2023-08-31 16:41:41 +10:00
David Cook
f69fc67d5e Refactor: using Rails form magic
Now we don't have to specify the field names on products, yay!

I tried desparately to get it working for the nested variant forms too, but sadly the form builder refuses to acknowledge the relationship. The form builder simply doesn't support a collection of objects in this way.

We could try creating a fake model similar to ProductSet that accepts_nested_attributes_for :products. But it woudl be better to create a custom form builder to do it.

Or, just manually specify field names for now!
2023-08-31 16:41:41 +10:00
David Cook
7f05a4913c Remove explicit index numbers from form names
I have to admit I don't fully understand why, but it seems to work, even though the rails guide says "only one level of arrayness is allowed (https://guides.rubyonrails.org/form_helpers.html#combining-them). Maybe it's ok here because it's not an array of arrays.

(I think this format is what the reflex spec was already testing).
2023-08-31 16:41:41 +10:00
David Cook
e17d16cb52 Enable editing of variant display_name
Best viewed with whitespace ignored.
Using Rails' nested attributes feature, which ModelSet already supports.
2023-08-31 16:41:41 +10:00
David Cook
5356e42efc Enable editing of product SKU 2023-08-31 16:41:41 +10:00
David Cook
9fe9d8557c Remove line-clamp for inputs
It doesn't work and we don't currently have a better solution for that.
2023-08-31 16:41:41 +10:00
David Cook
aff33b79ae Simplify form code
The form elements shouldn't need an `id` attribute.
2023-08-31 16:41:36 +10:00
Maikel Linke
514b8fa6ab Import DFC unit labels like bunch and jar 2023-08-31 16:27:55 +10:00
Maikel Linke
427d806b13 Remove ambiguous unit "cup"
The DFC doesn't actually specify which cup it means. I don't expect
anyone providing "cup" as unit to measure their produce and expect it to
calculate as a regular volume. It can just be seen as items.
2023-08-31 16:11:50 +10:00
Maikel Linke
5bfbf43a38 Spec bulk enterprise fee edit without row ids
It makes the spec robust to different sorting of the rows. It also hides
the knowledge of the full element ids.
2023-08-31 16:03:46 +10:00
Maikel Linke
bb336ff9c4 Avoid unnecessary requests in system specs
This spec was nested within another block that executed a form submit
which we don't actually need here. So I flattened the structure and
repeated the few missing lines of code. This speeds up the execution.

The fee type is important in the setup because it determines the order
of the fees on the page and we access the rows by their row index.

This commit is best viewed without whitespace changes.
2023-08-31 13:44:33 +10:00
Maikel Linke
1abbfc01d2 Stabilise enterprise fee spec
The problem here was that the second fee was created in a `let!` block
that came after a `before` block which visited the page. In some cases
it worked but sometimes the fee wasn't created yet when the page was
loaded. Form changes in the second row were not affecting the second fee
as intended.
2023-08-31 10:02:06 +10:00
Maikel Linke
50f7177a38 Use existing service to label weight&volume units
We still have the scale stored in two places but in our current system
that's part of a unit's "id".

If the DFC adds that value to its standard then we can use it for lookup
and don't need to repeat it.

* https://github.com/datafoodconsortium/taxonomies/issues/7
2023-08-31 09:48:24 +10:00
filipefurtad0
6bc8a1a850 Uncomments pluralize test 2023-08-30 22:57:46 +01:00
Maikel Linke
0da1b27795 Simplify code with association #supplied_variants
Rails makes it so easy.
2023-08-30 15:55:10 +10:00
Maikel Linke
01e1dc137e Simplify access of an enterprise's variants 2023-08-30 15:47:03 +10:00
Maikel
dea96fd3ab Merge pull request #11469 from openfoodfoundation/dependabot/bundler/rubocop-1.56.2
chore(deps-dev): bump rubocop from 1.56.1 to 1.56.2
2023-08-30 12:14:36 +10:00
Konrad
077bb41412 Merge pull request #11348 from abdellani/fix-non-empty-orders-in-cart-state-not-appearing
fix Non-empty orders in the cart state do not appear in orders page
2023-08-29 15:33:49 +02:00
David Cook
ff3802fe69 Merge pull request #11457 from filipefurtad0/renames_knapsack_nodes
Renames Knapsack nodes
2023-08-29 21:04:43 +10:00
dependabot[bot]
091544583f chore(deps-dev): bump rubocop from 1.56.1 to 1.56.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.1 to 1.56.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.56.1...v1.56.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-08-29 09:38:31 +00:00
David Cook
78585afc9c Fix format 2023-08-29 16:00:26 +10:00
filipefurtad0
0d1f3f82fd Balances build time
Two nodes were removed from models and three engines; these were and added to system_consumer and system_admin, respectively
2023-08-28 10:28:14 +01:00
filipefurtad0
3a6ca38432 Renames Knapsack nodes 2023-08-28 10:28:14 +01:00
Filipe
67fdc56270 Merge pull request #11427 from mkllnk/release-template
Generate all release note categories with labels
2023-08-28 10:04:57 +01:00
Maikel Linke
8114430248 Refactor DFC unit mapping for easier reading
I also updated the comments.
2023-08-28 17:13:04 +10:00
Maikel Linke
f96ab7c432 Import DFC bundle units like dozen or 6 pack 2023-08-28 17:13:04 +10:00
Maikel Linke
f096783098 Import all metric DFC units 2023-08-28 17:13:04 +10:00
Maikel Linke
43346e2671 Import imperial DFC units 2023-08-28 17:13:04 +10:00
Maikel Linke
9ddf536fa3 Import DFC milligram 2023-08-28 17:13:04 +10:00
Maikel Linke
5a8d95c443 Import DFC kilogram 2023-08-28 17:13:04 +10:00
Maikel Linke
996f3bb235 Spec current quantity unit conversion 2023-08-28 17:13:04 +10:00
Maikel Linke
96b79bce2d Encapsulate DFC-OFN data model bridge
Re-uses existing code and takes knowledge out of the controller.
2023-08-28 17:13:04 +10:00
Maikel Linke
9ab75e086a Use DFC Connector for SuppliedProduct update 2023-08-28 17:13:04 +10:00
Maikel Linke
faa112c3ae Spec DFC SuppliedProduct#update with new Prototype
I observed new data from the DFC Prototype. It now uses the DFC 1.8
ontology with the hasQuantity object.

It now also uses PUT requests for updates because PATCH is not as well
supported. Rails doesn't care though.

I couldn't observe a request for the CatalogItem yet because the
Prototype failed to send it.
2023-08-28 17:13:04 +10:00
Maikel
cf8d5a584e Merge pull request #11455 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.1.1
chore(deps-dev): bump jasmine-core from 5.1.0 to 5.1.1
2023-08-28 11:51:36 +10:00
Maikel
7e44c75456 Merge pull request #11453 from dacook/buu-labels
Buu labels
2023-08-28 11:50:35 +10:00
Maikel
86842847ad Merge pull request #11452 from dacook/flaky-spec-products_v3-11328
[Flaky] spec/system/admin/products_v3/products_spec.rb
2023-08-28 11:45:12 +10:00
Maikel
dd79761186 Merge pull request #11448 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.134.0
chore(deps): bump aws-sdk-s3 from 1.133.0 to 1.134.0
2023-08-28 11:43:31 +10:00
Maikel
0b869f2abe Merge pull request #11451 from mkllnk/flaky-voucher-specs
De-flake voucher specs by checking success
2023-08-28 11:16:43 +10:00
dependabot[bot]
00ea2e5b07 chore(deps-dev): bump jasmine-core from 5.1.0 to 5.1.1
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.0 to 5.1.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.1.0...v5.1.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-08-25 09:09:08 +00:00
David Cook
7d6ba2d31f Clean up unneeded override 2023-08-25 17:23:05 +10:00
David Cook
451513ad04 Markup labels as.. labels
This means you can click on the label name to select the field, and accessibility software can read the label name.  I was motivated to do this so that we could update the spec to use label text rather than IDs. But it seems we can't do that with tom-select.

I've updated the styles for all form labels (in admin_style_v3 toggle) to match the design.
2023-08-25 17:19:46 +10:00
Maikel Linke
200729f198 Show incomplete orders when sorting by name
An inner join with the billing address was hiding some orders when
sorting by billing address name. Telling Rails that those fields are
referenced triggers an outer left join including orders without billing
address.

But when the Bulk Order Management page sorts by `bill_address_lastname`
then Ransack does most of the magic, except that we need to override the
select in combination with distinct results.
2023-08-25 16:15:11 +10:00
David Cook
4d79cdb0ea Ensure records are created before visiting the page
'let!' is executed in the same way as 'before', so it matters which order they are defined in.

For contexts with a single example, I just put it straight into the example.
2023-08-25 16:09:52 +10:00
Maikel Linke
d8da808901 Resolve pending spec, reported issue is fixed 2023-08-25 15:48:31 +10:00
David Cook
ccafdc4494 Remove redundant code
bill_address is already joined in this query.
The class variable isn't needed outside this scope.

Arguably I think the condition on the select isn't needed; it wouldn't hurt to always select spree_addresses. But I'll try to avoid changing too much..
2023-08-25 15:48:31 +10:00
Mohamed ABDELLANI
04312b05c6 add orders without billing address to SearchOrders#fetch_orders' results 2023-08-25 15:48:31 +10:00
David Cook
4f9651f5c9 Wait for pagination message to update
Hopefully this fixes openfoodfoundation/openfoodnetwork#11328
2023-08-25 14:52:50 +10:00
Maikel Linke
1a95476634 Combine some voucher system specs to save time
It also simplifies the spec code a bit not having a shared example.
2023-08-25 13:56:41 +10:00
Maikel Linke
233171a9ce De-flake voucher specs by checking success
Vouchers are applied via a reflex and we need to check for success
before trying to navigate further. The new helper does this in a
consistent way.
2023-08-25 13:56:41 +10:00
Maikel Linke
4be38ba8da Remove redundant system spec
System specs are expensive. And this spec just looked for the visibility
of certain elements while other tests actually use them and therefore
verify their function much more thoroughly.
2023-08-25 13:56:41 +10:00
Maikel
7414b5cbc9 Merge pull request #11397 from rioug/11331-add-required-field-dcf-enterprise
Add required enterprise fields to DFC API
2023-08-25 11:44:49 +10:00
Maikel
56f4eca79e Update engines/dfc_provider/app/controllers/dfc_provider/addresses_controller.rb
Fix type in comment

Co-authored-by: David Cook <david@redcliffs.net>
2023-08-25 11:31:00 +10:00
Maikel
a7e2d23e3b Merge pull request #11449 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.6.0
chore(deps-dev): bump knapsack_pro from 5.4.1 to 5.6.0
2023-08-25 10:50:32 +10:00
Maikel Linke
467d72dc31 Test voucher UI with most common feature toggle
People want to test vouchers mainly on a per-enterprise basis.
Replicating this in the system spec makes sure that we are testing the
conditionals in views.
2023-08-25 10:19:17 +10:00
Maikel Linke
e12cf2aa4c Simplify feature check for multiple actors at once
I think that it's a valid case to check a feature toggle against the
user and an enterprise. You may want to check with only one user first,
then activate it for a whole enterprise and lastly activate the feature
globally.
2023-08-25 10:19:17 +10:00
Maikel Linke
0cc450e815 Allow Vouchers feature per enterprise
I also kept the per-user check to be backwards-compatible. Some
instances have that enabled already. And for early testing, you may want
to test with only one user first before all customer see it.
2023-08-25 10:19:17 +10:00
Maikel Linke
02edd829b9 Allow to admin vouchers if you know the URL
The generic FeatureToggleConstraint in routing knows about the current
user but not about the enterprise to edit. We could create a new custom
constraint for routing but it's much easier to handle permissions in the
controller. Let's keep routes simple.
2023-08-25 10:19:17 +10:00
David Cook
aea0a629ee Merge pull request #11425 from macanudo527/fix_rails_activerecordoverride
Fix Rails/ActiveRecordOverride
2023-08-25 09:22:05 +10:00
dependabot[bot]
5b25fa80a2 chore(deps-dev): bump knapsack_pro from 5.4.1 to 5.6.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.4.1 to 5.6.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.4.1...v5.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 23:01:05 +00:00
dependabot[bot]
61109259e4 chore(deps): bump aws-sdk-s3 from 1.133.0 to 1.134.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.133.0 to 1.134.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-08-24 23:00:22 +00:00
Maikel
54e8df7c88 Merge pull request #11443 from openfoodfoundation/dependabot/bundler/ffaker-2.22.0
chore(deps): bump ffaker from 2.21.0 to 2.22.0
2023-08-25 08:56:34 +10:00
Maikel
0441453469 Merge pull request #11439 from mkllnk/unflake-customer-report-spec
Report customers in deterministic order
2023-08-25 08:54:21 +10:00
Neal Chambers
2bfa51cbb1 Fix Rails/ActiveRecordOverride 2023-08-25 08:51:27 +10:00
filipefurtad0
a39c465692 Update all locales with the latest Transifex translations 2023-08-24 21:36:53 +01:00
Filipe
cc3b7c68ae Merge pull request #11208 from dacook/buu-editing-11059
[BUU] Change name of my products 🚧
2023-08-24 21:19:52 +01:00
Filipe
10bc2a3ee6 Merge pull request #11430 from abdellani/fix-updating-invoices-data
fix order invoice generator must update the latest invoice
2023-08-24 20:58:37 +01:00
dependabot[bot]
221eea227f chore(deps): bump ffaker from 2.21.0 to 2.22.0
Bumps [ffaker](https://github.com/ffaker/ffaker) from 2.21.0 to 2.22.0.
- [Release notes](https://github.com/ffaker/ffaker/releases)
- [Changelog](https://github.com/ffaker/ffaker/blob/main/Changelog.md)
- [Commits](https://github.com/ffaker/ffaker/compare/v2.21.0...v2.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 09:58:42 +00:00
Filipe
020276a248 Merge pull request #11418 from macanudo527/fix_rubocop_7
Fix Rails and Style Autocorrect Rubocop Errors
2023-08-24 10:29:45 +01:00
Filipe
c5e1444613 Merge pull request #11206 from macanudo527/fix_class_length
Add Form Object to Schedules Controller
2023-08-24 09:28:50 +01:00
Konrad
c90b244a96 Merge pull request #11415 from abdellani/snail-when-setting-unit-value-to-0
fix Snail when setting "0" in the unit value field
2023-08-24 10:04:26 +02:00
Konrad
6ec022b731 Merge pull request #11391 from rioug/11362-fix-error-creating-percentage-voucher
[Vouchers] fix error when creating a percentage voucher
2023-08-24 09:09:30 +02:00
Maikel Linke
1c3574ce79 Include address in DFC Enterprise endpoint 2023-08-24 16:51:36 +10:00
Maikel Linke
20b09b5352 Add DFC Address API endpoint 2023-08-24 16:20:13 +10:00
Gaetan Craig-Riou
a8d15154a2 Link address to enterprise
+ spec
2023-08-24 15:55:15 +10:00
Gaetan Craig-Riou
86bb77ab9f Add AddressBuilder
It will let us include address in the various DFC API endpoint
2023-08-24 15:55:15 +10:00
Gaetan Craig-Riou
f5fb760128 Update Enterprise request spec
Check all the attributes supported by the DFC connector
2023-08-24 15:55:14 +10:00
Maikel Linke
244b9abd21 Spec with given data included in examples
And use in-memory data where possible to speed up specs.
2023-08-24 15:55:14 +10:00
Maikel Linke
5d05c3c0f1 DRY DFC enterprise spec 2023-08-24 15:55:14 +10:00
Gaetan Craig-Riou
18565f4a85 Add all the enterpise attributes supported by DFC connector 2023-08-24 15:55:14 +10:00
David Cook
3c617a51e0 Merge pull request #11433 from openfoodfoundation/dependabot/bundler/mime-types-3.5.1
chore(deps): bump mime-types from 3.5.0 to 3.5.1
2023-08-24 15:11:09 +10:00
David Cook
a96b712eb2 Merge pull request #11432 from openfoodfoundation/dependabot/bundler/activerecord-import-1.5.0
chore(deps): bump activerecord-import from 1.4.1 to 1.5.0
2023-08-24 15:10:02 +10:00
David Cook
4a877fe019 Merge pull request #11426 from mkllnk/style-has-many
Allow has_and_belongs_to_many to reduce code
2023-08-24 15:03:17 +10:00
dependabot[bot]
f0dce7765c chore(deps): bump activerecord-import from 1.4.1 to 1.5.0
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.4.1 to 1.5.0.
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.4.1...v1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 02:54:17 +00:00
Maikel
79211bd856 Merge pull request #11438 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.133.0
chore(deps): bump aws-sdk-s3 from 1.132.1 to 1.133.0
2023-08-24 12:52:39 +10:00
Maikel
fba55fe9fd Merge pull request #11437 from openfoodfoundation/dependabot/bundler/rails-7.0.7.2
chore(deps): bump rails from 7.0.7 to 7.0.7.2
2023-08-24 12:51:08 +10:00
Maikel
d6572d9fde Merge pull request #11434 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.4.1
chore(deps-dev): bump knapsack_pro from 5.3.5 to 5.4.1
2023-08-24 12:46:33 +10:00
Neal Chambers
a363f88f2c Put Subscriptions back into Schedules Controller 2023-08-24 09:18:35 +09:00
Neal Chambers
7eab4d64ba Update .rubocop_todo.yml 2023-08-24 09:17:55 +09:00
Neal Chambers
134cbb4f04 Add Form Object to Fix Metrics/ClassLength 2023-08-24 09:17:53 +09:00
David Cook
a8d37d0899 Apply suggestions from code review
Rails is clever enough to not query the database without ids

Co-authored-by: Maikel <maikel@email.org.au>
2023-08-24 08:48:27 +10:00
Filipe
1021fd94b5 Merge pull request #11419 from openfoodfoundation/dependabot/bundler/stripe-9.0.0
chore(deps): bump stripe from 8.6.0 to 9.0.0
2023-08-23 17:35:29 +01:00
Mohamed ABDELLANI
928494af23 use Invoice#latest to fetch the most recent invoice 2023-08-23 11:57:30 +01:00
Mohamed ABDELLANI
f9e6f8bfa5 fix existing tests 2023-08-23 11:50:33 +01:00
dependabot[bot]
cd9bf6a62e chore(deps): bump stripe from 8.6.0 to 9.0.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 8.6.0 to 9.0.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v8.6.0...v9.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 11:42:43 +01:00
Maikel Linke
4c3d619260 Report customers in deterministic order
The result could be random before which led to a flaky spec. I could
have adjusted the spec but I thought that it may be better UX as well to
be deterministic, especially when exporting into spreadsheets.
2023-08-23 17:03:30 +10:00
Maikel Linke
226d270cc1 Remove now obsolete comment 2023-08-23 14:30:46 +10:00
Maikel Linke
58fc9fc8bb Update symbol for technical changes 2023-08-23 14:29:52 +10:00
Maikel
7e55421ab8 Convey feature toggle release category more clearly
Co-authored-by: David Cook <david@redcliffs.net>
2023-08-23 12:38:49 +10:00
dependabot[bot]
ea46d15ad4 chore(deps): bump aws-sdk-s3 from 1.132.1 to 1.133.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.132.1 to 1.133.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-08-23 02:28:35 +00:00
dependabot[bot]
752d77110d chore(deps): bump rails from 7.0.7 to 7.0.7.2
Bumps [rails](https://github.com/rails/rails) from 7.0.7 to 7.0.7.2.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.0.7...v7.0.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-08-23 02:28:07 +00:00
Maikel
57c44ffc72 Merge pull request #11429 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.4.2
chore(deps): bump newrelic_rpm from 9.4.1 to 9.4.2
2023-08-23 12:24:53 +10:00
Maikel
9bfb59d45f Merge pull request #11428 from openfoodfoundation/dependabot/bundler/rubocop-1.56.1
chore(deps-dev): bump rubocop from 1.56.0 to 1.56.1
2023-08-23 12:23:43 +10:00
Mohamed ABDELLANI
c689e2da8b remove ToS link on mails if ToS file is not set 2023-08-22 11:33:04 +01:00
Mohamed ABDELLANI
93c2cfd6c0 hide ToS from footer if the file is not set 2023-08-22 11:27:20 +01:00
Konrad
3aca33b8a6 Merge pull request #11230 from macanudo527/fix_products_controller
Add Query Object to Product Model to Fix Metrics/ClassLength
2023-08-22 11:38:09 +02:00
Mohamed ABDELLANI
b082475c35 update product's unit_value validation 2023-08-22 10:28:27 +01:00
Mohamed ABDELLANI
423163c4e9 hide agree to the ToS when not ToS file is set 2023-08-22 10:22:26 +01:00
Mohamed ABDELLANI
d47b47627c tos_accepted? returns true if the ToS file is not set 2023-08-22 10:22:26 +01:00
dependabot[bot]
067ddb7bcd chore(deps-dev): bump knapsack_pro from 5.3.5 to 5.4.1
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.5 to 5.4.1.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.5...v5.4.1)

---
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-08-22 09:04:55 +00:00
dependabot[bot]
238249e8ec chore(deps): bump mime-types from 3.5.0 to 3.5.1
Bumps [mime-types](https://github.com/mime-types/ruby-mime-types) from 3.5.0 to 3.5.1.
- [Changelog](https://github.com/mime-types/ruby-mime-types/blob/main/History.md)
- [Commits](https://github.com/mime-types/ruby-mime-types/compare/v3.5.0...v3.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 09:03:13 +00:00
Mohamed ABDELLANI
a896d414c2 optimize system test 2023-08-22 09:16:47 +01:00
Mohamed ABDELLANI
3ab288f435 fix product's unit value validation 2023-08-22 09:16:47 +01:00
Mohamed ABDELLANI
d4dbc0adb5 fix unit_value initialization on the product duplicator 2023-08-22 09:16:47 +01:00
Mohamed ABDELLANI
a9e4159839 validate unit_value > 0 on product model 2023-08-22 09:16:47 +01:00
David Cook
2edf504d65 Ignore long classes for now
As much as I hate to add to this list, this is still a work in progress so it's not worth refactoring at this point.
2023-08-22 11:51:05 +10:00
David Cook
b0e77df226 Style form actions area 2023-08-22 11:51:05 +10:00
David Cook
fccde964bf Enable 'medium' style for reset buttons 2023-08-22 11:46:56 +10:00
David Cook
7bf79441c8 Update link colours to match new design 2023-08-22 11:40:58 +10:00
David Cook
3cc5d7ba1d Copy form styles to v3 2023-08-22 11:40:58 +10:00
David Cook
37d1113e4c Align row headers with input contents
Inputs add extra padding, so we add the same padding to the header. Using an opt-in class, because I think we won't want this on all columns.
2023-08-22 11:40:58 +10:00
David Cook
8440c44a6f Remove unused style 2023-08-22 11:40:58 +10:00
David Cook
2b09ec7c21 [fixup] Left line for row hover 2023-08-22 11:40:58 +10:00
David Cook
be24247df2 [wip] Left line for row hover
But it's not perfect. Can we use a pseudo element instead?
2023-08-22 11:40:58 +10:00
David Cook
565ea23175 Hide borders from inputs until hover 2023-08-22 11:40:58 +10:00
David Cook
ef63c520c0 Aggregate errors 2023-08-22 11:40:58 +10:00
David Cook
a70f392654 Show error messages
It's kinda hard to test reflexes..
2023-08-22 11:40:58 +10:00
David Cook
a0dba001bc Attempt to save all records in bulk update
Before, it would abort after the first invalid record, and it doesn't tell you about the others. This way you find out about all at once.

This affects the existing Bulk Edit Products screen, and can result in longer error messages than before. But I would argue that's a good thing.

I think this is technically optional for BUU at this point, but a helpful improvement.
2023-08-22 11:40:58 +10:00
David Cook
71c36585bc Retain order when saving.
Perhaps this should be tested in the system spec too ("I can rename a product and still see it after saving"). But I'd like to find the compromise to avoid bulking up system specs too much. I think it's covered well enough by the reflex spec?
2023-08-22 11:40:58 +10:00
David Cook
6ffe1ec1ad Retain the order of products in the collection 2023-08-22 11:40:58 +10:00
David Cook
ae3cd6f7e0 Add bulk_update product form for product name
(For now at least,) we use one big standard Rails form, and ModelSet to update each record.
Submitting with Reflex allows us to manage the loading state along with the rest of the page (although I would rather use the built in HTTP POST standard).

Aria-label makes it a bit easier for testing (and accessibility software of course!). Technically it should have been aria-labelledby="id_of_column_header" but that would have resulted in more HTML and processing, which seemed silly.

Best viewed with whitespace ignored.
2023-08-22 11:40:58 +10:00
David Cook
a98242e5b4 Capybara: enable_aria_label 2023-08-22 11:40:58 +10:00
David Cook
e37a499125 Merge pull request #11383 from jibees/11274-buu-as-a-single-producer-i-should-not-be-able-to-see-the-producer-dropdown
🚧 Products V3: Do not display "Producers" selector if only one is possible
2023-08-22 11:33:12 +10:00
Maikel Linke
31d87ca087 Show producer filter only when multiple options
Also introducing a view spec here because the code was incorrectly
refactored before. The execution of the view spec takes only 100ms
which is much faster than a system spec.
2023-08-22 10:00:06 +10:00
Jean-Baptiste Bellet
6582a875c6 Do not display "Producers" selector if only one is possible
Fix #11274

Co-Authored-By: David Cook <david@redcliffs.net>
2023-08-22 10:00:06 +10:00
David Cook
71b297b5b5 Merge pull request #11417 from jibees/11410-go-back-to-top-after-selecting-a-page-in-pagination
🚧 BUU: Once products are loaded, scroll higher, ie. just above filters
2023-08-22 09:20:31 +10:00
Konrad
391d06130d Merge pull request #11395 from duleorlovic/google-map-region
Add Google map region parameter
2023-08-21 18:14:56 +02:00
Mohamed ABDELLANI
aaf1d22ccc fix order invoice generator must update the latest invoice 2023-08-21 16:10:05 +01:00
dependabot[bot]
397f365fe6 chore(deps): bump newrelic_rpm from 9.4.1 to 9.4.2
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.4.1 to 9.4.2.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.4.1...9.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 09:28:35 +00:00
dependabot[bot]
c97b5b3693 chore(deps-dev): bump rubocop from 1.56.0 to 1.56.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.0 to 1.56.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.56.0...v1.56.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-08-21 09:27:48 +00:00
Maikel
af73720157 Merge pull request #11423 from openfoodfoundation/dependabot/bundler/puma-6.3.1
chore(deps): bump puma from 6.3.0 to 6.3.1
2023-08-21 14:04:20 +10:00
Maikel Linke
2917e2f849 Generate all release note categories with labels
If reviewers add the right labels to pull requests then the release
note categories can be generated automatically.
2023-08-21 10:39:52 +10:00
Maikel Linke
ff18270898 Allow has_and_belongs_to_many to reduce code
The Rails/HasAndBelongsToMany rule wants model classes for all
many-to-many relationship tables in the database. But our team thinks
that it's useful to declare has_and_belongs_to_many relationships which
don't require an additional model.
2023-08-21 10:12:33 +10:00
Neal Chambers
0b6b750706 Clarify Product Scope Query Spec 2023-08-20 13:01:34 +09:00
Neal Chambers
fc47c57603 Add helper method to products controller and Use query object 2023-08-20 13:00:39 +09:00
Neal Chambers
9e82ab8a0f Remove query scopes from product model 2023-08-20 13:00:39 +09:00
Neal Chambers
c125c42a6d Add Tests for Product Scope Query 2023-08-20 13:00:39 +09:00
Neal Chambers
a867f7c543 Add Product Scope Query 2023-08-20 13:00:36 +09:00
Maikel Linke
eb204c9e5b Style HashSyntax and reduce line length 2023-08-20 12:33:43 +09:00
Maikel Linke
e0acc25808 Fix subscription spec and add more coverage
One spec was only passing due to a bug. The setup wasn't complete and
despite the variant being unavailable in the order cycle it was reported
as being available. The order cycle has now been set up correctly.

Another spec was added to cover an edge case lead to a bug before this
pull request. When all subscription items where unavailable, all were
marked as available.
2023-08-20 12:33:43 +09:00
Neal Chambers
bc559b966c Safely autocorrect Style/FetchEnvVar
Inspecting 1483 files
..............................................................................................................................................................C.............................................................................................................................................................................CC.............................................................................................................................................................................C.................................................................................................................................................................................................................................................................................................................................................................C.................................................................................C..............................................................................................................................................................................................C.....................................................................................................................................................................................................................................C......................................................................................................................

Offenses:

app/helpers/discourse_helper.rb:9:5: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('DISCOURSE_URL') or ENV.fetch('DISCOURSE_URL', nil) instead of ENV['DISCOURSE_URL'].
    ENV['DISCOURSE_URL']
    ^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/configuration.rb:35:10: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('RAILS_CACHE_ID') or ENV.fetch('RAILS_CACHE_ID', nil) instead of ENV['RAILS_CACHE_ID'].
        [ENV['RAILS_CACHE_ID'], self.class.name, name].flatten.join('::').underscore
         ^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable.rb:84:10: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch("RAILS_CACHE_ID") or ENV.fetch("RAILS_CACHE_ID", nil) instead of ENV["RAILS_CACHE_ID"].
        [ENV["RAILS_CACHE_ID"], self.class.name, name, id].join('::').underscore
         ^^^^^^^^^^^^^^^^^^^^^
app/services/default_country.rb:13:40: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch("DEFAULT_COUNTRY_CODE") or ENV.fetch("DEFAULT_COUNTRY_CODE", nil) instead of ENV["DEFAULT_COUNTRY_CODE"].
    Spree::Country.cached_find_by(iso: ENV["DEFAULT_COUNTRY_CODE"]) || Spree::Country.first
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/default_country.rb:13:73: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    Spree::Country.cached_find_by(iso: ENV.fetch("DEFAULT_COUNTRY_CODE",
                                                                        ^
app/services/default_country.rb:13:101: C: [Corrected] Layout/LineLength: Line is too long. [102/100]
    Spree::Country.cached_find_by(iso: ENV.fetch("DEFAULT_COUNTRY_CODE", nil)) || Spree::Country.first
                                                                                                    ^^
app/services/default_country.rb:14:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
nil)) || Spree::Country.first
^^^
spec/base_spec_helper.rb:51:49: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch("SITE_URL") or ENV.fetch("SITE_URL", nil) instead of ENV["SITE_URL"].
ActionMailer::Base.default_url_options[:host] = ENV["SITE_URL"]
                                                ^^^^^^^^^^^^^^^
spec/controllers/spree/credit_cards_controller_spec.rb:8:20: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('STRIPE_SECRET_TEST_API_KEY') or ENV.fetch('STRIPE_SECRET_TEST_API_KEY', nil) instead of ENV['STRIPE_SECRET_TEST_API_KEY'].
    let(:secret) { ENV['STRIPE_SECRET_TEST_API_KEY'] }
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/order_balance_spec.rb:48:70: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      expect(order_balance.display_amount).to eq(Spree::Money.new(20,
                                                                     ^
spec/models/order_balance_spec.rb:48:81: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('currency') or ENV.fetch('currency', nil) instead of ENV['currency'].
      expect(order_balance.display_amount).to eq(Spree::Money.new(20, currency: ENV['currency']))
                                                                                ^^^^^^^^^^^^^^^
spec/models/order_balance_spec.rb:48:101: C: [Corrected] Layout/LineLength: Line is too long. [108/100]
      expect(order_balance.display_amount).to eq(Spree::Money.new(20, currency: ENV.fetch('currency', nil)))
                                                                                                    ^^^^^^^^
spec/models/order_balance_spec.rb:49:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
currency: ENV.fetch('currency', nil)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/order_balance_spec.rb:49:98: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                                                                  currency: ENV.fetch('currency',
                                                                                                 ^
spec/models/order_balance_spec.rb:49:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
                                                                  currency: ENV.fetch('currency', nil)))
                                                                                                    ^^^^
spec/models/order_balance_spec.rb:50:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
nil)))
^^^
spec/support/vcr_setup.rb:10:50: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('STRIPE_SECRET_TEST_API_KEY') or ENV.fetch('STRIPE_SECRET_TEST_API_KEY', nil) instead of ENV['STRIPE_SECRET_TEST_API_KEY'].
  config.filter_sensitive_data('<HIDDEN_KEY>') { ENV['STRIPE_SECRET_TEST_API_KEY'] }
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/vcr_setup.rb:11:55: C: [Corrected] Style/FetchEnvVar: Use ENV.fetch('STRIPE_CUSTOMER') or ENV.fetch('STRIPE_CUSTOMER', nil) instead of ENV['STRIPE_CUSTOMER'].
  config.filter_sensitive_data('<HIDDEN_CUSTOMER>') { ENV['STRIPE_CUSTOMER'] }
                                                      ^^^^^^^^^^^^^^^^^^^^^^

1483 files inspected, 18 offenses detected, 18 offenses corrected
2023-08-20 12:33:43 +09:00
Neal Chambers
fd795d8513 Safely autocorrect Style/BlockComments
Inspecting 1483 files
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C......................................................

Offenses:

spec/system/admin/tag_rules_spec.rb:209:1: C: [Corrected] Style/BlockComments: Do not use block comments.
=begin ...
^^^^^^
spec/system/admin/tag_rules_spec.rb:217:101: C: Layout/LineLength: Line is too long. [103/100]
      #       expect(default_fsm_tag_rule.preferred_matched_shipping_methods_visibility).to eq "hidden"
                                                                                                    ^^^
spec/system/admin/tag_rules_spec.rb:241:1: C: [Corrected] Layout/CommentIndentation: Incorrect indentation detected (column 0 instead of 6).
#       expect(foc_tag_rule.preferred_matched_order_cycles_visibility).to eq "hidden"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1483 files inspected, 3 offenses detected, 2 offenses corrected
2023-08-20 12:33:43 +09:00
Neal Chambers
06e217c527 Safely autocorrect Rails/WhereNot
Inspecting 1483 files
........................................................................................................................C..................................................................................................................C...........CC.C..........................................C......C..........C.........................C......................CC..........C........................................................................................................................C.......................................................................................................C........................................................C...........................................................................................................................................C......................................C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/spree/admin/products_controller.rb:183:11: C: [Corrected] Rails/WhereNot: Use where.not(spree_variants: { import_date: nil }) instead of manually constructing negated SQL in where.
          where('spree_variants.import_date IS NOT NULL').
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/concerns/permalink_generator.rb:37:26: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
      scope_with_deleted.where('id != ?', id)
                         ^^^^^^^^^^^^^^^^^^^^
app/models/concerns/permalink_generator.rb:37:40: C: [Corrected] Style/HashSyntax: Omit the hash value.
      scope_with_deleted.where.not(id: id)
                                       ^^
app/models/enterprise.rb:152:7: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: ready_enterprises }) instead of manually constructing negated SQL in where.
      where("enterprises.id NOT IN (?)", ready_enterprises)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:158:31: C: [Corrected] Rails/WhereNot: Use where.not(sells: 'none') instead of manually constructing negated SQL in where.
  scope :is_distributor, -> { where('sells != ?', 'none') }
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:479:17: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
    dups = dups.where('id != ?', id) unless new_record?
                ^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:534:43: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: self }) instead of manually constructing negated SQL in where.
    enterprises = owner.owned_enterprises.where('enterprises.id != ?', self)
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:583:7: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: id }) instead of manually constructing negated SQL in where.
      where('enterprises.id != ?', id).
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_fee.rb:40:24: C: [Corrected] Rails/WhereNot: Use where.not(spree_calculators: { type: PER_ORDER_CALCULATORS }) instead of manually constructing negated SQL in where.
    joins(:calculator).where('spree_calculators.type NOT IN (?)', PER_ORDER_CALCULATORS)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_relationship.rb:78:19: C: [Corrected] Rails/WhereNot: Use where.not(name: perms) instead of manually constructing negated SQL in where.
      permissions.where('name NOT IN (?)', perms).destroy_all
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/product_import/inventory_reset_strategy.rb:27:16: C: [Corrected] Rails/WhereNot: Use where.not(id: excluded_items_ids) instead of manually constructing negated SQL in where.
      relation.where('id NOT IN (?)', excluded_items_ids)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/proxy_order.rb:19:25: C: [Corrected] Rails/WhereNot: Use where.not(proxy_orders: { canceled_at: nil }) instead of manually constructing negated SQL in where.
  scope :canceled, -> { where('proxy_orders.canceled_at IS NOT NULL') }
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/credit_card.rb:26:39: C: [Corrected] Rails/WhereNot: Use where.not(gateway_customer_profile_id: nil) instead of manually constructing negated SQL in where.
    scope :with_payment_profile, -> { where('gateway_customer_profile_id IS NOT NULL') }
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/product.rb:166:9: C: [Corrected] Rails/WhereNot: Use where.not(order_cycles: { id: nil }) instead of manually constructing negated SQL in where.
        where('order_cycles.id IS NOT NULL')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:94:30: C: [Corrected] Rails/WhereNot: Use where.not(deleted_at: nil) instead of manually constructing negated SQL in where.
    scope :deleted, lambda { where('deleted_at IS NOT NULL') }
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:165:43: C: [Corrected] Rails/WhereNot: Use where.not(spree_prices: { amount: nil }) instead of manually constructing negated SQL in where.
                                          where('spree_prices.amount IS NOT NULL').
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/zone.rb:141:19: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
      Spree::Zone.where('id != ?', id).update_all(default_tax: false) if default_tax
                  ^^^^^^^^^^^^^^^^^^^^
app/models/spree/zone.rb:141:33: C: [Corrected] Style/HashSyntax: Omit the hash value.
      Spree::Zone.where.not(id: id).update_all(default_tax: false) if default_tax
                                ^^
app/models/variant_override.rb:32:7: C: [Corrected] Rails/WhereNot: Use where.not(variant_overrides: { import_date: nil }) instead of manually constructing negated SQL in where.
      where('variant_overrides.import_date IS NOT NULL').
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/cap_quantity.rb:45:22: C: [Corrected] Rails/WhereNot: Use where.not(variant_id: available_variants_for.select(&:id)) instead of manually constructing negated SQL in where.
    order.line_items.where('variant_id NOT IN (?)', available_variants_for.select(&:id))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/catalog/app/services/catalog/product_import/products_reset_strategy.rb:32:18: C: [Corrected] Rails/WhereNot: Use where.not(spree_variants: { id: excluded_items_ids }) instead of manually constructing negated SQL in where.
        relation.where('spree_variants.id NOT IN (?)', excluded_items_ids)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/app/services/order_management/subscriptions/proxy_order_syncer.rb:78:18: C: [Corrected] Rails/WhereNot: Use where.not(order_cycle_id: order_cycle_ids) instead of manually constructing negated SQL in where.
        orphaned.where('order_cycle_id NOT IN (?)', order_cycle_ids)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:27:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: nil }) instead of manually constructing negated SQL in where.
            .where("enterprises.id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:39:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprise_id: nil) instead of manually constructing negated SQL in where.
            .where("enterprise_id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:40:14: C: [Corrected] Rails/WhereNot: Use where.not(user_id: nil) instead of manually constructing negated SQL in where.
            .where("user_id IS NOT NULL")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/anonymize_data.rake:50:16: C: [Corrected] Rails/WhereNot: Use where.not(user_id: nil) instead of manually constructing negated SQL in where.
      Customer.where("user_id IS NOT NULL")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1483 files inspected, 26 offenses detected, 26 offenses corrected
2023-08-20 12:33:43 +09:00
Konrad
241239ac68 Merge pull request #11379 from dacook/respond_to-not_found
Respond to all formats for "not found" error
2023-08-18 18:47:09 +02:00
Konrad
0dc8996701 Merge pull request #11295 from Matt-Yorkley/scope-error
Remove product display_as cell
2023-08-18 18:16:16 +02:00
Konrad
df7d42a420 Merge pull request #11352 from abdellani/remove-dead-code-bulk-invoice
Remove dead code related to bulk invoice printing
2023-08-18 18:14:01 +02:00
Matt-Yorkley
2b9b79c828 Remove product display_as cell
This was attempting to reference the master variant, which is now gone. Fixes an Angular scope error.
2023-08-18 17:38:36 +02:00
Konrad
f3b09508ff Merge pull request #11347 from abdellani/fix-edit-order-button
fix cancel order button
2023-08-18 17:07:42 +02:00
Konrad
d8bc479a70 Merge pull request #11387 from jibees/10957-missing-translation-invalid-url
Admin, White Label: add translation for invalid URL in white label context
2023-08-18 15:59:39 +02:00
dependabot[bot]
fcb3a74b64 chore(deps): bump puma from 6.3.0 to 6.3.1
Bumps [puma](https://github.com/puma/puma) from 6.3.0 to 6.3.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.3.0...v6.3.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-08-18 09:10:32 +00:00
Jean-Baptiste Bellet
2abfa623f0 Once products start loading, scroll higher, ie. just above filters
can see the loading spinner then
2023-08-18 10:20:10 +02:00
jibees
5395bc56f8 Merge pull request #11416 from jibees/11197-buu-no-results-page-and-number-of-results-tweaks
🚧 BUU: No results page and number of results tweaks
2023-08-18 10:14:09 +02:00
Jean-Baptiste Bellet
06fccd8618 Totally hide input above its container 2023-08-18 09:46:57 +02:00
Jean-Baptiste Bellet
47115a0daf Change default label for searched products 2023-08-18 09:46:57 +02:00
Jean-Baptiste Bellet
721baa4d3f Increase button size 2023-08-18 09:46:57 +02:00
Jean-Baptiste Bellet
117c373985 Add "remove-sign" icon before text in disruptive button 2023-08-18 09:46:57 +02:00
Jean-Baptiste Bellet
d27b2084ed Do not underline text when it's a button 2023-08-18 09:46:56 +02:00
Jean-Baptiste Bellet
e4479e7935 Increase button height when no result 2023-08-18 09:46:56 +02:00
Jean-Baptiste Bellet
f5e7738c78 Introduce relaxed, regular and condensed button for specify height 2023-08-18 09:46:56 +02:00
Jean-Baptiste Bellet
5de0d79ca2 Increase distance from search container to 136px
116px + 20px (gap) = 136px
2023-08-18 09:46:56 +02:00
Jean-Baptiste Bellet
4219d0aa08 Change font size and weight 2023-08-18 09:46:56 +02:00
Maikel Linke
0acdf5833f Update all locales with the latest Transifex translations 2023-08-18 15:54:00 +10:00
David Cook
01f0de2f4e Merge pull request #11405 from macanudo527/fix_rubocop_rails_errors
Fix rubocop rails errors
2023-08-18 11:54:17 +10:00
David Cook
7a04f63d62 Merge pull request #11407 from jibees/10878-buu-pagination-tweaks
🚧 BUU: Pagination tweaks
2023-08-18 09:25:55 +10:00
jibees
e82ff80582 Merge pull request #11420 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.4.1
chore(deps): bump newrelic_rpm from 9.4.0 to 9.4.1
2023-08-17 13:46:47 +02:00
dependabot[bot]
47ca35c38e chore(deps): bump newrelic_rpm from 9.4.0 to 9.4.1
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.4.0 to 9.4.1.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.4.0...9.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-17 09:28:40 +00:00
Neal Chambers
fe5288c015 Update .rubocop_todo.yml 2023-08-17 16:45:52 +09:00
Neal Chambers
3c9afcf360 Fix Rails/CompactBlank 2023-08-17 16:43:13 +09:00
Neal Chambers
871a8e6f2c Fix Rails/Blank 2023-08-17 16:42:46 +09:00
Neal Chambers
b78bbd2629 Fix Rails/ApplicationController 2023-08-17 16:42:41 +09:00
Jean-Baptiste Bellet
fa4dda9976 Finally, remove disabled rule that is unused
We only display active link
2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
394e964b91 Specify for element that have href attr: the ones we want to hover 2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
e7d36ed772 Let link have the cursor: pointer by default, and specify only for current 2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
2405dfdaa3 Refine and adjust position of icon in button 2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
1a8a4ee72b Change size of pagination
"it becomes extremely long for big catalogues"
2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
66a106b1c9 hide pagination for single page catalogue
+ update specs then
2023-08-17 09:26:10 +02:00
Jean-Baptiste Bellet
3fb8726c6a Do not display arrows if they're disabled 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
b1ea77e611 Remove white background from dots 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
c252de87b6 Specify cursor in order to not be text 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
5fc4f7bdaf Design hover (like current) 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
9d8325c0d9 font weight to be 600 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
d914644c35 change not selected font color to $near-black, also for arrows 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
06af58e923 increase distance between arrows and numbers to be 36px 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
6e29dd95ef Increase distance between numbers to be 8px 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
a2da3c2f61 Better management of margin/gap between each button with flex display 2023-08-17 09:06:26 +02:00
Jean-Baptiste Bellet
9396e75806 Increase padding top and padding bottom 2023-08-17 09:06:26 +02:00
Maikel
5762492511 Merge pull request #11392 from dacook/release-template
Release template
2023-08-17 16:47:49 +10:00
Maikel
6377149e18 Merge pull request #11400 from jibees/buu-update/refactor-tests
🚧 BUU: refactor/improve testing
2023-08-17 16:32:00 +10:00
David Cook
a854dccf04 Simplify tag steps
Co-authored-by: Maikel <maikel@email.org.au>
2023-08-17 16:09:06 +10:00
Maikel
d0559d2a6c Merge pull request #11413 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.4.0
chore(deps): bump newrelic_rpm from 9.3.1 to 9.4.0
2023-08-17 15:36:28 +10:00
Maikel
27dcad205e Merge pull request #11337 from macanudo527/fix_rubocop_6
Fix autocorrect Rails Cops 2
2023-08-17 10:39:34 +10:00
jibees
132d2e792e Merge pull request #11406 from openfoodfoundation/dependabot/bundler/timecop-0.9.8
chore(deps-dev): bump timecop from 0.9.6 to 0.9.8
2023-08-16 17:07:56 +02:00
dependabot[bot]
21e38c424f chore(deps): bump newrelic_rpm from 9.3.1 to 9.4.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.3.1 to 9.4.0.
- [Release notes](https://github.com/newrelic/newrelic-ruby-agent/releases)
- [Changelog](https://github.com/newrelic/newrelic-ruby-agent/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/newrelic/newrelic-ruby-agent/compare/9.3.1...9.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 14:41:10 +00:00
jibees
afe05f1932 Merge pull request #11414 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.8
chore(deps): bump rails-i18n from 7.0.7 to 7.0.8
2023-08-16 16:40:05 +02:00
dependabot[bot]
33d5e8436f chore(deps): bump rails-i18n from 7.0.7 to 7.0.8
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.7 to 7.0.8.
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.7...v7.0.8)

---
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-08-16 09:49:57 +00:00
jibees
33fc5bd409 Merge pull request #11409 from dacook/script-update
Don't show extra red messages when gems missing
2023-08-16 09:01:20 +02:00
David Cook
9bef8b74f8 Merge pull request #11401 from jibees/some-buu-design-updates
🚧 BUU: some design updates + one small code fix
2023-08-16 11:41:33 +10:00
Maikel
fd7b00ac7f Merge pull request #11323 from mkllnk/dfc-import-context
Use known, statically cached DFC context
2023-08-16 11:35:57 +10:00
David Cook
b49de7d49e Simplify spec
What if Zucchini didn't appear at all? Better to test that the two products appear on the same page, in the correct order.
2023-08-16 11:13:54 +10:00
David Cook
412dac7556 Don't show extra red messages when gems missing
When a gem is missing, it looks like a big ugly error. But we don't need to see this, because bundle install will run next and tell us which gems its installing.

Bundle check isn't actually necessary because bundle install will handle this, but for some reason it's 300ms slower. So I chose to keep 'check' to help keep this script nice and quick.
2023-08-16 09:56:24 +10:00
David Cook
b320a1d289 Create release tag early for greater clarity
This way, it's clearer in the repo what is going to be released, and we don't need to copy/paste commit IDs.

([skip ci] because this branch only touches .md file)
2023-08-15 21:47:32 +10:00
David Cook
1cd87c170b Use new staging deployment method 2023-08-15 21:35:12 +10:00
David Cook
8b9d483227 Add more detailed notes for current process 2023-08-15 21:35:10 +10:00
Matt-Yorkley
70ba027603 Merge pull request #11221 from Matt-Yorkley/product-shipping-category
[Product Refactor] Shipping Category
2023-08-15 11:12:56 +01:00
dependabot[bot]
cd5c7e8fc7 chore(deps-dev): bump timecop from 0.9.6 to 0.9.8
Bumps [timecop](https://github.com/travisjeffery/timecop) from 0.9.6 to 0.9.8.
- [Changelog](https://github.com/travisjeffery/timecop/blob/master/History.md)
- [Commits](https://github.com/travisjeffery/timecop/compare/v0.9.6...v0.9.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-15 09:18:16 +00:00
David Cook
f4a6bec25d Code fix
Cache result.
2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
200550588a Be as clause as possible from native <select />
Still need to wrap/ellipsis selected item...
2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
0c11ea5868 Use tom-select to have a designed dropdown
Not sure this is the best solution, since it's not exactly the right usage of tom-select
2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
6fe069608c Re-adjust tom-select to match admin v3 style 2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
223d350b43 Use grid instead of flex in order to be more fixed and less flexible ;) 2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
2814368670 Adjust inside container to content without any padding 2023-08-15 08:36:50 +02:00
David Cook
1155bd42ea Reflex test to reveal collation sorting varies on different OS...
https://dba.stackexchange.com/questions/106964/why-is-my-postgresql-order-by-case-insensitive

Uncommented, the spec fails on macOS (BSD).. but succeeds in Ubuntu (Linux). Weird.
2023-08-15 08:36:22 +02:00
David Cook
0f086df12b Setup StimulusReflex testing [add gem]
Surprisingly, the StimulusReflex framework [doesn't have many resources for testing](https://docs.stimulusreflex.com/appendices/testing.html), but thankfully someone's made a gem.
2023-08-15 08:36:22 +02:00
David Cook
e816228959 Sort products by name in ascending order
The order is specified above in fetch_products. I'm guessing this line was unintentional?

Original requirment doesn't say ascending but I think it's safe to assume (issue#10694).
2023-08-15 08:36:22 +02:00
David Cook
6dbfb36e52 Spec: use url helpers
To be consistent with other specs.
2023-08-15 08:36:22 +02:00
David Cook
9a3820db4f Tidy up spec
Although 'describe' and 'context' are the same simple constructs to label groups of examples, to humans they mean:
 * Describe a particular domain of functionality
 * Context means a different environment, IE something has been set up differently (generally with before and/or let blocks)

Also the default 'before' is :each, so we don't need to specify it.
2023-08-15 08:36:22 +02:00
David Cook
757ba27908 Optimise spec: only create objects when needed
Moving the 'clear filters' and 'no results' tests up into the first context.
2023-08-15 08:36:22 +02:00
David Cook
2a4d5af552 Remove redundant test
This is already covered in the following test.
2023-08-15 08:36:21 +02:00
David Cook
8949f1dc2e Convert route to resource
I don't know why the route helper now has "index" in the name.
2023-08-15 08:36:21 +02:00
jibees
364ae5c0c6 Merge pull request #11404 from rioug/11402-invoice-data-generator-fix-flacky-test
Invoice data generator, fix flaky test
2023-08-15 08:34:53 +02:00
Gaetan Craig-Riou
5a2155aeb7 Use the same sorting when choosing a line item to update
The presenter uses order.sorted_line_items, so use the same method
when picking up the line item to update.
2023-08-15 11:33:02 +10:00
David Cook
2196cd5be8 Merge pull request #11381 from openfoodfoundation/release_v4.4.7
Update translations for release v4.4.7
2023-08-15 10:21:34 +10:00
David Cook
8b666c67d6 Fix typo
🤦 Always, always preview changes before committing.
2023-08-15 09:54:42 +10:00
David Cook
54328d7b98 Mention browser limitations 2023-08-15 09:53:39 +10:00
Matt-Yorkley
75f246109f Fix assignment of default shipping category in variant new/edit pages 2023-08-14 21:02:48 +01:00
Matt-Yorkley
811a8cde7f Use optional: false instead of validates: presence 2023-08-14 21:02:48 +01:00
Matt-Yorkley
97d9aadb69 Update specs 2023-08-14 21:02:48 +01:00
Matt-Yorkley
dea2adc3d6 Update EntryValidator 2023-08-14 21:02:48 +01:00
Matt-Yorkley
42d04b6581 Update OrderAvailableShippingMethods service 2023-08-14 21:02:47 +01:00
Matt-Yorkley
a712eac333 Update shipping_category in /lib and /engines 2023-08-14 21:02:47 +01:00
Matt-Yorkley
5e0e60dfd6 Update reports 2023-08-14 21:02:47 +01:00
Matt-Yorkley
724c08c94d Set default shipping_category if absent 2023-08-14 21:02:47 +01:00
Matt-Yorkley
c18c525d9f Save shipping category selection to new variant when creating a new product 2023-08-14 21:02:47 +01:00
Matt-Yorkley
e3c488306c Migrate data for shipping_category_id 2023-08-14 21:02:47 +01:00
Matt-Yorkley
eefc356472 Update shipping_category usage in admin pages 2023-08-14 21:02:47 +01:00
Matt-Yorkley
0c634cf04f Update shipping_category permitted attributes 2023-08-14 21:02:47 +01:00
Matt-Yorkley
57d6fa006c Update shipping_category association in models 2023-08-14 21:02:47 +01:00
Matt-Yorkley
e2caebc374 Add shipping_category to variants table 2023-08-14 21:00:02 +01:00
Neal Chambers
ec49065739 Reword image_exists? to use Rails.public_path 2023-08-14 17:29:11 +09:00
Neal Chambers
e5740a82bd Safely autocorrect Rails/StripHeredoc
Inspecting 1484 files
........................................................................................................................................................................................................................................................C.........................................................................................................................................CC...........................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/content_configuration.rb:74:48: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
  preference :footer_links_md, :text, default: <<-EOS.strip_heredoc
                                               ^^^^^^^^^^^^^^^^^^^^
app/queries/customers_with_balance.rb:23:5: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
    <<-SQL.strip_heredoc
    ^^^^^^^^^^^^^^^^^^^^
app/queries/outstanding_balance.rb:32:5: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
    <<-SQL.strip_heredoc
    ^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:71:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:84:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:96:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:109:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:119:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:135:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:151:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:161:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:168:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:182:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:192:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:208:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:218:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:228:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:235:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:253:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:274:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:289:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:310:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
            <<-JOIN_STRING.strip_heredoc
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:369:15: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
              <<-JOIN_STRING.strip_heredoc
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/truncate_data.rake:35:17: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
      message = <<-MSG.strip_heredoc
                ^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/truncate_data.rake:36:1: C: [Corrected] Layout/HeredocIndentation: Use 2 spaces for indentation in a heredoc.
      \n ...
^^^^^^^^

1484 files inspected, 25 offenses detected, 25 offenses corrected
2023-08-14 17:29:11 +09:00
Neal Chambers
94f1b89a9f Safely autocorrect Rails/RootPublicPath
Inspecting 1484 files
.............................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................C..........C..........................................................................................................................................................................................................................................................................................................C....................................................................................................................................................................C...................C.............................................................C.C.......C....................

Offenses:

app/controllers/concerns/request_timeouts.rb:19:22: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
               file: Rails.root.join("public/500.html"),
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/controller_helpers/common.rb:45:30: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
                       file: Rails.root.join("public/404.html"),
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/api/v0/product_images_controller_spec.rb:13:22: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
    let(:pdf_path) { Rails.root.join("public/Terms-of-service.pdf") }
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/api/v0/terms_and_conditions_controller_spec.rb:15:31: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
      let(:terms_file_path) { Rails.root.join("public/Terms-of-service.pdf") }
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/terms_of_service_file_spec.rb:6:25: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
  let(:pdf) { File.open(Rails.root.join("public/Terms-of-service.pdf")) }
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_product_update_spec.rb:907:37: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        attach_file 'image-upload', Rails.root.join("public/500.jpg"), visible: false
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprises/terms_and_conditions_spec.rb:27:30: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
      let(:original_terms) { Rails.root.join("public/Terms-of-service.pdf") }
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprises/terms_and_conditions_spec.rb:28:29: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
      let(:updated_terms) { Rails.root.join("public/Terms-of-ServiceUK.pdf") }
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/checkout_spec.rb:94:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        Rails.root.join("public/Terms-of-service.pdf"),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/embedded_groups_spec.rb:18:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        Rails.root.join("public/embedded-group-preview.html")
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/embedded_groups_spec.rb:26:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        Rails.root.join("public/embedded-group-preview.html")
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/split_checkout_spec.rb:986:35: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        let(:system_terms_path) { Rails.root.join("public/Terms-of-service.pdf") }
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/split_checkout_spec.rb:987:33: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
        let(:shop_terms_path) { Rails.root.join("public/Terms-of-ServiceUK.pdf") }
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1484 files inspected, 13 offenses detected, 13 offenses corrected
2023-08-14 17:29:11 +09:00
Neal Chambers
b60fd6b572 Safely autocorrect Rails/I18nLazyLookup
Inspecting 1484 files
.......................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/admin/proxy_orders_controller.rb:16:35: C: [Corrected] Rails/I18nLazyLookup: Use "lazy" lookup for the text used in controllers.
        render json: { errors: [t('admin.proxy_orders.cancel.could_not_cancel_the_order')] },
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/proxy_orders_controller.rb:25:35: C: [Corrected] Rails/I18nLazyLookup: Use "lazy" lookup for the text used in controllers.
        render json: { errors: [t('admin.proxy_orders.resume.could_not_resume_the_order')] },
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1484 files inspected, 2 offenses detected, 2 offenses corrected
2023-08-14 17:29:11 +09:00
Neal Chambers
aaf2181768 Safely autocorrect Rails/FilePath
Inspecting 1484 files
.............................................................................................................................................................................................................................................................................................................C.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C....................C.....................................................................................................................................................................................................................................................................C.........................................................................................................................................................................................................C...........................................................................................................................................................

Offenses:

app/models/product_import/product_importer.rb:290:35: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
      return unless @file.path == Rails.root.join('tmp', 'product_import').to_s
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:5: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
    "#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH)}/translations.js"
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:5: C: [Correctable] Style/RedundantInterpolation: Prefer to_s over string interpolation.
    "#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH, 'translations.js')}"
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:59: C: [Corrected] Style/StringLiteralsInInterpolation: Prefer single-quoted strings inside interpolations.
    "#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH, "translations.js")}"
                                                          ^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:25: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:25: C: [Correctable] Style/RedundantInterpolation: Prefer to_s over string interpolation.
  config.fixture_path = "#{Rails.root.join('spec/fixtures')}"
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:44: C: [Corrected] Style/StringLiteralsInInterpolation: Prefer single-quoted strings inside interpolations.
  config.fixture_path = "#{Rails.root.join("spec/fixtures")}"
                                           ^^^^^^^^^^^^^^^
spec/models/content_configuration_spec.rb:15:19: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').to_s.
      File.exist?(File.join(Rails.root, 'public', default_url))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/content_configuration_spec.rb:15:19: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
      File.exist?(Rails.root.join('public', default_url).to_s)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/downloads_helper.rb:7:5: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
    Rails.root.join("tmp", "capybara")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1484 files inspected, 10 offenses detected, 8 offenses corrected, 2 more offenses can be corrected with `rubocop -A`
2023-08-14 17:29:11 +09:00
Neal Chambers
c36728625d Regenerate Rubocop's TODO file 2023-08-14 17:29:08 +09:00
Maikel Linke
91e4fb18ed Use input labels in Voucher system spec
It's more robust, and closer to what the user sees and does. It's also
verifying that the labels are correctly connected to the inputs.
2023-08-14 12:46:13 +10:00
Maikel Linke
ba53f31309 Use new hash syntax in Voucher spec 2023-08-14 12:40:54 +10:00
Maikel Linke
160cdc7f8e Clarify Voucher request spec not a controller spec 2023-08-14 12:25:56 +10:00
Maikel Linke
4b0e910dff Simplify default values in Voucher form 2023-08-14 12:23:00 +10:00
Maikel Linke
efe2dfff8e Let Rails handle Voucher type building 2023-08-14 11:51:34 +10:00
Maikel Linke
4d5e1ffb3b Simplify VouchersController with single param name
The Voucher form now deals with a generic Voucher instead of a subclass
which makes the naming easier and is less confusing when changing types.
2023-08-14 11:39:59 +10:00
Mohamed ABDELLANI
8370d7ce83 Update app/views/spree/admin/shared/_order_links.html.haml
Co-authored-by: jibees <jb.bellet@gmail.com>
2023-08-13 13:12:56 +01:00
Dusan Orlovic
b360e2ffaa Add Google map region parameter 2023-08-13 08:56:04 +02:00
Konrad
99daab07b7 Merge pull request #11297 from mkllnk/require-belongs-to--part2
Require belongs_to associations by default
2023-08-12 17:09:03 +02:00
Matt-Yorkley
613802f477 Update stage.yml 2023-08-11 13:50:34 +01:00
Matt-Yorkley
99907dc3a6 Update stage.yml 2023-08-11 13:48:31 +01:00
Matt-Yorkley
7084d0cb40 Update stage.yml 2023-08-11 13:44:38 +01:00
Matt-Yorkley
e33b0af6fe Update stage.yml 2023-08-11 13:42:14 +01:00
Matt-Yorkley
6dfeecead1 Update stage.yml 2023-08-11 13:30:35 +01:00
Rachel Arnould
5afe45d922 Merge pull request #11382 from jibees/11273-buu-remove-new_products_page-feature-toggle
🔧 Remove `new_products_page` and all associated controllers/components/...
2023-08-11 11:43:49 +02:00
David Cook
5a96f285c1 Update release title 2023-08-11 16:24:11 +10:00
David Cook
1a58914e43 Categories release notes by dependencies label
https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
2023-08-11 16:13:22 +10:00
Gaetan Craig-Riou
06f986ff52 Allow for creating a voucher with either flat or percentage rate
In the scenario when you get an error when trying to create a
percentage voucher, on the subsequent try we would be dealing with
a "percentage rate voucher". The code now handle any type of voucher
2023-08-11 16:09:48 +10:00
Gaetan Craig-Riou
61e6d55872 Merge pull request #10821 from rioug/10727-vouchers-percentage-rate
[Vouchers] Percentage rate
2023-08-11 16:06:09 +10:00
Gaetan Craig-Riou
a2def2424c Add a comment around the use of safe_constantize
It triggers a Brakeman error that can be safely ignored
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
9c9a6234e1 Per review, clean up voucher specs
Add explicit 'order.item_total' to make specs more readable
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
054eac0822 Use a better describe
Co-authored-by: David Cook <david@redcliffs.net>
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
e6b53c0a42 Per review , Simplify creation of Voucher
We now check against known type to instanciate the correct voucher
instead of using a case
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
3f63cfbc27 Fix Rubocop warning 2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
e8b374d0f2 Remove left over comment 2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
2828bd098d Refactor VoucherAdjustment service
We are taking advantage of having a FlatRate and a PercentageRate
model to simplify the code a little
2023-08-11 15:41:34 +10:00
Gaetan Craig-Riou
29a38467d2 Fix admin pages to work with refactored vouchers 2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
46e04ca7ee Refactor voucher: 3 percentage rate voucher 2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
def594ab81 Refactor voucher: 2 FlatRate voucher 2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
204f3933d0 Refactor voucher: 1 base voucher class
Refactor voucher to use a single table inheritance. It will simplify the
code and remove a bunch of conditional
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
959e2308dd Add system specs for percentage based voucher
Similar to tax included in price scenario, adds a test for percentage
based voucher to check the adjustments are recalculated when needed.
Plus fix tax incluced in price specs to use new factory
2023-08-11 14:51:36 +10:00
Gaetan Craig-Riou
70bd714369 Finish calculation for percentage voucher
Add calculation when tax is not included in price
2023-08-11 14:51:36 +10:00
Gaetan Craig-Riou
cdb33aa0d0 Add calculation for percentage voucher
It include calculation for order with taxes included in the price
2023-08-11 14:30:48 +10:00
David Cook
e536393f02 Merge pull request #11389 from mkllnk/session_store
Remove ignored session store config
2023-08-11 14:27:44 +10:00
Gaetan Craig-Riou
cc9069e9c6 Add voucher type to admin screen
Plus specs
2023-08-11 14:19:26 +10:00
Gaetan Craig-Riou
619285ad4a Add voucher_type to voucher
And update related specs
voucher_type doesn't do anything for now.
2023-08-11 14:19:25 +10:00
Gaetan Craig-Riou
1be8daaf86 Add specs to cover re calculation
It is important that the calculated voucher adjustments don't change
if they are recalculated and it is equally important that they are
updated if the order has changed
2023-08-11 14:19:25 +10:00
David Cook
6ee6ad2b86 [fixup] Remove unnecessary template name
This was left over after trying different things to get this working.
2023-08-11 14:14:32 +10:00
Maikel
fc8e39987a Merge pull request #11385 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.132.1
chore(deps): bump aws-sdk-s3 from 1.132.0 to 1.132.1
2023-08-11 11:39:14 +10:00
Maikel Linke
7fe74e811e Remove ignored session store config
We set the session store in an initializer and therefore the development
config was overridden without having any effect.
2023-08-11 10:27:37 +10:00
Maikel Linke
a34a351cee Stabilise flaky spec with deterministic row order 2023-08-11 10:14:47 +10:00
Maikel
146b09dc57 Spec EnterpriseFee tax_category association
Co-authored-by: David Cook <david@redcliffs.net>
2023-08-11 10:14:47 +10:00
Maikel Linke
efbf1d6b8f Stabilise flaky assertion on PDF text
The PDF reader can't always place text elements in the right place. So
something that should be in one line can be in multiple lines and those
lines can be in a different order. I'm asserting the moving parts
separately as done in other places of this spec.
2023-08-11 10:14:47 +10:00
Maikel Linke
1b6eeb0928 Reduce line length of PaymentMethod class
Rubocop was complaining. So I found code that could be simplified and
specced it before refactoring.
2023-08-11 10:14:47 +10:00
Maikel Linke
faeb8ae8f8 Fix Exchange clone tagging
The validation of ActsAsTaggableOn::Taggable failed when trying to copy
tag ids during cloning. But I found that it's totally unnecessary
because `Exchange.dup` copies the `tag_list` attribute already and it
gets saved correctly. There's an existing spec for this.
2023-08-11 10:14:47 +10:00
Maikel Linke
4a13576f78 Remove now superfluous belongs_to default declaration 2023-08-11 10:14:47 +10:00
Maikel Linke
e6c679cb34 Apply belongs_to_required_by_default to all models
Unless they state otherwise.

The new standard also changes the default behaviour of the Shoulda
matcher in Rspec. It now defaults to asserting that an association is
required. That needed some spec updates.

In one case, Spree::Product, I also had to update the model because the
presence validation was somehow not recognised by the Shoulda matcher.
The error message may change slightly but the outcome should be the
same.
2023-08-11 10:14:47 +10:00
Maikel Linke
8ef6966891 Declare old belongs_to default on remaining models
It would take ages to go through all files now and assess all belongs_to
associations. So I just declare the old default and then we can move on
and apply the new default for the application while these classes still
use the old one. All new models will then use the new default which is
the goal of this excercise and we can refactor old classes when we touch
them anyway.
2023-08-11 10:14:43 +10:00
Maikel Linke
252f809463 Require CustomTab.belongs_to by default 2023-08-11 10:14:15 +10:00
Maikel Linke
070d1e722e Require EnterpriseRole.belongs_to by default 2023-08-11 10:14:14 +10:00
Maikel Linke
4dd2955400 Require EnterpriseRelationshipPermission.belongs_to by default
I had to change some specs to keep them simple but I don't think
anything is broken. In one case, it would have needed a lot more setup
to make the spec work. But in production, the permissions are never used
with ModelSet, for example.
2023-08-11 10:13:48 +10:00
Maikel Linke
cb494b84f2 Require EnterpriseRelationship.belongs_to by default 2023-08-11 10:13:29 +10:00
Maikel Linke
4b630f187b Require EnterpriseGroup.belongs_to by default 2023-08-11 10:13:10 +10:00
Maikel Linke
13b2f37884 Require EnterpriseFee.belongs_to by default 2023-08-11 10:13:09 +10:00
Maikel Linke
87ccfc94ef Require Enterprise.belongs_to by default
And remove a duplicate spec.
2023-08-11 10:13:09 +10:00
Konrad
60212f92c3 Merge pull request #11270 from rioug/9553-removing-cutomer-tag-when-search-for-tag
Fix removing customer tag when using search bar for said tag
2023-08-11 00:11:55 +02:00
Konrad
c3414143e6 Merge pull request #11222 from Matt-Yorkley/checkout-controller
Reduce controller size
2023-08-10 23:28:57 +02:00
Konrad
f59e681826 Merge pull request #11259 from cillian/single-line-voucher-code
Don't allow multi-line voucher codes
2023-08-10 23:09:55 +02:00
Jean-Baptiste Bellet
5b4b37032c Add translation for invalid URL in white label context 2023-08-10 15:22:35 +02:00
Matt-Yorkley
df077caafa Merge pull request #11375 from Matt-Yorkley/drop-unused-tables
Drop unused tables
2023-08-10 12:28:14 +01:00
Matt-Yorkley
f19d66f4d6 Drop unused tables 2023-08-10 12:27:31 +01:00
Matt-Yorkley
688b411e97 Merge pull request #11374 from Matt-Yorkley/drop-variant-master-column
Drop :is_master column from variants table
2023-08-10 12:25:59 +01:00
Matt-Yorkley
b82f368bec Drop :is_master column from variants table 2023-08-10 12:25:18 +01:00
Matt-Yorkley
128d5c29bd Merge pull request #11373 from Matt-Yorkley/drop-options-tables
Drop option_types and option_values tables
2023-08-10 12:21:39 +01:00
jibees
95612a8cb6 Merge pull request #11384 from openfoodfoundation/dependabot/bundler/rails-7.0.7
chore(deps): bump rails from 7.0.6 to 7.0.7
2023-08-10 12:13:07 +02:00
dependabot[bot]
4bbd9e9d49 chore(deps): bump aws-sdk-s3 from 1.132.0 to 1.132.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.132.0 to 1.132.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-08-10 09:55:40 +00:00
dependabot[bot]
f08a7ea254 chore(deps): bump rails from 7.0.6 to 7.0.7
Bumps [rails](https://github.com/rails/rails) from 7.0.6 to 7.0.7.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.0.6...v7.0.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-10 09:53:38 +00:00
Jean-Baptiste Bellet
3b68674896 Remove new_products_page and all associated controller/components/
new_products_page` is dead, long live `admin_style_v3` !
2023-08-10 10:02:45 +02:00
jibees
f58fedfc86 Merge pull request #11376 from mkllnk/flaky-voucher-spec
Stabilise flaky checkout spec with voucher
2023-08-10 09:10:59 +02:00
David Cook
b58d15b5ed Update all locales with the latest Transifex translations 2023-08-10 16:54:26 +10:00
David Cook
f64a24a5bb Respond to all formats with html 2023-08-10 16:14:08 +10:00
David Cook
c191158a97 Use the newer syntax 2023-08-10 14:52:04 +10:00
Matt-Yorkley
5c0329ce17 Drop option_types and option_values tables 2023-08-10 11:52:10 +10:00
Maikel
8db8d6de8d Merge pull request #11372 from Matt-Yorkley/remove-variant-position
Remove unused variant :position attribute
2023-08-10 11:48:55 +10:00
Maikel
507803c2dc Merge pull request #11371 from jibees/8443-missing-translation-passwords-not-matching-or-too-short
Account creation: translate some messages around password creation
2023-08-10 11:40:56 +10:00
Maikel Linke
04bba2adf1 Stabilise flaky checkout spec with voucher
While applying a voucher the spec tried to proceed the checkout before
the voucher update completed rendering. It failed when the machine was
slow.

With rspec-slow-repeate I got 100% fail rate before and 100% pass after
this change.
2023-08-10 10:05:01 +10:00
Maikel
926c8aed94 Merge pull request #11354 from abdellani/fix-rename-invoice-generate-update-button
rename 'new invoice' button to 'create or update invoice'
2023-08-10 09:59:11 +10:00
Mohamed ABDELLANI
620dd70dd7 rename 'new invoice' button to 'create or update invoice' 2023-08-10 09:35:13 +10:00
Matt-Yorkley
a33b6e0ec9 Update variant sorting 2023-08-09 18:30:56 +01:00
Matt-Yorkley
e65efe0f85 Remove unused variant :position attribute 2023-08-09 18:24:46 +01:00
Rachel Arnould
4505beff98 Merge pull request #11327 from bouaik/fix-display-invoice-tab-for-completed-resumed-canceled-only
Fix display invoice tab for completed, resumed and canceled orders only
2023-08-09 18:37:02 +02:00
Jean-Baptiste Bellet
1f5dc1f864 Add ActiveRecords messages for translation in account creation 2023-08-09 16:58:08 +02:00
Rachel Arnould
2b108dfeee Merge pull request #11116 from abdellani/fix-show-date-only-on-invoices-list
render date without time on invoices list
2023-08-09 14:33:40 +02:00
jibees
249dea56f3 Merge pull request #11366 from openfoodfoundation/dependabot/bundler/rubocop-1.56.0
chore(deps-dev): bump rubocop from 1.55.1 to 1.56.0
2023-08-09 11:35:25 +02:00
dependabot[bot]
467a63cf12 chore(deps-dev): bump rubocop from 1.55.1 to 1.56.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.55.1 to 1.56.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.55.1...v1.56.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-08-09 09:20:52 +00:00
Konrad
89d8fa0306 Merge pull request #11346 from Matt-Yorkley/remove-multiple-taxons
[Product Refactor] Remove multiple taxons
2023-08-09 11:19:11 +02:00
Maikel
655fdf3fff Merge pull request #11353 from abdellani/remove-duplicated-keys-in-en-yml
Remove duplicated keys in en yml
2023-08-09 13:42:01 +10:00
Maikel
d149f71199 Merge pull request #11365 from dacook/setup-reduce-output
Setup script tweaks
2023-08-09 11:45:47 +10:00
Maikel
b50fa216eb Merge pull request #11117 from rioug/10857-voucher-error-moving-between-summary-and-cart-take2
[vouchers] error moving between summary and cart pages
2023-08-09 11:14:52 +10:00
David Cook
91c874737a Combine rake tasks to save time
The log:clear task seems to take quite a bit of time. At least we can speed up a bit by only booting up Rails once.

I'm more likely to run the script if it's quick ;)
2023-08-09 10:28:41 +10:00
David Cook
9d79c7cda7 Reduce bundler install output
bundle install always shows a very long list of all gems. But we really only want to know about the new gems being installed. Thankfully there's an option for that.
2023-08-09 10:26:11 +10:00
Matt-Yorkley
6fee1d2dde Use dependent: :restrict_with_error on Taxon/Product association 2023-08-08 11:36:31 +01:00
David Cook
1706b8b4bc fixup: Drop spree_products_taxons join table
Make it reversible for dev or staging.
2023-08-08 11:36:31 +01:00
David Cook
a9ca07f4fb fixup Update specs
Delete empty describe block
2023-08-08 11:36:31 +01:00
Matt-Yorkley
321047d663 Update specs 2023-08-08 11:36:31 +01:00
Matt-Yorkley
3d83ca01f7 Drop spree_products_taxons join table 2023-08-08 11:36:31 +01:00
Matt-Yorkley
3655f3019d Update products and inventory report 2023-08-08 11:36:31 +01:00
Matt-Yorkley
38d9f4f1da Update product v3 table 2023-08-08 11:36:31 +01:00
Matt-Yorkley
e4a49f5d02 Update product duplication 2023-08-08 11:36:31 +01:00
Matt-Yorkley
820f9530b2 Update product serializer 2023-08-08 11:36:31 +01:00
Matt-Yorkley
8d01e1f024 Update taxon specs 2023-08-08 11:36:31 +01:00
Matt-Yorkley
33d40ed750 Update association 2023-08-08 11:36:31 +01:00
Matt-Yorkley
cffd7073e2 Delete unused method 2023-08-08 11:36:31 +01:00
Matt-Yorkley
3898af2c37 Update factories and tests 2023-08-08 11:36:31 +01:00
Matt-Yorkley
a93809b75f Remove associated abilities 2023-08-08 11:36:31 +01:00
Matt-Yorkley
a69ab2ef71 Remove multiple taxons on products functionality 2023-08-08 11:36:31 +01:00
Mohamed ABDELLANI
982f30399f merge :errors values under one key 2023-08-08 10:34:11 +01:00
Mohamed ABDELLANI
024a01ba94 remove duplicated keys on en.yml 2023-08-08 10:34:05 +01:00
Mohamed ABDELLANI
70b61eb481 remove bulk invoice service 2023-08-08 08:41:33 +01:00
Mohamed ABDELLANI
fc01ffc509 remove InvoicesController#create 2023-08-08 08:38:32 +01:00
Gaetan Craig-Riou
fe6075319e Merge pull request #11344 from openfoodfoundation/dependabot/bundler/mime-types-3.5.0
chore(deps): bump mime-types from 3.4.1 to 3.5.0
2023-08-08 16:43:47 +10:00
Gaetan Craig-Riou
bb375ccee5 Merge pull request #11343 from openfoodfoundation/dependabot/npm_and_yarn/stimulus-3.2.2
chore(deps): bump stimulus from 3.2.1 to 3.2.2
2023-08-08 16:41:45 +10:00
Mohamed ABDELLANI
c185a47592 render the confirm model on the same component that includes the action on the order. 2023-08-08 07:32:20 +01:00
Gaetan Craig-Riou
6f10907555 Fix rubocop warnings 2023-08-08 15:37:05 +10:00
Gaetan Craig-Riou
a64023c3df Apply review suggestion, simplify code slightly 2023-08-08 15:29:23 +10:00
Gaetan Craig-Riou
4e468c81f9 Handle updating customer attribute when directive is destroyed
Handle any customer attribute not just tags
2023-08-08 15:29:22 +10:00
Gaetan Craig-Riou
41dbad629b Add system spec to cover deleting data when filtering
covers tag scenario and code scenario
2023-08-08 15:29:22 +10:00
Gaetan Craig-Riou
f96bd51344 Rework form to allow displaying the save bar when no result
When filtering by a tag, and then removing the tag on the filtered
customers, it let us show the save bar once the last customer has been
removed from the filtered list.
2023-08-08 15:28:13 +10:00
Gaetan Craig-Riou
dba8809057 Handle deleting tag when directive destroyed 2023-08-08 15:28:13 +10:00
dependabot[bot]
df76710ae8 chore(deps): bump mime-types from 3.4.1 to 3.5.0
Bumps [mime-types](https://github.com/mime-types/ruby-mime-types) from 3.4.1 to 3.5.0.
- [Changelog](https://github.com/mime-types/ruby-mime-types/blob/main/History.md)
- [Commits](https://github.com/mime-types/ruby-mime-types/compare/v3.4.1...v3.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 09:56:54 +00:00
dependabot[bot]
1af30bdff4 chore(deps): bump stimulus from 3.2.1 to 3.2.2
Bumps [stimulus](https://github.com/stimulusjs/stimulus) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/stimulusjs/stimulus/releases)
- [Changelog](https://github.com/hotwired/stimulus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusjs/stimulus/compare/v3.2.1...v3.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 09:52:05 +00:00
Gaetan Craig-Riou
b731e8319b Merge pull request #11339 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-2.0.4
chore(deps): bump js-big-decimal from 2.0.1 to 2.0.4
2023-08-07 11:46:10 +10:00
Gaetan Craig-Riou
430aa685ce Merge pull request #11321 from mkllnk/dev-user-valid
Skip online domain validation of dev user email
2023-08-07 11:27:31 +10:00
Maikel
ccc5975517 Merge pull request #11320 from dacook/css-cleanup
SCSS cleanup
2023-08-07 10:23:49 +10:00
Maikel
4b0bffa095 Merge pull request #11256 from rioug/10997-add-new-relic-gem
Add new relic gem
2023-08-07 10:17:59 +10:00
Gaetan Craig-Riou
0103942dcb Disable new relic agent by default
It can be enable as needed by setting NEW_RELIC_AGENT_ENABLED env
variable to true and setting a license key
2023-08-07 09:37:36 +10:00
Gaetan Craig-Riou
de52ff4abf Move New Relic out of production, staging group 2023-08-07 09:37:36 +10:00
Gaetan Craig-Riou
5793cb14ee Add generated configuration 2023-08-07 09:37:36 +10:00
Gaetan Craig-Riou
c3d26b1900 Add the New Relic gem 2023-08-07 09:37:36 +10:00
Rachel Arnould
1b1279aa56 Merge pull request #11192 from abdellani/bulk-invoice-printing
fix Bulk invoice printing/sending
2023-08-04 12:02:43 +02:00
dependabot[bot]
760d237288 chore(deps): bump js-big-decimal from 2.0.1 to 2.0.4
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 2.0.1 to 2.0.4.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v2.0.1...v2.0.4)

---
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-08-04 09:24:25 +00:00
Cillian O'Ruanaidh
d026438edc Revert "Validate voucher code length doesn't exceed the database column length i.e. 255 characters"
This reverts commit 0d0df82522.
2023-08-04 10:24:21 +01:00
Cillian O'Ruanaidh
9eba266efc Strip leading and trailing whitespace from code on assignment instead of before validation
Co-authored-by: Maikel <maikel@email.org.au>
2023-08-04 10:15:22 +01:00
Cillian O'Ruanaidh
ab0d899a17 Revert "Validate voucher code doesn't contain new line characters"
This reverts commit 0c0b85f4c4.
2023-08-04 10:04:14 +01:00
Gaetan Craig-Riou
6ed35f4cc1 Per review, delete only incomplete payments
Use destroy_all so we don't have to manually delete the payment fees
adjustment
2023-08-04 17:03:31 +10:00
Maikel Linke
ad37c401e5 Update translations 2023-08-04 13:48:29 +10:00
David Cook
42230c07b2 Merge pull request #11312 from macanudo527/fix_rubocop_5
Fix autocorrect Rails Cops
2023-08-04 11:13:52 +10:00
bouaik
41d649404f make suggested changes 2023-08-04 00:55:35 +01:00
Maikel
2b18effe6d Merge pull request #11322 from macanudo527/fix_remaining_line_length
Fix remaining Layout/LineLength Rubocop Errors
2023-08-04 09:34:00 +10:00
Maikel
64398066ce Merge pull request #11324 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-2.0.1
chore(deps): bump js-big-decimal from 1.4.1 to 2.0.1
2023-08-04 09:20:30 +10:00
Matt-Yorkley
dd9bdd9c0e Move address params handling into Checkout::Params 2023-08-04 08:43:15 +10:00
Matt-Yorkley
13a7c19a06 Extract checkout step(s) validation to a service 2023-08-04 08:43:15 +10:00
Matt-Yorkley
82b8bb74a1 Remove #before_save_hook method and clarify it's intention 2023-08-04 08:43:15 +10:00
Matt-Yorkley
f3899ee251 Extract some related methods to CheckoutSteps concern 2023-08-04 08:43:15 +10:00
Matt-Yorkley
d1bcdde49f Simplify split checkout errors 2023-08-04 08:43:15 +10:00
Filipe
69dfd53658 Merge pull request #11254 from rioug/11130-add-product-filter-order-report
11130 add product filter order report
2023-08-03 16:08:44 +01:00
Filipe
5c67d522b8 Merge pull request #11209 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.0-rc3
chore(deps): bump stimulus_reflex from 3.5.0-rc2 to 3.5.0-rc3 + cable_ready from 5.0.0.rc2 to 5.0.1
2023-08-03 16:01:40 +01:00
Mohamed ABDELLANI
6c53f3b8b0 move pretty_date helper into invoice presenter 2023-08-03 15:12:02 +01:00
Mohamed ABDELLANI
c21ffd338b fix only date is expected on the invoices list table.
time is not supposed to be rendered on the invoices list table (only date)
2023-08-03 15:12:02 +01:00
Mohamed ABDELLANI
5358802ab5 replace Presenter#invoice_date with a delagator 2023-08-03 15:11:58 +01:00
Mohamed ABDELLANI
9a3aef525a add distributor's phone number to list of attributes to serialize 2023-08-03 15:06:04 +01:00
Mohamed ABDELLANI
d044959cec fix date formatting
implement a new helper `pretty_date`
2023-08-03 14:55:26 +01:00
Mohamed ABDELLANI
1a8c0f18b7 order invoices by "created_at desc" on the default scope 2023-08-03 14:55:26 +01:00
Mohamed ABDELLANI
8fecc9db4b render date without time on invoices list
+ sort invoices in the reverse order of the creation time
2023-08-03 14:55:26 +01:00
Mohamed ABDELLANI
24b1918df5 implment blank? on Address presenter
To keep the same method calls that are used on the legacy invoice template. I needed to redefine blank? on the address presenter.
2023-08-03 14:53:40 +01:00
Mohamed ABDELLANI
4449484402 replace double with instance_double 2023-08-03 14:53:40 +01:00
Mohamed ABDELLANI
2fb112aecd import BulkInvoiceJob#perform spec
1. remove the mocks
2. test the content of the generated pdf
3. remove the test of private methods
2023-08-03 14:53:40 +01:00
Mohamed ABDELLANI
c89c8a69bc optimize OrderMailer#invoice_email spec
Check if the email was sent without raising an error
Check if the email has an attached pdf
2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
9b80676d7d update the logic to send invoice
When the invoices feature is enabled, for every order, we check if
1. a new invoice must be generated
2. or, the latest invoice needs to be updated

the invoice rendrer input depends on the invoices flag.
if the feature is enabled, the input is supposed to be an invoice presenter
2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
7daa4d3a63 simplify filtering condition to select only invoiceable orders on OrdersReflex 2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
5ae2545918 Update app/jobs/bulk_invoice_job.rb
Co-authored-by: David Cook <david@redcliffs.net>
2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
687760046b update the bulk invoice job to print invoiceable orders
the invoices feature is enabled:
1. we filter non-invoiceable order
2. for each invoiceable order, we check if we need to generate a new invoice or update the latest invoice
2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
c921250d68 implement Spree::Order#invoiceable?
This will be used to filter the orders when running bulk print
2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
4f6ab69add implement OrderInvoiceGenerator service 2023-08-03 14:52:45 +01:00
Mohamed ABDELLANI
f24af3feb0 extract invoice printing logic into a seperated method 2023-08-03 14:52:45 +01:00
bouaik
0c849f08fd fix tests 2023-08-03 13:04:16 +01:00
bouaik
2c08602664 fix display invoice tab 2023-08-03 11:25:31 +01:00
Filipe
46cb1add63 Merge pull request #11126 from abdellani/show-invoice-number-on-invoices
Show invoice number on invoices
2023-08-03 10:48:34 +01:00
Filipe
c0a4bccb3e Merge pull request #11156 from Matt-Yorkley/product-tax-category
[Product Refactor] Tax category
2023-08-03 10:29:40 +01:00
dependabot[bot]
106938ddbf chore(deps): bump js-big-decimal from 1.4.1 to 2.0.1
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 1.4.1 to 2.0.1.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v1.4.1...v2.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 09:19:52 +00:00
Maikel Linke
f96636072e Use original DFC Connector.export implementation
We wanted to use our own context before but now I found a better way for
the connector to cache the context and therfore we can use the original
implementation again.
2023-08-03 16:45:31 +10:00
Maikel Linke
1daed8c29c Always load our DFC Connector patches
We want to use the preloaded context when exporting documents as well.
2023-08-03 16:45:30 +10:00
Maikel Linke
ff359664a9 Use cached DFC context 2023-08-03 16:45:30 +10:00
Neal Chambers
f5f9b80de7 Update .rubocop_todo.yml 2023-08-03 09:49:51 +09:00
Neal Chambers
a4f270bdec Fix Layout/LineLength 2023-08-03 09:49:47 +09:00
David Cook
32cc776725 Merge pull request #11177 from cyrillefr/Registration_of_an_enterprise_name_already_taken_stops_registration_process
Registration of an enterprise name already taken stops registration process
2023-08-03 10:37:47 +10:00
Maikel Linke
c8511ecd0d Remove superfluous line
The `<<` operation saves the association already.
2023-08-03 10:26:59 +10:00
Maikel Linke
6056c59301 Skip online domain validation of dev user email
We improved the email address validation to check the domain for
existing DNS entries. But our default user has the example.com domain
which is not resolved by my internet service provider.

I couldn't find a better way to deactivate this one check than
overriding the method in the validator. The code does not affect other
parts of the app unless you run multiple rake tasks in the same command
line with the database setup.
2023-08-03 10:22:00 +10:00
Maikel
76b7a9ea14 Merge pull request #11307 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.5.1
chore(deps): bump @floating-ui/dom from 1.4.5 to 1.5.1
2023-08-03 10:04:31 +10:00
David Cook
293e135a45 Move variables to one variables file
Note that color-tbl-border is not needed in the new admin_v3 styles.
2023-08-03 09:49:29 +10:00
David Cook
0aa4c144b9 Rename disabled button variable
TIL that underscores and dashes are treated the same in SCSS variables.
2023-08-03 09:49:29 +10:00
David Cook
1a02e108a5 Use red colour from the palette
It's very similar.
2023-08-03 09:49:29 +10:00
David Cook
9610281ed3 Rename variables 2023-08-03 09:49:29 +10:00
David Cook
b46e6c462d Rename table border variable
There are other vars named brd, but I think border is clearer and doesn't need to be abreviated here.
2023-08-03 09:49:29 +10:00
David Cook
c4a335548a Rename warning color variable
To match the others in the variables file.

Also `warning-orange` was unused.
2023-08-03 09:49:29 +10:00
David Cook
01a9095121 Move some variables to the palette 2023-08-03 09:49:29 +10:00
David Cook
2f801d346d Prettify some more css files 2023-08-03 09:49:29 +10:00
David Cook
14e07e38d3 Remove depdenency on darkswarm/mixins 2023-08-03 09:49:29 +10:00
David Cook
bf9cd09462 Remove dependence on darkswarm variables
There were all sorts of dependencies hiding in there, and it was overwriting some of the admin variables. Better to keep things separate and simple.

I discovered that there was one legitimate reason for importing them though: for styling the trix editor. I can't think of a good way to safely import them without affecting the other variables, so I just hardcoded the colours for now.
2023-08-03 09:47:44 +10:00
David Cook
9207724779 Copy legacy variables
I'd like to go through and remove these, but it will have to happen another day.
2023-08-03 09:47:44 +10:00
David Cook
828df3ed82 Consistently use red in forms
Errors and required fields now use the colour from the palette. The error messages in the old design are a bit darker now, but I think it's clearer. And it makes the new design look way better.

Also snuck in a tiny padding tweak.
2023-08-03 09:47:44 +10:00
Maikel
9c6e0418cb Merge pull request #11317 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.3.5
chore(deps-dev): bump knapsack_pro from 5.3.4 to 5.3.5
2023-08-03 08:18:52 +10:00
Filipe
f816d4b2d6 Merge pull request #11235 from jibees/11223-notices-tab-on-shopfront-persisting-after-selecting-an-order-cycle
Shopfront: On non-shop tab, when changing OC, switch to shop tab and hides non-shop tab content
2023-08-02 16:02:23 +01:00
Konrad
27e3a65440 Merge pull request #11234 from jibees/10867-vouchers-vouchers-page-is-shown-for-profile-enterprises
Show vouchers panel only if enterprise sells products (own or any)
2023-08-02 13:11:29 +02:00
Konrad
44d25dbb6a Merge pull request #11299 from cillian/order-name-sorting
Sort orders by last name, then first name i.e. the same way bulk order management works
2023-08-02 11:30:25 +02:00
Konrad
12f6457ab2 Merge pull request #11302 from bouaik/margin-guest-checkout
fix margin in guest checkout
2023-08-02 10:57:12 +02:00
Maikel
b73dfed4e9 Merge pull request #11308 from openfoodfoundation/dependabot/bundler/rubocop-1.55.1
chore(deps-dev): bump rubocop from 1.55.0 to 1.55.1
2023-08-02 16:29:36 +10:00
Maikel
7886e25f83 Merge pull request #11303 from macanudo527/fix_rubocop_script
Add file limit to Rubocop Autocorrect Script
2023-08-02 14:36:20 +10:00
dependabot[bot]
bff74e9472 chore(deps-dev): bump knapsack_pro from 5.3.4 to 5.3.5
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.4 to 5.3.5.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.4...v5.3.5)

---
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-08-02 03:17:45 +00:00
David Cook
ff76e3afa1 Merge pull request #11263 from mkllnk/dfc-connector-context
Dfc connector context
2023-08-02 13:16:28 +10:00
David Cook
44d1066e5c Merge pull request #11310 from Matt-Yorkley/image-magick
Rescue ImageMagick errors
2023-08-02 10:26:46 +10:00
Neal Chambers
0d2e2fa42c Add skip for cops that couldn't be autocorrected 2023-08-02 09:11:00 +09:00
Konrad
bc01207fec Merge pull request #11281 from jibees/11205-white-label-logo-image-not-displaying-correctly-on-mobile
White label: Update mobile variant size for white label logo to fit the same ratio
2023-08-02 00:10:14 +02:00
bouaik
5681c45a9e use classes like logged in checkout 2023-08-01 22:08:56 +01:00
Maikel Linke
bebdaace4b Prefer plain text in spec expectations 2023-08-01 23:06:26 +02:00
cyrillefr
d4c864a118 Add testing for modal warning that name is already in use 2023-08-01 23:06:26 +02:00
cyrillefr
057754305d Useless 'end' at end of coffeescript block 2023-08-01 23:06:26 +02:00
cyrillefr
05d610e598 Spec for (re)enabling 'Create Profile' button if not returning promise 2023-08-01 23:06:26 +02:00
cyrillefr
ae1e6032f6 Enable 'Create Profile' button via callback in case of not returning promise 2023-08-01 23:06:26 +02:00
Neal Chambers
f47f6efcd0 Safely autocorrect Rails/DurationArithmetic
Inspecting 1481 files
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.C.................................................................................................................................................................................................................................................................................C..............C..........................................................C...............................C....C..........CC................................................................

Offenses:

app/services/create_order_cycle.rb:41:24: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
      orders_close_at: Time.zone.now + 1.month
                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/jobs/order_cycle_closing_job_spec.rb:7:74: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    create(:order_cycle, automatic_notifications: true, orders_close_at: Time.zone.now - 1.minute)
                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^
spec/jobs/order_cycle_closing_job_spec.rb:10:74: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    create(:order_cycle, automatic_notifications: true, orders_close_at: Time.zone.now + 1.minute)
                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^
spec/jobs/order_cycle_closing_job_spec.rb:13:75: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    create(:order_cycle, automatic_notifications: false, orders_close_at: Time.zone.now - 1.minute)
                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
spec/jobs/order_cycle_opened_job_spec.rb:7:42: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    create(:order_cycle, orders_open_at: Time.zone.now - 1.hour)
                                         ^^^^^^^^^^^^^^^^^^^^^^
spec/jobs/order_cycle_opened_job_spec.rb:13:42: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    create(:order_cycle, orders_open_at: Time.zone.now + 1.minute)
                                         ^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/permissions/order_spec.rb:26:58: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
                                           completed_at: Time.zone.now - 1.year)
                                                         ^^^^^^^^^^^^^^^^^^^^^^
spec/services/terms_of_service_spec.rb:21:71: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
      allow(customer).to receive(:terms_and_conditions_accepted_at) { Time.zone.now - 1.week }
                                                                      ^^^^^^^^^^^^^^^^^^^^^^
spec/services/terms_of_service_spec.rb:22:59: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
      allow(TermsOfServiceFile).to receive(:updated_at) { Time.zone.now - 2.weeks }
                                                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/services/terms_of_service_spec.rb:36:71: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
      allow(customer).to receive(:terms_and_conditions_accepted_at) { Time.zone.now - 1.week }
                                                                      ^^^^^^^^^^^^^^^^^^^^^^
spec/services/terms_of_service_spec.rb:38:45: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        ActiveStorage::Blob.new(created_at: Time.zone.now - 2.weeks)
                                            ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:647:57: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
                                          completed_at: Time.zone.now + 1.week,
                                                        ^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:652:57: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
                                          completed_at: Time.zone.now + 2.weeks,
                                                        ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:661:40: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          oc3.update!(orders_close_at: Time.zone.now + 2.weeks)
                                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:662:39: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          oc3.update!(orders_open_at: Time.zone.now + 1.week)
                                      ^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/list_spec.rb:128:18: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    oc_open_at = Time.zone.now - 2.weeks
                 ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/list_spec.rb:129:19: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
    oc_close_at = Time.zone.now + 2.weeks
                  ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:289:40: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          order2.update!(completed_at: Time.zone.now - 2.weeks)
                                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:290:40: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          order3.update!(completed_at: Time.zone.now - 3.weeks)
                                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:291:40: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          order4.update!(completed_at: Time.zone.now - 4.weeks)
                                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:292:40: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
          order5.update!(completed_at: Time.zone.now - 5.weeks)
                                       ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/orders_and_fulfillment_spec.rb:113:31: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        let(:completed_at1) { Time.zone.now - 1500.hours } # 1500 hours in the past
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/orders_and_fulfillment_spec.rb:114:31: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        let(:completed_at2) { Time.zone.now - 1700.hours } # 1700 hours in the past
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/orders_and_fulfillment_spec.rb:115:33: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        let(:datetime_start1) { Time.zone.now - 1600.hours } # 1600 hours in the past
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/orders_and_fulfillment_spec.rb:116:33: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        let(:datetime_start2) { Time.zone.now - 1800.hours } # 1600 hours in the past
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/orders_and_fulfillment_spec.rb:117:30: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
        let(:datetime_end) { Time.zone.now - 1400.hours } # 1400 hours in the past
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/reports/packing_report_spec.rb:13:26: C: [Corrected] Style/RedundantParentheses: Don't use parentheses around a method call.
  let!(:open_datetime) { (1.month.ago).strftime("%Y-%m-%d 00:00") }
                         ^^^^^^^^^^^^^
spec/system/admin/reports/packing_report_spec.rb:13:27: C: [Corrected] Rails/DurationArithmetic: Do not add or subtract duration.
  let!(:open_datetime) { (Time.zone.now - 1.month).strftime("%Y-%m-%d 00:00") }
                          ^^^^^^^^^^^^^^^^^^^^^^^

1481 files inspected, 28 offenses detected, 28 offenses corrected
2023-08-01 22:50:21 +09:00
Neal Chambers
a263110799 Safely autocorrect Rails/DotSeparatedKeys
Inspecting 1481 files
........................................................................C................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/api/v1/base_controller.rb:72:66: C: [Corrected] Rails/DotSeparatedKeys: Use the dot-separated keys instead of specifying the :scope option.
        message = I18n.t(:missing_parameter, param: error.param, scope: :api)
                                                                 ^^^^^^^^^^^
app/controllers/api/v1/base_controller.rb:79:84: C: [Corrected] Rails/DotSeparatedKeys: Use the dot-separated keys instead of specifying the :scope option.
        message = I18n.t(:unpermitted_parameters, params: error.params.join(", "), scope: :api)
                                                                                   ^^^^^^^^^^^

1481 files inspected, 2 offenses detected, 2 offenses corrected
2023-08-01 22:50:21 +09:00
Neal Chambers
44cf2faa1e Safely autocorrect Rails/ActiveRecordCallbacksOrder
Inspecting 1481 files
...........................................................................................................................................................................................................................................................C..C.CC........................................................................C...C..........C..C..................CC........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/customer.rb:32:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_validation is supposed to appear before before_destroy.
  before_validation :downcase_email
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/customer.rb:33:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_validation is supposed to appear before before_destroy.
  before_validation :empty_code
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/customer.rb:34:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/customer.rb:49:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/customer.rb:49:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_create is supposed to appear before before_destroy.
  before_create :associate_user
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:129:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_touch.
  after_create :set_default_contact
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:130:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_touch.
  after_create :relate_to_owners_enterprises
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:133:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_rollback is supposed to appear before after_touch.
  after_rollback :restore_permalink
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:134:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/enterprise_group.rb:18:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_save is supposed to appear before after_find.
  after_save :unset_undefined_address_fields
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:18:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_validation is supposed to appear before after_save.
  before_validation :sanitize_permalink
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:19:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_validation is supposed to appear before after_find.
  before_validation :sanitize_permalink
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_group.rb:23:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_validation is supposed to appear before after_save.
  before_validation :sanitize_permalink
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_relationship.rb:15:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_destroy is supposed to appear before after_save.
  before_destroy :revoke_all_child_variant_overrides
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_relationship.rb:16:3: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_destroy is supposed to appear before after_save.
  before_destroy :destroy_related_exchanges
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/order.rb:108:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_save is supposed to appear before before_create.
    before_save :update_shipping_fees!, if: :complete?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/order.rb:109:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_save is supposed to appear before before_create.
    before_save :update_payment_fees!, if: :complete?
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:30:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_initialize is supposed to appear before before_create.
    after_initialize :build_source
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:32:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_initialize is supposed to appear before after_create.
    after_initialize :build_source
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:33:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_save.
    after_create :invalidate_old_payments
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:34:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_initialize is supposed to appear before after_save.
    after_initialize :build_source
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:35:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_save.
    after_create :invalidate_old_payments
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:36:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_initialize is supposed to appear before after_save.
    after_initialize :build_source
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:46:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_initialize is supposed to appear before after_create.
    after_initialize :build_source
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/payment.rb:47:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/spree/product.rb:87:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_save.
    after_create :ensure_standard_variant
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/return_authorization.rb:12:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: before_save is supposed to appear before before_create.
    before_save :force_positive_amount
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/user.rb:49:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before before_destroy.
    after_create :associate_customers, :associate_orders
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/user.rb:50:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/spree/variant.rb:88:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_save.
    after_create :create_stock_items
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:89:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: after_create is supposed to appear before after_save.
    after_create :set_position
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:90:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/spree/variant.rb:91:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/models/spree/variant.rb:91:5: C: [Corrected] Rails/ActiveRecordCallbacksOrder: around_destroy is supposed to appear before after_save.
    around_destroy :destruction
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:92:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.

1481 files inspected, 35 offenses detected, 35 offenses corrected
2023-08-01 22:50:21 +09:00
Neal Chambers
a1560263a1 Safely autocorrect Rails/ActionOrder
Inspecting 1481 files
.........................................C.................C.........................................................CC........C..........C.C.........C..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/admin/resource_controller.rb:39:5: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
    def update
    ^^^^^^^^^^
app/controllers/admin/resource_controller.rb:39:5: C: [Corrected] Rails/ActionOrder: Action create should appear before update.
    def create ...
    ^^^^^^^^^^
app/controllers/admin/resource_controller.rb:51:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/admin/resource_controller.rb:52:5: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
    def update_positions
    ^^^^^^^^^^^^^^^^^^^^
app/controllers/api/v0/orders_controller.rb:13:7: C: [Corrected] Rails/ActionOrder: Action index should appear before show.
      def index ...
      ^^^^^^^^^
app/controllers/api/v0/orders_controller.rb:23:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def show
      ^^^^^^^^
app/controllers/api/v0/orders_controller.rb:28:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/api/v0/orders_controller.rb:29:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/images_controller.rb:26:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/images_controller.rb:37:7: C: [Corrected] Rails/ActionOrder: Action edit should appear before create.
      def edit ...
      ^^^^^^^^
app/controllers/spree/admin/images_controller.rb:40:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/images_controller.rb:41:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/invoices_controller.rb:19:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/invoices_controller.rb:43:7: C: [Corrected] Rails/ActionOrder: Action show should appear before create.
      def show ...
      ^^^^^^^^
app/controllers/spree/admin/invoices_controller.rb:49:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/invoices_controller.rb:50:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def poll
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:23:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def new
      ^^^^^^^
app/controllers/spree/admin/products_controller.rb:23:7: C: [Corrected] Rails/ActionOrder: Action show should appear before new.
      def show ...
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:24:7: C: [Corrected] Rails/ActionOrder: Action index should appear before show.
      def index ...
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:27:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/products_controller.rb:27:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:28:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/products_controller.rb:28:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def new
      ^^^^^^^
app/controllers/spree/admin/products_controller.rb:28:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def index
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:28:7: C: [Corrected] Rails/ActionOrder: Action index should appear before new.
      def index ...
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:29:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def new
      ^^^^^^^
app/controllers/spree/admin/products_controller.rb:32:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/products_controller.rb:32:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:33:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def edit
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:36:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:38:7: C: [Corrected] Rails/ActionOrder: Action show should appear before create.
      def show ...
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:42:7: C: [Corrected] Rails/ActionOrder: Action index should appear before create.
      def index ...
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:43:7: C: [Corrected] Rails/ActionOrder: Action index should appear before create.
      def index ...
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:43:7: C: [Corrected] Rails/ActionOrder: Action index should appear before show.
      def index ...
      ^^^^^^^^^
app/controllers/spree/admin/products_controller.rb:47:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/products_controller.rb:48:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def edit
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:48:7: C: [Corrected] Rails/ActionOrder: Action edit should appear before create.
      def edit ...
      ^^^^^^^^
app/controllers/spree/admin/products_controller.rb:51:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/products_controller.rb:52:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/taxons_controller.rb:13:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/taxons_controller.rb:29:7: C: [Corrected] Rails/ActionOrder: Action edit should appear before create.
      def edit ...
      ^^^^^^^^
app/controllers/spree/admin/taxons_controller.rb:34:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/taxons_controller.rb:35:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:17:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def edit
      ^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:18:7: C: [Corrected] Rails/ActionOrder: Action new should appear before edit.
      def new ...
      ^^^^^^^
app/controllers/spree/admin/variants_controller.rb:21:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/variants_controller.rb:21:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:22:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:31:7: C: [Corrected] Rails/ActionOrder: Action new should appear before update.
      def new ...
      ^^^^^^^
app/controllers/spree/admin/variants_controller.rb:34:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/variants_controller.rb:35:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def create
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:35:7: C: [Corrected] Rails/ActionOrder: Action create should appear before update.
      def create ...
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:42:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
      def update
      ^^^^^^^^^^
app/controllers/spree/admin/variants_controller.rb:55:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/spree/admin/variants_controller.rb:56:7: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
      def search
      ^^^^^^^^^^
app/controllers/user_confirmations_controller.rb:14:3: C: [Corrected] Rails/ActionOrder: Action show should appear before new.
  def show ...
  ^^^^^^^^
app/controllers/user_confirmations_controller.rb:15:3: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
  def new
  ^^^^^^^
app/controllers/user_confirmations_controller.rb:19:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/user_confirmations_controller.rb:20:3: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 0.
  def create
  ^^^^^^^^^^
app/controllers/user_confirmations_controller.rb:21:3: C: [Corrected] Layout/EmptyLineBetweenDefs: Expected 1 empty line between method definitions; found 2.
  def create
  ^^^^^^^^^^
app/controllers/user_confirmations_controller.rb:37:3: C: [Corrected] Rails/ActionOrder: Action show should appear before create.
  def show ...
  ^^^^^^^^
app/controllers/user_confirmations_controller.rb:42:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.
app/controllers/user_confirmations_controller.rb:43:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.

1481 files inspected, 63 offenses detected, 63 offenses corrected
2023-08-01 22:50:21 +09:00
Neal Chambers
e49c9e9061 Regenerate Rubocop's TODO file 2023-08-01 22:50:21 +09:00
Matt-Yorkley
885bc46d88 Update tax_category in product v3 table 2023-08-01 11:49:04 +01:00
David Cook
f7a137049f Merge pull request #11296 from dacook/hide-git-errors
Prevent git errors from showing in command output
2023-08-01 12:16:53 +10:00
Matt-Yorkley
91fc4b51b4 Rescue ImageMagick errors 2023-07-31 17:21:49 +01:00
Mohamed ABDELLANI
7d38a7b381 remove order number next to Tax Invoice 2023-07-31 17:01:36 +01:00
Mohamed ABDELLANI
760b17042b fix existing tests 2023-07-31 16:31:24 +01:00
Mohamed ABDELLANI
0ce8fae7c9 replace invoice_number method with delegate 2023-07-31 16:31:24 +01:00
Mohamed ABDELLANI
8abb9d2ecf add invoice number to alternative invoices 2023-07-31 16:31:24 +01:00
Mohamed ABDELLANI
e66cd5aaa3 add order number & invoice number to invoices 2023-07-31 16:31:24 +01:00
dependabot[bot]
8dcaba695e chore(deps-dev): bump rubocop from 1.55.0 to 1.55.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.55.0 to 1.55.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.55.0...v1.55.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-07-31 09:50:50 +00:00
dependabot[bot]
c885b42df1 chore(deps): bump @floating-ui/dom from 1.4.5 to 1.5.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.4.5 to 1.5.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.5.1/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-07-31 09:44:08 +00:00
Gaetan Craig-Riou
85adb9f345 Fix rubocop warning 2023-07-31 15:19:04 +10:00
Gaetan Craig-Riou
2857930263 Fix voucher adjustment request spec
Error messages have been updated to be more user friendly. This spec
was missed somehow.
2023-07-31 14:06:36 +10:00
Gaetan Craig-Riou
089d2b9c84 Clear any existing payment and payment fees when adding a voucher
If a user come back to checkout step 2 from step 3, the order
will have payment and possibly payment fee existing. This can
interfere with voucher calculation, so we clear them.
The user can then select a payment method again if needed
2023-07-31 12:05:52 +10:00
Maikel
c8ad6d7d1c Merge pull request #11300 from macanudo527/fix_rubocop_layout_3
Fix rubocop layout 4
2023-07-31 11:26:53 +10:00
Maikel
aa92aac5a9 Style FrozenStringLiteralComment
Co-authored-by: jibees <jb.bellet@gmail.com>
2023-07-31 11:19:10 +10:00
Matt-Yorkley
64b29d40a8 Migrate data for tax_category_id from products to variants 2023-07-31 09:23:40 +10:00
Matt-Yorkley
e2094665c5 Update enterprise fee report tax_category fetching 2023-07-31 09:23:20 +10:00
Matt-Yorkley
07774c4572 Update tax category specs 2023-07-31 09:23:20 +10:00
Matt-Yorkley
d1209dd49b Update order_with_taxes factory 2023-07-31 09:23:20 +10:00
Matt-Yorkley
b593e356b0 Update product factories 2023-07-31 09:23:20 +10:00
Matt-Yorkley
a84f9ebd2e Allow passing tax_category to new variant when creating a new product 2023-07-31 09:23:20 +10:00
Matt-Yorkley
0df121bcc8 Move tax_category validations test 2023-07-31 09:23:20 +10:00
Matt-Yorkley
b2a7a931f3 Update tax_category tests 2023-07-31 09:23:20 +10:00
Matt-Yorkley
4cb291290b Update product factory 2023-07-31 09:23:20 +10:00
Matt-Yorkley
5a48721af4 Update serializers, views, and JS for bulk products edit 2023-07-31 09:23:20 +10:00
Matt-Yorkley
363bbded43 Update permitted attributes 2023-07-31 09:23:20 +10:00
Matt-Yorkley
a52516bcbf Move tax_category dropdown in edit pages 2023-07-31 09:23:20 +10:00
Matt-Yorkley
b12c130e02 Add tax_category column to variants table 2023-07-31 09:23:20 +10:00
Matt-Yorkley
4934d09a4c Update delegation and method chaining between product and tax_category 2023-07-31 09:23:20 +10:00
Matt-Yorkley
d33e780411 Move tax_category association from product to variant 2023-07-31 09:23:19 +10:00
Neal Chambers
60cd84d565 Safely autocorrect Naming/BlockForwarding
Inspecting 1480 files
...................................................................................................................................................................C.......C..........C...............................................................................................................................................................................................................C...........................................................................................................C.........C...............................................................................................................................................................................................................................................................C........................................CC...C............................................................................................................................................................................................................................................................................................................................C.....................................................................................................................................................................................................C..............C.........C..CC.......C.....................................................................................................C...............

Offenses:

app/helpers/application_helper.rb:41:32: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def ng_form_for(name, *args, &block)
                               ^^^^^^
app/helpers/application_helper.rb:44:75: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    form_for(name, *(args << options.merge(builder: AngularFormBuilder)), &block)
                                                                          ^^^^^^
app/helpers/application_helper.rb:49:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def method_missing(method, *args, &block)
                                    ^^^^^^
app/helpers/link_helper.rb:4:57: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def link_to_service(baseurl, name, html_options = {}, &block)
                                                        ^^^^^^
app/helpers/link_helper.rb:8:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    link_to ext_url(baseurl, name), html_options, &block
                                                  ^^^^^^
app/helpers/spree/admin/base_helper.rb:6:56: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
      def field_container(model, method, options = {}, &block)
                                                       ^^^^^^
app/helpers/spree/admin/base_helper.rb:13:29: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
                    capture(&block),
                            ^^^^^^
app/reflexes/application_reflex.rb:29:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def with_locale(&block)
                  ^^^^^^
app/reflexes/application_reflex.rb:30:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    I18n.with_locale(current_user.locale, &block)
                                          ^^^^^^
app/services/cache_service.rb:8:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def self.cache(cache_key, options = {}, &block)
                                          ^^^^^^
app/services/cache_service.rb:9:48: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    Rails.cache.fetch cache_key.to_s, options, &block
                                               ^^^^^^
app/services/cache_service.rb:14:58: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def self.cached_data_by_class(cache_key, cached_class, &block)
                                                         ^^^^^^
app/services/cache_service.rb:16:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
                      &block
                      ^^^^^^
app/services/cache_service.rb:25:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def self.home_stats(statistic, &block)
                                 ^^^^^^
app/services/cache_service.rb:28:47: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
                      race_condition_ttl: 10, &block)
                                              ^^^^^^
app/services/current_order_locker.rb:12:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def self.around(controller, &block)
                              ^^^^^^
app/services/current_order_locker.rb:13:55: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    lock_order_and_variants(controller.current_order, &block)
                                                      ^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:392:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
        def chain_to_scope(&block)
                           ^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:393:41: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
          @scope = @scope.instance_eval(&block)
                                        ^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:7:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    def respond_with(*resources, &block)
                                 ^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:13:64: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
      return unless (collector = retrieve_collector_from_mimes(&block))
                                                               ^^^^^^
lib/spree/core/delegate_belongs_to.rb:80:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    def class_def(name, method = nil, &blk)
                                      ^^^^
lib/spree/core/delegate_belongs_to.rb:81:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
      class_eval { method.nil? ? define_method(name, &blk) : define_method(name, method) }
                                                     ^^^^
lib/spree/core/environment_extension.rb:22:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
      def create_method(name, &block)
                              ^^^^^^
lib/spree/core/environment_extension.rb:23:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
        self.class.__send__(:define_method, name, &block)
                                                  ^^^^^^
spec/models/enterprise_caching_spec.rb:144:13: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def later(&block)
            ^^^^^^
spec/models/enterprise_caching_spec.rb:145:36: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    Timecop.travel(1.day.from_now, &block)
                                   ^^^^^^
spec/support/embedded_pages_helper.rb:5:26: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    def on_embedded_page(&block)
                         ^^^^^^
spec/support/embedded_pages_helper.rb:6:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
      within_frame :frame, &block
                           ^^^^^^
spec/support/preferences_helper.rb:11:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def reset_spree_preferences(&config_block)
                              ^^^^^^^^^^^^^
spec/support/preferences_helper.rb:16:33: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    configure_spree_preferences(&config_block) if block_given?
                                ^^^^^^^^^^^^^
spec/support/request/shop_workflow.rb:87:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def within_variant(variant = nil, &block)
                                    ^^^^^^
spec/support/request/shop_workflow.rb:90:22: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    within(selector, &block)
                     ^^^^^^
spec/support/request/ui_component_helper.rb:4:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def browse_as_small(&block)
                      ^^^^^^
spec/support/request/ui_component_helper.rb:5:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    browse_with_window_size(640, 480, &block)
                                      ^^^^^^
spec/support/request/ui_component_helper.rb:8:24: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def browse_as_medium(&block)
                       ^^^^^^
spec/support/request/ui_component_helper.rb:9:40: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    browse_with_window_size(1024, 768, &block)
                                       ^^^^^^
spec/support/request/web_helper.rb:52:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def within_row(num, &block)
                      ^^^^^^
spec/support/request/web_helper.rb:53:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    within("table.index tbody tr:nth-child(#{num})", &block)
                                                     ^^^^^^
spec/swagger_helper.rb:77:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def param(args, &block)
                  ^^^^^^
spec/swagger_helper.rb:78:45: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
    public_send(:let, args) { instance_eval(&block) }
                                            ^^^^^^
spec/system/support/capybara_setup.rb:20:27: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
  def using_session(name, &block)
                          ^^^^^^

1480 files inspected, 42 offenses detected, 42 offenses corrected
2023-07-30 21:29:19 +09:00
Neal Chambers
ae8a5b7f93 Safely autocorrect Lint/UnusedMethodArgument
Inspecting 1480 files
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................W...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

lib/reporting/queries/query_interface.rb:18:30: W: [Corrected] Lint/UnusedMethodArgument: Unused method argument - default. If it's necessary, use _ or _default as an argument name to indicate that it won't be used. If it's unnecessary, remove it.
      def sum_grouped(field, default = 0)
                             ^^^^^^^
lib/reporting/queries/query_interface.rb:22:26: W: [Corrected] Lint/UnusedMethodArgument: Unused method argument - default. If it's necessary, use _ or _default as an argument name to indicate that it won't be used. If it's unnecessary, remove it.
      def sum_new(field, default = 0)
                         ^^^^^^^

1480 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-30 21:29:19 +09:00
Neal Chambers
2a76b1972f Safely autocorrect Lint/SafeNavigationChain
Inspecting 1480 files
........................................................................................................................................................................................................................................................................................................................................W............................W..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/spree/line_item.rb:283:55: W: [Corrected] Lint/SafeNavigationChain: Do not chain ordinary method call after safe navigation operator.
        self.final_weight_volume = variant&.unit_value * quantity
                                                      ^^^^^^^^^^^
app/models/spree/line_item.rb:283:57: C: [Corrected] Layout/SpaceAroundMethodCallOperator: Avoid using spaces around a method call operator.
        self.final_weight_volume = variant&.unit_value&. * quantity
                                                        ^
app/models/spree/stock/availability_validator.rb:31:77: W: [Corrected] Lint/SafeNavigationChain: Do not chain ordinary method call after safe navigation operator.
        return line_item.order.shipments.first if line_item.order&.shipments.any?
                                                                            ^^^^^

1480 files inspected, 3 offenses detected, 3 offenses corrected
2023-07-30 21:29:19 +09:00
Neal Chambers
e7d53753e4 Safely autocorrect Lint/RedundantCopDisableDirective
Inspecting 1480 files
..............W.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/components/product_component.rb:23:51: W: [Corrected] Lint/RedundantCopDisableDirective: Unnecessary disabling of Metrics/MethodLength.
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
                                                  ^^^^^^^^^^^^^^^^^^^^
app/components/product_component.rb:50:50: W: [Corrected] Lint/RedundantCopEnableDirective: Unnecessary enabling of Metrics/MethodLength.
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/MethodLength
                                                 ^^^^^^^^^^^^^^^^^^^^

1480 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-30 21:29:19 +09:00
Neal Chambers
e9f448fad9 Safely autocorrect Lint/AmbiguousOperatorPrecedence
Inspecting 1480 files
...................................................................................................................................................................................................................................W..........................W........................................................W................W..............W................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/calculator/flexi_rate.rb:38:7: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
      count * preferred_additional_item.to_f + preferred_first_item.to_f
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:362:12: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
    cat << "sells_" + sells
           ^^^^^^^^^^^^^^^^
app/models/enterprise.rb:496:21: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
    phone_number && "https://wa.me/" + phone_number.tr('+ ', '')
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/ability.rb:27:33: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
          order.user == user || order.token && token == order.token
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/ability.rb:30:33: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
          order.user == user || order.token && token == order.token
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/line_item.rb:205:16: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
      (price + fees / quantity).round(2)
               ^^^^^^^^^^^^^^^
app/models/spree/preferences/store.rb:28:11: W: [Corrected] Lint/AmbiguousOperatorPrecedence: Wrap expressions with varying precedence with parentheses to avoid ambiguity.
          should_persist? && Spree::Preference.where(key: key).exists?
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1480 files inspected, 7 offenses detected, 7 offenses corrected
2023-07-30 21:29:19 +09:00
bouaik
addbbc4006 fix margin in guest checkout 2023-07-29 07:52:55 -04:00
filipefurtad0
0bcde2dbda Update all locales with the latest Transifex translations 2023-07-28 16:33:49 +01:00
Filipe
5d624ef4be Merge pull request #11278 from mkllnk/swagger-fix
Fix swagger-api integration after last update
2023-07-28 16:27:32 +01:00
Filipe
1ddbb1c4e1 Merge pull request #11294 from Matt-Yorkley/connect-src
Update CSP configuration for Safari
2023-07-28 16:16:02 +01:00
Cillian O'Ruanaidh
8039c0106a Set firstname correctly in spec/system/admin/orders_spec.rb 2023-07-28 15:04:47 +01:00
Cillian O'Ruanaidh
276b94de5b Sort orders by last name, then first name i.e. the same way bulk order management works 2023-07-28 14:20:29 +01:00
Filipe
a975e2bd93 Merge pull request #11247 from jibees/9123-inconsistent-default-visibility-setting-for-newly-created-enterprises
Admin, Enterprise creation : set visibility to "Hidden" by default
2023-07-28 12:15:32 +01:00
Filipe
ef947f8749 Merge pull request #11282 from jibees/11025-white-label-trix-quotes-code-and-links-cant-be-identified-in-the-editor
White label: Customize rendering inside the trix-editor, to match the shopfront rendering
2023-07-28 11:23:50 +01:00
Filipe
21690670f5 Merge pull request #11292 from jibees/11108-dashboard-supplier-profile-inconsistent-indentation-on-deployed-version
Admin: improve platform version displaying on admin homepage
2023-07-28 11:01:07 +01:00
Gaetan Craig-Riou
33ef8def08 Update order total after removing a voucher
We need to do this to make sure when display the payment method
again.
Plus spec
2023-07-28 14:52:25 +10:00
Gaetan Craig-Riou
f35001dacc Update voucher adjustment and order total when adding a voucher
This is needed so we can check if payment is needed and display
no payment required when no payment needed
2023-07-28 14:27:27 +10:00
David Cook
ef62fb885d Check if record actually saved
I'm not sure if it will ever make a difference, but I think this makes more sense.
2023-07-28 14:11:45 +10:00
David Cook
be1a72743a Pending spec: vouchers should not require payment 2023-07-28 14:11:31 +10:00
David Cook
895f534afa Remove unnecessary extra page load 2023-07-28 14:11:19 +10:00
David Cook
febe6501c0 Prevent git errors from showing in command output
This would be a very rare case, but one time the git command failed, printing out an obscure "fatal" message to stderr which caused confusion.
2023-07-28 12:07:52 +10:00
Maikel
774bb7a607 Merge pull request #11238 from filipefurtad0/legal_invoices_spec
Adds coverage to Invoices (system specs)
2023-07-28 08:41:01 +10:00
filipefurtad0
98f29dcd9b Adds coverage on invoices section/table 2023-07-27 17:27:41 +01:00
Matt-Yorkley
dd9b28787c Update CSP configuration for Safari
Apparently some versions of Safari have issues with Websockets if the CSP doesn't explicitly define the `connect_src` in a certain way (including specifying the host). This issue is fixed in later versions of Safari and doesn't affect other browsers, for which the `default_src` with `:self` is sufficient.
2023-07-27 16:20:42 +01:00
filipefurtad0
35dfdc8bdc Adds coverage on Invoice tab
which should be visible as a function of the order state

Corrects cancelled case
2023-07-27 15:47:40 +01:00
Jean-Baptiste Bellet
8b4de3ddc7 Add version into its own .row .columns with centered text 2023-07-27 15:41:54 +02:00
jibees
55fbab4c0d Merge pull request #11287 from openfoodfoundation/dependabot/bundler/rexml-3.2.6
chore(deps): bump rexml from 3.2.5 to 3.2.6
2023-07-27 12:00:28 +02:00
Jean-Baptiste Bellet
a179c006fc Default design for ul and ol into the custom tab
`ul` and `old` default design already been reset, reactivate default design only for `.custom-tab`
2023-07-27 11:53:47 +02:00
Jean-Baptiste Bellet
4485490b0b Customize rendering inside the trix-editor, to match the shopfront rendering 2023-07-27 11:53:47 +02:00
jibees
b3949965fc Merge pull request #11288 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.3.4
chore(deps-dev): bump knapsack_pro from 5.3.3 to 5.3.4
2023-07-27 11:34:37 +02:00
dependabot[bot]
79d0728fdd chore(deps-dev): bump knapsack_pro from 5.3.3 to 5.3.4
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.3 to 5.3.4.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.3...v5.3.4)

---
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-07-27 09:25:02 +00:00
dependabot[bot]
4e9dae6817 chore(deps): bump rexml from 3.2.5 to 3.2.6
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.5...v3.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 09:21:38 +00:00
jibees
96418dcde6 Merge pull request #11284 from mkllnk/caching-spec
Compile JS before testing caching
2023-07-27 09:41:22 +02:00
Maikel Linke
b9ebcc9b1b Remove version number from DFC API URLs
While it's quite common to version APIs it's not possible with current
DFC tools. The architecture also uses URLs as identifiers for objects
like products. Having the id of an object change just because the format
of its description changes doesn't make sense. The DFC may solve this by
adding a version number in a different way.

By removing the version from our API URL, all object ids (URIs) should
be stable from now on.
2023-07-27 15:38:36 +10:00
Maikel Linke
4872855471 Update DFC context to newest version
The new DFC Connector is based on the new DFC context which changed all
URLs of all data types.

There's also a better way to access semantic properties now.
2023-07-27 15:38:36 +10:00
dependabot[bot]
34fbcb0e02 chore(deps): bump datafoodconsortium-connector
Bumps datafoodconsortium-connector from 1.0.0.pre.alpha.6 to 1.0.0.pre.alpha.8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 15:38:36 +10:00
Maikel Linke
3b5b9ec54d Avoid network request to DFC context on export
This protects us from the DFC website going down or the DFC updating
the context with breaking changes. We are in control of updating the
context now (opt-in to newer versions).
2023-07-27 15:38:36 +10:00
David Cook
fdb80fe87c Merge pull request #11283 from macanudo527/fix_rubocop_layout_2
Fix rubocop layout 3
2023-07-27 10:29:29 +10:00
Neal Chambers
e923defd55 Safely autocorrect Layout/TrailingWhitespace
Inspecting 1479 files
...................................................................................................................................................C..C.......................................................................................................C.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.....C..................C.............................................................................................C...................................................................C.......................................................................................................................................................................C....................................................C.............C...........CC.........C......C.CC.C....................C........................................................

Offenses:

app/controllers/spree/users_controller.rb:36:37: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
            partial("layouts/alert",
                                    ^
app/controllers/spree/users_controller.rb:51:35: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          partial("layouts/alert",
                                  ^
app/controllers/user_confirmations_controller.rb:27:33: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        partial("layouts/alert",
                                ^
app/models/enterprise.rb:117:24: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
  validates :instagram,
                       ^
spec/controllers/spree/credit_cards_controller_spec.rb:250:64: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                  create(:stored_credit_card, user_id: user.id,
                                                               ^
spec/controllers/user_confirmations_controller_spec.rb:45:44: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        session[:confirmation_return_url] =
                                           ^
spec/factories/order_factory.rb:40:67: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
            order.payments << build(:payment, amount: order.total,
                                                                  ^
spec/lib/reports/packing/packing_report_spec.rb:59:40: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        build(:line_item_with_shipment,
                                       ^
spec/lib/reports/packing/packing_report_spec.rb:63:40: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        build(:line_item_with_shipment,
                                       ^
spec/models/enterprise_spec.rb:521:67: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        expect(Enterprise.supplying_variant_in([p1.variants.first,
                                                                  ^
spec/models/enterprise_spec.rb:906:77: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      create(:enterprise_relationship, parent: distributor, child: supplier,
                                                                            ^
spec/services/products_renderer_spec.rb:22:73: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      create(:product, name: "banana bread", primary_taxon_id: cakes.id,
                                                                        ^
spec/services/products_renderer_spec.rb:88:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          product_apples.product_properties.create!({ property_id: property_organic.id,
                                                                                       ^
spec/services/products_renderer_spec.rb:90:87: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          products_renderer = ProductsRenderer.new(distributor, order_cycle, customer,
                                                                                      ^
spec/services/products_renderer_spec.rb:97:90: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          fruits_supplier.producer_properties.create!({ property_id: property_organic.id,
                                                                                         ^
spec/services/products_renderer_spec.rb:99:87: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          products_renderer = ProductsRenderer.new(distributor, order_cycle, customer,
                                                                                      ^
spec/services/products_renderer_spec.rb:109:93: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          product_apples.product_properties.create!({ property_id: property_conventional.id,
                                                                                            ^
spec/services/products_renderer_spec.rb:111:94: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          product_banana_bread.product_properties.create!({ property_id: property_organic.id,
                                                                                             ^
spec/services/products_renderer_spec.rb:113:90: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          product_cherries.product_properties.create!({ property_id: property_organic.id,
                                                                                         ^
spec/services/products_renderer_spec.rb:115:91: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          product_doughnuts.product_properties.create!({ property_id: property_organic.id,
                                                                                          ^
spec/services/products_renderer_spec.rb:117:87: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          products_renderer = ProductsRenderer.new(distributor, order_cycle, customer,
                                                                                      ^
spec/support/request/stripe_stubs.rb:17:81: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
  def stub_payment_intent_get_request(response: {}, stripe_account_header: true,
                                                                                ^
spec/support/request/stripe_stubs.rb:172:6: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    {
     ^
spec/support/request/stripe_stubs.rb:175:24: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        object: "list",
                       ^
spec/support/request/stripe_stubs.rb:176:25: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        has_more: false,
                        ^
spec/system/admin/bulk_order_management_spec.rb:792:99: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      it "displays only line items whose orders meet the date restriction criteria, when changed",
                                                                                                  ^
spec/system/admin/bulk_order_management_spec.rb:1071:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/bulk_order_management_spec.rb:1121:82: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      shared_examples "display only group by information for selected variant" do
                                                                                 ^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:1143:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/bulk_order_management_spec.rb:1166:12: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        end
           ^
spec/system/admin/customers_spec.rb:18:98: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        create(:customer, first_name: 'John', last_name: 'Doe', enterprise: managed_distributor1,
                                                                                                 ^
spec/system/admin/enterprise_fees_spec.rb:102:37: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      select 'Inherit From Product',
                                    ^
spec/system/admin/enterprise_fees_spec.rb:128:38: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      select 'Weight (per kg or lb)',
                                     ^
spec/system/admin/enterprise_fees_spec.rb:132:37: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      select 'Flat Rate (per item)',
                                    ^
spec/system/admin/enterprise_fees_spec.rb:153:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body beginning.
spec/system/admin/enterprise_fees_spec.rb:153:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/enterprise_fees_spec.rb:157:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/enterprise_fees_spec.rb:159:38: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      select 'Flat Rate (per order)',
                                     ^
spec/system/admin/enterprise_fees_spec.rb:222:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/flatpickr_spec.rb:22:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/flatpickr_spec.rb:27:32: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      find("#admin-menu").click
                               ^^^^^^^
spec/system/admin/flatpickr_spec.rb:32:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/flatpickr_spec.rb:34:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/flatpickr_spec.rb:41:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_cycles/complex_editing_spec.rb:74:33: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    expect(page).to have_select(
                                ^
spec/system/admin/order_cycles/complex_editing_spec.rb:110:33: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    expect(page).to have_select(
                                ^
spec/system/admin/order_cycles/list_spec.rb:147:46: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          expect(find('input.datetimepicker',
                                             ^
spec/system/admin/order_cycles/list_spec.rb:160:46: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          expect(find('input.datetimepicker',
                                             ^
spec/system/admin/order_cycles/list_spec.rb:188:46: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          expect(find('input.datetimepicker',
                                             ^
spec/system/admin/order_cycles/simple_spec.rb:447:43: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        expect(page).not_to have_selector(
                                          ^
spec/system/admin/order_spec.rb:92:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:207:30: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          within(".modal") do
                             ^
spec/system/admin/order_spec.rb:235:21: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      login_as_admin
                    ^^
spec/system/admin/order_spec.rb:240:16: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      before do
               ^
spec/system/admin/order_spec.rb:247:62: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    context "when using the cancel option in the dropdown" do
                                                             ^^
spec/system/admin/order_spec.rb:248:16: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      before do
               ^
spec/system/admin/order_spec.rb:299:53: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        expect(page).to have_content "Are you sure?"
                                                    ^^^^^^^^
spec/system/admin/order_spec.rb:327:36: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        find("a.delete-item").click
                                   ^
spec/system/admin/order_spec.rb:401:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:405:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:598:59: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          expect(page).to have_link "Resend Confirmation",
                                                          ^
spec/system/admin/order_spec.rb:617:52: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          expect(page).to have_link "Cancel Order",
                                                   ^
spec/system/admin/order_spec.rb:633:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:635:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body beginning.
spec/system/admin/order_spec.rb:635:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:674:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:735:35: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          within "#order-total" do
                                  ^
spec/system/admin/order_spec.rb:762:39: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
              within "#order-total" do
                                      ^
spec/system/admin/order_spec.rb:778:41: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                within "#order-total" do
                                        ^
spec/system/admin/order_spec.rb:780:20: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                end
                   ^^
spec/system/admin/order_spec.rb:796:39: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
              within "#order-total" do
                                      ^
spec/system/admin/order_spec.rb:807:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                # Since the order is completed, the price is not supposed to be updated
                                                                                       ^
spec/system/admin/order_spec.rb:813:41: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                within "#order-total" do
                                        ^
spec/system/admin/order_spec.rb:815:20: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                end
                   ^^
spec/system/admin/order_spec.rb:924:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:959:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/order_spec.rb:981:16: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      before do
               ^^
spec/system/admin/order_spec.rb:992:8: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    end
       ^^
spec/system/admin/order_spec.rb:1002:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/shipping_methods_spec.rb:50:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/admin/shipping_methods_spec.rb:92:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.

1479 files inspected, 81 offenses detected, 81 offenses corrected
2023-07-27 09:58:33 +10:00
Neal Chambers
e0206a0be6 Safely autocorrect Layout/TrailingEmptyLines
Inspecting 1479 files
..C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

Rakefile:10:1: C: [Corrected] Layout/TrailingEmptyLines: 1 trailing blank lines detected.

1479 files inspected, 1 offense detected, 1 offense corrected
2023-07-27 09:58:33 +10:00
Neal Chambers
2dbaa7f89d Safely autocorrect Layout/MultilineMethodCallIndentation
Inspecting 1479 files
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......CC......................C..................................................

Offenses:

spec/controllers/api/v0/orders_controller_spec.rb:150:13: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 0) spaces for indenting an expression spanning multiple lines.
            .map{ |o| o["id"] }
            ^^^^
spec/system/admin/order_cycles/complex_editing_spec.rb:30:9: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 4) spaces for indenting an expression spanning multiple lines.
        .to eq(oc.orders_open_at.strftime("%Y-%m-%d %H:%M"))
        ^^^
spec/system/admin/order_cycles/complex_editing_spec.rb:32:9: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 4) spaces for indenting an expression spanning multiple lines.
        .to eq(oc.orders_close_at.strftime("%Y-%m-%d %H:%M"))
        ^^^
spec/system/admin/overview_spec.rb:16:62: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 55) spaces for indenting an expression spanning multiple lines.
                                                             .and_return @enterprise_user
                                                             ^^^^^^^^^^^
spec/system/admin/payment_method_spec.rb:62:22: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 13) spaces for indenting an expression spanning multiple lines.
                     .to_return(body: JSON.generate(stripe_account_mock))
                     ^^^^^^^^^^
spec/system/admin/variant_overrides_spec.rb:214:64: C: [Corrected] Layout/MultilineMethodCallIndentation: Use 2 (not 51) spaces for indenting an expression spanning multiple lines.
                                                               .and_return(build(:user))
                                                               ^^^^^^^^^^^

1479 files inspected, 6 offenses detected, 6 offenses corrected
2023-07-27 09:58:33 +10:00
Neal Chambers
164385ad13 Safely autocorrect Layout/MultilineMethodCallBraceLayout
Inspecting 1479 files
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.....C.....................................................................

Offenses:

spec/system/admin/orders_spec.rb:485:80: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
                 "#listing_orders tbody tr td:first-child input[type=checkbox]")
                                                                               ^
spec/system/admin/orders_spec.rb:486:1: C: [Corrected] Layout/ClosingParenthesisIndentation: Indent ) to column 15 (not 0)
)).to be_checked
^
spec/system/admin/orders_spec.rb:486:15: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the same line as the last argument when opening brace is on the same line as the first argument.
              ).to be_checked
              ^
spec/system/admin/orders_spec.rb:493:80: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
                 "#listing_orders tbody tr td:first-child input[type=checkbox]")
                                                                               ^
spec/system/admin/orders_spec.rb:494:1: C: [Corrected] Layout/ClosingParenthesisIndentation: Indent ) to column 15 (not 0)
)).to_not be_checked
^
spec/system/admin/orders_spec.rb:494:15: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the same line as the last argument when opening brace is on the same line as the first argument.
              ).to_not be_checked
              ^
spec/system/admin/products_spec.rb:346:54: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
                                   product.id, filter)))
                                                     ^
spec/system/admin/products_spec.rb:347:1: C: [Corrected] Layout/ClosingParenthesisIndentation: Indent ) to column 33 (not 0)
)))
^
spec/system/admin/products_spec.rb:352:54: C: [Corrected] Layout/MultilineMethodCallBraceLayout: Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
                                   product.id, filter)))
                                                     ^
spec/system/admin/products_spec.rb:354:1: C: [Corrected] Layout/ClosingParenthesisIndentation: Indent ) to column 33 (not 0)
)))
^

1479 files inspected, 10 offenses detected, 10 offenses corrected
2023-07-27 09:58:33 +10:00
Neal Chambers
a97e208881 Safely autocorrect Layout/MultilineBlockLayout
Inspecting 1479 files
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

engines/order_management/app/services/order_management/subscriptions/validator.rb:101:9: C: [Corrected] Layout/IndentationWidth: Use 2 (not 12) spaces for indentation.
                    sli.quantity > 0 && !sli.marked_for_destruction?
        ^^^^^^^^^^^^
engines/order_management/app/services/order_management/subscriptions/validator.rb:101:11: C: [Corrected] Layout/MultilineBlockLayout: Block argument expression is not on the same line as the block start.
          |sli| sli.quantity > 0 && !sli.marked_for_destruction?
          ^^^^^

1479 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-27 09:58:05 +10:00
Maikel Linke
f7d5217ef6 Compile JS before testing caching
That avoids flakiness.
2023-07-27 09:40:08 +10:00
Neal Chambers
ffda639629 Regenerate Rubocop's TODO file 2023-07-27 08:35:27 +09:00
Maikel
f9589b8b23 Merge pull request #11280 from filipefurtad0/fix_flaky_caching_spec
Comments out flaky caching example
2023-07-27 08:50:06 +10:00
Maikel
5e94c038dc Merge pull request #11227 from filipefurtad0/update_several_enterprise_fees
Updates spec to cover #11150 (regression spec)
2023-07-27 08:45:27 +10:00
Maikel
16d28ab797 Merge pull request #11277 from mkllnk/greek
Add greek locale
2023-07-27 08:38:51 +10:00
filipefurtad0
5ed9583048 Rubocop fixes - not seen locally
Not sure why these were triggered remotly, but not locally - even after making sure I'm up-to-date with master?
2023-07-26 18:35:12 +01:00
filipefurtad0
f7301b72aa Adds test case for updating multiple fees
Adds values, updates and asserts these are saved correctly
2023-07-26 18:35:09 +01:00
Jean-Baptiste Bellet
1a7e99143b Update mobile variant size for white label logo to fit the same ratio
Default size is 217*44. On mobile, we used to use 75*26, but with a different image.

With the white label, using the same image, we should have the same ratio between default and mobile ; that's why I've updated the width of the variant to 128.
2023-07-26 14:43:06 +02:00
filipefurtad0
83f1266b8a Comments out flaky example
Sets example to xit

pending is not suitable for flaky specs, as we'll get a red build anyway, each time the spec passes; commenting out should be the right approach till we fix this one
2023-07-26 12:05:06 +01:00
jibees
f5564a5947 Merge pull request #11279 from openfoodfoundation/dependabot/bundler/rubocop-1.55.0
chore(deps-dev): bump rubocop from 1.54.2 to 1.55.0
2023-07-26 12:56:01 +02:00
filipefurtad0
d4d8941117 Reverts #11019
As discussed here (https://github.com/openfoodfoundation/openfoodnetwork/issues/11010#issuecomment-1594153860), reset_spree_preferences already does Rails.cache.clear
2023-07-26 11:49:41 +01:00
dependabot[bot]
45edda9bf6 chore(deps-dev): bump rubocop from 1.54.2 to 1.55.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.54.2 to 1.55.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.54.2...v1.55.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-07-26 08:43:15 +00:00
jibees
ad7ec1e6d0 Merge pull request #11271 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.132.0
chore(deps): bump aws-sdk-s3 from 1.131.0 to 1.132.0
2023-07-26 10:41:38 +02:00
jibees
b9871933e3 Merge pull request #11272 from openfoodfoundation/dependabot/bundler/view_component-3.5.0
chore(deps): bump view_component from 3.4.0 to 3.5.0
2023-07-26 10:40:55 +02:00
Maikel Linke
627e689757 Fix swagger-api integration after last update
See also:

* https://github.com/rswag/rswag/pull/668
2023-07-26 15:52:48 +10:00
Maikel Linke
cea44c1a78 Add greek locale 2023-07-26 14:45:35 +10:00
jibees
a832562d1f Merge pull request #11198 from dacook/admin_v3-table-tweaks
🚧 Products v3: table and menu tweaks
2023-07-25 16:00:24 +02:00
David Cook
8ef73906db Show products_v3 in the submenu
It's not translated, but that doesn't matter, it's just a shortcut while we're developing it.
2023-07-25 15:31:57 +02:00
David Cook
439c0a8e18 Remove unnecessary match_path options
Spree::Tab already knows when to highlight these, based on the controller name. It even handles sub-paths like '/admin/products/garlic/edit'.
2023-07-25 15:31:57 +02:00
David Cook
ea93800ee6 [table] Tax category: display None instead of blank 2023-07-25 15:31:57 +02:00
David Cook
51189a3138 [table] Hide properties for variant row
These were a duplicate of the product.
2023-07-25 15:31:57 +02:00
jibees
605cb730f7 Merge pull request #11163 from jibees/productsV3-searching-filtering-pagination
🚧 Products v3: viewing, searching,  filtering & pagination
2023-07-25 15:22:42 +02:00
Jean-Baptiste Bellet
352cf2ff71 Import typography.scss for admin_v3
And do not apply `a` style to `.button` element.

ie.
```
a:not(.button)
```
2023-07-25 14:29:00 +02:00
dependabot[bot]
e816629038 chore(deps): bump view_component from 3.4.0 to 3.5.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.4.0 to 3.5.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.4.0...v3.5.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-07-25 10:10:33 +00:00
dependabot[bot]
789fde3c89 chore(deps): bump aws-sdk-s3 from 1.131.0 to 1.132.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.131.0 to 1.132.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-07-25 10:03:30 +00:00
filipefurtad0
04f83fbcce Finally, update system test for an end-to-end testing 2023-07-25 10:57:27 +02:00
Jean-Baptiste Bellet
d22566aa50 Set visible to only_through_links on enterprise creation 2023-07-25 10:57:27 +02:00
Jean-Baptiste Bellet
5a0d4d2a93 Set visible to only_through_links on enterprise registration 2023-07-25 10:57:26 +02:00
Jean-Baptiste Bellet
7aed068bb7 Enterprises.visible attribute is set to only_through_links by default
+ update enterprise_factory.rb to create "public" enterprise through specs via its factory
2023-07-25 10:57:26 +02:00
Jean-Baptiste Bellet
2a81a9acfb Add ability for non super-admin user to see products_v3 page 2023-07-25 09:20:25 +02:00
jibees
6f83d5b316 Merge pull request #11264 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.3.3
chore(deps-dev): bump knapsack_pro from 5.3.2 to 5.3.3
2023-07-24 15:19:57 +02:00
jibees
af086253de Merge pull request #11265 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.1.0
chore(deps-dev): bump jasmine-core from 5.0.1 to 5.1.0
2023-07-24 15:11:45 +02:00
Filipe
8ff877b865 Merge pull request #11258 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.131.0
chore(deps): bump aws-sdk-s3 from 1.126.0 to 1.131.0
2023-07-24 13:30:42 +01:00
Filipe
1e2fb077cd Merge pull request #11261 from macanudo527/fix_rubocop_layout_1
Fix Rubocop Layout violations - 2
2023-07-24 13:05:46 +01:00
dependabot[bot]
f5c326f1b0 chore(deps-dev): bump jasmine-core from 5.0.1 to 5.1.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.0.1 to 5.1.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/v5.0.1...v5.1.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-07-24 09:36:51 +00:00
dependabot[bot]
bf010d273a chore(deps-dev): bump knapsack_pro from 5.3.2 to 5.3.3
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.2 to 5.3.3.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.2...v5.3.3)

---
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-07-24 09:17:36 +00:00
Maikel Linke
f36ca77f5f Ease reading with related spec values on one line 2023-07-24 13:31:09 +10:00
Maikel Linke
a677444a97 Fix specs with missign parenthesis 2023-07-24 13:23:54 +10:00
Neal Chambers
bede52bdae Safely autocorrect Layout/LineLength
Inspecting 1478 files
.......C............................C..............................................................................................................C.......................................................................................................C............................................................................C................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.................C......................................C...................................................................................................................C...........................................................C........................C...C.....C..C..C..........C..................C...............C.....................C...................................................................................C......................................................C........C..C...........C....................C.CC....C....................................C......C..........................

Offenses:

app/components/confirm_modal_component.rb:4:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
  def initialize(id:, confirm_actions: nil, reflex: nil, controller: nil, message: nil,
                                                                                       ^
app/components/confirm_modal_component.rb:4:101: C: [Corrected] Layout/LineLength: Line is too long. [110/100]
  def initialize(id:, confirm_actions: nil, reflex: nil, controller: nil, message: nil, confirm_reflexes: nil)
                                                                                                    ^^^^^^^^^^
app/components/confirm_modal_component.rb:5:1: C: [Corrected] Layout/ParameterAlignment: Align the parameters of a method definition if they span more than one line.
confirm_reflexes: nil)
^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/product_import_controller.rb:142:43: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
      redirect_to '/admin/product_import',
                                          ^
app/controllers/admin/product_import_controller.rb:142:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
      redirect_to '/admin/product_import', notice: I18n.t(:product_import_no_data_in_spreadsheet_notice)
                                                                                                    ^^^^
app/controllers/admin/product_import_controller.rb:143:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
notice: I18n.t(:product_import_no_data_in_spreadsheet_notice)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/users_controller.rb:53:101: C: Layout/LineLength: Line is too long. [107/100]
                            message: t('devise.user_registrations.spree_user.signed_up_but_unconfirmed') })
                                                                                                    ^^^^^^^
app/models/customer.rb:43:101: C: [Corrected] Layout/LineLength: Line is too long. [113/100]
  scope :managed_by, ->(user) { user&.persisted? ? where(user: user).or(of(Enterprise.managed_by(user))) : none }
                                                                                                    ^^^^^^^^^^^^^
app/models/customer.rb:44:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 user&.persisted? ? where(user: user).or(of(Enterprise.managed_by(user))) : none
^
app/models/customer.rb:44:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -19) spaces for indentation.
  user&.persisted? ? where(user: user).or(of(Enterprise.managed_by(user))) : none
  ^^^^^^^^^^^^^^^^^^^
app/models/customer.rb:44:82: C: [Corrected] Layout/BlockEndNewline: Expression at 44, 82 should be on its own line.
 user&.persisted? ? where(user: user).or(of(Enterprise.managed_by(user))) : none }
                                                                                 ^
app/models/customer.rb:44:101: C: Layout/LineLength: Line is too long. [102/100]
                       user&.persisted? ? where(user: user).or(of(Enterprise.managed_by(user))) : none
                                                                                                    ^^
app/models/customer.rb:45:1: C: [Corrected] Layout/BlockAlignment: } at 45, 0 is not aligned with ->(user) { at 43, 21 or scope :managed_by, ->(user) { at 43, 2.
}
^
app/models/spree/line_item.rb:53:101: C: Layout/LineLength: Line is too long. [110/100]
    attr_accessor :skip_stock_check, :target_shipment # Allows manual skipping of Stock::AvailabilityValidator
                                                                                                    ^^^^^^^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:38:101: C: Layout/LineLength: Line is too long. [108/100]
            it "loads order cycles that closed within the past month, and orders without a close_at date" do
                                                                                                    ^^^^^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:48:101: C: Layout/LineLength: Line is too long. [111/100]
            it "loads order cycles that closed after the specified date, and orders without a close_at date" do
                                                                                                    ^^^^^^^^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:100:101: C: Layout/LineLength: Line is too long. [125/100]
              expect(flash[:error]).to eq "You don't have permission to create an order cycle coordinated by that enterprise"
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:125:101: C: Layout/LineLength: Line is too long. [101/100]
            order_cycle.exchanges.create! sender: distributor, receiver: distributor, incoming: true,
                                                                                                    ^
spec/controllers/admin/order_cycles_controller_spec.rb:127:101: C: Layout/LineLength: Line is too long. [102/100]
            order_cycle.exchanges.create! sender: distributor, receiver: distributor, incoming: false,
                                                                                                    ^^
spec/controllers/admin/order_cycles_controller_spec.rb:284:101: C: Layout/LineLength: Line is too long. [101/100]
            merge(order_cycle: { preferred_product_selection_from_coordinator_inventory_only: true })
                                                                                                    ^
spec/controllers/admin/order_cycles_controller_spec.rb:311:101: C: Layout/LineLength: Line is too long. [104/100]
        create(:exchange, order_cycle: order_cycle, sender: coordinator, receiver: hub, incoming: false,
                                                                                                    ^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:374:101: C: Layout/LineLength: Line is too long. [102/100]
          expect(json_response['errors']).to eq 'Hm, something went wrong. No order cycle data found.'
                                                                                                    ^^
spec/controllers/admin/order_cycles_controller_spec.rb:460:101: C: Layout/LineLength: Line is too long. [176/100]
          expect(flash[:error]).to eq 'That order cycle has been selected by a customer and cannot be deleted. To prevent customers from accessing it, please close it instead.'
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/admin/order_cycles_controller_spec.rb:470:101: C: Layout/LineLength: Line is too long. [147/100]
          expect(flash[:error]).to eq 'That order cycle is linked to a schedule and cannot be deleted. Please unlink or delete the schedule first.'
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/api/v0/order_cycles_controller_spec.rb:16:101: C: [Corrected] Layout/LineLength: Line is too long. [106/100]
    let!(:product1) { create(:product, name: "Kangaroo", primary_taxon: taxon1, properties: [property1]) }
                                                                                                    ^^^^^^
spec/controllers/api/v0/order_cycles_controller_spec.rb:17:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 create(:product, name: "Kangaroo", primary_taxon: taxon1, properties: [property1])
^
spec/controllers/api/v0/order_cycles_controller_spec.rb:17:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -2) spaces for indentation.
  create(:product, name: "Kangaroo", primary_taxon: taxon1, properties: [property1])
  ^^
spec/controllers/api/v0/order_cycles_controller_spec.rb:17:85: C: [Corrected] Layout/BlockEndNewline: Expression at 17, 85 should be on its own line.
 create(:product, name: "Kangaroo", primary_taxon: taxon1, properties: [property1]) }
                                                                                    ^
spec/controllers/api/v0/order_cycles_controller_spec.rb:17:101: C: [Corrected] Layout/LineLength: Line is too long. [106/100]
    let!(:product2) { create(:product, name: "Parsnips", primary_taxon: taxon2, properties: [property2]) }
                                                                                                    ^^^^^^
spec/controllers/api/v0/order_cycles_controller_spec.rb:18:1: C: [Corrected] Layout/BlockAlignment: } at 18, 0 is not aligned with let!(:product1) { at 16, 4.
}
^
spec/controllers/api/v0/order_cycles_controller_spec.rb:19:85: C: [Corrected] Layout/BlockEndNewline: Expression at 19, 85 should be on its own line.
 create(:product, name: "Parsnips", primary_taxon: taxon2, properties: [property2]) }
                                                                                    ^
spec/controllers/api/v0/order_cycles_controller_spec.rb:20:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 create(:product, name: "Parsnips", primary_taxon: taxon2, properties: [property2])
^
spec/controllers/api/v0/order_cycles_controller_spec.rb:20:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -2) spaces for indentation.
  create(:product, name: "Parsnips", primary_taxon: taxon2, properties: [property2])
  ^^
spec/controllers/api/v0/order_cycles_controller_spec.rb:21:1: C: [Corrected] Layout/BlockAlignment: } at 21, 0 is not aligned with let!(:product2) { at 19, 4.
}
^
spec/controllers/spree/admin/orders_controller_spec.rb:232:101: C: [Corrected] Layout/LineLength: Line is too long. [117/100]
        let!(:order_cycle){ create(:simple_order_cycle, distributors: [distributor], variants: [line_item.variant]) }
                                                                                                    ^^^^^^^^^^^^^^^^^
spec/controllers/spree/admin/orders_controller_spec.rb:233:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 create(:simple_order_cycle, distributors: [distributor], variants: [line_item.variant])
^
spec/controllers/spree/admin/orders_controller_spec.rb:233:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -6) spaces for indentation.
  create(:simple_order_cycle, distributors: [distributor], variants: [line_item.variant])
  ^^^^^^
spec/controllers/spree/admin/orders_controller_spec.rb:233:90: C: [Corrected] Layout/BlockEndNewline: Expression at 233, 90 should be on its own line.
 create(:simple_order_cycle, distributors: [distributor], variants: [line_item.variant]) }
                                                                                         ^
spec/controllers/spree/admin/orders_controller_spec.rb:234:1: C: [Corrected] Layout/BlockAlignment: } at 234, 0 is not aligned with let!(:order_cycle){ at 232, 8.
}
^
spec/controllers/spree/admin/orders_controller_spec.rb:252:101: C: Layout/LineLength: Line is too long. [109/100]
            allow_any_instance_of(Spree::Order).to receive(:ensure_available_shipping_rates).and_return(true)
                                                                                                    ^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:93:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                create(:order_with_totals_and_distribution, :completed, distributor: d,
                                                                                       ^
spec/lib/reports/customers_report_spec.rb:93:101: C: [Corrected] Layout/LineLength: Line is too long. [125/100]
                create(:order_with_totals_and_distribution, :completed, distributor: d, bill_address: a, shipping_method: sm)
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:94:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
bill_address: a, shipping_method: sm)
^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:94:101: C: Layout/LineLength: Line is too long. [109/100]
                                                                        bill_address: a, shipping_method: sm)
                                                                                                    ^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:96:101: C: [Corrected] Layout/LineLength: Line is too long. [125/100]
                create(:order_with_totals_and_distribution, :completed, distributor: d, bill_address: a, shipping_method: sm)
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:97:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                create(:order_with_totals_and_distribution, :completed, distributor: d,
                                                                                       ^
spec/lib/reports/customers_report_spec.rb:98:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
bill_address: a, shipping_method: sm)
^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:98:101: C: Layout/LineLength: Line is too long. [109/100]
                                                                        bill_address: a, shipping_method: sm)
                                                                                                    ^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:113:101: C: Layout/LineLength: Line is too long. [118/100]
                                                   [d.address.address1, d.address.address2, d.address.city].join(" "),
                                                                                                    ^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:120:101: C: [Corrected] Layout/LineLength: Line is too long. [129/100]
                  create(:order_with_totals_and_distribution, :completed, distributor: d2, bill_address: a, shipping_method: sm2)
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:122:91: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                  create(:order_with_totals_and_distribution, :completed, distributor: d2,
                                                                                          ^
spec/lib/reports/customers_report_spec.rb:123:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
bill_address: a, shipping_method: sm2)
^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:123:101: C: Layout/LineLength: Line is too long. [112/100]
                                                                          bill_address: a, shipping_method: sm2)
                                                                                                    ^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:133:101: C: Layout/LineLength: Line is too long. [120/100]
                                                     [d.address.address1, d.address.address2, d.address.city].join(" "),
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:139:101: C: Layout/LineLength: Line is too long. [123/100]
                                                     [d2.address.address1, d2.address.address2, d2.address.city].join(" "),
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:145:101: C: [Corrected] Layout/LineLength: Line is too long. [128/100]
                  create(:order_with_totals_and_distribution, :completed, distributor: d, bill_address: a, shipping_method: sm2)
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:148:90: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
                  create(:order_with_totals_and_distribution, :completed, distributor: d,
                                                                                         ^
spec/lib/reports/customers_report_spec.rb:149:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
bill_address: a, shipping_method: sm2)
^^^^^^^^^^^^^^^
spec/lib/reports/customers_report_spec.rb:149:101: C: Layout/LineLength: Line is too long. [112/100]
                                                                          bill_address: a, shipping_method: sm2)
                                                                                                    ^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:16:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise1.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:18:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise2.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:20:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise4.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/models/enterprise_spec.rb:521:101: C: [Corrected] Layout/LineLength: Line is too long. [111/100]
        expect(Enterprise.supplying_variant_in([p1.variants.first, p2.variants.first])).to match_array [s1, s2]
                                                                                                    ^^^^^^^^^^^
spec/models/enterprise_spec.rb:522:1: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
p2.variants.first])).to match_array [s1, s2]
^^^^^^^^^^^^^^^^^
spec/models/order_cycle_spec.rb:207:101: C: Layout/LineLength: Line is too long. [118/100]
      expect(oc.variants).to match_array [p0.variants.first, p1.variants.first, p2.variants.first, p2_v, p1_v_visible,
                                                                                                    ^^^^^^^^^^^^^^^^^^
spec/models/order_cycle_spec.rb:220:101: C: Layout/LineLength: Line is too long. [111/100]
      expect(oc.distributed_variants).to match_array [p1.variants.first, p2.variants.first, p2_v, p1_v_visible,
                                                                                                    ^^^^^^^^^^^
spec/models/product_importer_spec.rb:782:101: C: Layout/LineLength: Line is too long. [101/100]
          csv << [" Oats ", "\nPorridge Oats\n", "\r#{enterprise2.name}\r", "\t#{enterprise.name}\t",
                                                                                                    ^
spec/models/spree/ability_spec.rb:340:69: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          [:admin, :index, :read, :edit, :update, :search, :destroy,
                                                                    ^
spec/models/spree/ability_spec.rb:340:101: C: [Corrected] Layout/LineLength: Line is too long. [101/100]
          [:admin, :index, :read, :edit, :update, :search, :destroy, :delete], for: p1.variants.first
                                                                                                    ^
spec/models/spree/ability_spec.rb:341:1: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
:delete], for: p1.variants.first
^^^^^^^
spec/models/spree/ability_spec.rb:350:101: C: [Corrected] Layout/LineLength: Line is too long. [108/100]
          [:admin, :index, :read, :edit, :update, :search, :destroy, :delete], for: p_related.variants.first
                                                                                                    ^^^^^^^^
spec/models/spree/ability_spec.rb:351:69: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          [:admin, :index, :read, :edit, :update, :search, :destroy,
                                                                    ^
spec/models/spree/ability_spec.rb:352:1: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
:delete], for: p_related.variants.first
^^^^^^^
spec/models/spree/ability_spec.rb:379:101: C: [Corrected] Layout/LineLength: Line is too long. [101/100]
          [:admin, :index, :read, :create, :edit, :search, :update, :destroy], for: p2.variants.first
                                                                                                    ^
spec/models/spree/ability_spec.rb:381:68: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          [:admin, :index, :read, :create, :edit, :search, :update,
                                                                   ^
spec/models/spree/ability_spec.rb:382:1: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
:destroy], for: p2.variants.first
^^^^^^^^
spec/models/spree/adjustment_spec.rb:339:101: C: Layout/LineLength: Line is too long. [106/100]
          create(:tax_rate, included_in_price: true, calculator: ::Calculator::DefaultTax.new, zone: zone,
                                                                                                    ^^^^^^
spec/models/spree/adjustment_spec.rb:367:101: C: Layout/LineLength: Line is too long. [101/100]
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 50.0))
                                                                                                    ^
spec/models/spree/adjustment_spec.rb:428:101: C: Layout/LineLength: Line is too long. [105/100]
        context "when enterprise fees inherit their tax_category from the product they are applied to" do
                                                                                                    ^^^^^
spec/models/spree/adjustment_spec.rb:443:101: C: Layout/LineLength: Line is too long. [101/100]
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 50.0))
                                                                                                    ^
spec/models/spree/line_item_spec.rb:208:101: C: Layout/LineLength: Line is too long. [107/100]
        expect(LineItem.from_order_cycle(oc_order.order_cycle).first.id).to eq oc_order.line_items.first.id
                                                                                                    ^^^^^^^
spec/models/spree/line_item_spec.rb:342:101: C: Layout/LineLength: Line is too long. [102/100]
                                                               Spree::Variant.find(variant.id).on_hand
                                                                                                    ^^
spec/models/spree/product_spec.rb:409:74: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          create(:simple_order_cycle, suppliers: [s], distributors: [d1],
                                                                         ^
spec/models/spree/product_spec.rb:409:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
          create(:simple_order_cycle, suppliers: [s], distributors: [d1], variants: [p1.variants.first])
                                                                                                    ^^^^
spec/models/spree/product_spec.rb:410:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
variants: [p1.variants.first])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/spree/product_spec.rb:410:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
          create(:simple_order_cycle, suppliers: [s], distributors: [d2], variants: [p2.variants.first])
                                                                                                    ^^^^
spec/models/spree/product_spec.rb:411:74: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          create(:simple_order_cycle, suppliers: [s], distributors: [d2],
                                                                         ^
spec/models/spree/product_spec.rb:412:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
variants: [p2.variants.first])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/spree/product_spec.rb:486:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
          create(:simple_order_cycle, suppliers: [s], distributors: [d1], variants: [p1.variants.first])
                                                                                                    ^^^^
spec/models/spree/product_spec.rb:487:101: C: [Corrected] Layout/LineLength: Line is too long. [104/100]
          create(:simple_order_cycle, suppliers: [s], distributors: [d2], variants: [p2.variants.first])
                                                                                                    ^^^^
spec/models/spree/product_spec.rb:488:74: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          create(:simple_order_cycle, suppliers: [s], distributors: [d1],
                                                                         ^
spec/models/spree/product_spec.rb:489:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
variants: [p1.variants.first])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/spree/product_spec.rb:490:74: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          create(:simple_order_cycle, suppliers: [s], distributors: [d2],
                                                                         ^
spec/models/spree/product_spec.rb:491:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
variants: [p2.variants.first])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/spree/product_spec.rb:495:101: C: [Corrected] Layout/LineLength: Line is too long. [102/100]
          create(:simple_order_cycle, suppliers: [s], distributors: [d], variants: [p.variants.first])
                                                                                                    ^^
spec/models/spree/product_spec.rb:499:73: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
          create(:simple_order_cycle, suppliers: [s], distributors: [d],
                                                                        ^
spec/models/spree/product_spec.rb:500:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
variants: [p.variants.first])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/spree/variant_spec.rb:356:101: C: Layout/LineLength: Line is too long. [108/100]
            it "lists any variants that are not listed as visible=false only for the relevant enterprise" do
                                                                                                    ^^^^^^^^
spec/models/spree/variant_spec.rb:479:101: C: Layout/LineLength: Line is too long. [108/100]
      expect_any_instance_of(OpenFoodNetwork::EnterpriseFeeCalculator).to receive(:fees_for).with(variant) {
                                                                                                    ^^^^^^^^
spec/models/spree/variant_spec.rb:494:101: C: Layout/LineLength: Line is too long. [116/100]
      expect_any_instance_of(OpenFoodNetwork::EnterpriseFeeCalculator).to receive(:fees_by_type_for).with(variant) {
                                                                                                    ^^^^^^^^^^^^^^^^
spec/models/spree/variant_spec.rb:704:101: C: Layout/LineLength: Line is too long. [115/100]
        expect_any_instance_of(VariantUnits::OptionValueNamer).to receive(:name).exactly(1).times.and_call_original
                                                                                                    ^^^^^^^^^^^^^^^
spec/requests/api/orders_spec.rb:167:88: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
              create(:order_with_line_items, line_items_count: 1, bill_address_id: nil,
                                                                                       ^
spec/requests/api/orders_spec.rb:167:101: C: [Corrected] Layout/LineLength: Line is too long. [109/100]
              create(:order_with_line_items, line_items_count: 1, bill_address_id: nil, ship_address_id: nil)
                                                                                                    ^^^^^^^^^
spec/requests/api/orders_spec.rb:168:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
ship_address_id: nil)
^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:91:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/services/products_renderer_spec.rb:100:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/services/products_renderer_spec.rb:118:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/support/request/web_helper.rb:96:84: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
    tomselect_wrapper.find(:css, '.ts-dropdown.multi .ts-dropdown-content .option',
                                                                                   ^
spec/support/request/web_helper.rb:96:101: C: [Corrected] Layout/LineLength: Line is too long. [102/100]
    tomselect_wrapper.find(:css, '.ts-dropdown.multi .ts-dropdown-content .option', text: value).click
                                                                                                    ^^
spec/support/request/web_helper.rb:97:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
text: value).click
^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:29:101: C: [Corrected] Layout/LineLength: Line is too long. [197/100]
  let!(:tax_rate2) { create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true, tax_category: tax_category_included, calculator: Calculator::DefaultTax.new ) }
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:30:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true,
^
spec/system/admin/adjustments_spec.rb:30:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not 0) spaces for indentation.
  create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true,

spec/system/admin/adjustments_spec.rb:30:98: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
 create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true,
                                                                                                 ^
spec/system/admin/adjustments_spec.rb:30:101: C: [Corrected] Layout/LineLength: Line is too long. [177/100]
 create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true, tax_category: tax_category_included, calculator: Calculator::DefaultTax.new ) }
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:30:177: C: [Corrected] Layout/BlockEndNewline: Expression at 30, 177 should be on its own line.
 create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true, tax_category: tax_category_included, calculator: Calculator::DefaultTax.new ) }
                                                                                                                                                                                ^
spec/system/admin/adjustments_spec.rb:31:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
tax_category: tax_category_included, calculator: Calculator::DefaultTax.new )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:32:1: C: [Corrected] Layout/BlockAlignment: } at 32, 0 is not aligned with let!(:tax_rate2) { at 29, 2.
}
^
spec/system/admin/adjustments_spec.rb:41:101: C: Layout/LineLength: Line is too long. [134/100]
  shared_examples "when the enable_localized_number preference" do |adjustment_label, adjustment_amount, tax_category, tax, tax_total|
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:67:101: C: [Corrected] Layout/LineLength: Line is too long. [117/100]
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%", "$0.33", "$-1.67"
                                                                                                    ^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:68:100: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%",
                                                                                                   ^
spec/system/admin/adjustments_spec.rb:69:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$0.33", "$-1.67"
^^^^^^^
spec/system/admin/adjustments_spec.rb:71:101: C: [Corrected] Layout/LineLength: Line is too long. [120/100]
        it_behaves_like "when the enable_localized_number preference", "Late fee", "100", "TVA 20%", "$-16.67", "$83.33"
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:73:90: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Late fee", "100",
                                                                                         ^
spec/system/admin/adjustments_spec.rb:74:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"TVA 20%", "$-16.67", "$83.33"
^^^^^^^^^
spec/system/admin/adjustments_spec.rb:77:101: C: [Corrected] Layout/LineLength: Line is too long. [113/100]
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST", "$10.00", "$8.00"
                                                                                                    ^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:80:96: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST",
                                                                                               ^
spec/system/admin/adjustments_spec.rb:81:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$10.00", "$8.00"
^^^^^^^^
spec/system/admin/adjustments_spec.rb:81:101: C: [Corrected] Layout/LineLength: Line is too long. [113/100]
        it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST", "$10.00", "$120"
                                                                                                    ^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:85:97: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST",
                                                                                                ^
spec/system/admin/adjustments_spec.rb:86:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$10.00", "$120"
^^^^^^^^
spec/system/admin/adjustments_spec.rb:93:101: C: [Corrected] Layout/LineLength: Line is too long. [117/100]
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%", "$0.33", "$-1.67"
                                                                                                    ^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:97:101: C: [Corrected] Layout/LineLength: Line is too long. [120/100]
        it_behaves_like "when the enable_localized_number preference", "Late fee", "100", "TVA 20%", "$-16.67", "$83.33"
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:98:100: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%",
                                                                                                   ^
spec/system/admin/adjustments_spec.rb:99:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$0.33", "$-1.67"
^^^^^^^
spec/system/admin/adjustments_spec.rb:103:90: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Late fee", "100",
                                                                                         ^
spec/system/admin/adjustments_spec.rb:103:101: C: [Corrected] Layout/LineLength: Line is too long. [113/100]
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST", "$10.00", "$8.00"
                                                                                                    ^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:104:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"TVA 20%", "$-16.67", "$83.33"
^^^^^^^^^
spec/system/admin/adjustments_spec.rb:107:101: C: [Corrected] Layout/LineLength: Line is too long. [113/100]
        it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST", "$10.00", "$120"
                                                                                                    ^^^^^^^^^^^^^
spec/system/admin/adjustments_spec.rb:110:96: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST",
                                                                                               ^
spec/system/admin/adjustments_spec.rb:111:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$10.00", "$8.00"
^^^^^^^^
spec/system/admin/adjustments_spec.rb:115:97: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
        it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST",
                                                                                                ^
spec/system/admin/adjustments_spec.rb:116:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
"$10.00", "$120"
^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:268:101: C: Layout/LineLength: Line is too long. [105/100]
                                      text: "#{o1.bill_address.last_name}, #{o1.bill_address.first_name}"
                                                                                                    ^^^^^
spec/system/admin/bulk_order_management_spec.rb:1036:101: C: Layout/LineLength: Line is too long. [147/100]
            expect(page).to have_content "This operation will result in one or more empty orders, which will be cancelled. Do you wish to proceed?"
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:1060:101: C: Layout/LineLength: Line is too long. [138/100]
          it "the user can confirm + wants to send email confirmation : line item is then deleted, order is canceled and email is sent" do
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:1072:101: C: Layout/LineLength: Line is too long. [134/100]
          it "the user can confirm + uncheck the restock option: line item is then deleted and order is canceled without retocking" do
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/customers_spec.rb:40:101: C: Layout/LineLength: Line is too long. [126/100]
                                                     managed_distributor2.name], without_options: [unmanaged_distributor.name]
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:346:101: C: Layout/LineLength: Line is too long. [101/100]
                                           with_options: [schedule_of_other_managed_distributor.name]
                                                                                                    ^
spec/system/admin/order_cycles/simple_spec.rb:623:101: C: Layout/LineLength: Line is too long. [121/100]
                                 value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:625:101: C: Layout/LineLength: Line is too long. [120/100]
                                 value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:733:101: C: Layout/LineLength: Line is too long. [121/100]
                                 value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:735:101: C: Layout/LineLength: Line is too long. [120/100]
                                 value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_spec.rb:598:101: C: [Corrected] Layout/LineLength: Line is too long. [101/100]
          expect(page).to have_link "Resend Confirmation", href: spree.resend_admin_order_path(order)
                                                                                                    ^
spec/system/admin/order_spec.rb:599:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
href: spree.resend_admin_order_path(order)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_spec.rb:616:101: C: [Corrected] Layout/LineLength: Line is too long. [105/100]
          expect(page).to have_link "Cancel Order", href: spree.fire_admin_order_path(order, e: 'cancel')
                                                                                                    ^^^^^
spec/system/admin/order_spec.rb:618:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
href: spree.fire_admin_order_path(order, e: 'cancel')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:259:101: C: Layout/LineLength: Line is too long. [109/100]
                                       distributor: distributor2, bill_address_id: nil, ship_address_id: nil)
                                                                                                    ^^^^^^^^^
spec/system/admin/product_import_spec.rb:573:101: C: Layout/LineLength: Line is too long. [106/100]
      expect(page).to have_content "line 4: Cabbage - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^
spec/system/admin/product_import_spec.rb:574:101: C: Layout/LineLength: Line is too long. [108/100]
      expect(page).to have_content "line 5: Aubergine - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^^^
spec/system/admin/product_import_spec.rb:583:101: C: Layout/LineLength: Line is too long. [102/100]
        csv << ["name", "producer", "category", "on_hand", "price", "on_demand", "units", "unit_type",
                                                                                                    ^^
spec/system/admin/product_import_spec.rb:585:101: C: Layout/LineLength: Line is too long. [106/100]
        csv << ["Beans", "User Enterprise", "Vegetables", "invalid", "3.50", "1", "0.5", "g", "Small Bag",
                                                                                                    ^^^^^^
spec/system/admin/product_import_spec.rb:587:101: C: Layout/LineLength: Line is too long. [103/100]
        csv << ["Potatoes", "User Enterprise", "Vegetables", "6", "6", "invalid", "5", "kg", "Big Bag",
                                                                                                    ^^^
spec/system/admin/product_import_spec.rb:589:101: C: Layout/LineLength: Line is too long. [106/100]
        csv << ["Cabbage", "User Enterprise", "Vegetables", "invalid", "1.5", "invalid", "1", "kg", "Bag",
                                                                                                    ^^^^^^
spec/system/admin/product_import_spec.rb:591:101: C: Layout/LineLength: Line is too long. [102/100]
        csv << ["Aubergine", "User Enterprise", "Vegetables", nil, "1.5", "invalid", "1", "kg", "Bag",
                                                                                                    ^^
spec/system/admin/product_import_spec.rb:607:101: C: Layout/LineLength: Line is too long. [114/100]
      expect(page).to have_content "line 4: Cabbage ( Bag ) - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^^^^^^^^^
spec/system/admin/product_import_spec.rb:608:101: C: Layout/LineLength: Line is too long. [116/100]
      expect(page).to have_content "line 5: Aubergine ( Bag ) - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^^^^^^^^^^^
spec/system/admin/product_import_spec.rb:617:101: C: Layout/LineLength: Line is too long. [102/100]
        csv << ["name", "producer", "category", "on_hand", "price", "on_demand", "units", "unit_type",
                                                                                                    ^^
spec/system/admin/product_import_spec.rb:619:101: C: Layout/LineLength: Line is too long. [101/100]
        csv << ["Beans", "User Enterprise", "Vegetables", "-1", "3.50", "1", "500", "g", "Small Bag",
                                                                                                    ^
spec/system/admin/product_import_spec.rb:641:101: C: Layout/LineLength: Line is too long. [114/100]
      expect(page).to have_content "line 4: Cabbage ( Bag ) - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^^^^^^^^^
spec/system/admin/product_import_spec.rb:642:101: C: Layout/LineLength: Line is too long. [116/100]
      expect(page).to have_content "line 5: Aubergine ( Bag ) - On_hand incorrect value - On_demand incorrect value"
                                                                                                    ^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/cart_spec.rb:147:101: C: Layout/LineLength: Line is too long. [101/100]
                                                                     preferred_unit_from_list: "kg"),
                                                                                                    ^
spec/system/consumer/shopping/products_spec.rb:98:101: C: Layout/LineLength: Line is too long. [113/100]
                                                        "<script>alert('Dangerous!');</script>", truncate: false)
                                                                                                    ^^^^^^^^^^^^^

1478 files inspected, 173 offenses detected, 106 offenses corrected
2023-07-24 09:14:13 +09:00
Neal Chambers
e546a6b583 Safely autocorrect Layout/LineContinuationSpacing
Inspecting 1478 files
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.....................C............................................................................

Offenses:

spec/system/admin/enterprise_fees_spec.rb:52:46: C: [Corrected] Layout/LineContinuationSpacing: Use one space in front of backslash.
    fill_in "#{prefix}_calculator_attributes"\
                                             ^
spec/system/admin/enterprise_fees_spec.rb:57:58: C: [Corrected] Layout/LineContinuationSpacing: Use one space in front of backslash.
    expect(page).to have_selector("##{prefix}_calculator"\
                                                         ^
spec/system/admin/enterprise_fees_spec.rb:142:43: C: [Corrected] Layout/LineContinuationSpacing: Use one space in front of backslash.
        "#{prefix}_calculator_attributes_"\
                                          ^
spec/system/admin/order_spec.rb:646:84: C: [Corrected] Layout/LineContinuationSpacing: Use one space in front of backslash.
            accept_alert "An invoice for this order will be sent to the customer. "\
                                                                                   ^

1478 files inspected, 4 offenses detected, 4 offenses corrected
2023-07-24 09:14:13 +09:00
Neal Chambers
948b287fd6 Safely autocorrect Layout/LeadingCommentSpace
Inspecting 1478 files
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................

Offenses:

spec/system/admin/enterprises_spec.rb:204:5: C: [Corrected] Layout/LeadingCommentSpace: Missing space after #.
    #using "find" as fields outside of the screen and are not visible
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1478 files inspected, 1 offense detected, 1 offense corrected
2023-07-24 09:14:13 +09:00
Neal Chambers
9155614501 Safely autocorrect Layout/IndentationConsistency
Inspecting 1478 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.C.......C......................................................................

Offenses:

spec/system/admin/order_cycles/complex_updating_specific_time_spec.rb:84:7: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
      "#order_cycle_incoming_exchange_1_variants_#{initial_variants.last.id}"
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:784:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        "order_cycle_selected_distributor_payment_method_ids_#{distributor_payment_method_id}"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:791:9: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
        "order_cycle_selected_distributor_shipping_method_ids_#{distributor_shipping_method_id}"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/product_import_spec.rb:818:15: C: [Corrected] Layout/IndentationConsistency: Inconsistent indentation detected.
              I18n.t("admin.product_import.product_headings.#{heading}").upcase
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1478 files inspected, 4 offenses detected, 4 offenses corrected
2023-07-24 09:14:13 +09:00
Neal Chambers
dce02160d4 Safely autocorrect Layout/HashAlignment
Inspecting 1478 files
...................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C......................................................................................................................................................................................................................................................C......................CC....................C......................................................

Offenses:

app/controllers/spree/users_controller.rb:53:19: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
                  message: t('devise.user_registrations.spree_user.signed_up_but_unconfirmed') })
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/users_controller.rb:53:101: C: Layout/LineLength: Line is too long. [107/100]
                            message: t('devise.user_registrations.spree_user.signed_up_but_unconfirmed') })
                                                                                                    ^^^^^^^
spec/models/enterprise_spec.rb:906:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
permissions: [permission])
^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/customers_spec.rb:19:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
code: nil, created_manually: true)
^^^^^^^^^
spec/system/admin/order_spec.rb:708:1: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
distributors: [distributor1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:45:4: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
   distributors: [distributor4, distributor5])
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:249:9: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
        line_items_count: 0)
        ^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:254:9: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
        line_items_count: 1)
        ^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:259:9: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
        distributor: distributor2, bill_address_id: nil, ship_address_id: nil)
        ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:259:101: C: Layout/LineLength: Line is too long. [109/100]
                                       distributor: distributor2, bill_address_id: nil, ship_address_id: nil)
                                                                                                    ^^^^^^^^^
spec/system/admin/tag_rules_spec.rb:145:37: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
                                    count: 4
                                    ^^^^^^^^

1478 files inspected, 11 offenses detected, 9 offenses corrected
2023-07-24 09:14:13 +09:00
Filipe
8bd25f9711 Merge pull request #11251 from jibees/11207-update-all-products-report-to-include-stock
Admin, Products & Inventory reports: add `on_hand` and `on_demand?` columns by default ; mark `Inventory (on hand)` report as deprecated
2023-07-21 17:07:00 +01:00
Filipe
0d0beda887 Merge pull request #11084 from abdellani/update_invoice_status_automatically
set invoice status automatically after creation
2023-07-21 16:21:05 +01:00
jibees
5142efc86e Merge pull request #11257 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.3.2
chore(deps-dev): bump knapsack_pro from 5.3.1 to 5.3.2
2023-07-21 14:36:46 +02:00
Cillian O'Ruanaidh
0c0b85f4c4 Validate voucher code doesn't contain new line characters 2023-07-21 12:32:36 +01:00
Cillian O'Ruanaidh
0d0df82522 Validate voucher code length doesn't exceed the database column length i.e. 255 characters 2023-07-21 12:32:36 +01:00
Cillian O'Ruanaidh
5d66c8a578 Strip leading and trailing whitespace from voucher codes before validation 2023-07-21 12:32:36 +01:00
Cillian O'Ruanaidh
535ca954de Voucher codes should only be a single line so use a text field instead of a textarea 2023-07-21 12:12:36 +01:00
dependabot[bot]
df633f7855 chore(deps): bump aws-sdk-s3 from 1.126.0 to 1.131.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.126.0 to 1.131.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-07-21 09:17:05 +00:00
dependabot[bot]
44551766c5 chore(deps-dev): bump knapsack_pro from 5.3.1 to 5.3.2
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.1 to 5.3.2.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.1...v5.3.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-07-21 09:15:41 +00:00
jibees
6ddb3cd644 Merge pull request #11252 from filipefurtad0/invoices_missing_translations
Adds missing key
2023-07-21 10:42:35 +02:00
Jean-Baptiste Bellet
a094a89c09 Mark "Inventory (on hand)" report as deprecated
Co-Authored-By: Maikel <maikel@email.org.au>, @dacook
2023-07-21 09:27:07 +02:00
Jean-Baptiste Bellet
28fe479f53 Unhide on_demand & on_hand columns by default
+ update specs as well
2023-07-21 09:27:07 +02:00
David Cook
b464e51ba4 Merge pull request #11246 from mkllnk/engine-ruby-version
Add Ruby version to engines for Rubocop
2023-07-21 15:03:01 +10:00
Gaetan Craig-Riou
f9afc0ba96 Fix rubocop warning 2023-07-21 14:51:40 +10:00
Gaetan Craig-Riou
196b674bf1 Add system spec to test filtering by product 2023-07-21 14:51:40 +10:00
Gaetan Craig-Riou
2fff77b2ee Report, add filtering by product for line items 2023-07-21 14:51:40 +10:00
Gaetan Craig-Riou
ec78de7cea Add product dropdown on Order and Fulfillment reports
It includes loading the selected product to populate the dropdown
when needed.
2023-07-21 14:51:40 +10:00
Gaetan Craig-Riou
b4a3aaab19 Add select variant stimulus controller
This is similar to variantAutocomplete directive used on the
new order page. It doesn't have all the same feature, but it's a
start
2023-07-21 14:51:40 +10:00
Maikel Linke
54f39668ba Remove unused, outdated dependency declarations
The Gemfile of the main app is used.
2023-07-21 14:13:27 +10:00
Maikel Linke
a01aa8849c Add Ruby version to engines for Rubocop
> This ensures that RuboCop is using the same Ruby version as the gem.

https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Gemspec/RequiredRubyVersion
2023-07-21 14:13:26 +10:00
Maikel
022225581f Merge pull request #11249 from openfoodfoundation/dependabot/bundler/bugsnag-6.26.0
chore(deps): bump bugsnag from 6.25.2 to 6.26.0
2023-07-21 09:58:56 +10:00
Maikel
5c8939fb69 Merge pull request #11248 from openfoodfoundation/dependabot/bundler/knapsack_pro-5.3.1
chore(deps-dev): bump knapsack_pro from 5.3.0 to 5.3.1
2023-07-21 09:58:07 +10:00
Maikel
9ba9519622 Merge pull request #11241 from dacook/rubocop-layout-1
Fix Rubocop Layout violations - 1
2023-07-21 09:57:12 +10:00
filipefurtad0
4b64b9085c Adds missing keys 2023-07-20 19:18:27 +01:00
Filipe
6199d2c957 Merge pull request #11218 from openfoodfoundation/dependabot/bundler/stripe-8.6.0
chore(deps): bump stripe from 8.5.0 to 8.6.0
2023-07-20 12:56:42 +01:00
dependabot[bot]
a0cc07dc35 chore(deps): bump bugsnag from 6.25.2 to 6.26.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.25.2 to 6.26.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 09:41:23 +00:00
dependabot[bot]
afd854d32a chore(deps-dev): bump knapsack_pro from 5.3.0 to 5.3.1
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.3.0 to 5.3.1.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.3.0...v5.3.1)

---
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-07-20 09:39:40 +00:00
David Cook
19ee2b50c2 Safely autocorrect Layout/FirstHashElementIndentation
Inspecting 1478 files
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..................................................................................................................................................................................

Offenses:

spec/services/products_renderer_spec.rb:73:11: C: [Corrected] Layout/FirstHashElementIndentation: Use 2 spaces for indentation in a hash, relative to the first position after the preceding left parenthesis.
          "#{[:name, :meta_keywords, :variants_display_as, ...
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:76:9: C: [Corrected] Layout/FirstHashElementIndentation: Indent the right brace the same as the first position after the preceding left parenthesis.
        } })
        ^

1478 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-20 14:05:16 +10:00
David Cook
aa124511de Safely autocorrect Layout/FirstArgumentIndentation
Inspecting 1478 files
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...........................................................................

Offenses:

spec/system/admin/orders_spec.rb:485:11: C: [Corrected] Layout/FirstArgumentIndentation: Indent the first argument one step more than page.find(.
          "#listing_orders tbody tr td:first-child input[type=checkbox]")
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:493:11: C: [Corrected] Layout/FirstArgumentIndentation: Indent the first argument one step more than page.find(.
          "#listing_orders tbody tr td:first-child input[type=checkbox]")
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1478 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-20 14:03:31 +10:00
David Cook
6859200339 Safely autocorrect Layout/ExtraSpacing
Inspecting 1478 files
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................C......................................................................................................................................................................................................C......................

Offenses:

spec/lib/open_food_network/property_merge_spec.rb:22:57: C: [Corrected] Layout/ExtraSpacing: Unnecessary spacing detected.
      let(:product_property) { create(:product_property,  property: property) }
                                                        ^
spec/services/cart_service_spec.rb:276:58: C: [Corrected] Layout/ExtraSpacing: Unnecessary spacing detected.
        cart_service.instance_variable_set :@order_cycle,  double(:order_cycle)
                                                         ^
spec/system/consumer/shops_spec.rb:78:46: C: [Corrected] Layout/ExtraSpacing: Unnecessary spacing detected.
      expect(page).to have_no_selector 'hub',   text: d2.name
                                             ^^

1478 files inspected, 3 offenses detected, 3 offenses corrected
2023-07-20 14:01:44 +10:00
David Cook
bc330b69a5 Safely autocorrect Layout/EmptyLinesAroundBlockBody
Inspecting 1478 files
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...............................................................................

Offenses:

spec/system/admin/order_cycles/list_spec.rb:191:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body end.

1478 files inspected, 1 offense detected, 1 offense corrected
2023-07-20 13:59:53 +10:00
David Cook
6fa9165cc2 Safely autocorrect Layout/EmptyLines
Inspecting 1478 files
..............................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/spree/payment.rb:100:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.

1478 files inspected, 1 offense detected, 1 offense corrected
2023-07-20 13:58:00 +10:00
David Cook
159a0d391c Safely autocorrect Layout/ClosingParenthesisIndentation
Inspecting 1478 files
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...........................................................................

Offenses:

spec/system/admin/orders_spec.rb:486:9: C: [Corrected] Layout/ClosingParenthesisIndentation: Align ) with (.
        ).to be_checked
        ^
spec/system/admin/orders_spec.rb:494:9: C: [Corrected] Layout/ClosingParenthesisIndentation: Align ) with (.
        ).to_not be_checked
        ^

1478 files inspected, 2 offenses detected, 2 offenses corrected
2023-07-20 13:56:13 +10:00
David Cook
0030343897 Safely autocorrect Layout/BlockEndNewline
Inspecting 1478 files
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...................................................................................................................................................................................................................................................................................................................................................................................C...........................................................................

Offenses:

spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:127:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 10) spaces for indentation.
          create(:enterprise_fee, fee_type: 'packing', amount: 7.89, name: "Packing")
^^^^^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:127:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -6) spaces for indentation.
  create(:enterprise_fee, fee_type: 'packing', amount: 7.89, name: "Packing")
  ^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:127:87: C: [Corrected] Layout/BlockEndNewline: Expression at 127, 87 should be on its own line.
          create(:enterprise_fee, fee_type: 'packing', amount: 7.89, name: "Packing") }
                                                                                      ^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:128:1: C: [Corrected] Layout/BlockAlignment: } at 128, 0 is not aligned with let!(:ef_packing) { at 126, 8.
}
^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:129:91: C: [Corrected] Layout/BlockEndNewline: Expression at 129, 91 should be on its own line.
          create(:enterprise_fee, fee_type: 'transport', amount: 0.12, name: "Transport") }
                                                                                          ^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:130:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 10) spaces for indentation.
          create(:enterprise_fee, fee_type: 'transport', amount: 0.12, name: "Transport")
^^^^^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:130:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -6) spaces for indentation.
  create(:enterprise_fee, fee_type: 'transport', amount: 0.12, name: "Transport")
  ^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:131:1: C: [Corrected] Layout/BlockAlignment: } at 131, 0 is not aligned with let!(:ef_transport) { at 129, 8.
}
^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:131:95: C: [Corrected] Layout/BlockEndNewline: Expression at 131, 95 should be on its own line.
          create(:enterprise_fee, fee_type: 'fundraising', amount: 3.45, name: "Fundraising") }
                                                                                              ^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:133:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 10) spaces for indentation.
          create(:enterprise_fee, fee_type: 'fundraising', amount: 3.45, name: "Fundraising")
^^^^^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:133:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not -6) spaces for indentation.
  create(:enterprise_fee, fee_type: 'fundraising', amount: 3.45, name: "Fundraising")
  ^^^^^^
spec/lib/open_food_network/enterprise_fee_calculator_spec.rb:134:1: C: [Corrected] Layout/BlockAlignment: } at 134, 0 is not aligned with let!(:ef_fundraising) { at 132, 8.
}
^
spec/system/admin/orders_spec.rb:44:1: C: [Corrected] Layout/IndentationWidth: Use 2 (not 1) spaces for indentation.
 create(:shipping_method_with, :pickup, name: "delivery",
^
spec/system/admin/orders_spec.rb:44:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not 0) spaces for indentation.
  create(:shipping_method_with, :pickup, name: "delivery",

spec/system/admin/orders_spec.rb:45:45: C: [Corrected] Layout/BlockEndNewline: Expression at 45, 45 should be on its own line.
distributors: [distributor4, distributor5]) }
                                            ^
spec/system/admin/orders_spec.rb:46:1: C: [Corrected] Layout/BlockAlignment: } at 46, 0 is not aligned with let!(:shipping_method2) { at 43, 2.
}
^

1478 files inspected, 16 offenses detected, 16 offenses corrected
2023-07-20 13:54:30 +10:00
David Cook
7cbe1d94ad Safely autocorrect Layout/BlockAlignment
Inspecting 1478 files
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..................................................................................................................................................................................

Offenses:

spec/services/products_renderer_spec.rb:28:7: C: [Corrected] Layout/BlockAlignment: } at 28, 6 is not aligned with let!(:product_cherries) { at 25, 4.
      }
      ^

1478 files inspected, 1 offense detected, 1 offense corrected
2023-07-20 13:52:44 +10:00
David Cook
5a3a4a041f Safely autocorrect Layout/ArrayAlignment
Inspecting 1478 files
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C......................CC.........................................C.................................

Offenses:

spec/system/admin/customers_spec.rb:40:13: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
            managed_distributor2.name], without_options: [unmanaged_distributor.name]
            ^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/customers_spec.rb:40:101: C: Layout/LineLength: Line is too long. [126/100]
                                                     managed_distributor2.name], without_options: [unmanaged_distributor.name]
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_spec.rb:742:1: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
different_shipping_method_for_distributor1]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/orders_spec.rb:48:33: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
                                distributor3, distributor4],
                                ^^^^^^^^^^^^
spec/system/consumer/shopping/cart_spec.rb:21:37: C: [Corrected] Layout/ArrayAlignment: Align the elements of an array literal if they span more than one line.
                                    product_with_fee.variants.first])
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1478 files inspected, 5 offenses detected, 4 offenses corrected
2023-07-20 13:50:55 +10:00
David Cook
bcfa70af4e Safely autocorrect Layout/ArgumentAlignment
Inspecting 1478 files
...................................................................................................................................................C..C.......................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..........................................C................................................................................................................................................................................................C..................................................................C............C..................CC............................................C......C..........................

Offenses:

app/controllers/spree/users_controller.rb:37:15: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
              locals: { type: "alert", message: t('devise.failure.already_registered') })
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/spree/users_controller.rb:52:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            locals: { type: "success", ...
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/user_confirmations_controller.rb:28:11: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
          locals: { type: "success", message: t("devise.confirmations.send_instructions") })
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:54:5: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
    inverse_of: :distributor, foreign_key: :distributor_id
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:56:5: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
    inverse_of: :distributor, foreign_key: :distributor_id
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:118:5: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
    format: { ...
    ^^^^^^^^^
spec/lib/reports/packing/packing_report_spec.rb:60:11: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
          product: create(:simple_product, name: "visible", supplier: supplier1))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/lib/reports/packing/packing_report_spec.rb:64:11: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
          product: create(:simple_product, name: "not visible", supplier: supplier2))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:16:7: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
      value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise1.id}")
      ^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:16:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise1.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:18:7: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
      value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise2.id}")
      ^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:18:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise2.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:20:7: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
      value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise4.id}")
      ^^^^^^^^^^^^^^^^^^^^^
spec/migrations/migrate_customer_names_spec.rb:20:101: C: Layout/LineLength: Line is too long. [122/100]
                             value_type: "boolean", key: "/enterprise/show_customer_names_to_suppliers/#{enterprise4.id}")
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:91:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            { q: { with_properties: [property_organic.id] } })
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:91:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/services/products_renderer_spec.rb:100:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            { q: { with_properties: [property_organic.id] } })
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:100:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/services/products_renderer_spec.rb:118:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            { q: { with_properties: [property_organic.id] } })
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/products_renderer_spec.rb:118:101: C: Layout/LineLength: Line is too long. [101/100]
                                                   { q: { with_properties: [property_organic.id] } })
                                                                                                    ^
spec/system/admin/bulk_order_management_spec.rb:268:11: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
          text: "#{o1.bill_address.last_name}, #{o1.bill_address.first_name}"
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_order_management_spec.rb:793:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        retry: 3 do
        ^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:103:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        from: "#{prefix}_tax_category_id"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:129:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        from: "#{prefix}_calculator_type"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:133:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        from: "#{prefix}_calculator_type"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:160:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        from: "#{prefix}_calculator_type"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:221:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            selected: 'Second Distributor'
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprise_fees_spec.rb:232:43: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
                                          'Flat Rate (per order)', message, 0
                                          ^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/list_spec.rb:148:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
match: :first).value).to start_with oc_open_at.strftime("%Y-%m-%d %H:%M")
^^^^^^^^^^^^^
spec/system/admin/order_cycles/list_spec.rb:161:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
match: :first).value).to eq oc_open_at.strftime("%Y-%m-13 %H:%M")
^^^^^^^^^^^^^
spec/system/admin/order_cycles/list_spec.rb:189:1: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
match: :first).value).to eq test_value.to_datetime.strftime("%Y-%m-%d %H:%M")
^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:346:13: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
            with_options: [schedule_of_other_managed_distributor.name]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:346:101: C: Layout/LineLength: Line is too long. [101/100]
                                           with_options: [schedule_of_other_managed_distributor.name]
                                                                                                    ^
spec/system/admin/order_cycles/simple_spec.rb:623:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:623:101: C: Layout/LineLength: Line is too long. [121/100]
                                 value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:625:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:625:101: C: Layout/LineLength: Line is too long. [120/100]
                                 value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:733:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:733:101: C: Layout/LineLength: Line is too long. [121/100]
                                 value: Time.zone.local(2040, 10, 17, 0o6, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:735:9: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
        value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/order_cycles/simple_spec.rb:735:101: C: Layout/LineLength: Line is too long. [120/100]
                                 value: Time.zone.local(2040, 10, 24, 17, 0o0, 0o0).strftime("%F %T %z"), visible: false
                                                                                                    ^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/cart_spec.rb:147:35: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
                                  preferred_unit_from_list: "kg"),
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/cart_spec.rb:147:101: C: Layout/LineLength: Line is too long. [101/100]
                                                                     preferred_unit_from_list: "kg"),
                                                                                                    ^
spec/system/consumer/shopping/products_spec.rb:98:11: C: [Corrected] Layout/ArgumentAlignment: Align the arguments of a method call if they span more than one line.
          "<script>alert('Dangerous!');</script>", truncate: false)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/products_spec.rb:98:101: C: Layout/LineLength: Line is too long. [113/100]
                                                        "<script>alert('Dangerous!');</script>", truncate: false)
                                                                                                    ^^^^^^^^^^^^^

1478 files inspected, 45 offenses detected, 32 offenses corrected
2023-07-20 13:48:51 +10:00
David Cook
bb728d97fd Regenerate Rubocop's TODO file 2023-07-20 13:46:52 +10:00
Jean-Baptiste Bellet
1750575f8c Need to update tab before updating panel since we retrieve panel from tab 2023-07-19 16:28:10 +02:00
Jean-Baptiste Bellet
695f76d3b6 Update format to be solve prettier warnings 2023-07-19 16:28:03 +02:00
Jean-Baptiste Bellet
0065ece6a6 Show vouchers panel only if enterprise sells products (own or any) 2023-07-19 16:02:16 +02:00
Jean-Baptiste Bellet
5d4ef5b52c To test the search by category, we need to use set primary_taxon attr 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
bada2ef4a7 Remove useless spec (will be tested right after) 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
62eaf4a1a9 This spec is not flaky anymore 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
55cad3659f Simplify products creation 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
6f6de00919 Better naming of argument to not override existing variable... 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
3fab9714f5 Use a constant as the search_key 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
79421f2265 Expect to found the product 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
2697a637a9 Use the OpenFoodNetwork::Permissions helper
To retrieve only primary producers
2023-07-19 14:58:40 +02:00
jibees
3245f7ff99 Update app/reflexes/products_reflex.rb
Co-authored-by: David Cook <david@redcliffs.net>
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
b42dfb574b Delete already imported (and modified) file 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
90c6398197 Simplify and call methods directly via before_reflex 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
b3bdba3a9b Better use merge! instead of q = q.merge 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
755a1842c2 Simplify to save execution time 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
037589ecda Add columns translation 2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
dec779a357 available_on column has been deleted
https://github.com/openfoodfoundation/openfoodnetwork/pull/11136
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
fac02c794c Search through more attributes than only name
Copy/paste from `app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee`
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
010f19cb83 Create a medium height button, and adjust #sort row 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
c378ad1d88 Add "no results found" container 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5a8a187f54 Add clear search button and action 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
904c7bfacf Buttons design
Remove already defined `$border-radius`

Defined `app/webpacker/css/admin/globals/variables.scss`

Adjust height
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
7b56cbf3d4 Add labels to selectors, and adjust css
+ Adjusting filter elements with flex-grow properties
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
333dc11fc1 Manage form params vs. URL params. And replace state with params.
"One needs to understand what the source of the params in a reflex is. And there are two sources:

the closest form
the url of the currently displayed page"

Source: https://github.com/stimulusreflex/stimulus_reflex/issues/290#issuecomment-683334963
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
bfe1884ab5 Can filter by categories 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
ef1702188f Extract filters from 'no products found' logic
We still want to display filters if no products found
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
f58cf2d3b2 Can filter by producer
Not sur the request nor the `producers` in the reflex should be like this. This is a proof of concept, and should probably be reviewed

Fix linter issues
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
ddfc60c85e Don't use events, but call the loading controller itself 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
762b777995 Design of the search button 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
51e139b6f1 Create first spec for the new products page
Modify comment, and contextualize search (inside search term)

Extract creation of products outside a before block
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
38d0af8ec0 Simplify: don't need to pass through the js controller
Use the reflex itself

+ Don't need to create a method that will be called only in the connect

+ Simply code by adding only two lifecycle methods

Actually it seems that all reflex related to products controller should show/hide loading
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9d52f0b20a Loading spinner should be above content (filters, sort, ...) 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
643897abb2 Add search functionnality 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
c786f300ca Have a tiny url state management by using replace_state of cable_ready 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
0fd4d892d9 This is now unused: through the js controller only at startup 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
3da6e02192 Call pagination via perPage param: no state to manage, use param 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
61d1f30e04 Rename productsV3 to products: avoid upper|lower case issues
This is causing some issues, misunderstandings around case.

Therefore, directly use the Reflex, and lifecycle methods `beforeFetch` and `afterFetch` are called, even if we use the Reflex (and not the js controller methods). This is pretty handy.

+ adds some id to pagination element (https://docs.stimulusreflex.com/guide/reflexes.html#declaring-a-reflex-in-html-with-data-attributes)

Global documentation: https://docs.stimulusreflex.com/guide/reflexes.html
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
574adb88d2 Add a per page component
This is still a WIP.
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
0b83dc088d Separation of concerns: use a loading controller
Two different events can be used: `show-loading` and `hide-loading`.

I'm not 100% sure this is the right way to go, but let's try!
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5aebbe4102 use beforeFetch and afterFetch lifecycle methods
+ Move outside `Admin` module the reflex

Therefore, this reflex should be _equivalent_ to its javascript controller: `ProductsV3` (relation is made through names)

Remove unwanted line

Actually call StimulusJS controller instead of calling the reflex itself

In order to have this "showLoading", "hideLoading" behavior.

It seems to be possible to directly use the Reflex itself (use `data-reflex` instead of `data-action`) but I can't make it work: the `stimulus-controller:after` event is never broadcasted/catched (but `stimulus-controller:before` yes...)

Documentation:
https://docs.stimulusreflex.com/guide/reflexes.html#understanding-stimulusreflex-controllers
https://docs.stimulusreflex.com/guide/lifecycle.html#generic-life-cycle-methods

Maybe @dacook if you want to have a look...
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
3b61508652 Be more specific to only apply to the first container, ie. the root one
+ Override default position (relative) in order to have loading above
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
47f21cb59e Add pagination with pagy
For `admin_style_v3` use `<` and `>` for next and previous link

instead of `next` and `previous` string

Extract a mixin for a default box-shadow

Maybe this needs to be redefined. Let's see how next things goes.

When a table is followed by a pagination, remove its margin-bottom + border

Finally, design the pagination component

Add sorting/pagination module, on top of table

We use `cablea_ready.replace`, so need to add `#products-content` id

Use a `pagy` partial with reflex action, instead of the legacy one

- revert the legacy one to its previous state
 - in reflex, fetch product with page attribute, 1 by default

Move `pagy` into `admin/shared/v3/` to be reusable

+ use fontawesome icons for next and previous page

Remove useless line
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
69cff85577 Change color to EFF1F2 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9b92c25879 Add a section for specific rules for both admin-menu and sub-menu
+ change height for border bottom on selected/hovered menu
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9762819aa8 Use the right color 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
1f3d41972f Add same padding than #admin-menu,#sub-menu li a in order to align
content (header, navigation, content) on both left and right
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
2892301336 Factorize menu and submenu into same definition
as they are the same, expect the font-size
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
24c045a09c Reduce padding 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
a8088ae231 Create a pseudo element to add a line under the menu item
- Increase top menu underline height to 3px
 - reduce underline width to same width of label
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
731fb3c0b3 Update cable_ready and stimulus_reflex as well
In order to reflect the one used in package.json
2023-07-19 09:05:31 +02:00
dependabot[bot]
385f3964ad chore(deps): bump stimulus_reflex from 3.5.0-rc2 to 3.5.0-rc3
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.0-rc2 to 3.5.0-rc3.
- [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>
2023-07-19 09:05:31 +02:00
Gaetan Craig-Riou
a5b2bc6293 Per review, Refactor VoucherAdjustmentsService
Change #calculate to #update and clean up internal code
2023-07-18 15:16:21 +10:00
Gaetan Craig-Riou
a584f9aaec Refactor VoucherAdjustmentsService
It's more inline with existing coding style
2023-07-18 14:39:01 +10:00
dependabot[bot]
654601f4b2 chore(deps): bump stripe from 8.5.0 to 8.6.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 8.5.0 to 8.6.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.5.0...v8.6.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-07-14 09:09:19 +00:00
Gaetan Craig-Riou
0e0850ef49 Add specs to cover re calculation
It is important that the calculated voucher adjustments don't change
if they are recalculated and it is equally important that they are
updated if the order has changed
2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
5a59396a41 Remove call to VoucherAdjustmentService when creating a voucher
Voucher will be automatically applied when the order transition to
the confirmation step. No need to do the work twice.
2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
3d9542fec2 Per review, rename amount to adjustment_amount
It was confusing as I was re assigning a variable given as a parameter
2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
41271192e1 Per review, Makes quantity change more explicit 2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
751056ba39 As per review comment, spell out voucher code when entering a voucher
Plus, update other related spec to be consistent
2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
789ce39ff4 Fixing Rubocop errors 2023-07-14 14:47:39 +10:00
Gaetan Craig-Riou
a8062e951a Add a scenario to make sure voucher adjustment a recalculated
This is specificly for voucher with a tax component, but it will
also become relevant for percentage based voucher.
2023-07-14 14:47:03 +10:00
Gaetan Craig-Riou
edabc56b5c Add voucher calculation after updating an order
This is to make sure the voucher are recalculated when a customer
update the order content from the `/cart` page. This is tested
with system test
2023-07-14 14:47:03 +10:00
Gaetan Craig-Riou
ca7dcb82b8 Apply voucher after transitionning to the confirmation step
Testing that VoucherAdjustmentsService.calculate has been called after a
transition doens't work, skipping test for now.
2023-07-14 14:47:03 +10:00
Gaetan Craig-Riou
366cca7984 Prevent voucher adjustment from bein updated when update is called 2023-07-14 14:47:03 +10:00
Gaetan Craig-Riou
87790b29ae Fix VoucherAdjustmentsService.calculate so we can call it mutiple time
It now uses `order.pre_discount_total` to make any calculation, that
means you can call it multiple time and you will still get the same
adjustment amount, included_tax and tax adjustment when needed. This
is assuming nothing changed on the order.
2023-07-14 14:47:03 +10:00
Gaetan Craig-Riou
60c0c54eb2 Update create_adjustment to create with an amount of 0
Amount calculation is handled by VoucherAdjustmentService.calculate
2023-07-14 14:47:03 +10:00
Matt-Yorkley
04bbea53e1 Move voucher processing out of checkout controller 2023-07-14 14:46:16 +10:00
Mohamed ABDELLANI
4b003aa08b replace status:status with cancelled:boolean on invoice model 2023-07-11 09:15:25 +01:00
lauriejefferson
3039ef5535 updated order partials and locales 2023-06-23 12:06:45 -04:00
lauriejefferson
d3dba87ca1 added styling and table rows for 'Not Paid' order confirmation' 2023-06-21 17:22:12 -04:00
2566 changed files with 261570 additions and 67137 deletions

29
.env
View File

@@ -10,10 +10,10 @@ TIMEZONE="Melbourne"
DEFAULT_COUNTRY_CODE="AU"
# Locale for translation.
LOCALE="en"
LOCALE="en_AU"
# For multilingual - ENV doesn't have array so pass it as string with commas
AVAILABLE_LOCALES="en,es"
AVAILABLE_LOCALES="en_AU,es"
# Spree zone.
CHECKOUT_ZONE="Australia"
@@ -42,16 +42,10 @@ SMTP_PASSWORD="f00d"
# Javascript error reporting via Bugsnag.
# BUGSNAG_JS_KEY=""
# SingleSignOn login for Discourse
#
# DISCOURSE_SSO_SECRET should be a random string. It must be the same as provided to your Discourse instance.
# DISCOURSE_SSO_SECRET=""
#
# DISCOURSE_URL must be the URL of your Discourse instance.
# DISCOURSE_URL="https://noticeboard.openfoodnetwork.org.au"
# see="https://developers.google.com/maps/documentation/javascript/get-api-key
# GOOGLE_MAPS_API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# see https://developers.google.com/maps/documentation/javascript/localization#Region
# GOOGLE_MAPS_REGION="XX"
# Stripe details for instance account
# Find these under 'Developers' -> 'API keys' in your Stripe account dashboard.
@@ -61,3 +55,18 @@ SMTP_PASSWORD="f00d"
# STRIPE_INSTANCE_PUBLISHABLE_KEY="pk_test_xxxx" # This can be a test key or a live key
# STRIPE_CLIENT_ID="ca_xxxx" # This can be a development ID or a production ID
# STRIPE_ENDPOINT_SECRET="whsec_xxxx"
# New relic settings
# see: https://one.eu.newrelic.com/admin-portal/, Administration > API keys to get the license key
# NEW_RELIC_AGENT_ENABLED=true
# NEW_RELIC_APP_NAME="Open Food Network"
# NEW_RELIC_LICENSE_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Database encryption configuration, required for VINE connected app
# Generate with bin/rails db:encryption:init
# ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# VINE API settings
# VINE_API_URL="https://vine-staging.openfoodnetwork.org.au/api/v1"

View File

@@ -5,17 +5,28 @@
#
# cp .env.development .env.local
# Locale for translation. Using a locale other than `en` tests the
# successful fallback to `en`. To see up-to-date text used in production,
# set another locale in a local env file.
LOCALE="en_TST"
VERBOSE_QUERY_LOGS=true
SECRET_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
OFN_REDIS_URL="redis://localhost:6379/1"
OFN_REDIS_JOBS_URL="redis://localhost:6379/2"
OFN_REDIS_CABLE_URL="redis://localhost:6379/0"
SITE_URL="0.0.0.0:3000"
SITE_URL="localhost: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"
# Database encryption configuration, required for VINE connected app
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="dev_primary_key"
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="dev_determinnistic_key"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="dev_derivation_salt"

View File

@@ -1,11 +1,37 @@
# ENV vars for the test environment
# Override locally with `.env.test.local`
# Test env specific variables
#
# Adjust this to your computer. When you start test-driven development, you may
# want to reduce this value to avoid waiting for a test that you expect to fail.
CAPYBARA_MAX_WAIT_TIME="10"
# General app specific variables
# Locale for translation. Using a locale other than `en` tests the
# successful fallback to `en`.
LOCALE="en_TST"
OFN_REDIS_JOBS_URL="redis://localhost:6379/2"
SECRET_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
STRIPE_SECRET_TEST_API_KEY="bogus_key"
STRIPE_INSTANCE_SECRET_KEY="bogus_key"
STRIPE_CUSTOMER="bogus_customer"
STRIPE_ACCOUNT="bogus_account"
STRIPE_CLIENT_ID="bogus_client_id"
STRIPE_PUBLIC_TEST_API_KEY="bogus_stripe_publishable_key"
SITE_URL="test.host"
# OIDC Settings for DFC authentication
# Find secrets in BitWarden.
# To get a refresh token: log into the OIDC provider, connect your OFN user to it at /admin/oidc_settings, then copy the token from the database:
# ./bin/rails runner 'puts "OPENID_REFRESH_TOKEN=\"#{OidcAccount.last.refresh_token}\""'
OPENID_APP_ID="test-provider"
OPENID_APP_SECRET="12345"
OPENID_APP_SECRET="dummy-openid-app-secret-token"
OPENID_REFRESH_TOKEN="dummy-refresh-token"
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="test_primary_key"
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="test_deterministic_key"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="test_derivation_salt"

View File

@@ -7,21 +7,29 @@ assignees: ''
---
## 1. Preparation on Thursday
## 1. Drafting on Friday
- [ ] Merge pull requests in the [Ready To Go] column
- [ ] Include translations: `tx pull --force`
- [ ] Include translations: `script/release/update_locales`
- You need the [Transifex Client] installed on your local dev environement to run the script.
- [ ] Increment version number: `git push upstream HEAD:refs/tags/vX.Y.Z`
Check for [minor or major breaking changes]
- Major: if server changes are required (eg. provision with ofn-install)
- Minor: larger change that is irreversible (eg. migration deleting data)
- Patch: all others. Shortcut: `script/release/tag`
- [ ] [Draft new release]. Look at previous [releases] for inspiration.
- [ ] Notify [#instance-managers] of user-facing changes.
- Select new release tag
- _Generate release notes_ and check to ensure all items are arranged in the right category.
- [ ] Notify [#instance-managers] of user-facing :eyes:, API :warning: and experimental :construction: changes.
## 2. Testing
- [ ] [Find build] of the release commit and copy it below.
- [ ] Move this issue to Test Ready.
- [ ] Notify `@testers` in [#testing].
- [ ] Test build: <!-- paste build link here, e.g. https://semaphore...builds/1234 -->
- [ ] Test build: [Deploy to Staging] with release tag.
- [ ] Notify a deployer to deploy it
## 3. Finish on Tuesday
## 3. Deployment at beginning of week
- [ ] Publish and notify [#global-community] (this is automatically posted with a plugin)
- [ ] Deploy the new release to all managed instances.
@@ -29,20 +37,24 @@ assignees: ''
<pre>
cd ofn-install
git pull
ansible-playbook --limit all-prod --extra-vars "git_version=vx.y.z" playbooks/deploy.yml
ansible-playbook --limit all_prod --extra-vars "git_version=vX.Y.Z" playbooks/deploy.yml
</pre>
</details>
- [ ] Notify [#instance-managers]:
> @instance_managers The new release has been deployed.
- [ ] Nudge next release manager
- [ ] [Create issue] for next release and confirm with next release drafter in [#delivery-circle].
The full process is described at https://github.com/openfoodfoundation/openfoodnetwork/wiki/Releasing.
[Ready To Go]: #zenhub
[Ready To Go]: https://github.com/orgs/openfoodfoundation/projects/8?filterQuery=status%3A%22Ready+to+go+%F0%9F%9A%80%22
[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%23%23%23+Experimental+features+for+testing+:sunglasses:%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?title=v+Code+Name&body=Congrats%0A%0ADescription%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
[Find build]: https://semaphoreci.com/openfoodfoundation/openfoodnetwork-2/branches/master
[Deploy to Staging]: https://github.com/openfoodfoundation/openfoodnetwork/actions/workflows/stage.yml
[#global-community]: https://app.slack.com/client/T02G54U79/C59ADD8F2
[Create issue]: https://github.com/openfoodfoundation/openfoodnetwork/issues/new?assignees=&labels=&projects=&template=release.md&title=Release
[#delivery-circle]: https://openfoodnetwork.slack.com/archives/C01T75H6G0Z
[Transifex Client]: https://developers.transifex.com/docs/cli
[minor or major breaking changes]: https://github.com/openfoodfoundation/openfoodnetwork/pulls?q=label%3A%22breaking+change%22%2C%22major+breaking+change%22

View File

@@ -20,7 +20,12 @@
<!-- Please select one for your PR and delete the other. -->
Changelog Category: User facing changes | Technical changes
Changelog Category (reviewers may add a label for the release notes):
- [ ] User facing changes
- [ ] API changes (V0, V1, DFC or Webhook)
- [ ] Technical changes only
- [ ] Feature toggled
<!-- Choose a pull request title above which explains your change to a
a user of the Open Food Network app. -->

View File

@@ -1,3 +1,8 @@
# Dependabot configuration
#
# The `directory` and `schedule.interval` options are mandatory.
# Most of the configuration here is not used for security updates though.
version: 2
updates:
@@ -5,7 +10,7 @@ updates:
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 10
# Only specific requirements are specified in Gemfile, so don't touch it.
versioning-strategy: lockfile-only
@@ -13,5 +18,6 @@ updates:
directory: "/"
schedule:
interval: "daily"
# All versions are specified in package.json, so please update them.
versioning-strategy: increase

43
.github/release.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
changelog:
# Categorise according to what an instance manager needs to know
categories:
# Add the right label if anything appears in here.
# Then re-generate the release notes.
- title: "❓❓❓ Uncategorised ❓❓❓"
labels:
- '*'
exclude:
labels:
- api changes
- dependencies
- feature toggled
- technical changes only
- user facing changes
# These will require a minor or major version increment
- title: "Significant changes 🚀"
labels:
- breaking change
- major breaking change
# Posted in advance for #instance-managers
- title: "User-facing changes 👀"
labels:
- user facing changes
- title: "API changes ⚠️"
labels:
- api changes
- title: "Experimental features for testing 🚧" # may be tested by instance managers
labels:
- feature toggled
# Instance managers ignore below
- title: "Technical changes 🛠️"
labels:
- technical changes only
- title: "Dependencies 📦"
labels:
- dependencies

15
.github/test-events/dependabot-pr.json vendored Normal file
View File

@@ -0,0 +1,15 @@
{
"pull_request": {
"number": 13545,
"title": "Bump test from 7.0.4 to 7.0.8",
"user": {
"login": "dependabot[bot]"
}
},
"repository": {
"owner": {
"login": "openfoodfoundation"
},
"name": "openfoodnetwork"
}
}

View File

@@ -0,0 +1,14 @@
name: Auto Author Assign
on:
pull_request_target:
types: [opened, reopened]
permissions:
pull-requests: write
jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/auto-author-assign@v2.1.0

View File

@@ -1,51 +0,0 @@
# This workflow integrates Brakeman with GitHub's Code Scanning feature
# Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications
name: Brakeman Scan
# This section configures the trigger for the workflow. Feel free to customize depending on your convention
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
permissions:
contents: read
jobs:
brakeman-scan:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
name: Brakeman Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3
# Customize the ruby version depending on your needs
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
- name: Setup Brakeman
env:
BRAKEMAN_VERSION: '5.4.0'
run: |
gem install brakeman --version $BRAKEMAN_VERSION
# Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis
- 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
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: output.sarif.json

View File

@@ -3,7 +3,7 @@ name: Build
on:
workflow_dispatch:
push:
branches-ignore:
branches-ignore:
- 'dependabot/**'
pull_request:
@@ -17,7 +17,7 @@ permissions:
contents: read
jobs:
knapsack_rspec_controllers:
controllers_and_models:
runs-on: ubuntu-22.04
services:
postgres:
@@ -38,16 +38,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [8]
ci_node_total: [4]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7]
ci_node_index: [0, 1, 2, 3]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -55,17 +55,18 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates containing image urls
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
env:
@@ -80,12 +81,21 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb,spec/models/**/*_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
bin/rails assets:precompile knapsack_pro:rspec
knapsack_rspec_models:
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-controllers-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
system:
runs-on: ubuntu-22.04
services:
postgres:
@@ -106,16 +116,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [7]
ci_node_total: [19]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6]
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -126,83 +136,14 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 09476e2ce491c12083df62768667c674
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/models/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
knapsack_rspec_system_admin:
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [10]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
@@ -218,21 +159,30 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb,spec/system/consumer/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
bin/rails assets:precompile knapsack_pro:queue:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-system-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failed-tests-screenshots
name: failed-system_${{ matrix.ci_node_index }}-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
knapsack_rspec_system_consumer:
engines:
runs-on: ubuntu-22.04
services:
postgres:
@@ -253,16 +203,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [10]
ci_node_total: [2]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ci_node_index: [0, 1]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -270,95 +220,18 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e52bd4390c853e6c5bdfe4d0334586c1
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
with:
name: failed-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
knapsack_rspec_engines:
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:10
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_DB: open_food_network_test
POSTGRES_USER: ofn
POSTGRES_PASSWORD: f00d
strategy:
fail-fast: false
matrix:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
@@ -377,18 +250,18 @@ jobs:
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/serializers/**/*_spec.rb,engines/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
bin/rails assets:precompile knapsack_pro:rspec
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: failed-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
name: simplecov-chunk-engines-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
knapsack_rspec_test_the_rest:
test_the_rest:
runs-on: ubuntu-22.04
services:
postgres:
@@ -409,16 +282,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
ci_node_total: [3]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
ci_node_index: [0, 1, 2]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -426,20 +299,20 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e3b8800198d2d89b70c7edbdd85f8fd8
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
@@ -453,10 +326,17 @@ 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_EXCLUDE_PATTERN: "{engines/**/*_spec.rb,spec/models/**/*_spec.rb,spec/controllers/**/*_spec.rb,spec/serializers/**/*_spec.rb,spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/system/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
bin/rails assets:precompile knapsack_pro:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-the-rest-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
non_knapsack_jest_karma:
runs-on: ubuntu-22.04
@@ -476,11 +356,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
# Rails is required for the Karma rake script
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
@@ -489,16 +365,51 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run JS tests
run: bundle exec rake karma:run
run: bin/rake karma:run
- name: Run jest tests
run: yarn jest
collate_simplecov_results:
runs-on: ubuntu-22.04
needs:
- controllers_and_models
- engines
- system
- test_the_rest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Download individual results from individual runners
uses: actions/download-artifact@v4
with:
pattern: simplecov-chunk-*
path: tmp/simplecov
- name: collate results from each of the workers
run: bundle exec rake 'simplecov:collate_results[tmp/simplecov]'
- name: Upload collated results
uses: actions/upload-artifact@v4
with:
name: combined-simplecov-report
path: coverage/**/*.*
retention-days: 7
if-no-files-found: ignore
include-hidden-files: true
- name: Compare SimpleCov results with Undercover
run: |
git fetch --no-tags origin ${{ github.event.pull_request.base.ref }}:master
bundle exec undercover
if: ${{ github.ref != 'refs/heads/master' }} # Does not run on master, as we can't fetch master in the master branch

View File

@@ -3,39 +3,22 @@ on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
rubocop:
name: runner / rubocop
lint:
name: prettier and rubocop
runs-on: ubuntu-latest
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:
rubocop_version: gemfile
rubocop_extensions: rubocop-rails:gemfile
reporter: github-pr-check
level: error
fail_on_error: true
prettier:
name: runner / prettier
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- run: git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
- name: prettier
@@ -45,3 +28,14 @@ jobs:
reporter: github-pr-check
level: error
fail_on_error: true
- name: rubocop
uses: reviewdog/action-rubocop@v2
with:
rubocop_version: gemfile
rubocop_extensions: rubocop-rails:gemfile rubocop-rspec:gemfile
reporter: github-pr-check
level: error
filter_mode: nofilter
use_bundler: true
fail_level: any

View File

@@ -1,51 +0,0 @@
name: 'Mayhem for API'
on: workflow_dispatch
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
test:
permissions:
contents: read # to fetch code (actions/checkout)
security-events: write # to upload SARIF results (github/codeql-action/upload-sarif)
if: ${{ github.repository_owner == 'openfoodfoundation' }}
runs-on: ubuntu-latest
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- run: docker/build
- run: docker-compose up --detach
- run: until curl -f -s http://localhost:3000; do echo "waiting for api server"; sleep 1; done
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="update spree_users set spree_api_key='testing' where login='ofn@example.com'"
# equivalent to Flipper.enable(:api_v1)
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_features (key, created_at, updated_at) values ('api_v1', localtimestamp, localtimestamp)"
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_gates (feature_key, key, value, created_at, updated_at) values ('api_v1', 'boolean', 'true', localtimestamp, localtimestamp)"
# Run Mayhem for API
- name: Run Mayhem for API
uses: ForAllSecure/mapi-action@v1
continue-on-error: true
with:
mapi-token: ${{ secrets.MAPI_TOKEN }}
api-url: http://localhost:3000
api-spec: swagger/v1/swagger.yaml
target: openfoodfoundation/openfoodnetwork
duration: 1min
sarif-report: mapi.sarif
html-report: mapi.html
run-args: |
--header-auth
X-Api-Token: testing
# Archive HTML report
- name: Archive Mayhem for API report
uses: actions/upload-artifact@v3
with:
name: mapi-report
path: mapi.html
# Upload SARIF file (only available on public repos or github enterprise)
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: mapi.sarif

View File

@@ -0,0 +1,151 @@
name: Auto-move Dependabot PRs to Code Review
permissions:
contents: read
pull-requests: read
on:
pull_request_target:
types: [opened]
jobs:
move-pr-to-code-review:
runs-on: ubuntu-latest
if: github.event.pull_request.user.login == 'dependabot[bot]' || startsWith(github.event.pull_request.title, 'Bump')
steps:
- name: Generate GitHub App Token
id: app-token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.DEPENDABOT_PR_APP_ID }}
private_key: ${{ secrets.DEPENDABOT_PR_APP_PRIVATE_KEY }}
installation_retrieval_mode: id
installation_retrieval_payload: ${{ secrets.DEPENDABOT_PR_APP_INSTALLATION_ID }}
- name: Move PR to Code Review in Project v2
uses: actions/github-script@v7
with:
github-token: ${{ steps.app-token.outputs.token }}
script: |
const projectNumber = 8; // for "OFN Delivery board"
const org = "openfoodfoundation";
const repo = context.repo.repo;
const prNumber = context.payload.pull_request.number;
const statusFieldName = "Status";
const statusValue = "Code review 🔎";
// ---- Helper: Get PR Node ID ----
async function getPrNodeId(owner, repo, number) {
const res = await github.graphql(`
query($owner: String!, $repo: String!, $number: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $number) {
id
number
title
}
}
}
`, { owner, repo, number });
return res.repository.pullRequest.id;
}
console.log("🚀 Starting ProjectV2 automation...");
// ---- Step 1: Get Project and Fields ----
const projectRes = await github.graphql(`
query($org: String!, $number: Int!) {
organization(login: $org) {
projectV2(number: $number) {
id
title
fields(first: 50) {
nodes {
... on ProjectV2Field {
id
name
}
... on ProjectV2SingleSelectField {
id
name
options {
id
name
}
}
}
}
}
}
}
`, { org, number: projectNumber });
const project = projectRes.organization.projectV2;
if (!project) throw new Error(`❌ Project #${projectNumber} not found`);
console.log(`✅ Found project: ${project.title} (${project.id})`);
const statusField = project.fields.nodes.find(f => f.name === statusFieldName);
if (!statusField) throw new Error(`❌ Field '${statusFieldName}' not found`);
const option = statusField.options.find(o => o.name === statusValue);
if (!option) throw new Error(`❌ Option '${statusValue}' not found in '${statusFieldName}'`);
console.log(`✅ Found field '${statusFieldName}' and option '${statusValue}'`);
// ---- Step 2: Get PR Node ID ----
const prNodeId = await getPrNodeId(org, repo, prNumber);
console.log(`✅ PR #${prNumber} node ID: ${prNodeId}`);
// ---- Step 3: Check if PR is already in Project ----
const itemRes = await github.graphql(`
query($prId: ID!) {
node(id: $prId) {
... on PullRequest {
projectItems(first: 50) {
nodes {
id
project { id title }
}
}
}
}
}
`, { prId: prNodeId });
let projectItem = itemRes.node.projectItems.nodes.find(i => i.project.id === project.id);
if (!projectItem) {
console.log(" PR not yet in project, adding...");
const addRes = await github.graphql(`
mutation($projectId: ID!, $contentId: ID!) {
addProjectV2ItemById(input: {projectId: $projectId, contentId: $contentId}) {
item { id }
}
}
`, { projectId: project.id, contentId: prNodeId });
projectItem = addRes.addProjectV2ItemById.item;
console.log(`✅ Added PR to project: ${projectItem.id}`);
} else {
console.log(` PR already in project: ${projectItem.id}`);
}
// ---- Step 4: Update Status ----
await github.graphql(`
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
updateProjectV2ItemFieldValue(input: {
projectId: $projectId,
itemId: $itemId,
fieldId: $fieldId,
value: { singleSelectOptionId: $optionId }
}) {
projectV2Item { id }
}
}
`, {
projectId: project.id,
itemId: projectItem.id,
fieldId: statusField.id,
optionId: option.id,
});
console.log(`🎉 Moved PR #${prNumber} → '${statusValue}'`);

View File

@@ -13,6 +13,10 @@ on:
- staging.openfoodnetwork.org.uk
- staging.openfoodnetwork.org.au
- staging.coopcircuits.fr
commit_ref:
description: "Commit Reference"
type: string
required: false
jobs:
deploy_pr:
@@ -59,4 +63,4 @@ jobs:
- name: Deploy to Staging
if: success()
run: |
ssh ofn-deploy@${{ inputs.server }} -o LogLevel=ERROR "$GITHUB_REF_NAME $GITHUB_SHA"
ssh ofn-deploy@${{ inputs.server }} -o LogLevel=ERROR "$GITHUB_REF_NAME ${{ inputs.commit_ref || github.sha }}"

1
.gitignore vendored
View File

@@ -59,3 +59,4 @@ yarn-debug.log*
/config/credentials.yml.enc
/config/master.key
.secrets

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn pretty-quick --check --staged

View File

@@ -5,6 +5,7 @@
*.yaml
*.json
*.html
**/*.rb
# JS
# Enabled: app/webpacker/controllers/*.js and app/webpacker/packs/*.js
@@ -13,7 +14,8 @@ postcss.config.js
# SCSS
# Enabled: most of admin
/app/webpacker/css/admin/globals/
/app/webpacker/css/admin/globals/mixins.scss
/app/webpacker/css/admin/globals/variables.scss
/app/webpacker/css/admin/shared/
/app/webpacker/css/admin_v3/globals/variables.scss
/app/webpacker/css/darkswarm/
@@ -26,6 +28,5 @@ postcss.config.js
/coverage/
/engines/
/public/
/spec/
/tmp/
/vendor/

1
.rspec Normal file
View File

@@ -0,0 +1 @@
--require base_spec_helper

View File

@@ -4,7 +4,13 @@
#
# The configuration is split into three files. Look into those files for more details.
#
require: rubocop-rails
require:
- rubocop-capybara
- rubocop-factory_bot
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails
inherit_from:
# The automatically generated todo list to ignore all current violations.
@@ -13,9 +19,10 @@ inherit_from:
# The relaxed style rules as a common starting point which we can refine.
- .rubocop_relaxed_styleguide.yml
# Our Open Food Network style guide. If you want to see all violations,
# Our Open Food Network style guides. If you want to see all violations,
# then use only that configuration:
#
# bundle exec rubocop -c .rubocop_styleguide.yml
#
- .rubocop_styleguide.yml
- .rubocop_rspec_styleguide.yml

View File

@@ -0,0 +1,24 @@
# OFN styleguide for rubocop-rspec
# Because there are so many, we will disable by default, and enable rules as needed.
Capybara:
Enabled: false
RSpec:
Enabled: false
FactoryBot:
Enabled: false
# Enabled rules
Capybara/NegationMatcher:
Enabled: true
EnforcedStyle: not_to
RSpec/ExpectChange:
Enabled: true
EnforcedStyle: block
RSpec/NotToNot:
Enabled: true

View File

@@ -3,24 +3,61 @@
# These are the rules we agreed upon and we work towards.
AllCops:
NewCops: enable
SuggestExtensions: false
MigratedSchemaVersion: "20250111000000"
Exclude:
- 'bin/**/*'
- 'db/**/*'
- 'config/**/*'
- 'script/**/*'
- 'vendor/**/*'
- 'node_modules/**/*'
- bin/**/*
- config/**/*
- db/bad_migrations/*
- db/migrate/201*
- db/migrate/202[0-4]*
- db/schema.rb
- script/**/*
- vendor/**/*
- node_modules/**/*
# Excluding: inadequate Naming/FileName rule rejects GemFile name with camelcase
- 'engines/web/Gemfile'
- engines/web/Gemfile
- .undercover
## OFN SETTINGS
#
# Cop settings that have been agreed upon by the OFN community
Bundler/DuplicatedGem:
Enabled: false
Layout/LineLength:
Enabled: true
Max: 100
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
# Don't think this is a big issue, mostly picking up RPSEC scope definitions
# with lamdas and RSpec '.to change{}' blocks
Lint/AmbiguousBlockAssociation:
Enabled: false
Lint/MissingSuper:
Exclude:
- app/components/**/*
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
# Heaps of offences (> 100) in specs, mostly in situations where two or more
# instances of a model are required, but only one is referenced. Difficult to
# fix without making the spec look messy or rewriting it.
# Should definitely fix at some point.
Lint/UselessAssignment:
Exclude:
- spec/**/*
Metrics:
Enabled: true
Metrics/AbcSize:
Max: 30 # default 17
Metrics/BlockLength:
AllowedMethods: [
"class_eval",
@@ -39,33 +76,84 @@ Metrics/BlockLength:
"put",
"resource",
"resources",
"response",
"scenario",
"shared_examples",
"shared_examples_for",
"xdescribe",
]
Metrics/MethodLength:
Enabled: true
Max: 25 # default 10
Metrics/ParameterLists:
CountKeywordArgs: false
Metrics/PerceivedComplexity:
Enabled: true
Max: 14 # default 8
Naming/PredicateName:
Enabled: false
Naming/VariableNumber:
AllowedIdentifiers:
- street_address_1
- street_address_2
AllowedPatterns:
- _v[\d]+
# Cf. conversation https://github.com/openfoodfoundation/openfoodnetwork/pull/13306#pullrequestreview-2831644286
- menu_[\d]
Rails/ApplicationRecord:
Exclude:
# Migrations should not contain application code:
- "db/migrate/*.rb"
- db/migrate/*.rb
# Allow many-to-many associations without explicit model.
# - It avoids the additional code of a model class.
# - It simplifies the declaration of the association.
# - Rails may know that there are no callbacks associated.
Rails/HasAndBelongsToMany:
Enabled: false
# Cf. conversation https://github.com/openfoodfoundation/openfoodnetwork/pull/13251
Rails/LexicallyScopedActionFilter:
Enabled: false
Rails/OutputSafety:
Exclude:
- spec/**/*
Rails/RedundantActiveRecordAllMethod:
AllowedReceivers:
- ActionMailer::Preview
- ActiveSupport::TimeZone
Rails/SkipsModelValidations:
AllowedMethods:
- "touch"
- "touch_all"
- "update_all"
- "update_attribute"
- "update_column"
- "update_columns"
- touch
- touch_all
- update_all
- update_attribute
- update_column
- update_columns
Rails/UnknownEnv:
Environments:
- development
- production
- staging
- test
Rails/WhereExists:
EnforcedStyle: where # Cf. conversion https://github.com/openfoodfoundation/openfoodnetwork/pull/12363
Style/Documentation:
Enabled: false
Style/StringLiterals:
Style/FormatStringToken:
Enabled: false
Style/HashSyntax:
@@ -75,62 +163,5 @@ Style/HashSyntax:
Style/Send:
Enabled: true
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Layout/LineLength:
Enabled: true
Max: 100
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Naming/VariableNumber:
AllowedIdentifiers:
- street_address_1
- street_address_2
AllowedPatterns:
- _v[\d]+
Bundler/DuplicatedGem:
Enabled: false
## TEMPORARY/CONTESTED SETTINGS
#
# These are still to be decided upon, but recommended for inclusion by
# oeoeaio after scrutinising offenses the codebase
# Don't think this is a big issue, mostly picking up RPSEC scope definitions
# with lamdas and RSpec '.to change{}' blocks
Lint/AmbiguousBlockAssociation:
Enabled: false
# Heaps of offences (> 100) in specs, mostly in situations where two or more
# instances of a model are required, but only one is referenced. Difficult to
# fix without making the spec look messy or rewriting it.
# Should definitely fix at some point.
Lint/UselessAssignment:
Exclude:
- spec/**/*
Lint/MissingSuper:
Exclude:
- 'app/components/**/*'
Metrics/AbcSize:
Max: 30 # default 17
Metrics/MethodLength:
Enabled: true
Max: 25 # default 10
Metrics/PerceivedComplexity:
Enabled: true
Max: 14 # default 8
Naming/PredicateName:
Style/StringLiterals:
Enabled: false

File diff suppressed because it is too large Load Diff

4
.secrets.example Normal file
View File

@@ -0,0 +1,4 @@
# .secrets file define github secrets value locally
DEPENDABOT_PR_APP_ID=123456
DEPENDABOT_PR_APP_INSTALLATION_ID=123456
DEPENDABOT_PR_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n....\n-----END RSA PRIVATE KEY-----"

View File

@@ -1,17 +1,18 @@
#!/bin/env ruby
# frozen_string_literal: true
SimpleCov.start 'rails' do
# The rails profile contains some filters already:
#
# - "/test/"
# - "/features/"
# - "/spec/"
# - "/autotest/"
# - /^\/config\//
# - /^\/db\//
add_filter '/bin/'
add_filter '/config/'
add_filter '/jobs/application_job.rb'
add_filter '/schemas/'
add_filter '/lib/generators'
add_filter '/spec/'
add_filter '/vendor/'
add_filter '/public'
add_filter '/swagger'
add_filter '/config/' # to include engine config
add_filter '/script'
add_filter '/log'
add_filter '/db'
add_filter '/lib/tasks/sample_data/'
formatter SimpleCov::Formatter::SimpleFormatter
end

9
.undercover Normal file
View File

@@ -0,0 +1,9 @@
#!/bin/env ruby
# frozen_string_literal: true
--compare master
# This shouldn't be needed in undercover > 0.7.4
#
# * https://github.com/grodowski/undercover/issues/233
--exclude-files "bin/*,db/*,config/*,spec/*,engines/*/config/*,engines/*/spec/*"

View File

@@ -1,92 +1,34 @@
FROM ubuntu:20.04
FROM ruby:3.1.4-alpine3.19 AS base
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
TZ=Europe/London \
RAILS_ROOT=/usr/src/app \
BUNDLE_PATH=/bundles \
BUNDLE_APP_CONFIG=/bundles
RUN apk --no-cache upgrade && \
apk add --no-cache tzdata postgresql-client imagemagick imagemagick-jpeg && \
apk add --no-cache --virtual wkhtmltopdf
ENV TZ Europe/London
WORKDIR $RAILS_ROOT
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Development dependencies
FROM base AS development-base
RUN apk add --no-cache --virtual .build-deps \
build-base postgresql-dev git nodejs yarn && \
apk add --no-cache --virtual .dev-utils \
bash curl less vim chromium-chromedriver zlib-dev openssl-dev cmake\
readline-dev yaml-dev sqlite-dev libxml2-dev libxslt-dev libffi-dev vips-dev && \
curl -o /usr/local/bin/wait-for-it https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh && \
chmod +x /usr/local/bin/wait-for-it
RUN echo "deb http://security.ubuntu.com/ubuntu bionic-security main" >> /etc/apt/sources.list
# Install yarn dependencies separately for caching
FROM development-base AS yarn-dependencies
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
# Install all the requirements
RUN apt-get update && apt-get install -y \
curl \
git \
build-essential \
software-properties-common \
wget \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
wait-for-it \
imagemagick \
unzip \
libjemalloc-dev \
libssl-dev \
ca-certificates \
gnupg
# Setup ENV variables
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
# 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} && \
git clone --depth 1 https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh && \
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install $(cat .ruby-version) && \
rbenv global $(cat .ruby-version)
# Install Postgres
RUN sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main' >> /etc/apt/sources.list.d/pgdg.list" && \
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null && \
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-10 libpq-dev
# 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 - && \
sh -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list" && \
apt-get update && \
apt-get install -fy google-chrome-stable
# Install Chromedriver
RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip && \
unzip chromedriver_linux64.zip -d /usr/bin && \
chmod u+x /usr/bin/chromedriver
# Copy code and install app dependencies
COPY . /usr/src/app/
# Install Bundler
RUN ./script/install-bundler
# Install front-end dependencies
RUN yarn install
# Run bundler install in parallel with the amount of available CPUs
RUN bundle install --jobs="$(nproc)"
# Install Ruby gems
FROM development-base
COPY . $RAILS_ROOT
COPY Gemfile Gemfile.lock ./
RUN bundle install --jobs "$(nproc)"
COPY --from=yarn-dependencies $RAILS_ROOT/node_modules ./node_modules

93
Dockerfile.ubuntu Normal file
View File

@@ -0,0 +1,93 @@
FROM ubuntu:20.04
ENV TZ Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN echo "deb http://security.ubuntu.com/ubuntu bionic-security main" >> /etc/apt/sources.list
# Install all the requirements
RUN apt-get update && apt-get install -y \
curl \
git \
build-essential \
software-properties-common \
wget \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
wait-for-it \
imagemagick \
unzip \
libjemalloc-dev \
libssl-dev \
ca-certificates \
gnupg \
cmake
# Setup ENV variables
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
# 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} && \
git clone --depth 1 https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh && \
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install $(cat .ruby-version) && \
rbenv global $(cat .ruby-version)
# Install Postgres
RUN sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main' >> /etc/apt/sources.list.d/pgdg.list" && \
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null && \
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-10 libpq-dev
# 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 - && \
sh -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list" && \
apt-get update && \
apt-get install -fy google-chrome-stable
# Install Chromedriver
RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip && \
unzip chromedriver_linux64.zip -d /usr/bin && \
chmod u+x /usr/bin/chromedriver
# Copy code and install app dependencies
COPY . /usr/src/app/
# Install Bundler
RUN ./script/install-bundler
# Install front-end dependencies
RUN yarn install
# Run bundler install in parallel with the amount of available CPUs
RUN bundle install --jobs="$(nproc)"

View File

@@ -6,28 +6,9 @@ This is a general guide to setting up an Open Food Network **development environ
Head to our wiki on [Learning Rails](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Learning-Rails) to find some good starting points.
### Requirements
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)
The following guides will provide OS-specific step-by-step instructions to get these requirements installed:
- [Ubuntu Setup Guide][ubuntu]
- [Debian Setup Guide][debian]
- [OSX Setup Guide][osx]
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:
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 git@github.com:YOUR_GITHUB_USERNAME_HERE/openfoodnetwork.git
@@ -43,6 +24,27 @@ Fetch the latest version of `master` from `upstream` (ie. the main repo):
git fetch upstream master
### Installation
This project needs specific ruby/bundler versions as well as node/yarn specific versions. For a local setup you will need:
* Install or change your Ruby version according to the one specified at [.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/).
* Install [nodenv](https://github.com/nodenv/nodenv) to ensure the correct [.node-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.node-version) is used.
- [nodenv](https://github.com/nodenv/nodenv) is recommended as a node version manager.
* PostgreSQL database
* Redis (for background jobs)
* Chrome (for testing)
The following guides will provide OS-specific step-by-step instructions to get these requirements installed:
- [Ubuntu Setup Guide][ubuntu]
- [Debian Setup Guide][debian]
- [OSX Setup Guide][osx]
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).
Another way to make it work locally would be using Docker. See the [Docker setup guide](docker/README.md).
### Get it running
First, you need to create the database user the app will use by manually typing the following in your terminal:
@@ -53,7 +55,8 @@ sudo --login --user=postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PA
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.
Next, it is _strongly recommended_ to run the setup script:
```sh
./script/setup
```
@@ -70,7 +73,7 @@ To login as the default user, use:
email: ofn@example.com
password: ofn123
Seee [Locale and sample data] about loading data.
See [Locale and sample data] about loading data.
### Testing

46
Gemfile
View File

@@ -5,7 +5,7 @@ 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 'dotenv', require: 'dotenv/load' # Load ENV vars before other gems
gem 'rails'
@@ -16,12 +16,14 @@ gem "image_processing"
gem 'activemerchant', '>= 1.78.0'
gem 'angular-rails-templates', '>= 0.3.0'
gem 'awesome_nested_set'
gem 'ransack', '~> 2.6.0'
gem 'ransack', '~> 4.1.0'
gem 'responders'
gem 'rexml'
gem 'webpacker', '~> 5'
# Indirect dependency but we access it directly in JS specs.
# It turns out to be hard to upgrade but please do if you can.
gem 'sprockets', '~> 3.7'
gem 'i18n'
gem 'i18n-js', '~> 3.9.0'
gem 'rails-i18n'
@@ -32,6 +34,7 @@ gem "db2fog", github: "openfoodfoundation/db2fog", branch: "rails-7"
gem "fog-aws", "~> 2.0" # db2fog does not support v3
gem "mime-types" # required by fog
gem "validates_lengths_from_database"
gem "valid_email2"
gem "catalog", path: "./engines/catalog"
@@ -66,14 +69,14 @@ gem 'oauth2', '~> 1.4.7' # Used for Stripe Connect
gem 'datafoodconsortium-connector'
gem 'jsonapi-serializer'
gem 'pagy', '~> 5.1'
gem 'pagy', '~> 9'
gem 'rswag-api'
gem 'rswag-ui'
gem 'omniauth_openid_connect'
gem 'omniauth-rails_csrf_protection'
gem 'openid_connect', '~> 1.3'
gem 'openid_connect'
gem 'angularjs-rails', '1.8.0'
gem 'bugsnag'
@@ -87,24 +90,26 @@ gem "active_model_serializers", "0.8.4"
gem 'activerecord-session_store'
gem 'acts-as-taggable-on'
gem 'angularjs-file-upload-rails', '~> 2.4.1'
gem 'bigdecimal', '3.0.2'
gem 'bigdecimal'
gem 'bootsnap', require: false
gem 'geocoder'
gem 'gmaps4rails'
gem 'mimemagic', '> 0.3.5'
gem 'paper_trail', '~> 12.1'
gem 'paper_trail'
gem 'rack-rewrite'
gem 'rack-timeout'
gem 'roadie-rails'
gem 'hiredis'
gem 'puma'
gem 'redis', '>= 4.0', require: ['redis', 'redis/connection/hiredis']
gem 'redis'
gem 'sidekiq'
gem 'sidekiq-scheduler'
gem "cable_ready", "5.0.0.rc2"
gem "stimulus_reflex", "3.5.0.rc2"
gem "cable_ready"
gem "stimulus_reflex"
gem "turbo_power"
gem "turbo-rails"
gem 'combine_pdf'
gem 'wicked_pdf'
@@ -133,11 +138,17 @@ gem 'flipper-ui'
gem "view_component"
gem 'view_component_reflex', '3.1.14.pre9'
# mini_portile2 is needed when installing with Vargant
# https://openfoodnetwork.slack.com/archives/CEBMTRCNS/p1668439152992899
gem 'mini_portile2', '~> 2.8'
gem "faraday"
gem "private_address_check"
gem 'newrelic_rpm'
gem 'invisible_captcha'
group :production, :staging do
gem 'sd_notify' # For better Systemd process management. Used by Puma.
end
@@ -145,6 +156,7 @@ end
group :test, :development do
gem 'bullet'
gem 'capybara'
gem 'capybara-shadowdom'
gem 'cuprite'
gem 'database_cleaner', require: false
gem 'debug', '>= 1.0.0'
@@ -155,15 +167,18 @@ group :test, :development do
gem 'letter_opener', '>= 1.4.1'
gem 'rspec-rails', ">= 3.5.2"
gem 'rspec-retry', require: false
gem 'rswag-specs'
gem 'rspec-sql'
gem 'rswag'
gem 'shoulda-matchers'
gem 'timecop'
gem 'stimulus_reflex_testing', github: "podia/stimulus_reflex_testing", branch: :main
end
group :test do
gem 'pdf-reader'
gem 'puffing-billy'
gem 'rails-controller-testing'
gem 'simplecov', require: false
gem 'undercover', require: false
gem 'vcr', require: false
gem 'webmock', require: false
# See spec/spec_helper.rb for instructions
@@ -173,14 +188,17 @@ end
group :development do
gem 'debugger-linecache'
gem 'foreman'
gem 'i18n-tasks'
gem 'listen'
gem 'pry', '~> 0.13.0'
gem 'query_count'
gem 'rails-erd'
gem 'rubocop'
gem 'rubocop-rails'
gem 'rubocop-rspec'
gem 'spring'
gem 'spring-commands-rspec'
gem 'spring-commands-rubocop'
gem 'web-console'
gem 'rack-mini-profiler', '< 3.0.0'

File diff suppressed because it is too large Load Diff

5
Procfile.docker Normal file
View File

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

View File

@@ -1,5 +1,4 @@
[![Build](https://github.com/openfoodfoundation/openfoodnetwork/actions/workflows/build.yml/badge.svg)](https://github.com/openfoodfoundation/openfoodnetwork/actions/workflows/build.yml)
[![Code Climate](https://codeclimate.com/github/openfoodfoundation/openfoodnetwork.png)](https://codeclimate.com/github/openfoodfoundation/openfoodnetwork)
# Open Food Network
@@ -33,7 +32,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][welcome-qa] 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]. 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!
@@ -45,7 +44,7 @@ We use [KnapsackPro](https://knapsackpro.com/) for optimal parallelisation of ou
## Licence
Copyright (c) 2012 - 2022 Open Food Foundation, released under the AGPL licence.
Copyright (c) 2012 - 2024 Open Food Foundation, released under the AGPL licence.
[survey]: https://docs.google.com/a/eaterprises.com.au/forms/d/1zxR5vSiU9CigJ9cEaC8-eJLgYid8CR8er7PPH9Mc-30/edit#
[slack-invite]: https://join.slack.com/t/openfoodnetwork/shared_invite/zt-9sjkjdlu-r02kUMP1zbrTgUhZhYPF~A
@@ -54,4 +53,3 @@ Copyright (c) 2012 - 2022 Open Food Foundation, released under the AGPL licence.
[super-admin-guide]: https://ofn-user-guide.gitbook.io/ofn-super-admin-guide
[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

@@ -7,4 +7,3 @@
require_relative 'config/application'
Openfoodnetwork::Application.load_tasks

View File

@@ -10,11 +10,11 @@
//= require jquery.ui.all
//= require jquery.powertip
//= require jquery.cookie
//= require jquery.jstree/jquery.jstree
//= require jquery.vAlign
//= require angular
//= require angular-resource
//= require angular-animate
//= require angular-sanitize
//= require angularjs-file-upload
//= require ../shared/ng-infinite-scroll.min.js
//= require ../shared/ng-tags-input.min.js
@@ -61,19 +61,11 @@
//= require ./variant_overrides/variant_overrides
// text, dates and translations
//= require textAngular-rangy.min.js
// This replaces angular-sanitize. We should include only one.
// https://github.com/textAngular/textAngular#where-to-get-it
//= require textAngular-sanitize.min.js
//= require textAngular.min.js
//= require i18n/translations
//= require darkswarm/i18n.translate.js
// foundation
//= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js
// LocalStorage
//= require ../shared/angular-local-storage.js
// requires the rest of the JS code in this folder
//= require_tree .

View File

@@ -1,406 +0,0 @@
angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $filter, $http, $window, $location, BulkProducts, DisplayProperties, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, Columns, tax_categories, RequestMonitor, SortOptions, ErrorsParser, ProductFiltersUrl) ->
$scope.StatusMessage = StatusMessage
$scope.columns = Columns.columns
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
$scope.RequestMonitor = RequestMonitor
$scope.pagination = BulkProducts.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.q = {
producerFilter: ""
categoryFilter: ""
importDateFilter: ""
query: ""
sorting: ""
}
$scope.sorting = "name asc"
$scope.producers = producers
$scope.taxons = Taxons.all
$scope.tax_categories = tax_categories
$scope.page = 1
$scope.per_page = 15
$scope.products = BulkProducts.products
$scope.DisplayProperties = DisplayProperties
$scope.sortOptions = SortOptions
$scope.initialise = ->
$scope.q = ProductFiltersUrl.loadFromUrl($location.search())
$scope.fetchProducts()
$scope.$watchCollection '[q.query, q.producerFilter, q.categoryFilter, q.importDateFilter, per_page]', ->
$scope.page = 1 # Reset page when changing filters for new search
$scope.changePage = (newPage) ->
$scope.page = newPage
$scope.fetchProducts()
$scope.fetchProducts = ->
removeClearedValues()
params = {
'q[name_cont]': $scope.q.query,
'q[supplier_id_eq]': $scope.q.producerFilter,
'q[primary_taxon_id_eq]': $scope.q.categoryFilter,
'q[s]': $scope.sorting,
import_date: $scope.q.importDateFilter,
page: $scope.page,
per_page: $scope.per_page
}
RequestMonitor.load(BulkProducts.fetch(params).$promise).then ->
# update url with the filters used
$location.search(ProductFiltersUrl.generate($scope.q))
$scope.resetProducts()
removeClearedValues = ->
delete $scope.q.producerFilter if $scope.q.producerFilter == "0"
delete $scope.q.categoryFilter if $scope.q.categoryFilter == "0"
delete $scope.q.importDateFilter if $scope.q.importDateFilter == "0"
$timeout ->
if $scope.showLatestImport
$scope.q.importDateFilter = $scope.importDates[1].id
$scope.resetProducts = ->
DirtyProducts.clear()
StatusMessage.clear()
$scope.updateOnHand = (product) ->
on_demand_variants = []
if product.variants
on_demand_variants = (variant for id, variant of product.variants when variant.on_demand)
unless product.on_demand || on_demand_variants.length > 0
product.on_hand = $scope.onHand(product)
$scope.onHand = (product) ->
onHand = 0
if product.hasOwnProperty("variants") and product.variants instanceof Object
for id, variant of product.variants
onHand = onHand + parseInt(if variant.on_hand > 0 then variant.on_hand else 0)
else
onHand = "error"
onHand
$scope.shiftTab = (tab) ->
$scope.visibleTab.visible = false unless $scope.visibleTab == tab || $scope.visibleTab == undefined
tab.visible = !tab.visible
$scope.visibleTab = tab
$scope.resetSelectFilters = ->
$scope.q.query = ""
$scope.q.producerFilter = "0"
$scope.q.categoryFilter = "0"
$scope.q.importDateFilter = "0"
$scope.fetchProducts()
$scope.$watch 'sortOptions', (sort) ->
return unless sort && sort.predicate != ""
$scope.sorting = sort.getSortingExpr(defaultDirection: "asc")
$scope.fetchProducts()
, true
confirm_unsaved_changes = () ->
(DirtyProducts.count() > 0 and confirm(t("unsaved_changes_confirmation"))) or (DirtyProducts.count() == 0)
editProductUrl = (product, variant) ->
"/admin/products/" + product.id + ((if variant then "/variants/" + variant.id else "")) + "/edit"
$scope.editWarn = (product, variant) ->
if confirm_unsaved_changes()
$window.location.href = ProductFiltersUrl.buildUrl(editProductUrl(product, variant), $scope.q)
$scope.toggleShowAllVariants = ->
showVariants = !DisplayProperties.showVariants 0
$scope.products.forEach (product) ->
DisplayProperties.setShowVariants product.id, showVariants
DisplayProperties.setShowVariants 0, showVariants
$scope.addVariant = (product) ->
product.variants.push
id: $scope.nextVariantId()
unit_value: null
unit_description: null
on_demand: false
display_as: null
display_name: null
on_hand: null
price: null
DisplayProperties.setShowVariants product.id, true
$scope.nextVariantId = ->
$scope.variantIdCounter = 0 unless $scope.variantIdCounter?
$scope.variantIdCounter -= 1
$scope.variantIdCounter
$scope.deleteProduct = (product) ->
if confirm(t('are_you_sure'))
$http(
method: "DELETE"
url: "/api/v0/products/" + product.id
).then (response) ->
$scope.products.splice $scope.products.indexOf(product), 1
DirtyProducts.deleteProduct product.id
$scope.displayDirtyProducts()
$scope.deleteVariant = (product, variant) ->
if product.variants.length > 1
if !$scope.variantSaved(variant)
$scope.removeVariant(product, variant)
else
if confirm(t("are_you_sure"))
$http(
method: "DELETE"
url: "/api/v0/products/" + product.id + "/variants/" + variant.id
).then (response) ->
$scope.removeVariant(product, variant)
else
alert(t("delete_product_variant"))
$scope.removeVariant = (product, variant) ->
product.variants.splice product.variants.indexOf(variant), 1
DirtyProducts.deleteVariant product.id, variant.id
$scope.displayDirtyProducts()
$scope.cloneProduct = (product) ->
BulkProducts.cloneProduct product
$scope.hasVariants = (product) ->
product.variants.length > 0
$scope.hasUnit = (product) ->
product.variant_unit_with_scale?
$scope.variantSaved = (variant) ->
variant.hasOwnProperty('id') && variant.id > 0
$scope.hasOnDemandVariants = (product) ->
(variant for id, variant of product.variants when variant.on_demand).length > 0
$scope.submitProducts = ->
# Pack pack $scope.products, so they will match the list returned from the server,
# then pack $scope.dirtyProducts, ensuring that the correct product info is sent to the server.
$scope.packProduct product for id, product of $scope.products
$scope.packProduct product for id, product of DirtyProducts.all()
productsToSubmit = filterSubmitProducts(DirtyProducts.all())
if productsToSubmit.length > 0
$scope.updateProducts productsToSubmit # Don't submit an empty list
else
StatusMessage.display 'alert', t("products_change")
$scope.updateProducts = (productsToSubmit) ->
$scope.displayUpdating()
$http(
method: "POST"
url: "/admin/products/bulk_update"
data:
products: productsToSubmit
filters:
'q[name_cont]': $scope.q.query
'q[supplier_id_eq]': $scope.q.producerFilter
'q[primary_taxon_id_eq]': $scope.q.categoryFilter
'q[s]': $scope.sorting
import_date: $scope.q.importDateFilter
page: $scope.page
per_page: $scope.per_page
).then((response) ->
DirtyProducts.clear()
BulkProducts.updateVariantLists(response.data.products || [])
$timeout -> $scope.displaySuccess()
).catch (response) ->
if response.status == 400 && response.data.errors?
errorsString = ErrorsParser.toString(response.data.errors, response.status)
$scope.displayFailure t("products_update_error") + "\n" + errorsString
else
$scope.displayFailure t("products_update_error_data") + response.status
$scope.cancel = (destination) ->
$window.location = destination
$scope.packProduct = (product) ->
if product.variant_unit_with_scale
match = product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if match
product.variant_unit = match[1]
product.variant_unit_scale = parseFloat(match[2])
else
product.variant_unit = product.variant_unit_with_scale
product.variant_unit_scale = null
else
product.variant_unit = product.variant_unit_scale = null
$scope.packVariant product, product.master if product.master
if product.variants
for id, variant of product.variants
$scope.packVariant product, variant
$scope.packVariant = (product, variant) ->
if variant.hasOwnProperty("unit_value_with_description")
match = variant.unit_value_with_description.match(/^([\d\.\,]+(?= |$)|)( |)(.*)$/)
if match
product = BulkProducts.find product.id
variant.unit_value = parseFloat(match[1].replace(",", "."))
variant.unit_value = null if isNaN(variant.unit_value)
if variant.unit_value && product.variant_unit_scale
variant.unit_value = parseFloat(window.bigDecimal.multiply(variant.unit_value, product.variant_unit_scale, 2))
variant.unit_description = match[3]
$scope.incrementLimit = ->
if $scope.limit < $scope.products.length
$scope.limit = $scope.limit + 5
$scope.displayUpdating = ->
StatusMessage.display 'progress', t("saving")
$scope.displaySuccess = ->
StatusMessage.display 'success',t("products_changes_saved")
$scope.bulk_product_form.$setPristine()
$scope.displayFailure = (failMessage) ->
StatusMessage.display 'failure', t("products_update_error_msg") + " #{failMessage}"
$scope.displayDirtyProducts = ->
count = DirtyProducts.count()
switch count
when 0 then StatusMessage.clear()
when 1 then StatusMessage.display 'notice', t("one_product_unsaved")
else StatusMessage.display 'notice', t("products_unsaved", n: count)
filterSubmitProducts = (productsToFilter) ->
filteredProducts = []
if productsToFilter instanceof Object
angular.forEach productsToFilter, (product) ->
if product.hasOwnProperty("id")
filteredProduct = {id: product.id}
filteredVariants = []
filteredMaster = null
hasUpdatableProperty = false
if product.hasOwnProperty("variants")
angular.forEach product.variants, (variant) ->
result = filterSubmitVariant variant
filteredVariant = result.filteredVariant
variantHasUpdatableProperty = result.hasUpdatableProperty
filteredVariants.push filteredVariant if variantHasUpdatableProperty
if product.master?.hasOwnProperty("unit_value")
filteredMaster ?= { id: product.master.id }
filteredMaster.unit_value = product.master.unit_value
if product.master?.hasOwnProperty("unit_description")
filteredMaster ?= { id: product.master.id }
filteredMaster.unit_description = product.master.unit_description
if product.master?.hasOwnProperty("display_as")
filteredMaster ?= { id: product.master.id }
filteredMaster.display_as = product.master.display_as
if product.hasOwnProperty("sku")
filteredProduct.sku = product.sku
hasUpdatableProperty = true
if product.hasOwnProperty("name")
filteredProduct.name = product.name
hasUpdatableProperty = true
if product.hasOwnProperty("producer_id")
filteredProduct.supplier_id = product.producer_id
hasUpdatableProperty = true
if product.hasOwnProperty("price")
filteredProduct.price = product.price
hasUpdatableProperty = true
if product.hasOwnProperty("variant_unit_with_scale")
filteredProduct.variant_unit = product.variant_unit
filteredProduct.variant_unit_scale = product.variant_unit_scale
hasUpdatableProperty = true
if product.hasOwnProperty("variant_unit_name")
filteredProduct.variant_unit_name = product.variant_unit_name
hasUpdatableProperty = true
if product.hasOwnProperty("on_hand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_hand = product.on_hand
hasUpdatableProperty = true
if product.hasOwnProperty("on_demand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_demand = product.on_demand
hasUpdatableProperty = true
if product.hasOwnProperty("category_id")
filteredProduct.primary_taxon_id = product.category_id
hasUpdatableProperty = true
if product.hasOwnProperty("tax_category_id")
filteredProduct.tax_category_id = product.tax_category_id
hasUpdatableProperty = true
if product.hasOwnProperty("inherits_properties")
filteredProduct.inherits_properties = product.inherits_properties
hasUpdatableProperty = true
if filteredMaster?
filteredProduct.master_attributes = filteredMaster
hasUpdatableProperty = true
if filteredVariants.length > 0 # Note that the name of the property changes to enable mass assignment of variants attributes with rails
filteredProduct.variants_attributes = filteredVariants
hasUpdatableProperty = true
filteredProducts.push filteredProduct if hasUpdatableProperty
filteredProducts
filterSubmitVariant = (variant) ->
hasUpdatableProperty = false
filteredVariant = {}
if not variant.deleted_at? and variant.hasOwnProperty("id")
filteredVariant.id = variant.id unless variant.id <= 0
if variant.hasOwnProperty("sku")
filteredVariant.sku = variant.sku
hasUpdatableProperty = true
if variant.hasOwnProperty("on_hand")
filteredVariant.on_hand = variant.on_hand
hasUpdatableProperty = true
if variant.hasOwnProperty("on_demand")
filteredVariant.on_demand = variant.on_demand
hasUpdatableProperty = true
if variant.hasOwnProperty("price")
filteredVariant.price = variant.price
hasUpdatableProperty = true
if variant.hasOwnProperty("unit_value")
filteredVariant.unit_value = variant.unit_value
hasUpdatableProperty = true
if variant.hasOwnProperty("unit_description")
filteredVariant.unit_description = variant.unit_description
hasUpdatableProperty = true
if variant.hasOwnProperty("display_name")
filteredVariant.display_name = variant.display_name
hasUpdatableProperty = true
if variant.hasOwnProperty("display_as")
filteredVariant.display_as = variant.display_as
hasUpdatableProperty = true
{filteredVariant: filteredVariant, hasUpdatableProperty: hasUpdatableProperty}
toObjectWithIDKeys = (array) ->
object = {}
for i of array
if array[i] instanceof Object and array[i].hasOwnProperty("id")
object[array[i].id] = angular.copy(array[i])
object[array[i].id].variants = toObjectWithIDKeys(array[i].variants) if array[i].hasOwnProperty("variants") and array[i].variants instanceof Array
object

View File

@@ -4,31 +4,30 @@ angular.module("ofn.admin").directive "ofnDisplayAs", (OptionValueNamer) ->
scope.$watchCollection ->
return [
scope.$eval(attrs.ofnDisplayAs).unit_value_with_description
scope.product.variant_unit_name
scope.product.variant_unit_with_scale
scope.variant.variant_unit_name
scope.variant.variant_unit_with_scale
]
, ->
[variant_unit, variant_unit_scale] = productUnitProperties()
[unit_value, unit_description] = variantUnitProperties(variant_unit_scale)
variant_object =
variant_object =
unit_value: unit_value
unit_description: unit_description
product:
variant_unit_scale: variant_unit_scale
variant_unit: variant_unit
variant_unit_name: scope.product.variant_unit_name
variant_unit_scale: variant_unit_scale
variant_unit: variant_unit
variant_unit_name: scope.variant.variant_unit_name
scope.placeholder_text = new OptionValueNamer(variant_object).name()
productUnitProperties = ->
# get relevant product properties
if scope.product.variant_unit_with_scale?
match = scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if scope.variant.variant_unit_with_scale?
match = scope.variant.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if match
variant_unit = match[1]
variant_unit_scale = parseFloat(match[2])
else
variant_unit = scope.product.variant_unit_with_scale
variant_unit = scope.variant.variant_unit_with_scale
variant_unit_scale = null
else
variant_unit = variant_unit_scale = null
@@ -45,4 +44,4 @@ angular.module("ofn.admin").directive "ofnDisplayAs", (OptionValueNamer) ->
unit_value = null if isNaN(unit_value)
unit_value *= variant_unit_scale if unit_value && variant_unit_scale
unit_description = match[3]
[unit_value, unit_description]
[unit_value, unit_description]

View File

@@ -1,8 +0,0 @@
angular.module("ofn.admin").directive "ofnMaintainUnitScale", ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
scope.$watch 'product.variant_unit_with_scale', (newValue, oldValue) ->
if not (oldValue == newValue)
# Triggers track-variant directive to track the unit_value, so that changes to the unit are passed to the server
ngModel.$setViewValue ngModel.$viewValue

View File

@@ -1,8 +0,0 @@
angular.module("ofn.admin").directive "ofnTrackMaster", (DirtyProducts) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
ngModel.$parsers.push (viewValue) ->
if ngModel.$dirty
DirtyProducts.addMasterProperty scope.product.id, scope.product.master.id, attrs.ofnTrackMaster, viewValue
scope.displayDirtyProducts()
viewValue

View File

@@ -1 +1 @@
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users", "textAngular"])
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users", "ngSanitize"])

View File

@@ -55,12 +55,6 @@ angular.module("admin.enterprises")
else
alert ("#{manager.email}" + " " + t("is_already_manager"))
$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.performEnterpriseAction = (enterpriseActionName, warning_message_key, success_message_key) ->
return unless confirm($scope.translation(warning_message_key))

View File

@@ -3,24 +3,9 @@ angular.module("admin.enterprises", [
"admin.utils",
"admin.shippingMethods",
"admin.users",
"textAngular",
"admin.side_menu",
"admin.taxons",
'admin.indexUtils',
'admin.tagRules',
'admin.dropdown',
'ngSanitize']
)
# For more options: https://github.com/textAngular/textAngular/blob/master/src/textAngularSetup.js
.config [
'$provide', ($provide) ->
$provide.decorator 'taTranslations', [
'$delegate'
(taTranslations) ->
taTranslations.insertLink = {
tooltip: t('admin.enterprises.form.shop_preferences.shopfront_message_link_tooltip'),
dialogPrompt: t('admin.enterprises.form.shop_preferences.shopfront_message_link_prompt')
}
taTranslations
]
]

View File

@@ -11,14 +11,8 @@ angular.module("admin.indexUtils").directive "objForUpdate", (switchClass, pendi
pendingChanges.remove(scope.object().id, scope.attr)
scope.clear()
else
change =
object: scope.object()
type: scope.type
attr: scope.attr
value: if value? then value else ""
scope: scope
scope.pending()
pendingChanges.add(scope.object().id, scope.attr, change)
addPendingChange(scope.attr, value ? "")
scope.reset = (value) ->
scope.savedValue = value
@@ -34,3 +28,33 @@ angular.module("admin.indexUtils").directive "objForUpdate", (switchClass, pendi
scope.clear = ->
switchClass( element, "", ["update-pending", "update-error", "update-success"], false )
# When a list of customer is filtered and we removed the "filtered value" from a customer, we
# want to make sure the customer is updated. IE. filtering by tag, and removing said tag.
# Deleting the "filtered value" from a customer will remove the customer entry, thus
# removing "objForUpdate" directive from the active scope. That means $watch won't pick up
# the attribute changed.
# To ensure the customer is still updated, we check on the $destroy event to see if
# the attribute has changed, if so we queue up the change.
scope.$on '$destroy', (value) ->
# No update
return if scope.object()[scope.attr] is scope.savedValue
# For some reason the code attribute is removed from the object when cleared, so we add
# an emptyvalue so it gets updated properly
if scope.attr is "code" and scope.object()[scope.attr] is undefined
scope.object()["code"] = ""
# Queuing up change
addPendingChange(scope.attr, scope.object()[scope.attr])
# private
addPendingChange = (attr, value) ->
change =
object: scope.object()
type: scope.type
attr: attr
value: value
scope: scope
pendingChanges.add(scope.object().id, attr, change)

View File

@@ -1,12 +1,16 @@
# Used like a regular angular filter where an object is passed
# Adds the additional special case that a value of 0 for the filter
# acts as a bypass for that particular attribute
# NOTE the name doesn't reflect what the filter does, it only fiters on the variant.producer_id
angular.module("admin.indexUtils").filter "attrFilter", ($filter) ->
return (objects, filters) ->
Object.keys(filters).reduce (filtered, attr) ->
filter = filters[attr]
return filtered if !filter? || filter == 0
return $filter('filter')(filtered, (object) ->
object[attr] == filter
)
, objects
filter = filters["producer_id"]
return objects if !filter? || filter == 0
return $filter('filter')(objects, (product) ->
for variant in product.variants
return true if variant["producer_id"] == filter
false
, true)

View File

@@ -31,7 +31,7 @@ angular.module("admin.indexUtils").factory 'Columns', ($rootScope, $http, $injec
savePreferences: (action_name) =>
$http
method: "PUT"
url: "/admin/column_preferences/bulk_update"
url: "/admin/column_preferences/bulk_update.json"
data:
action_name: action_name
column_preferences: (preference for column_name, preference of @columns)

View File

@@ -19,15 +19,6 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$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"))
@@ -72,19 +63,19 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
[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[variant_id_eq]": $scope.filterByVariantId if $scope.filterByVariantId,
"q[order_distributor_id_eq]": $scope.distributorFilter,
"q[variant_product_supplier_id_eq]": $scope.supplierFilter,
"q[variant_supplier_id_eq]": $scope.supplierFilter,
"q[order_order_cycle_id_eq]": $scope.orderCycleFilter,
"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
"per_page": $scope.per_page,
"search_query": $scope.query
)
$scope.formatDates = (startDate, endDate) ->
@@ -94,7 +85,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$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.orderCycles = OrderCycles.index(ams_prefix: "basic", as: "distributor", "q[orders_close_at_gt]": "#{moment().subtract(1,'year').format()}")
RequestMonitor.load $scope.suppliers = Enterprises.index(action: "visible", ams_prefix: "basic", "q[is_primary_producer_eq]": "true")
$scope.dereferenceLoadedData = ->
@@ -102,7 +93,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
Dereferencer.dereferenceAttr $scope.line_items, "supplier", Enterprises.byID
$scope.loadOrders()
RequestMonitor.load $q.all([$scope.orders.$promise]).then ->
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
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()
@@ -130,7 +121,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
return $http(
method: 'GET'
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, restock_items) ->
@@ -164,7 +155,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$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")
, "js.admin.deleting_item_will_cancel_order")
else
ofnDeleteLineItemsAlert(() ->
Promise.all(LineItems.delete(item) for item in lineItemsToDelete).then(-> $scope.refreshData())
@@ -196,14 +187,14 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.refreshData()
$scope.getLineItemScale = (lineItem) ->
if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume")
lineItem.units_product.variant_unit_scale
if lineItem.units_variant && lineItem.units_variant.variant_unit_scale && (lineItem.units_variant.variant_unit == "weight" || lineItem.units_variant.variant_unit == "volume")
lineItem.units_variant.variant_unit_scale
else
1
$scope.sumUnitValues = ->
sum = $scope.filteredLineItems?.reduce (sum, lineItem) ->
if lineItem.units_product.variant_unit == "items"
if lineItem.units_variant.variant_unit == "items"
sum + lineItem.quantity
else
sum + $scope.roundToThreeDecimals(lineItem.final_weight_volume / $scope.getLineItemScale(lineItem))
@@ -211,7 +202,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.sumMaxUnitValues = ->
sum = $scope.filteredLineItems?.reduce (sum,lineItem) ->
if lineItem.units_product.variant_unit == "items"
if lineItem.units_variant.variant_unit == "items"
sum + lineItem.max_quantity
else
sum + lineItem.max_quantity * $scope.roundToThreeDecimals(lineItem.units_variant.unit_value / $scope.getLineItemScale(lineItem))
@@ -225,39 +216,41 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
return false if !lineItem.hasOwnProperty('final_weight_volume') || !(lineItem.final_weight_volume > 0)
true
$scope.getScale = (unitsProduct, unitsVariant) ->
if unitsProduct.hasOwnProperty("variant_unit") && (unitsProduct.variant_unit == "weight" || unitsProduct.variant_unit == "volume")
unitsProduct.variant_unit_scale
else if unitsProduct.hasOwnProperty("variant_unit") && unitsProduct.variant_unit == "items"
$scope.getScale = (unitsVariant) ->
if unitsVariant.hasOwnProperty("variant_unit") && (unitsVariant.variant_unit == "weight" || unitsVariant.variant_unit == "volume")
unitsVariant.variant_unit_scale
else if unitsVariant.hasOwnProperty("variant_unit") && unitsVariant.variant_unit == "items"
1
else
null
$scope.getFormattedValueWithUnitName = (value, unitsProduct, unitsVariant, scale) ->
unit_name = VariantUnitManager.getUnitName(scale, unitsProduct.variant_unit)
$scope.getFormattedValueWithUnitName = (value, unitsVariant, scale) ->
unit_name = VariantUnitManager.getUnitName(scale, unitsVariant.variant_unit)
$scope.roundToThreeDecimals(value) + " " + unit_name
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsVariant) ->
scale = $scope.getScale(unitsVariant)
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)
$scope.getFormattedValueWithUnitName(value, unitsVariant, scale)
else
''
$scope.formattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
$scope.formattedValueWithUnitName = (value, unitsVariant) ->
scale = $scope.getScale(unitsVariant)
if scale
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
else
$scope.getFormattedValueWithUnitName(value, unitsVariant, scale)
else
''
$scope.fulfilled = (sumOfUnitValues) ->
# A Units Variant is an API object which holds unit properies of a variant
if $scope.selectedUnitsProduct.hasOwnProperty("group_buy_unit_size")&& $scope.selectedUnitsProduct.group_buy_unit_size > 0 &&
$scope.selectedUnitsProduct.hasOwnProperty("variant_unit")
if $scope.selectedUnitsProduct.variant_unit == "weight" || $scope.selectedUnitsProduct.variant_unit == "volume"
scale = $scope.selectedUnitsProduct.variant_unit_scale
if $scope.selectedUnitsProduct.hasOwnProperty("group_buy_unit_size") && $scope.selectedUnitsProduct.group_buy_unit_size > 0 &&
$scope.selectedUnitsVariant.hasOwnProperty("variant_unit")
if $scope.selectedUnitsVariant.variant_unit == "weight" || $scope.selectedUnitsVariant.variant_unit == "volume"
scale = $scope.selectedUnitsVariant.variant_unit_scale
sumOfUnitValues = sumOfUnitValues * scale unless scale == 28.35 || scale == 453.6
$scope.roundToThreeDecimals(sumOfUnitValues / $scope.selectedUnitsProduct.group_buy_unit_size)
else

View File

@@ -3,6 +3,7 @@ angular.module('admin.orderCycles')
$controller('AdminOrderCycleBasicCtrl', {$scope: $scope, ocInstance: ocInstance})
order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1]
$scope.order_cycle_id = order_cycle_id
$scope.order_cycle = OrderCycle.load(order_cycle_id)
$scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id)
$scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id)
@@ -18,6 +19,8 @@ angular.module('admin.orderCycles')
$scope.submit = ($event, destination) ->
$event.preventDefault()
$scope.order_cycle?.trigger_action = $($event.target).data('trigger-action');
$scope.order_cycle?.confirm = $($event.target).data('confirm');
StatusMessage.display 'progress', t('js.saving')
OrderCycle.update(destination, $scope.order_cycle_form)
@@ -25,4 +28,4 @@ angular.module('admin.orderCycles')
if $scope.order_cycle_form?.$dirty
t('admin.unsaved_confirm_leave')
NavigationCheck.register(warnAboutUnsavedChanges)
NavigationCheck.register(warnAboutUnsavedChanges)

View File

@@ -1,8 +1,9 @@
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, OrderCycle, ExchangeProduct, ocInstance) ->
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, EnterpriseFee, OrderCycle, ExchangeProduct, ocInstance) ->
$controller('AdminOrderCycleExchangesCtrl', {$scope: $scope, ocInstance: ocInstance, $location: $location})
$scope.view = 'incoming'
# NB: weirdly at this next line $scope.order_cycle.id comes out undefined so we use $scope.order_cycle_id instead
$scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: $scope.order_cycle_id, per_item: true)
$scope.exchangeTotalVariants = (exchange) ->
return unless $scope.enterprises? && $scope.enterprises[exchange.enterprise_id]?

View File

@@ -1,7 +1,11 @@
angular.module("admin.orderCycles").controller "OrderCyclesCtrl", ($scope, $q, Columns, StatusMessage, RequestMonitor, OrderCycles, Enterprises, Schedules, Dereferencer) ->
$scope.RequestMonitor = RequestMonitor
$scope.columns = Columns.columns
$scope.saveAll = -> OrderCycles.saveChanges($scope.order_cycles_form)
$scope.saveAll = ($event) ->
trigger_action = $($event.target).data('trigger-action')
confirm = $($event.target).data('confirm')
OrderCycles.saveChanges($scope.order_cycles_form, { trigger_action, confirm })
$scope.ordersCloseAtLimit = -31 # days
$scope.resetSelectFilters = ->

View File

@@ -22,6 +22,8 @@ angular.module('admin.orderCycles').controller "AdminSimpleEditOrderCycleCtrl",
$scope.submit = ($event, destination) ->
$event.preventDefault()
$scope.order_cycle?.trigger_action = $($event.target).data('trigger-action');
$scope.order_cycle?.confirm = $($event.target).data('confirm');
StatusMessage.display 'progress', t('js.saving')
OrderCycle.mirrorIncomingToOutgoingProducts()
OrderCycle.update(destination, $scope.order_cycle_form) if OrderCycle.confirmNoDistributors()

View File

@@ -6,6 +6,8 @@ angular.module('admin.orderCycles').factory('EnterpriseFee', ($resource) ->
params:
order_cycle_id: '@order_cycle_id'
coordinator_id: '@coordinator_id'
per_item: '@per_item'
per_order: '@per_order'
})
{

View File

@@ -161,7 +161,11 @@ angular.module('admin.orderCycles').factory 'OrderCycle', ($resource, $window, $
StatusMessage.display('failure', t('js.order_cycles.create_failure'))
update: (destination, form) ->
oc = new OrderCycleResource({order_cycle: this.dataForSubmit()})
oc = new OrderCycleResource({
order_cycle: this.dataForSubmit(),
confirm: this.order_cycle.confirm,
trigger_action: this.order_cycle.trigger_action
})
oc.$update {order_cycle_id: this.order_cycle.id, reloading: (if destination? then 1 else 0)}, (data) =>
form.$setPristine() if form
if destination?
@@ -171,6 +175,8 @@ angular.module('admin.orderCycles').factory 'OrderCycle', ($resource, $window, $
, (response) ->
if response.data.errors?
StatusMessage.display('failure', response.data.errors[0])
else if (response.data.trigger_action)
StatusMessage.display('notice', t('js.order_cycles.unsaved_changes'), response.data.trigger_action)
else
StatusMessage.display('failure', t('js.order_cycles.update_failure'))

View File

@@ -5,6 +5,8 @@ angular.module("admin.orders").controller "orderCtrl", ($scope, shops, orderCycl
$scope.distributor_id = parseInt($attrs.ofnDistributorId)
$scope.order_cycle_id = parseInt($attrs.ofnOrderCycleId)
$scope.search_variants_as = $attrs.ofnSearchVariantsAs
$scope.order_id = $attrs.ofnOrderId
$scope.validOrderCycle = (oc) ->
$scope.orderCycleHasDistributor oc, parseInt($scope.distributor_id)

View File

@@ -15,4 +15,4 @@ angular.module("admin.paymentMethods").controller "StripeController", ($scope, $
permalink = shops.filter((shop) ->
shop.id == $scope.paymentMethod.preferred_enterprise_id
)[0].permalink
"/admin/enterprises/#{permalink}/edit#/payment_methods"
"/admin/enterprises/#{permalink}/edit#/payment_methods_panel"

View File

@@ -42,8 +42,10 @@ angular.module('admin.payments').factory 'Payment', (AdminStripeElements, curren
submit: =>
munged = @preprocess()
PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status)=>
$window.location.pathname = "/admin/orders/" + munged.order_id + "/payments"
PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status) ->
rawHtml = Object.values(response).join('').replace('[object Object]true', '')
document.body.innerHTML = rawHtml
$window.history.pushState({}, '', "/admin/orders/" + munged.order_id + "/payments")
, (response) ->
StatusMessage.display 'error', t("spree.admin.payments.source_forms.stripe.error_saving_payment")
)

View File

@@ -1,24 +0,0 @@
angular.module("admin.products").controller "editUnitsCtrl", ($scope, VariantUnitManager) ->
$scope.product =
variant_unit: angular.element('#variant_unit').val()
variant_unit_scale: angular.element('#variant_unit_scale').val()
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
if $scope.product.variant_unit == 'items'
$scope.variant_unit_with_scale = 'items'
else
$scope.variant_unit_with_scale = $scope.product.variant_unit + '_' + $scope.product.variant_unit_scale.replace(/\.0$/, '');
$scope.setFields = ->
if $scope.variant_unit_with_scale == 'items'
variant_unit = 'items'
variant_unit_scale = null
else
options = $scope.variant_unit_with_scale.split('_')
variant_unit = options[0]
variant_unit_scale = options[1]
$scope.product.variant_unit = variant_unit
$scope.product.variant_unit_scale = variant_unit_scale

View File

@@ -1,8 +0,0 @@
angular.module("ofn.admin").controller "ProductImageCtrl", ($scope, ProductImageService) ->
$scope.imageUploader = ProductImageService.imageUploader
$scope.imagePreview = ProductImageService.imagePreview
$scope.$watch 'product.image_url', (newValue, oldValue) ->
if newValue != oldValue
$scope.imagePreview = newValue
$scope.uploadModal.close()

View File

@@ -1,24 +1,26 @@
# Controller for "New Products" form (spree/admin/products/new)
angular.module("admin.products")
.controller "unitsCtrl", ($scope, VariantUnitManager, OptionValueNamer, UnitPrices, PriceParser) ->
$scope.product = { master: {} }
$scope.product.master.product = $scope.product
$scope.product = {}
$scope.placeholder_text = ""
$scope.$watchCollection '[product.variant_unit_with_scale, product.master.unit_value_with_description, product.price, product.variant_unit_name]', ->
$scope.$watchCollection '[product.variant_unit_with_scale, product.unit_value_with_description, product.price, product.variant_unit_name]', ->
$scope.processVariantUnitWithScale()
$scope.processUnitValueWithDescription()
$scope.processUnitPrice()
$scope.placeholder_text = new OptionValueNamer($scope.product.master).name() if $scope.product.variant_unit_scale
$scope.placeholder_text = new OptionValueNamer($scope.product).name() if $scope.product.variant_unit_scale
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
# Extract variant_unit and variant_unit_scale from dropdown variant_unit_with_scale,
# and update hidden product fields
$scope.processVariantUnitWithScale = ->
if $scope.product.variant_unit_with_scale
match = $scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
match = $scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/) # matches string like "weight_1000"
if match
$scope.product.variant_unit = match[1]
$scope.product.variant_unit_scale = parseFloat(match[2])
else
else # "items"
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit
@@ -32,24 +34,27 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null
# Extract unit_value and unit_description from text field unit_value_with_description,
# and update hidden variant fields
$scope.processUnitValueWithDescription = ->
if $scope.product.master.hasOwnProperty("unit_value_with_description")
match = $scope.product.master.unit_value_with_description.match(/^([\d\.,]+(?= *|$)|)( *)(.*)$/)
if $scope.product.hasOwnProperty("unit_value_with_description")
match = $scope.product.unit_value_with_description.match(/^([\d\.,]+(?= *|$)|)( *)(.*)$/)
if match
$scope.product.master.unit_value = PriceParser.parse(match[1])
$scope.product.master.unit_value = null if isNaN($scope.product.master.unit_value)
$scope.product.master.unit_value = window.bigDecimal.multiply($scope.product.master.unit_value, $scope.product.variant_unit_scale, 2) if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_description = match[3]
$scope.product.unit_value = PriceParser.parse(match[1])
$scope.product.unit_value = null if isNaN($scope.product.unit_value)
$scope.product.unit_value = window.bigDecimal.multiply($scope.product.unit_value, $scope.product.variant_unit_scale, 2) if $scope.product.unit_value && $scope.product.variant_unit_scale
$scope.product.unit_description = match[3]
else
value = $scope.product.master.unit_value
value = window.bigDecimal.divide(value, $scope.product.variant_unit_scale, 2) if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_value_with_description = value + " " + $scope.product.master.unit_description
value = $scope.product.unit_value
value = window.bigDecimal.divide(value, $scope.product.variant_unit_scale, 2) if $scope.product.unit_value && $scope.product.variant_unit_scale
$scope.product.unit_value_with_description = value + " " + $scope.product.unit_description
# Calculate unit price based on product price and variant_unit_scale
$scope.processUnitPrice = ->
price = $scope.product.price
scale = $scope.product.variant_unit_scale
unit_type = $scope.product.variant_unit
unit_value = $scope.product.master.unit_value
unit_value = $scope.product.unit_value
variant_unit_name = $scope.product.variant_unit_name
$scope.unit_price = UnitPrices.displayableUnitPrice(price, scale, unit_type, unit_value, variant_unit_name)

View File

@@ -1,32 +0,0 @@
angular.module("admin.products").controller "variantUnitsCtrl", ($scope, VariantUnitManager, $timeout, UnitPrices, PriceParser) ->
$scope.unitName = (scale, type) ->
VariantUnitManager.getUnitName(scale, type)
$scope.$watchCollection "[unit_value_human, variant.price]", ->
$scope.processUnitPrice()
$scope.processUnitPrice = ->
if ($scope.variant)
price = $scope.variant.price
scale = $scope.scale
unit_type = angular.element("#product_variant_unit").val()
if (unit_type != "items")
$scope.updateValue()
unit_value = $scope.unit_value
else
unit_value = 1
variant_unit_name = angular.element("#product_variant_unit_name").val()
$scope.unit_price = UnitPrices.displayableUnitPrice(price, scale, unit_type, unit_value, variant_unit_name)
$scope.scale = angular.element('#product_variant_unit_scale').val()
$scope.updateValue = ->
unit_value_human = angular.element('#unit_value_human').val()
$scope.unit_value = bigDecimal.multiply(PriceParser.parse(unit_value_human), $scope.scale, 2)
variant_unit_value = angular.element('#variant_unit_value').val()
$scope.unit_value_human = parseFloat(bigDecimal.divide(variant_unit_value, $scope.scale, 2))
$timeout -> $scope.processUnitPrice()
$timeout -> $scope.updateValue()

View File

@@ -1,6 +0,0 @@
angular.module("ofn.admin").directive "imageModal", ($modal, ProductImageService) ->
restrict: 'C'
link: (scope, elem, attrs, ctrl) ->
elem.on "click", (ev) =>
scope.uploadModal = $modal.open(templateUrl: 'admin/modals/image_upload.html', controller: ctrl, scope: scope, windowClass: 'simple-modal')
ProductImageService.configure(scope.product)

View File

@@ -1,19 +0,0 @@
angular.module("admin.products").directive "setOnDemand", ->
link: (scope, element, attr) ->
onHand = element.context.querySelector("#variant_on_hand")
onDemand = element.context.querySelector("#variant_on_demand")
disableOnHandIfOnDemand = ->
if onDemand.checked
onHand.disabled = 'disabled'
onHand.dataStock = onHand.value
onHand.value = t('admin.products.variants.infinity')
disableOnHandIfOnDemand()
onDemand.addEventListener 'change', (event) ->
disableOnHandIfOnDemand()
if !onDemand.checked
onHand.removeAttribute('disabled')
onHand.value = onHand.dataStock

View File

@@ -1 +1 @@
angular.module("admin.products", ["textAngular", "admin.utils", "OFNShared"])
angular.module("admin.products", ["ngSanitize", "admin.utils", "OFNShared"])

View File

@@ -1,4 +1,5 @@
angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager) ->
# Javascript clone of VariantUnits::OptionValueNamer, for bulk product editing.
class OptionValueNamer
constructor: (@variant) ->
@@ -12,16 +13,16 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager
name_fields.join ' '
value_scaled: ->
@variant.product.variant_unit_scale?
@variant.variant_unit_scale?
option_value_value_unit: ->
if @variant.unit_value?
if @variant.product.variant_unit in ["weight", "volume"]
if @variant.variant_unit in ["weight", "volume"]
[value, unit_name] = @option_value_value_unit_scaled()
else
value = @variant.unit_value
unit_name = @pluralize(@variant.product.variant_unit_name, value)
unit_name = @pluralize(@variant.variant_unit_name, value)
value = parseInt(value, 10) if value == parseInt(value, 10)
@@ -57,14 +58,13 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager
# to >= 1 when expressed in it.
# If there is none available where this is true, use the smallest
# available unit.
product = @variant.product
scales = VariantUnitManager.compatibleUnitScales(product.variant_unit_scale, product.variant_unit)
scales = VariantUnitManager.compatibleUnitScales(@variant.variant_unit_scale, @variant.variant_unit)
variantUnitValue = @variant.unit_value
# sets largestScale = last element in filtered scales array
[_, ..., largestScale] = (scales.filter (s) -> variantUnitValue / s >= 1)
if (largestScale)
[largestScale, VariantUnitManager.getUnitName(largestScale, product.variant_unit)]
[largestScale, VariantUnitManager.getUnitName(largestScale, @variant.variant_unit)]
else
[scales[0], VariantUnitManager.getUnitName(scales[0], product.variant_unit)]
[scales[0], VariantUnitManager.getUnitName(scales[0], @variant.variant_unit)]

View File

@@ -2,6 +2,9 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
class VariantUnitManager
@units:
'weight':
0.001:
name: 'mg'
system: 'metric'
1.0:
name: 'g'
system: 'metric'
@@ -21,12 +24,21 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
0.001:
name: 'mL'
system: 'metric'
0.01:
name: 'cL'
system: 'metric'
0.1:
name: 'dL'
system: 'metric'
1.0:
name: 'L'
system: 'metric'
1000.0:
name: 'kL'
system: 'metric'
4.54609:
name: 'gal'
system: 'metric'
'items':
1:
name: 'items'
@@ -60,8 +72,13 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
@compatibleUnitScales: (scale, unitType) ->
scaleSystem = @units[unitType][scale]['system']
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem).sort (a, b) ->
a - b
if availableUnits
available = availableUnits.split(",")
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem and available.includes(scaleInfo['name'])).sort (a, b) ->
a - b
else
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem).sort (a, b) ->
a - b
@systemOfMeasurement: (scale, unitType) ->
if @units[unitType][scale]

View File

@@ -8,10 +8,4 @@ angular.module("admin.resources").factory 'EnterpriseResource', ($resource) ->
isArray: true
'update':
method: 'PUT'
'removeLogo':
url: '/api/v0/enterprises/:id/logo.json'
method: 'DELETE'
'removePromoImage':
url: '/api/v0/enterprises/:id/promo_image.json'
method: 'DELETE'
})

View File

@@ -1,6 +0,0 @@
angular.module("admin.resources").factory 'ProductResource', ($resource) ->
$resource('/admin/product/:id/:action.json', {}, {
'index':
url: '/api/v0/products/bulk_products.json'
method: 'GET'
})

View File

@@ -39,17 +39,6 @@ angular.module("admin.resources").factory 'Enterprises', ($q, $filter, Enterpris
resetAttribute: (enterprise, attribute) ->
enterprise[attribute] = @pristineByID[enterprise.id][attribute]
performActionOnEnterpriseResource = (resourceAction) ->
(enterprise) ->
deferred = $q.defer()
resourceAction({id: enterprise.permalink}, ((data) =>
@pristineByID[enterprise.id] = angular.copy(data)
deferred.resolve(data)
), ((response) ->
deferred.reject(response)
))
deferred.promise
findByID: (id) ->
@byID[id]
@@ -61,5 +50,3 @@ angular.module("admin.resources").factory 'Enterprises', ($q, $filter, Enterpris
$filter('filter')(enterprises, term)
removeLogo: performActionOnEnterpriseResource(EnterpriseResource.removeLogo)
removePromoImage: performActionOnEnterpriseResource(EnterpriseResource.removePromoImage)

View File

@@ -29,13 +29,13 @@ angular.module("admin.resources").factory 'OrderCycles', ($q, $injector, OrderCy
deferred.reject(response)
deferred.promise
saveChanges: (form) ->
saveChanges: (form, params = {}) ->
changed = {}
for id, orderCycle of @byID when not @saved(orderCycle)
changed[Object.keys(changed).length] = @changesFor(orderCycle)
if Object.keys(changed).length > 0
StatusMessage.display('progress', "Saving...")
OrderCycleResource.bulkUpdate { order_cycle_set: { collection_attributes: changed } }, (data) =>
OrderCycleResource.bulkUpdate { order_cycle_set: { collection_attributes: changed }, confirm: params['confirm'], trigger_action: params['trigger_action'] }, (data) =>
for orderCycle in data
delete orderCycle.coordinator
delete orderCycle.producers
@@ -47,8 +47,10 @@ angular.module("admin.resources").factory 'OrderCycles', ($q, $injector, OrderCy
, (response) =>
if response.data.errors?
StatusMessage.display('failure', response.data.errors[0])
else if (response.data.trigger_action)
StatusMessage.display('notice', t('js.order_cycles.unsaved_changes'), response.data.trigger_action)
else
StatusMessage.display('failure', "Oh no! I was unable to save your changes.")
StatusMessage.display('failure', t('js.order_cycles.bulk_save_error'))
saved: (order_cycle) ->
@diff(order_cycle).length == 0

View File

@@ -1,78 +0,0 @@
angular.module("ofn.admin").factory "BulkProducts", (ProductResource, dataFetcher, $http) ->
new class BulkProducts
products: []
pagination: {}
fetch: (params) ->
ProductResource.index params, (data) =>
@products.length = 0
@addProducts data.products
angular.extend(@pagination, data.pagination)
cloneProduct: (product) ->
$http.post("/api/v0/products/" + product.id + "/clone").then (response) =>
dataFetcher("/api/v0/products/" + response.data.id + "?template=bulk_show").then (newProduct) =>
@unpackProduct newProduct
@insertProductAfter(product, newProduct)
updateVariantLists: (serverProducts) ->
for server_product in serverProducts
product = @findProductInList(server_product.id, @products)
product.variants = server_product.variants
@loadVariantUnitValues product
find: (id) ->
@findProductInList id, @products
findProductInList: (id, product_list) ->
products = (product for product in product_list when product.id == id)
if products.length == 0 then null else products[0]
addProducts: (products) ->
for product in products
@unpackProduct product
@products.push product
insertProductAfter: (product, newProduct) ->
index = @products.indexOf(product)
@products.splice(index + 1, 0, newProduct)
unpackProduct: (product) ->
#$scope.matchProducer product
@loadVariantUnit product
loadVariantUnit: (product) ->
product.variant_unit_with_scale =
if product.variant_unit && product.variant_unit_scale && product.variant_unit != 'items'
"#{product.variant_unit}_#{product.variant_unit_scale}"
else if product.variant_unit
product.variant_unit
else
null
@loadVariantUnitValues product if product.variants
@loadVariantUnitValue product, product.master if product.master
loadVariantUnitValues: (product) ->
for variant in product.variants
@loadVariantUnitValue product, variant
loadVariantUnitValue: (product, variant) ->
unit_value = @variantUnitValue product, variant
unit_value = if unit_value? then unit_value else ''
variant.unit_value_with_description = "#{unit_value} #{variant.unit_description || ''}".trim()
variantUnitValue: (product, variant) ->
if variant.unit_value?
if product.variant_unit_scale
variant_unit_value = @divideAsInteger variant.unit_value, product.variant_unit_scale
parseFloat(window.bigDecimal.round(variant_unit_value, 2))
else
variant.unit_value
else
null
# forces integer division to avoid javascript floating point imprecision
# using one billion as the multiplier so that it works for numbers with up to 9 decimal places
divideAsInteger: (a, b) ->
(a * 1000000000) / (b * 1000000000)

View File

@@ -1,29 +0,0 @@
angular.module("admin.indexUtils").factory 'KeyValueMapStore', (localStorageService)->
new class KeyValueMapStore
localStorageKey: ''
storableKeys: []
constructor: ->
localStorageService.setStorageType("sessionStorage")
getStoredKeyValueMap: ->
localStorageService.get(@localStorageKey) || {}
setStoredValues: (source) ->
keyValueMap = {}
for key in @storableKeys
keyValueMap[key] = source[key]
localStorageService.set(@localStorageKey, keyValueMap)
restoreValues: (target) ->
storedKeyValueMap = @getStoredKeyValueMap()
return false if _.isEmpty(storedKeyValueMap)
for k,v of storedKeyValueMap
target[k] = v
return true
clearKeyValueMap: () ->
localStorageService.remove(@localStorageKey)

View File

@@ -32,9 +32,6 @@ jQuery(function($) {
});
}
// Make flash messages dissapear
setTimeout('$(".flash").fadeOut()', 5000);
// Highlight hovered table column
$('table tbody tr td.actions a').hover(function(){
var tr = $(this).closest('tr');

View File

@@ -1,22 +1,6 @@
// Shipments AJAX API
$(document).ready(function() {
handle_ship_click = function(){
var link = $(this);
var shipment_number = link.data('shipment-number');
var url = Spree.url( Spree.routes.orders_api + "/" + order_number + "/shipments/" + shipment_number + "/ship.json");
$.ajax({
type: "PUT",
url: url
}).done(function( msg ) {
window.location.reload();
}).error(function( msg ) {
console.log(msg);
});
}
$('.admin-order-edit-form a.ship').click(handle_ship_click);
//handle shipping method edit click
$('a.edit-method').click(toggleMethodEdit);
$('a.cancel-method').click(toggleMethodEdit);

View File

@@ -50,11 +50,11 @@ $(document).ready(function() {
if (quantity > maxQuantity) {
quantity = maxQuantity;
save.parents('tr').find('input.line_item_quantity').val(maxQuantity);
ofnAlert(t("js.admin.orders.quantity_adjusted"));
ofnAlert(t("js.admin.orders.quantity_unavailable"));
} else {
adjustItems(shipment_number, variant_id, quantity, true);
}
toggleItemEdit();
adjustItems(shipment_number, variant_id, quantity, true);
return false;
}
$('a.save-item').click(handle_save_click);
@@ -187,18 +187,17 @@ addVariantFromStockLocation = function() {
$('#stock_details').hide();
var variant_id = $('input.variant_autocomplete').val();
var stock_location_id = $(this).data('stock-location-id');
var quantity = $("input.quantity[data-stock-location-id='" + stock_location_id + "']").val();
var quantity = $("input.quantity").val();
var shipment = _.find(shipments, function(shipment){
return shipment.stock_location_id == stock_location_id && (shipment.state == 'ready' || shipment.state == 'pending');
return shipment.state == 'ready' || shipment.state == 'pending';
});
if(shipment==undefined){
$.ajax({
type: "POST",
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments.json"),
data: { variant_id: variant_id, quantity: quantity, stock_location_id: stock_location_id }
data: { variant_id: variant_id, quantity: quantity }
}).done(function( msg ) {
window.location.reload();
}).error(function( msg ) {

View File

@@ -1,21 +0,0 @@
root = exports ? this
root.taxon_tree_menu = (obj, context) ->
base_url = Spree.url(Spree.routes.taxonomy_taxons)
admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons)
edit_url = Spree.url(Spree.routes.admin_taxonomy_taxons + '/' + obj.attr("id") + "/edit");
create:
label: "<i class='icon-plus'></i> " + Spree.translations.add,
action: (obj) -> context.create(obj)
rename:
label: "<i class='icon-pencil'></i> " + Spree.translations.rename,
action: (obj) -> context.rename(obj)
remove:
label: "<i class='icon-trash'></i> " + Spree.translations.remove,
action: (obj) -> context.remove(obj)
edit:
separator_before: true,
label: "<i class='icon-edit'></i> " + Spree.translations.edit,
action: (obj) -> window.location = edit_url.toString()

View File

@@ -1,139 +0,0 @@
handle_ajax_error = (XMLHttpRequest, textStatus, errorThrown) ->
$.jstree.rollback(last_rollback)
$("#ajax_error").show().html("<strong>" + server_error + "</strong><br />" + taxonomy_tree_error)
handle_move = (e, data) ->
last_rollback = data.rlbk
position = data.rslt.cp
node = data.rslt.o
new_parent = data.rslt.np
url = new URL(Spree.routes.admin_taxonomy_taxons)
url.pathname = url.pathname + '/' + node.attr("id")
data = {
_method: "put",
"taxon[position]": position,
"taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined
}
$.ajax
type: "POST",
dataType: "json",
url: url.toString(),
data: data,
error: handle_ajax_error
true
handle_create = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
name = data.rslt.name
position = data.rslt.position
new_parent = data.rslt.parent
data = {
"taxon[name]": name,
"taxon[position]": position
"taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined
}
$.ajax
type: "POST",
dataType: "json",
url: base_url.toString(),
data: data,
error: handle_ajax_error,
success: (data,result) ->
node.attr('id', data.id)
handle_rename = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
name = data.rslt.new_name
# change the name inside the main input field as well if taxon is the root one
document.getElementById("taxonomy_name").value = name if node.parents("[id]").attr("id") == "taxonomy_tree"
url = new URL(base_url)
url.pathname = url.pathname + '/' + node.attr("id")
$.ajax
type: "POST",
dataType: "json",
url: url.toString(),
data: {_method: "put", "taxon[name]": name },
error: handle_ajax_error
handle_delete = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
delete_url = new URL(base_url)
delete_url.pathname = delete_url.pathname + '/' + node.attr("id")
if confirm(Spree.translations.are_you_sure_delete)
$.ajax
type: "POST",
dataType: "json",
url: delete_url.toString(),
data: {_method: "delete"},
error: handle_ajax_error
else
$.jstree.rollback(last_rollback)
last_rollback = null
root = exports ? this
root.setup_taxonomy_tree = (taxonomy_id) ->
if taxonomy_id != undefined
# this is defined within admin/taxonomies/edit
root.base_url = Spree.url(Spree.routes.taxonomy_taxons)
$.ajax
url: base_url.pathname.replace("/taxons", "/jstree"),
success: (taxonomy) ->
last_rollback = null
conf =
json_data:
data: taxonomy,
ajax:
url: (e) ->
base_url.pathname + '/' + e.attr('id') + '/jstree'
themes:
theme: "apple",
url: "/assets/jquery.jstree/themes/apple/style.css"
strings:
new_node: new_taxon,
loading: Spree.translations.loading + "..."
crrm:
move:
check_move: (m) ->
position = m.cp
node = m.o
new_parent = m.np
# no parent or cant drag and drop
if !new_parent || node.attr("rel") == "root"
return false
# can't drop before root
if new_parent.attr("id") == "taxonomy_tree" && position == 0
return false
true
contextmenu:
items: (obj) ->
taxon_tree_menu(obj, this)
plugins: ["themes", "json_data", "dnd", "crrm", "contextmenu"]
$("#taxonomy_tree").jstree(conf)
.bind("move_node.jstree", handle_move)
.bind("remove.jstree", handle_delete)
.bind("create.jstree", handle_create)
.bind("rename.jstree", handle_rename)
.bind "loaded.jstree", ->
$(this).jstree("core").toggle_node($('.jstree-icon').first())
$("#taxonomy_tree a").on "dblclick", (e) ->
$("#taxonomy_tree").jstree("rename", this)
# surpress form submit on enter/return
$(document).keypress (e) ->
if e.keyCode == 13
e.preventDefault()

View File

@@ -1,58 +0,0 @@
angular.module("admin.tagRules").controller "TagRulesCtrl", ($scope, $http, $filter, enterprise) ->
$scope.tagGroups = enterprise.tag_groups
$scope.defaultTagGroup = enterprise.default_tag_group
$scope.visibilityOptions = [ { id: "visible", name: t('js.tag_rules.visible') }, { id: "hidden", name: t('js.tag_rules.not_visible') } ]
$scope.updateRuleCounts = ->
index = $scope.defaultTagGroup.rules.length
for tagGroup in $filter('orderBy')($scope.tagGroups, 'position')
tagGroup.startIndex = index
index = index + tagGroup.rules.length
$scope.updateRuleCounts()
$scope.updateTagsRulesFor = (tagGroup) ->
for tagRule in tagGroup.rules
tagRule.preferred_customer_tags = (tag.text for tag in tagGroup.tags).join(",")
$scope.addNewRuleTo = (tagGroup, ruleType) ->
newRule =
id: null
is_default: tagGroup == $scope.defaultTagGroup
preferred_customer_tags: (tag.text for tag in tagGroup.tags).join(",")
type: "TagRule::#{ruleType}"
switch ruleType
when "FilterShippingMethods"
newRule.peferred_shipping_method_tags = []
newRule.preferred_matched_shipping_methods_visibility = "visible"
when "FilterPaymentMethods"
newRule.peferred_payment_method_tags = []
newRule.preferred_matched_payment_methods_visibility = "visible"
when "FilterProducts"
newRule.peferred_variant_tags = []
newRule.preferred_matched_variants_visibility = "visible"
when "FilterOrderCycles"
newRule.peferred_exchange_tags = []
newRule.preferred_matched_order_cycles_visibility = "visible"
tagGroup.rules.push(newRule)
$scope.updateRuleCounts()
$scope.addNewTag = ->
$scope.tagGroups.push { tags: [], rules: [], position: $scope.tagGroups.length + 1 }
$scope.deleteTagRule = (tagGroup, tagRule) ->
index = tagGroup.rules.indexOf(tagRule)
return unless index >= 0
if tagRule.id is null
tagGroup.rules.splice(index, 1)
$scope.updateRuleCounts()
else
if confirm("Are you sure?")
$http
method: "DELETE"
url: "/admin/enterprises/#{enterprise.id}/tag_rules/#{tagRule.id}.json"
.then ->
tagGroup.rules.splice(index, 1)
$scope.updateRuleCounts()
$scope.enterprise_form.$setDirty()

View File

@@ -1,11 +0,0 @@
angular.module("admin.tagRules").directive "invertNumber", ->
restrict: "A"
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
ngModel.$parsers.push (viewValue) ->
return -parseInt(viewValue) unless isNaN(parseInt(viewValue))
viewValue
ngModel.$formatters.push (modelValue) ->
return -parseInt(modelValue) unless isNaN(parseInt(modelValue))
modelValue

View File

@@ -1,31 +0,0 @@
angular.module("admin.tagRules").directive 'newTagRuleDialog', ($rootScope, $compile, $templateCache, DialogDefaults) ->
restrict: 'A'
scope:
tagGroup: '='
addNewRuleTo: '='
link: (scope, element, attr) ->
# Compile modal template
template = $compile($templateCache.get('admin/new_tag_rule_dialog.html'))(scope)
scope.ruleTypes = [
{ id: "FilterProducts", name: t('js.tag_rules.show_hide_variants') }
{ id: "FilterShippingMethods", name: t('js.tag_rules.show_hide_shipping') }
{ id: "FilterPaymentMethods", name: t('js.tag_rules.show_hide_payment') }
{ id: "FilterOrderCycles", name: t('js.tag_rules.show_hide_order_cycles') }
]
scope.ruleType = scope.ruleTypes[0].id
# Set Dialog options
template.dialog(DialogDefaults)
# Link opening of dialog to click event on element
element.bind 'click', (e) ->
template.dialog('open')
$rootScope.$evalAsync()
scope.addRule = (tagGroup, ruleType) ->
scope.addNewRuleTo(tagGroup, ruleType)
template.dialog('close')
$rootScope.$evalAsync()
return

View File

@@ -1,41 +0,0 @@
angular.module("admin.tagRules").directive "tagRule", ->
restrict: "C"
templateUrl: "admin/tag_rules/tag_rule.html"
link: (scope, element, attrs) ->
scope.opt =
"TagRule::FilterShippingMethods":
textTop: t('js.admin.tag_rules.shipping_method_tagged_top')
textBottom: t('js.admin.tag_rules.shipping_method_tagged_bottom')
taggable: "shipping_method"
tagsAttr: "shipping_method_tags"
tagListAttr: "preferred_shipping_method_tags"
inputTemplate: "admin/tag_rules/filter_shipping_methods_input.html"
tagListFor: (rule) ->
rule.preferred_shipping_method_tags
"TagRule::FilterPaymentMethods":
textTop: t('js.admin.tag_rules.payment_method_tagged_top')
textBottom: t('js.admin.tag_rules.payment_method_tagged_bottom')
taggable: "payment_method"
tagsAttr: "payment_method_tags"
tagListAttr: "preferred_payment_method_tags"
inputTemplate: "admin/tag_rules/filter_payment_methods_input.html"
tagListFor: (rule) ->
rule.preferred_payment_method_tags
"TagRule::FilterOrderCycles":
textTop: t('js.admin.tag_rules.order_cycle_tagged_top')
textBottom: t('js.admin.tag_rules.order_cycle_tagged_bottom')
taggable: "exchange"
tagsAttr: "exchange_tags"
tagListAttr: "preferred_exchange_tags"
inputTemplate: "admin/tag_rules/filter_order_cycles_input.html"
tagListFor: (rule) ->
rule.preferred_exchange_tags
"TagRule::FilterProducts":
textTop: t('js.admin.tag_rules.inventory_tagged_top')
textBottom: t('js.admin.tag_rules.inventory_tagged_bottom')
taggable: "variant"
tagsAttr: "variant_tags"
tagListAttr: "preferred_variant_tags"
inputTemplate: "admin/tag_rules/filter_products_input.html"
tagListFor: (rule) ->
rule.preferred_variant_tags

View File

@@ -1,6 +0,0 @@
angular.module("admin.utils").directive "textangularLinksTargetBlank", () ->
restrict: 'CA'
link: (scope, element, attrs) ->
setTimeout ->
element.find(".ta-editor").scope().defaultTagAttributes.a.target = '_blank'
, 500

View File

@@ -1,11 +0,0 @@
angular.module("admin.utils").directive "textangularStrip", () ->
restrict: 'CA'
link: (scope, element, attrs) ->
scope.stripFormatting = ($html) ->
element = document.createElement("div")
element.innerHTML = String($html)
allTags = element.getElementsByTagName("*")
for child in allTags
child.removeAttribute("style")
child.removeAttribute("class")
return element.innerHTML

View File

@@ -26,6 +26,8 @@ angular.module("admin.utils").directive "variantAutocomplete", ($timeout) ->
order_cycle_id: scope.order_cycle_id
eligible_for_subscriptions: scope.eligible_for_subscriptions
include_out_of_stock: scope.include_out_of_stock
search_variants_as: scope.search_variants_as
order_id: scope.order_id
results: (data, page) ->
window.variants = data # this is how spree auto complete JS code picks up variants
results: data

View File

@@ -9,6 +9,7 @@ angular.module("admin.utils")
$window.onbeforeunload = @onBeforeUnloadHandler
$rootScope.$on "$locationChangeStart", @locationChangeStartHandler
$window.onBeforeUnloadHandler = @onBeforeUnloadHandler
# Action for regular browser navigation.
onBeforeUnloadHandler: ($event) =>

View File

@@ -10,7 +10,9 @@ angular.module("admin.utils").factory "StatusMessage", ->
statusMessage:
text: ""
style: {}
style: {},
type: null,
actionName: null
invalidMessage: ""
@@ -23,11 +25,15 @@ angular.module("admin.utils").factory "StatusMessage", ->
active: ->
@statusMessage.text != ''
display: (type, text) ->
display: (type, text, actionName = null) ->
@statusMessage.text = text
@statusMessage.type = type
@statusMessage.actionName = actionName
@statusMessage.style = @types[type].style
null
clear: ->
@statusMessage.text = ''
@statusMessage.style = {}
@statusMessage.type = null
@statusMessage.actionName = null

View File

@@ -2,10 +2,10 @@ angular.module("admin.variantOverrides").directive "trackInheritance", (VariantO
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
# This is a bit hacky, but it allows us to load the inherit property on the VO, but then not submit it
scope.inherit = angular.equals scope.variantOverrides[scope.hub_id][scope.variant.id], VariantOverrides.newFor scope.hub_id, scope.variant.id
scope.inherit = angular.equals scope.variantOverrides[scope.hub_id][scope.variant.id], VariantOverrides.newFor scope.hub_id, scope.variant
ngModel.$parsers.push (viewValue) ->
if ngModel.$dirty && viewValue
DirtyVariantOverrides.inherit scope.hub_id, scope.variant.id, scope.variantOverrides[scope.hub_id][scope.variant.id].id
DirtyVariantOverrides.inherit scope.hub_id, scope.variant, scope.variantOverrides[scope.hub_id][scope.variant.id].id
scope.displayDirty()
viewValue

View File

@@ -2,4 +2,8 @@ angular.module("admin.variantOverrides").filter "hubPermissions", ($filter) ->
return (products, hubPermissions, hub_id) ->
return [] if !hub_id
return [] if !hubPermissions[hub_id]
return $filter('filter')(products, ((product) -> hubPermissions[hub_id].indexOf(product.producer_id) > -1), true)
return $filter('filter')(products, ((product) ->
for variant in product.variants
return hubPermissions[hub_id].indexOf(variant.producer_id) > -1
), true)

View File

@@ -12,11 +12,11 @@ angular.module("admin.variantOverrides").factory "DirtyVariantOverrides", ($http
@add(hub_id, variant_id, vo_id)
@dirtyVariantOverrides[hub_id][variant_id][attr] = value
inherit: (hub_id, variant_id, vo_id) ->
@add(hub_id, variant_id, vo_id)
blankVo = angular.copy(VariantOverrides.inherit(hub_id, variant_id))
inherit: (hub_id, variant, vo_id) ->
@add(hub_id, variant.id, vo_id)
blankVo = angular.copy(VariantOverrides.inherit(hub_id, variant))
delete blankVo[attr] for attr, value of blankVo when attr not in @requiredAttrs()
@dirtyVariantOverrides[hub_id][variant_id] = blankVo
@dirtyVariantOverrides[hub_id][variant.id] = blankVo
count: ->
count = 0

View File

@@ -13,17 +13,18 @@ angular.module("admin.variantOverrides").factory "VariantOverrides", (variantOve
@variantOverrides[hub.id] ||= {}
for product in products
for variant in product.variants
@inherit(hub.id, variant.id) unless @variantOverrides[hub.id][variant.id]
@inherit(hub.id, variant) unless @variantOverrides[hub.id][variant.id]
inherit: (hub_id, variant_id) ->
inherit: (hub_id, variant) ->
# This method is called from the trackInheritance directive, to reinstate inheritance
@variantOverrides[hub_id][variant_id] ||= {}
angular.extend @variantOverrides[hub_id][variant_id], @newFor hub_id, variant_id
@variantOverrides[hub_id][variant.id] ||= {}
angular.extend @variantOverrides[hub_id][variant.id], @newFor(hub_id, variant)
newFor: (hub_id, variant_id) ->
newFor: (hub_id, variant) ->
# These properties need to match those checked in VariantOverrideSet.deletable?
hub_id: hub_id
variant_id: variant_id
variant_id: variant.id
producer_id: variant.producer_id
sku: null
price: null
count_on_hand: null

View File

@@ -17,7 +17,6 @@
#= require angular-google-maps.min.js
#= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js
#= require ../shared/ng-infinite-scroll.min.js
#= require ../shared/angular-local-storage.js
#= require ../shared/angular-slideables.js
#= require ../shared/shared
#= require_tree ../shared/directives

View File

@@ -4,15 +4,18 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.query = ""
$scope.taxonSelectors = FilterSelectorsService.createSelectors()
$scope.propertySelectors = FilterSelectorsService.createSelectors()
$scope.producerPropertySelectors = FilterSelectorsService.createSelectors()
$scope.filtersActive = true
$scope.page = 1
$scope.per_page = 10
$scope.order_cycle = OrderCycle.order_cycle
$scope.supplied_taxons = null
$scope.supplied_properties = null
$scope.supplied_producer_properties = null
$scope.showFilterSidebar = false
$scope.activeTaxons = []
$scope.activeProperties = []
$scope.activeProducerProperties = []
# Update filters after initial load of shop tab
$timeout =>
@@ -45,6 +48,12 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.supplied_properties[property.id] = Properties.properties_by_id[property.id]
)
OrderCycleResource.producerProperties params, (data)=>
$scope.supplied_producer_properties = {}
data.map( (property) ->
$scope.supplied_producer_properties[property.id] = Properties.properties_by_id[property.id]
)
$scope.loadMore = ->
if ($scope.page * $scope.per_page) <= Products.products.length
$scope.loadMoreProducts()
@@ -52,6 +61,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.$watch 'query', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeTaxons', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeProperties', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeProducerProperties', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.loadProducts = ->
$scope.page = 1
@@ -66,9 +76,10 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
id: $scope.order_cycle.order_cycle_id,
page: page || $scope.page,
per_page: $scope.per_page,
'q[name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_supplier_name_cont]': $scope.query,
'q[name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_variants_supplier_name_cont]': $scope.query,
'q[with_properties][]': $scope.activeProperties,
'q[primary_taxon_id_in_any][]': $scope.activeTaxons
'q[with_variants_supplier_properties][]': $scope.activeProducerProperties,
'q[variants_primary_taxon_id_in_any][]': $scope.activeTaxons
}
$scope.searchKeypress = (e)->
@@ -86,6 +97,12 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
Properties.properties_by_id[property_id].name
).join($scope.filtersJoinWord()) if $scope.activeProperties?
$scope.appliedProducerPropertiesList = ->
$scope.activeProducerProperties.map( (property_id) ->
Properties.properties_by_id[property_id].name
).join($scope.filtersJoinWord()) if $scope.activeProducerProperties?
$scope.filtersJoinWord = ->
$sce.trustAsHtml(" <span class='join-word'>#{t('products_or')}</span> ")
@@ -99,6 +116,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.clearFilters = ->
$scope.taxonSelectors.clearAll()
$scope.propertySelectors.clearAll()
$scope.producerPropertySelectors.clearAll()
$scope.refreshStaleData = ->
# If the products template has already been loaded but the controller is being initialized
@@ -109,7 +127,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.loadProducts()
$scope.filtersCount = () ->
$scope.taxonSelectors.totalActive() + $scope.propertySelectors.totalActive()
$scope.taxonSelectors.totalActive() + $scope.propertySelectors.totalActive() + $scope.producerPropertySelectors.totalActive()
$scope.toggleFilterSidebar = ->
$scope.showFilterSidebar = !$scope.showFilterSidebar

View File

@@ -42,8 +42,17 @@ angular.module('Darkswarm').controller "RegistrationCtrl", ($scope, Registration
$scope.toggleAddressConfirmed = ->
$scope.addressConfirmed = !$scope.addressConfirmed
if $scope.addressConfirmed
$scope.setLatLongIfUsingOpenStreetMap()
$scope.enterprise.address.latitude = $scope.latLong.latitude
$scope.enterprise.address.longitude = $scope.latLong.longitude
else
$scope.enterprise.address.latitude = null
$scope.enterprise.address.longitude = null
# When OpenStreetMaps is enabled the latitude and longitude are calculated via a Stimulus
# controller, so they need to be read from data properties to be accessible here.
$scope.setLatLongIfUsingOpenStreetMap = ->
openStreetMap = document.getElementById("open-street-map")
if !$scope.latLong && openStreetMap && openStreetMap.dataset.latitude && openStreetMap.dataset.longitude
$scope.latLong = { latitude: openStreetMap.dataset.latitude, longitude: openStreetMap.dataset.longitude }

View File

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

View File

@@ -1,7 +1,6 @@
angular.module("Darkswarm", [
'ngResource',
'mm.foundation',
'LocalStorageModule',
'infinite-scroll',
'angular-flash.service',
'templates',

View File

@@ -1,11 +0,0 @@
angular.module('Darkswarm').directive "darkerBackground", ->
restrict: "A"
link: (scope, elm, attr)->
toggleClass = (value) ->
elm.closest('.page-view').toggleClass("with-darker-background", value)
toggleClass(true)
# if an OrderCycle is selected, disable darker background
scope.$watch 'order_cycle.order_cycle_id', (newvalue, oldvalue) ->
toggleClass(false) if newvalue

View File

@@ -1,14 +0,0 @@
# Allows disabling of link buttons via disabled attribute.
# This is normally ignored, ie the link appears disabled but is still clickable.
angular.module('Darkswarm').directive "disableDynamically", ->
restrict: 'A'
link: (scope, element, attrs) ->
element.on 'click', (e) ->
if attrs.disabled
e.preventDefault()
return
scope.$on "$destroy", ->
element.off("click")

View File

@@ -1,10 +0,0 @@
angular.module('Darkswarm').directive "ofnDisableScroll", ()->
# Stops scrolling from incrementing or decrementing input value
# Useful for number inputs
restrict: 'A'
link: (scope, element, attrs)->
element.bind 'focus', ->
element.bind 'mousewheel', (e)->
e.preventDefault()
element.bind 'blur', ->
element.unbind 'mousewheel'

View File

@@ -1,7 +0,0 @@
angular.module('Darkswarm').directive "ofnInlineAlert", ->
restrict: 'A'
scope: true
link: (scope, elem, attrs) ->
scope.visible = true
scope.close = ->
scope.visible = false

View File

@@ -1,5 +0,0 @@
angular.module('Darkswarm').directive "integer", ->
restrict: 'A'
link: (scope, elem, attr) ->
elem.bind 'input', ->
elem.val Math.round(elem.val())

View File

@@ -20,10 +20,13 @@ angular.module('Darkswarm').directive 'mapSearch', ($timeout, Search) ->
$timeout =>
map = ctrl.getMap()
searchBox = scope.createSearchBox map
scope.bindSearchResponse map, searchBox
scope.biasResults map, searchBox
scope.performUrlSearch map
if !map
alert(t('gmap_load_failure'))
else
searchBox = scope.createSearchBox map
scope.bindSearchResponse map, searchBox
scope.biasResults map, searchBox
scope.performUrlSearch map
scope.createSearchBox = (map) ->
map.controls[google.maps.ControlPosition.TOP_LEFT].push scope.input

View File

@@ -13,6 +13,8 @@ angular.module('Darkswarm').directive 'ofnOpenStreetMap', ($window, MapCentreCal
buildMarker = (enterprise, latlng, title) ->
icon = L.icon
iconAnchor: [14, 33]
iconSize: [28, 33]
iconUrl: enterprise.icon
marker = L.marker latlng,
draggable: true,

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