Compare commits

...

3831 Commits

Author SHA1 Message Date
Ahmed Ejaz
6b78f8b855 Merge pull request #13804 from rioug/13802-revert-enbling-variant-tag-no-inventory
[Inventory] display inventory link for user who manage enterprises with inventory and enterprises without inventory
2025-12-13 01:13:34 +05:00
Ahmed Ejaz
1e2b28c559 Update all locales with the latest Transifex translations 2025-12-13 01:05:55 +05:00
Maikel
4577bde692 Merge pull request #13772 from mkllnk/dfc-webhook
Import farm data from LiteFarm
2025-12-12 16:59:30 +11:00
Maikel Linke
af6be02ba4 Fix social media import 2025-12-12 16:46:43 +11:00
Maikel Linke
0dabca583f Set stronger secret password for managers
And avoid depending on Devise for this.
2025-12-12 15:17:57 +11:00
Maikel Linke
d7603755bf Mark Litefarm farms as primary producers 2025-12-12 14:46:11 +11:00
Maikel Linke
f9d255a266 Continue on fail of Litefarm import
And report validation errors.
2025-12-12 14:03:37 +11:00
Gaetan Craig-Riou
bcf4507795 Only show hub with inventory enabled 2025-12-12 13:04:44 +11:00
Gaetan Craig-Riou
9967ba2d06 Allow managing inventory and variant tag at the same time
For users with enterprise with inventory and enterpises with variant
tag, allow access to the inventory page and display variant tag only for
the enterprises its enabled for.
2025-12-12 12:38:22 +11:00
Maikel Linke
f90f71cf68 Update real Litefarm data 2025-12-10 17:18:17 +11:00
Maikel Linke
fe8a0a908e Import DFC country by name or ISO code 2025-12-10 17:17:51 +11:00
Maikel Linke
bf6176c883 Test failed image import 2025-12-10 16:24:54 +11:00
Maikel Linke
ffdfb7d450 Doc: explain when OIDC secrets are required 2025-12-10 16:24:54 +11:00
Maikel Linke
3aa4c2a25f Import more fields from Litefarm 2025-12-10 16:24:54 +11:00
Maikel Linke
3331aaa382 Fetch data from URL provided by Litefarm
So we don't have to distinguish between staging and production. They
will provide the right URL.
2025-12-10 16:24:54 +11:00
Maikel Linke
b302dcfbec Update existing enterprises 2025-12-10 16:24:54 +11:00
Maikel Linke
7dfc4d21ca Record updated Litefarm data 2025-12-10 16:24:53 +11:00
Maikel Linke
f332a6934b Move growing enterprise creation to own class 2025-12-10 16:24:53 +11:00
Maikel Linke
baad0135f9 Import enterprises and owners with minimal data
Still missing:

* Check for existing enterprises.
* Import all the available data.
2025-12-10 16:24:53 +11:00
Maikel Linke
1973e36634 Extract token and HTTP layer for re-use
Calling a webhook as a platform and fetching enterprise data will have
the same auth.
2025-12-10 16:24:53 +11:00
Maikel Linke
2e62531232 Authenticate only as platform to call webhooks 2025-12-10 16:24:53 +11:00
Maikel Linke
d811103a71 Add dummy webhook endpoint for LiteFarm 2025-12-10 16:24:53 +11:00
Gaetan Craig-Riou
f3efed7aeb Merge pull request #13796 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.206.0
Bump aws-sdk-s3 from 1.205.0 to 1.206.0
2025-12-10 10:36:35 +11:00
dependabot[bot]
01278c3ee6 Bump aws-sdk-s3 from 1.205.0 to 1.206.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.205.0 to 1.206.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-version: 1.206.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-09 09:07:25 +00:00
Gaetan Craig-Riou
da7f46de1f Merge pull request #13792 from openfoodfoundation/dependabot/bundler/rubocop-rspec_rails-2.32.0
Bump rubocop-rspec_rails from 2.31.0 to 2.32.0
2025-12-09 10:47:10 +11:00
Filipe
20107986a6 Merge pull request #13725 from rioug/13642-disable-inventory-not-using
[Variant Tags] Enable variant tag for enterprise with no inventory
2025-12-08 20:38:14 +00:00
filipefurtad0
dbd0100044 Update all locales with the latest Transifex translations 2025-12-08 10:59:33 +00:00
dependabot[bot]
7f108353e3 Bump rubocop-rspec_rails from 2.31.0 to 2.32.0
Bumps [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec_rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec_rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec_rails/compare/v2.31.0...v2.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 09:06:45 +00:00
Gaetan Craig-Riou
e1775eaad8 Merge pull request #13788 from openfoodfoundation/dependabot/bundler/jwt-2.10.2
Bump jwt from 2.8.1 to 2.10.2
2025-12-08 09:49:04 +11:00
Gaetan Craig-Riou
ad9ebc2f92 Merge pull request #13787 from openfoodfoundation/dependabot/bundler/undercover-0.8.3
Bump undercover from 0.8.2 to 0.8.3
2025-12-08 09:39:32 +11:00
dependabot[bot]
fa4351599f Bump jwt from 2.8.1 to 2.10.2
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.8.1 to 2.10.2.
- [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.1...v2.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 09:05:46 +00:00
dependabot[bot]
e5ba0843d8 Bump undercover from 0.8.2 to 0.8.3
Bumps [undercover](https://github.com/grodowski/undercover) from 0.8.2 to 0.8.3.
- [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.8.2...v0.8.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 09:05:03 +00:00
Maikel
71fe5bc107 Merge pull request #13780 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.34.2
Bump rubocop-rails from 2.33.4 to 2.34.2
2025-12-05 15:27:29 +11:00
Gaetan Craig-Riou
3c3b591655 Updated rubocop_todo to include new cops 2025-12-05 11:32:33 +11:00
dependabot[bot]
39c7fbef46 Bump rubocop-rails from 2.33.4 to 2.34.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.33.4 to 2.34.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.33.4...v2.34.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 11:32:33 +11:00
Gaetan Craig-Riou
cff52beb06 Merge pull request #13783 from openfoodfoundation/dependabot/bundler/rubocop-rspec-3.8.0
Bump rubocop-rspec from 3.7.0 to 3.8.0
2025-12-05 09:40:43 +11:00
Gaetan Craig-Riou
c4fec2ee76 Merge pull request #13782 from openfoodfoundation/dependabot/bundler/spreadsheet_architect-5.1.0
Bump spreadsheet_architect from 5.0.0 to 5.1.0
2025-12-05 09:37:59 +11:00
dependabot[bot]
952fc15a64 Bump rubocop-rspec from 3.7.0 to 3.8.0
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 3.7.0 to 3.8.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/v3.7.0...v3.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 09:02:31 +00:00
dependabot[bot]
2cbd5b5255 Bump spreadsheet_architect from 5.0.0 to 5.1.0
Bumps [spreadsheet_architect](https://github.com/westonganger/spreadsheet_architect) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/westonganger/spreadsheet_architect/releases)
- [Changelog](https://github.com/westonganger/spreadsheet_architect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/westonganger/spreadsheet_architect/compare/v5.0.0...v5.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 09:01:45 +00:00
Gaetan Craig-Riou
9f77c5912f Merge pull request #13779 from openfoodfoundation/dependabot/bundler/ffaker-2.25.0
Bump ffaker from 2.23.0 to 2.25.0
2025-12-03 13:04:28 +11:00
Gaetan Craig-Riou
1e4c0cb2cc Merge pull request #13778 from openfoodfoundation/dependabot/bundler/bootsnap-1.19.0
Bump bootsnap from 1.18.3 to 1.19.0
2025-12-03 11:56:22 +11:00
Rachel Arnould
ded139458d Merge pull request #13759 from drummer83/storno
Add a unique translatable string for the button that cancels an order
2025-12-02 15:58:44 +01:00
dependabot[bot]
e5f9c39352 Bump ffaker from 2.23.0 to 2.25.0
Bumps [ffaker](https://github.com/ffaker/ffaker) from 2.23.0 to 2.25.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/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 09:07:17 +00:00
dependabot[bot]
f0554d8ae2 Bump bootsnap from 1.18.3 to 1.19.0
Bumps [bootsnap](https://github.com/rails/bootsnap) from 1.18.3 to 1.19.0.
- [Changelog](https://github.com/rails/bootsnap/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/bootsnap/compare/v1.18.3...v1.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 09:03:26 +00:00
Gaetan Craig-Riou
e37caf7a96 Merge pull request #13774 from openfoodfoundation/dependabot/bundler/angular-rails-templates-1.4.0
Bump angular-rails-templates from 1.3.1 to 1.4.0
2025-12-01 10:37:40 +11:00
Gaetan Craig-Riou
03653bee60 Merge pull request #13773 from openfoodfoundation/dependabot/bundler/foreman-0.90.0
Bump foreman from 0.88.1 to 0.90.0
2025-12-01 10:36:41 +11:00
Gaetan Craig-Riou
43cf6e4147 Per review, use string for group name 2025-12-01 09:58:53 +11:00
dependabot[bot]
7f01658f47 Bump angular-rails-templates from 1.3.1 to 1.4.0
Bumps [angular-rails-templates](https://github.com/pitr/angular-rails-templates) from 1.3.1 to 1.4.0.
- [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.3.1...v1.4.0)

---
updated-dependencies:
- dependency-name: angular-rails-templates
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-28 09:03:30 +00:00
dependabot[bot]
7701561755 Bump foreman from 0.88.1 to 0.90.0
Bumps [foreman](https://github.com/ddollar/foreman) from 0.88.1 to 0.90.0.
- [Changelog](https://github.com/ddollar/foreman/blob/main/Changelog.md)
- [Commits](https://github.com/ddollar/foreman/compare/v0.88.1...v0.90.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-28 09:02:50 +00:00
Maikel Linke
0bdee785bb Update all locales with the latest Transifex translations 2025-11-28 12:37:53 +11:00
Maikel
1029b61bb0 Merge pull request #13742 from mkllnk/market-organic
Add Market Organic as available platform
2025-11-28 12:15:57 +11:00
Gaetan Craig-Riou
065e7a420b Merge pull request #13770 from openfoodfoundation/dependabot/bundler/pagy-9.4.0
Bump pagy from 9.3.4 to 9.4.0
2025-11-28 10:32:22 +11:00
Gaetan Craig-Riou
fe4b6accb0 Merge pull request #13767 from openfoodfoundation/dependabot/bundler/turbo-rails-2.0.20
Bump turbo-rails from 2.0.5 to 2.0.20
2025-11-28 10:28:12 +11:00
Gaetan Craig-Riou
1049ec277c Add migration to enable the correct group and disable old ones 2025-11-28 10:21:32 +11:00
Filipe
b3314d7441 Merge pull request #13689 from rahsheen/fix/13396-cloned-order-cycles-not-processed
Clear opened_at when cloning order cycle
2025-11-27 18:52:09 +00:00
dependabot[bot]
77121dfacf Bump pagy from 9.3.4 to 9.4.0
Bumps [pagy](https://github.com/ddnexus/pagy) from 9.3.4 to 9.4.0.
- [Release notes](https://github.com/ddnexus/pagy/releases)
- [Changelog](https://github.com/ddnexus/pagy/blob/9.4.0/CHANGELOG.md)
- [Commits](https://github.com/ddnexus/pagy/compare/9.3.4...9.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 09:02:19 +00:00
David Cook
04323388ad Merge pull request #13766 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.31
Bump combine_pdf from 1.0.26 to 1.0.31
2025-11-27 10:35:15 +11:00
dependabot[bot]
700be792e5 Bump turbo-rails from 2.0.5 to 2.0.20
Bumps [turbo-rails](https://github.com/hotwired/turbo-rails) from 2.0.5 to 2.0.20.
- [Release notes](https://github.com/hotwired/turbo-rails/releases)
- [Commits](https://github.com/hotwired/turbo-rails/compare/v2.0.5...v2.0.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 09:04:01 +00:00
dependabot[bot]
9f2ece379a Bump combine_pdf from 1.0.26 to 1.0.31
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.26 to 1.0.31.
- [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.26...v1.0.31)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 09:02:07 +00:00
Maikel
2662371507 Merge pull request #13755 from deivid-rodriguez/no-default-stylesheet-media
Pass media attribute explicitly to stylesheet link tags
2025-11-26 15:45:46 +11:00
Gaetan Craig-Riou
172647f1cd Rework group to enable variant tag and inventory
To make it easier to manage, enterprises with no inventory will have
variant tag enabled, and enterprises with inventory will have inventory
enabled.
Add migration to disable old group and enabled new group
2025-11-26 13:29:40 +11:00
Maikel
24fc3e9e86 Merge pull request #13748 from mkllnk/connector
Bump DFC version from 1.14 to 1.16 with new country and phone format
2025-11-26 12:32:02 +11:00
Gaetan Craig-Riou
b064173b7a Merge pull request #13758 from openfoodfoundation/dependabot/bundler/debug-1.11.0
Bump debug from 1.9.2 to 1.11.0
2025-11-26 10:58:07 +11:00
Gaetan Craig-Riou
f95581cd1f Merge pull request #13756 from openfoodfoundation/dependabot/bundler/whenever-1.1.0
Bump whenever from 1.0.0 to 1.1.0
2025-11-26 10:57:13 +11:00
Konrad
b113fe08e1 Add a unique translatable string for the button that cancels an order (button at the top of the edit order page) to allow a different translation than the regular 'Cancel' button. 2025-11-25 10:20:16 +01:00
dependabot[bot]
93d73f4763 Bump debug from 1.9.2 to 1.11.0
Bumps [debug](https://github.com/ruby/debug) from 1.9.2 to 1.11.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.9.2...v1.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 09:06:09 +00:00
dependabot[bot]
154d17969c Bump whenever from 1.0.0 to 1.1.0
Bumps [whenever](https://github.com/javan/whenever) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/javan/whenever/releases)
- [Changelog](https://github.com/javan/whenever/blob/main/CHANGELOG.md)
- [Commits](https://github.com/javan/whenever/compare/v1.0.0...v1.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 09:01:45 +00:00
David Rodríguez
e32dcd53b5 Pass media attribute explicitly to stylesheet link tags
So that we can enable Rails default behavior for potential future such link
tags without changing current behavior.
2025-11-25 08:08:59 +01:00
David Cook
44c4a66970 Merge pull request #13741 from mkllnk/gem-coop
Replace rubygems.org with gem.coop
2025-11-25 13:01:03 +11:00
Gaetan Craig-Riou
d05834b896 Merge pull request #13751 from openfoodfoundation/dependabot/bundler/dotenv-3.1.8
Bump dotenv from 3.1.2 to 3.1.8
2025-11-25 11:39:29 +11:00
Gaetan Craig-Riou
854e136d09 Merge pull request #13750 from openfoodfoundation/dependabot/bundler/flipper-active_record-1.3.6
Bump flipper-active_record from 1.3.0 to 1.3.6
2025-11-25 11:37:19 +11:00
Gaetan Craig-Riou
7f3fc4ff91 Merge pull request #13749 from openfoodfoundation/dependabot/bundler/view_component-4.1.1
Bump view_component from 3.12.1 to 4.1.1
2025-11-25 11:32:31 +11:00
dependabot[bot]
62ae62db5a Bump dotenv from 3.1.2 to 3.1.8
Bumps [dotenv](https://github.com/bkeepers/dotenv) from 3.1.2 to 3.1.8.
- [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.2...v3.1.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 09:13:22 +00:00
dependabot[bot]
a6fc49abce Bump flipper-active_record from 1.3.0 to 1.3.6
Bumps [flipper-active_record](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-active_record
  dependency-version: 1.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 09:12:40 +00:00
dependabot[bot]
528c5a3593 Bump view_component from 3.12.1 to 4.1.1
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.12.1 to 4.1.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.1...v4.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 09:12:02 +00:00
Maikel Linke
81165cd82b Replace country names with standard ISO code concepts
The DFC version 1.16.0 introduced this new standardisation.
2025-11-24 16:59:41 +11:00
Maikel Linke
faf50a1922 Bump datafoodconsortium-connector from 1.1.0 to 1.2.0 2025-11-24 16:45:06 +11:00
Maikel Linke
5f237adda2 Publish phone numbers as objects
The standard introduced this a while ago but I didn't notice.

We have to update integrations like Disco Regen now.
2025-11-24 16:44:23 +11:00
Maikel Linke
2e09a96c4b Document new managedBy attribute on DFC API 2025-11-24 15:19:34 +11:00
Gaetan Craig-Riou
6ae47c208a Per review, don't use one line rescue
One line rescue will rescue any exception and doesn't allow for rescuing
specific exception: https://thoughtbot.com/blog/don-t-inline-rescue-in-ruby
2025-11-24 13:47:32 +11:00
Gaetan Craig-Riou
82139a9ac0 Merge pull request #13747 from mkllnk/doc-reset
Show reset tasks in task list `./bin/rails -T`
2025-11-24 13:19:33 +11:00
Gaetan Craig-Riou
6d9946c3c6 Merge pull request #13738 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.205.0
Bump aws-sdk-s3 from 1.151.0 to 1.205.0
2025-11-24 13:17:41 +11:00
Maikel Linke
f58b6bcada Show reset tasks in task list ./bin/rails -T
I wrote them a while ago but noticed only now that they don't show up in
the overview.
2025-11-24 12:59:41 +11:00
Maikel
dc13ef4162 Merge pull request #13743 from deivid-rodriguez/bump-prettier
Bump prettier and let Dependabot handle further updates
2025-11-24 12:06:19 +11:00
Maikel
dcb48272f5 Merge pull request #13746 from rioug/security-255-code-injection
[Security]  Fix potential code injection
2025-11-24 12:01:44 +11:00
Gaetan Craig-Riou
08bc374576 Merge pull request #13740 from openfoodfoundation/dependabot/bundler/image_processing-1.14.0
Bump image_processing from 1.12.2 to 1.14.0
2025-11-24 09:48:37 +11:00
Gaetan Craig-Riou
afbf0a5d0e Merge pull request #13739 from openfoodfoundation/dependabot/bundler/database_cleaner-2.1.0
Bump database_cleaner from 2.0.2 to 2.1.0
2025-11-24 09:32:45 +11:00
Gaetan Craig-Riou
7e034a3037 Merge pull request #13737 from openfoodfoundation/dependabot/npm_and_yarn/webpack-4.47.0
Bump webpack from 4.46.0 to 4.47.0
2025-11-24 09:21:11 +11:00
Ahmed Ejaz
2db2fb2f11 Update all locales with the latest Transifex translations 2025-11-24 03:07:32 +05:00
Gaetan Craig-Riou
74d2a94181 Add input validation to prevent code injection
Plus spec
2025-11-23 13:46:36 +11:00
rahsheen
7a5b273e71 update specs 2025-11-22 10:51:17 -05:00
rahsheen
0b6e7593db Set oc.opened at nil when cloning service 2025-11-22 10:51:17 -05:00
David Rodríguez
6d0d91c56a Let prettier updates be handled by Dependabot 2025-11-21 12:49:44 +01:00
David Rodríguez
a509d49ec6 Bump prettier to 3.6.2
And fix new style issues.
2025-11-21 12:49:06 +01:00
Filipe
dddc945c42 Merge pull request #13679 from deivid-rodriguez/customer-edition
Improve `/admin/customers` form handling
2025-11-21 10:51:55 +00:00
Filipe
12c0363b7e Merge pull request #13716 from chahmedejaz/bugfix/13554-sorting-on-demand-products
"On hand" value influences sorting of "on demand" products/variants
2025-11-21 10:05:44 +00:00
Gaetan Craig-Riou
bb0903cd4a Fix rubocop issue
And revert the autoformating of short hand rescue
2025-11-21 16:15:47 +11:00
Gaetan Craig-Riou
e93cb485a1 Per review, use exists? so we run only one query 2025-11-21 16:07:46 +11:00
Maikel Linke
fbce264dd7 Adjust webhook URL for Market Organic 2025-11-21 14:16:47 +11:00
Maikel Linke
3c1313bfa0 Add Market Organic as available platform 2025-11-21 14:16:47 +11:00
Maikel Linke
4ca420bd84 Correct needed scope of access token 2025-11-21 14:16:41 +11:00
Maikel Linke
134ea28249 Remove obsolete DPM option 2025-11-21 13:47:00 +11:00
Maikel Linke
78cfc0db65 Replace rubygems.org with gem.coop
Several maintainers of RubyGems created gem.coop as a community-governed
service after a takeover by RubyCentral, pushed by Shopify.

We are moving with the community that reflects our values best.
2025-11-21 12:59:30 +11:00
dependabot[bot]
816e06d37c Bump image_processing from 1.12.2 to 1.14.0
Bumps [image_processing](https://github.com/janko/image_processing) from 1.12.2 to 1.14.0.
- [Changelog](https://github.com/janko/image_processing/blob/master/CHANGELOG.md)
- [Commits](https://github.com/janko/image_processing/compare/v1.12.2...v1.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 01:21:08 +00:00
dependabot[bot]
2e80b7d92f Bump database_cleaner from 2.0.2 to 2.1.0
Bumps [database_cleaner](https://github.com/DatabaseCleaner/database_cleaner) from 2.0.2 to 2.1.0.
- [Changelog](https://github.com/DatabaseCleaner/database_cleaner/blob/main/History.rdoc)
- [Commits](https://github.com/DatabaseCleaner/database_cleaner/compare/v2.0.2...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 01:20:30 +00:00
dependabot[bot]
753173e2be Bump aws-sdk-s3 from 1.151.0 to 1.205.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.151.0 to 1.205.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-version: 1.205.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 01:19:54 +00:00
dependabot[bot]
c9954f0823 Bump webpack from 4.46.0 to 4.47.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.46.0 to 4.47.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.46.0...v4.47.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 01:18:20 +00:00
Maikel
80f5fa30c4 Merge pull request #13736 from deivid-rodriguez/unify-dependabot-strategy
Unify dependabot strategy
2025-11-21 12:17:15 +11:00
Gaetan Craig-Riou
9194d0ba2b Merge pull request #13733 from openfoodfoundation/dependabot/bundler/rubocop-1.81.7
Bump rubocop from 1.81.6 to 1.81.7
2025-11-21 10:16:12 +11:00
Gaetan Craig-Riou
e00c993a98 Merge pull request #13732 from openfoodfoundation/dependabot/bundler/undercover-0.8.2
Bump undercover from 0.8.1 to 0.8.2
2025-11-21 10:11:54 +11:00
Gaetan Craig-Riou
800333f65b Merge pull request #13731 from openfoodfoundation/dependabot/bundler/arel-helpers-2.17.0
Bump arel-helpers from 2.14.0 to 2.17.0
2025-11-21 10:10:33 +11:00
Ahmed Ejaz
64df7cc9bc Refactor backorderable_name tests for clarity and consistency in product sorting 2025-11-20 06:06:56 +05:00
Ahmed Ejaz
b23fec268e fix lint issues 2025-11-20 05:08:07 +05:00
Ahmed Ejaz
7b7a7d3418 Add backorderable_name sorting and enhance combined sorting tests 2025-11-20 05:01:08 +05:00
David Rodríguez
6fa99b187d Unify Dependabot strategy
Let's do the same we do for Ruby dependencies.
2025-11-19 14:47:44 +01:00
David Rodríguez
a009dacd41 Pin version of foundation
Reading through open issues, I think it's more likely that we end up
removing it rather than upgrading it.

So let's fix it like when we don't want certain dependencies to be
managed by Dependabot.
2025-11-19 14:45:52 +01:00
dependabot[bot]
472ba98ec2 Bump rubocop from 1.81.6 to 1.81.7
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.81.6 to 1.81.7.
- [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.81.6...v1.81.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 09:02:45 +00:00
dependabot[bot]
91cd3356b0 Bump undercover from 0.8.1 to 0.8.2
Bumps [undercover](https://github.com/grodowski/undercover) from 0.8.1 to 0.8.2.
- [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.8.1...v0.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 09:02:08 +00:00
dependabot[bot]
67ef142546 Bump arel-helpers from 2.14.0 to 2.17.0
Bumps [arel-helpers](https://github.com/camertron/arel-helpers) from 2.14.0 to 2.17.0.
- [Changelog](https://github.com/camertron/arel-helpers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/camertron/arel-helpers/compare/v2.14.0...v2.17.0)

---
updated-dependencies:
- dependency-name: arel-helpers
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 09:01:31 +00:00
Maikel
0aa4993a4d Merge pull request #13686 from mkllnk/litefarm-market-organic
Allow Litefarm and Market.Organic to access DFC API
2025-11-19 15:11:51 +11:00
Gaetan Craig-Riou
98176bd5de Merge pull request #13730 from openfoodfoundation/dependabot/bundler/redcarpet-3.6.1
Bump redcarpet from 3.6.0 to 3.6.1
2025-11-19 10:10:20 +11:00
Gaetan Craig-Riou
dde0e23a79 Merge pull request #13729 from openfoodfoundation/dependabot/bundler/wicked_pdf-2.8.2
Bump wicked_pdf from 2.8.1 to 2.8.2
2025-11-19 10:08:42 +11:00
Gaetan Craig-Riou
d1021210e6 Merge pull request #13728 from openfoodfoundation/dependabot/bundler/rubocop-factory_bot-2.28.0
Bump rubocop-factory_bot from 2.27.1 to 2.28.0
2025-11-19 10:08:08 +11:00
dependabot[bot]
bfa472a293 Bump redcarpet from 3.6.0 to 3.6.1
Bumps [redcarpet](https://github.com/vmg/redcarpet) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/vmg/redcarpet/releases)
- [Changelog](https://github.com/vmg/redcarpet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vmg/redcarpet/compare/v3.6.0...v3.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 09:02:38 +00:00
dependabot[bot]
9d14c1026c Bump wicked_pdf from 2.8.1 to 2.8.2
Bumps [wicked_pdf](https://github.com/mileszs/wicked_pdf) from 2.8.1 to 2.8.2.
- [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-version: 2.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 09:02:04 +00:00
dependabot[bot]
c653743a56 Bump rubocop-factory_bot from 2.27.1 to 2.28.0
Bumps [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) from 2.27.1 to 2.28.0.
- [Release notes](https://github.com/rubocop/rubocop-factory_bot/releases)
- [Changelog](https://github.com/rubocop/rubocop-factory_bot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-factory_bot/compare/v2.27.1...v2.28.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 09:01:30 +00:00
Gaetan Craig-Riou
28af42371b Add migration to turn varian tags on 2025-11-18 14:07:59 +11:00
Gaetan Craig-Riou
acfe180e1d Fix check inventory enabled
Inventory cannot be enabled if variant tag is also enabled
Re generated the rubocop todo to account for Product::Importer, it has
too many line but it's temporary. Once the inventory is removed it won't
be an issue anymore
2025-11-18 13:56:46 +11:00
Gaetan Craig-Riou
7d20eb4fea Add group to enable variant tag for old enterprise
It will allow enterprises with inventory enabled but which are not using
the inventory to have variant tag enable.
2025-11-18 13:56:46 +11:00
Filipe
a1ee1eac4c Merge pull request #13680 from rioug/13674-enable-variant-tag-new-enterprise
[Variant tags] Enable variant tag for enterprise created after 11th of August and super admins
2025-11-17 23:05:11 +00:00
Gaetan Craig-Riou
84b351e076 Merge pull request #13723 from openfoodfoundation/dependabot/npm_and_yarn/js-yaml-3.14.2
Bump js-yaml from 3.14.1 to 3.14.2
2025-11-18 09:51:04 +11:00
Ahmed Ejaz
9f7faac842 Remove .tool-versions file 2025-11-18 03:49:06 +05:00
dependabot[bot]
02c1b309f3 Bump js-yaml from 3.14.1 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 22:36:10 +00:00
Gaetan Craig-Riou
58028df3b7 Merge pull request #13721 from openfoodfoundation/dependabot/bundler/newrelic_rpm-9.23.0
Bump newrelic_rpm from 9.22.0 to 9.23.0
2025-11-18 09:29:31 +11:00
Gaetan Craig-Riou
638c139bca Merge pull request #13720 from openfoodfoundation/dependabot/bundler/bugsnag-6.28.0
Bump bugsnag from 6.26.4 to 6.28.0
2025-11-18 09:28:23 +11:00
Gaetan Craig-Riou
5adfdf11fb Merge pull request #13719 from openfoodfoundation/dependabot/bundler/angular_rails_csrf-7.0.2
Bump angular_rails_csrf from 6.0.0 to 7.0.2
2025-11-18 09:26:57 +11:00
dependabot[bot]
152a7b7fe9 Bump newrelic_rpm from 9.22.0 to 9.23.0
Bumps [newrelic_rpm](https://github.com/newrelic/newrelic-ruby-agent) from 9.22.0 to 9.23.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.22.0...9.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 09:05:19 +00:00
dependabot[bot]
5c998bfc77 Bump bugsnag from 6.26.4 to 6.28.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.26.4 to 6.28.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.26.4...v6.28.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 09:04:19 +00:00
dependabot[bot]
97ca8702d4 Bump angular_rails_csrf from 6.0.0 to 7.0.2
Bumps [angular_rails_csrf](https://github.com/jsanders/angular_rails_csrf) from 6.0.0 to 7.0.2.
- [Release notes](https://github.com/jsanders/angular_rails_csrf/releases)
- [Changelog](https://github.com/bodrovis/angular_rails_csrf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsanders/angular_rails_csrf/compare/v6.0.0...v7.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 09:03:44 +00:00
Maikel
e194ebf0f3 Merge pull request #13552 from openfoodfoundation/dependabot/npm_and_yarn/jest-30.2.0
Bump jest from 27.5.1 to 30.2.0
2025-11-17 15:21:57 +11:00
Gaetan Craig-Riou
f6fc8a6993 Merge pull request #13715 from openfoodfoundation/dependabot/bundler/rexml-3.4.2
Bump rexml from 3.3.9 to 3.4.2
2025-11-17 15:07:10 +11:00
Gaetan Craig-Riou
cbf6b4462e Merge pull request #13712 from openfoodfoundation/dependabot/bundler/shoulda-matchers-7.0.1
Bump shoulda-matchers from 6.2.0 to 7.0.1
2025-11-17 15:04:52 +11:00
Gaetan Craig-Riou
c03580180a Merge pull request #13711 from openfoodfoundation/dependabot/bundler/geocoder-1.8.6
Bump geocoder from 1.8.3 to 1.8.6
2025-11-17 15:03:06 +11:00
Gaetan Craig-Riou
77b72134d8 Merge pull request #13710 from openfoodfoundation/dependabot/bundler/good_migrations-0.3.1
Bump good_migrations from 0.2.1 to 0.3.1
2025-11-17 15:02:16 +11:00
Ahmed Ejaz
c638e2e65e Update specs to prioritize name order in case of on-demand products 2025-11-16 17:02:47 +05:00
dependabot[bot]
25ac714cc6 Bump rexml from 3.3.9 to 3.4.2
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.9 to 3.4.2.
- [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.3.9...v3.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 23:10:57 +00:00
Filipe
475e6c33f1 Merge pull request #13498 from chahmedejaz/task/13497-upgrade-activemerchant-gem
Upgrade ActiveMerchant to v1.137.0 and rexml to 3.3.9
2025-11-14 23:09:47 +00:00
Ahmed Ejaz
ae70a1372b Remove version constraints for activemerchant and angular-rails-templates in Gemfile 2025-11-15 01:46:30 +05:00
Ahmed Ejaz
6eb6bf634f Update activemerchant version constraint to '>= 1.137.0' in Gemfile and Gemfile.lock 2025-11-15 01:46:30 +05:00
Ahmed Ejaz
a82209af85 Update activemerchant version constraint to '~> 1.137.0' in Gemfile and Gemfile.lock 2025-11-15 01:46:30 +05:00
Ahmed Ejaz
ecf0d53f0a Revert "revert "Bump rexml from 3.2.9 to 3.3.9""
This reverts commit c821b0a285.
2025-11-15 01:46:30 +05:00
Filipe
fc047e3f7c Merge pull request #13668 from openfoodfoundation/dependabot/npm_and_yarn/leaflet-providers-3.0.0
Bump leaflet-providers from 2.0.0 to 3.0.0
2025-11-14 18:21:59 +00:00
Filipe
d9e3076a3b Merge pull request #13654 from pacodelaluna/check-enterprise-image-logic
Improve enterprise images-related logic
2025-11-14 18:15:50 +00:00
Filipe
271e895486 Merge pull request #13676 from deivid-rodriguez/z-index
Fix tag rule visibility select box options hidden by save bar
2025-11-14 17:41:52 +00:00
Filipe
3e02a03312 Merge pull request #13650 from rioug/13539-update-variant-multi-producer
Fix update multi producer products
2025-11-14 16:56:16 +00:00
dependabot[bot]
ec31ff418d Bump shoulda-matchers from 6.2.0 to 7.0.1
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 6.2.0 to 7.0.1.
- [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.2.0...v7.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 01:38:47 +00:00
dependabot[bot]
22f3577b0d Bump geocoder from 1.8.3 to 1.8.6
Bumps [geocoder](https://github.com/alexreisner/geocoder) from 1.8.3 to 1.8.6.
- [Changelog](https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alexreisner/geocoder/compare/v1.8.3...v1.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 01:36:45 +00:00
dependabot[bot]
9c9773f493 Bump good_migrations from 0.2.1 to 0.3.1
Bumps [good_migrations](https://github.com/testdouble/good-migrations) from 0.2.1 to 0.3.1.
- [Changelog](https://github.com/testdouble/good-migrations/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testdouble/good-migrations/compare/v0.2.1...v0.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 01:35:47 +00:00
Gaetan Craig-Riou
33cea470ad Merge pull request #13704 from deivid-rodriguez/more-dependabot
Update all webpack related dependencies together
2025-11-14 12:32:34 +11:00
Gaetan Craig-Riou
17ac3507a6 Merge pull request #13701 from openfoodfoundation/dependabot/bundler/angular-rails-templates-1.3.1
Bump angular-rails-templates from 1.2.1 to 1.3.1
2025-11-14 12:06:34 +11:00
Ahmed Ejaz
763655f0e5 Enhance product sorting for On-Demand items and add backorderable name support 2025-11-14 06:04:32 +05:00
Gaetan Craig-Riou
7cf0a95688 Merge pull request #13700 from openfoodfoundation/dependabot/bundler/rswag-ui-2.17.0
Bump rswag-ui from 2.16.0 to 2.17.0
2025-11-14 11:25:14 +11:00
Gaetan Craig-Riou
c641fae2b9 Merge pull request #13699 from openfoodfoundation/dependabot/bundler/rails-7.1.6
Bump rails from 7.1.5.2 to 7.1.6
2025-11-14 11:23:21 +11:00
Gaetan Craig-Riou
526df1cb9c Merge pull request #13698 from openfoodfoundation/dependabot/bundler/acts-as-taggable-on-13.0.0
Bump acts-as-taggable-on from 10.0.0 to 13.0.0
2025-11-14 11:20:47 +11:00
Gaetan Craig-Riou
f4e9daec80 Merge pull request #13706 from deivid-rodriguez/tweak-reviewdog
Let reviewdog use github-pr-annotation formatter
2025-11-14 10:44:51 +11:00
Ahmed Ejaz
3e2cd839cc add .tools-versions for asdf version manager 2025-11-14 04:38:52 +05:00
Gaetan Craig-Riou
b9a790ba20 Per review, comment out transform configuration
We are using the default one, no need to actually specify it, and also
updated the documentaion link to the latest documentation.
2025-11-14 10:32:14 +11:00
Maikel Linke
aaad1bc0b3 Accept short client ids in tokens 2025-11-14 10:00:16 +11:00
Maikel Linke
d7f4a5c874 Allow Market.Organic to access DFC API 2025-11-14 10:00:16 +11:00
Maikel Linke
f8ca8ae942 Trust FDC dev realm to sign tokens 2025-11-14 10:00:16 +11:00
Maikel Linke
2805ea4926 Allow LiteFarm to access DFC API 2025-11-14 10:00:16 +11:00
David Rodríguez
36ac5dc44e Let reviewdog use github-pr-annotation formatter
This is already the default for forked PRs, and most (if not all) PRs to
this repository come from forks anyways.
2025-11-13 20:39:09 +01:00
David Rodríguez
49a976810b Update all webpack related dependencies together 2025-11-13 08:45:18 +01:00
David Rodríguez
f6d605a3aa Dismiss success message automatically after 5 seconds
We were already eventually removing the "success" border style on
inputs. I think it makes sense to do the same for the success message
itself. That's how our standard "flash messages" already work.
2025-11-13 08:37:52 +01:00
David Rodríguez
6901323827 Fix success message taking 5 seconds to show up
This is pretty black magic to me, but my understanding is that:

* When submitting customer forms, we use `$q.all()` on the result of
  submitting each form asynchronously in order to decide whether to
  display a success message (no errors) or a failure message.

* The value returned for each particular form submission was the return
  value of either `change.scope.success()` or `change.scope.error()`.
  These use the `switchClass` factory, which changes a particular DOM
  element's class to the proper pending/success/error class, but in the
  success case, it also sets a timeout to remove the class using
  `$timeout()`, which is a promise, and that was its return value.

* Because of the above, `$q.all()` was actually waiting for the
  `$timeout()` promise to be fulfilled before proceeding.

The fix is to not return a `$timeout()` promise from the `switchClass`
factory when a timeout is passed, but instead set a timeout on the
element, but return the element itself regardless.
2025-11-13 08:37:52 +01:00
David Rodríguez
186fe0503f Show orange border when input has changes
Even if it's on focus.
2025-11-13 08:37:52 +01:00
David Rodríguez
e990e5ffd5 Don't show flash messages in customer edition form
They don't actually show up when the customer is saved, but the next
time the page is reloaded. We already have the save bar for the same
purpose so it's not necessary.
2025-11-13 08:37:52 +01:00
David Rodríguez
3d7207d8c5 Properly track changes in code attribute
If the code was initially nil, some value is added, and then removed, we
would not detect that the code has not actually changed.
2025-11-13 08:37:52 +01:00
David Rodríguez
4b31352e4f Wait for page before checking DB 2025-11-13 08:37:51 +01:00
David Rodríguez
278a8b1ec2 Let save-bar properly track form state
* Keep save bar visible as long as there's a customer form displayed.
* Only display "You have unsaved changes" when there's any difference
  from the original values. If form changes are reverted, hide that
  note.
* Similarly, only let the button be enabled if there are any actual
  changes to be saved.
2025-11-13 08:37:51 +01:00
Gaetan Craig-Riou
b96a0875f3 Turn on cleaning up of globals.
It will be come default in future jest release, currently jest isn't
emitting any warning so there is no reason to wait to turn it on.
2025-11-13 09:44:22 +11:00
Gaetan Craig-Riou
4e62e20fa8 Fix test to work with new jsdom restriction
since jsdom 21, it's no longer possible to mock window.location
See : https://github.com/jsdom/jsdom/issues/3492
2025-11-11 14:58:48 +11:00
Gaetan Craig-Riou
2729fb14d6 Fix jest configuration to work with version 28
Per migration guide : https://jest-archive-august-2023.netlify.app/docs/28.x/upgrading-to-jest28/
2025-11-11 14:58:43 +11:00
dependabot[bot]
5dab6f67f2 Bump jest from 27.5.1 to 30.2.0
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 27.5.1 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 14:56:15 +11:00
dependabot[bot]
3aa48fcd18 Bump angular-rails-templates from 1.2.1 to 1.3.1
Bumps [angular-rails-templates](https://github.com/pitr/angular-rails-templates) from 1.2.1 to 1.3.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/commits)

---
updated-dependencies:
- dependency-name: angular-rails-templates
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 02:50:19 +00:00
dependabot[bot]
e5fd5a0d4c Bump rswag-ui from 2.16.0 to 2.17.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/2.17.0/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.16.0...2.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 02:48:08 +00:00
David Cook
ad5a22a69b Merge pull request #13691 from rioug/fix-order-cycle-flaky-spec
Fix flaky spec
2025-11-11 13:47:41 +11:00
dependabot[bot]
43b3114237 Bump rails from 7.1.5.2 to 7.1.6
Bumps [rails](https://github.com/rails/rails) from 7.1.5.2 to 7.1.6.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v7.1.5.2...v7.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 02:47:34 +00:00
dependabot[bot]
a83109cb05 Bump acts-as-taggable-on from 10.0.0 to 13.0.0
Bumps [acts-as-taggable-on](https://github.com/mbleigh/acts-as-taggable-on) from 10.0.0 to 13.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/v10.0.0...v13.0.0)

---
updated-dependencies:
- dependency-name: acts-as-taggable-on
  dependency-version: 13.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 02:46:59 +00:00
David Cook
72327a352e Merge pull request #13685 from deivid-rodriguez/no-raw-credit-card-data
Change CreditCardRemover specs to not send raw credit card data
2025-11-11 13:46:45 +11:00
David Cook
35ef895cff Merge pull request #13677 from deivid-rodriguez/tweak-dependabot
Update turbo_power npm and rubygem packages together
2025-11-11 13:44:21 +11:00
David Cook
52e4293e90 Merge pull request #13673 from deivid-rodriguez/bump-state-machines
Bump state_machines related gems again
2025-11-11 13:22:53 +11:00
Gaetan Craig-Riou
460d109bd2 Update product ability
A user has product permission if it is a supplier of at least one of the
product's variants
2025-11-11 11:35:19 +11:00
Gaetan Craig-Riou
7d0f17fe1a Merge pull request #13693 from openfoodfoundation/dependabot/npm_and_yarn/testing-library/dom-10.4.1
Bump @testing-library/dom from 9.3.4 to 10.4.1
2025-11-11 09:55:17 +11:00
Gaetan Craig-Riou
cff6fcf52e Merge pull request #13697 from openfoodfoundation/dependabot/bundler/roadie-rails-3.4.0
Bump roadie-rails from 3.2.0 to 3.4.0
2025-11-11 09:50:52 +11:00
Gaetan Craig-Riou
4083aa82b8 Merge pull request #13696 from openfoodfoundation/dependabot/bundler/digest-3.2.1
Bump digest from 3.2.0 to 3.2.1
2025-11-11 09:47:02 +11:00
Gaetan Craig-Riou
ac61ef1f81 Merge pull request #13695 from openfoodfoundation/dependabot/bundler/paper_trail-17.0.0
Bump paper_trail from 15.1.0 to 17.0.0
2025-11-11 09:45:13 +11:00
Gaetan Craig-Riou
924c421b75 Merge pull request #13694 from openfoodfoundation/dependabot/bundler/devise-i18n-1.15.0
Bump devise-i18n from 1.12.1 to 1.15.0
2025-11-11 09:41:43 +11:00
dependabot[bot]
71262d18a0 Bump @testing-library/dom from 9.3.4 to 10.4.1
Bumps [@testing-library/dom](https://github.com/testing-library/dom-testing-library) from 9.3.4 to 10.4.1.
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v9.3.4...v10.4.1)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  dependency-version: 10.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 22:41:11 +00:00
David Rodríguez
9645660d87 Fix tag rule visibility select box options hidden by save bar 2025-11-10 17:32:11 +01:00
filipefurtad0
f18487ea68 Update all locales with the latest Transifex translations 2025-11-10 11:22:54 +00:00
dependabot[bot]
13a955d45a Bump roadie-rails from 3.2.0 to 3.4.0
Bumps [roadie-rails](https://github.com/Mange/roadie-rails) from 3.2.0 to 3.4.0.
- [Changelog](https://github.com/Mange/roadie-rails/blob/master/Changelog.md)
- [Commits](https://github.com/Mange/roadie-rails/compare/v3.2.0...v3.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 09:41:12 +00:00
dependabot[bot]
7a06c72534 Bump digest from 3.2.0 to 3.2.1
Bumps [digest](https://github.com/ruby/digest) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/ruby/digest/releases)
- [Commits](https://github.com/ruby/digest/compare/v3.2.0...v3.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 09:40:38 +00:00
dependabot[bot]
cdb572f347 Bump paper_trail from 15.1.0 to 17.0.0
Bumps [paper_trail](https://github.com/paper-trail-gem/paper_trail) from 15.1.0 to 17.0.0.
- [Release notes](https://github.com/paper-trail-gem/paper_trail/releases)
- [Changelog](https://github.com/paper-trail-gem/paper_trail/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paper-trail-gem/paper_trail/compare/v15.1.0...v17.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 09:39:38 +00:00
dependabot[bot]
8f44b06244 Bump devise-i18n from 1.12.1 to 1.15.0
Bumps [devise-i18n](https://github.com/devise-i18n/devise-i18n) from 1.12.1 to 1.15.0.
- [Release notes](https://github.com/devise-i18n/devise-i18n/releases)
- [Changelog](https://github.com/devise-i18n/devise-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/devise-i18n/devise-i18n/compare/v1.12.1...v1.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 09:39:04 +00:00
Gaetan Craig-Riou
e8b81c1ff6 Fix variant filtering
We don't want to filter out variant missing producer, so that the user
can address the problem.
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
ab443fa50f Refactor the clone template to use local variable
and add define locals on the template
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
25d55fec24 Filter out variant the user is not allowed to update
With a product with mutiple variant, we can end in a scenario where a
user sees variant associated to producer it doesn't have permission for.
This prevents the user from updating any variant. This fix filter out
variant a user shoudn't be seeing
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
61f8b5c7f4 Add strict locals for some products V3 templates
Rails now allows you to define which local a template is expecting:
https://edgeguides.rubyonrails.org/7_1_release_notes.html#allow-templates-to-set-strict-locals
2025-11-10 16:29:27 +11:00
Maikel
7c4714288d Merge pull request #13675 from deivid-rodriguez/unify-linters
Unify linters and linter related tools
2025-11-10 16:24:36 +11:00
Maikel
b6e393eabb Merge pull request #13662 from filipefurtad0/spec_deprecation_nil_in_sum
Catches exceptions on final_weight_volume inputs
2025-11-10 15:25:49 +11:00
Gaetan Craig-Riou
d18aeb9918 Merge pull request #13687 from openfoodfoundation/dependabot/bundler/openid_connect-2.3.1
Bump openid_connect from 2.3.0 to 2.3.1
2025-11-10 15:15:32 +11:00
Gaetan Craig-Riou
6596afc562 Fix flaky spec, contain_exactly doesn't care about the order 2025-11-10 13:29:30 +11:00
Maikel
587f76415b Merge pull request #13656 from pacodelaluna/replace-alias-attribute-with-alias-method
Replace alias_attribute with alias_method
2025-11-10 11:50:33 +11:00
dependabot[bot]
665aee6eb0 Bump openid_connect from 2.3.0 to 2.3.1
Bumps [openid_connect](https://github.com/nov/openid_connect) from 2.3.0 to 2.3.1.
- [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/v2.3.0...v2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 00:48:19 +00:00
Gaetan Craig-Riou
5e505c1240 Merge pull request #13683 from openfoodfoundation/dependabot/bundler/omniauth_openid_connect-0.8.0
Bump omniauth_openid_connect from 0.7.1 to 0.8.0
2025-11-10 11:46:51 +11:00
Gaetan Craig-Riou
e948f89625 Merge pull request #13682 from openfoodfoundation/dependabot/bundler/activerecord-session_store-2.2.0
Bump activerecord-session_store from 2.1.0 to 2.2.0
2025-11-10 11:31:56 +11:00
Gaetan Craig-Riou
f42b91f414 Merge pull request #13681 from openfoodfoundation/dependabot/bundler/spring-4.4.0
Bump spring from 4.2.1 to 4.4.0
2025-11-10 11:25:57 +11:00
Gaetan Craig-Riou
3e8a34c5f3 Per dicussion, remove super admin from migration 2025-11-10 11:14:56 +11:00
Gaetan Craig-Riou
1101310845 Enable variant_tag for recent enterprise and admins
Recent entperise are enterprise created after 11th of August which
should not have access to inventory
2025-11-10 11:14:56 +11:00
Gaetan Craig-Riou
0745028c06 Fix checking if variant tag is enabled
variant_tag feature check should happen per enterprise basis, but we
still want super admin to so see variant tag. To do so we check if the
user is amdin or if any of the current user enterprise has variant tag
enable.
2025-11-10 11:14:56 +11:00
Rachel Arnould
94bda6d0f8 Merge pull request #13592 from rioug/13266-tag-variant-tag-rule
[Variant tags] Add tag rules for variant
2025-11-07 14:14:50 +01:00
David Rodríguez
915d03a66a Change CreditCardRemover specs to not send raw credit card data
If I re-record cassettes for these specs using my test API key, I get
the following errors:

```
1) Stripe::CreditCardRemover#remove Stripe customer exists and is not deleted deletes the credit card clone and the customer
   Failure/Error:
     Stripe::PaymentMethod.create(
       {
         type: 'card',
         card: {
           number: '4242424242424242',
           exp_month: 8,
           exp_year: Time.zone.now.year.next,
           cvc: '314',
         },
       },

   Stripe::CardError:
     Sending credit card numbers directly to the Stripe API is generally unsafe. We suggest you use test tokens that map to the test card you are using, see https://stripe.com/docs/testing. To enable testing raw card data APIs, see https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis.
   # ./spec/lib/stripe/credit_card_remover_spec.rb:16:in `block (3 levels) in <main>'
   # ./spec/lib/stripe/credit_card_remover_spec.rb:44:in `block (4 levels) in <main>'
   # ./spec/lib/stripe/credit_card_remover_spec.rb:56:in `block (4 levels) in <main>'
   # ./spec/base_spec_helper.rb:208:in `block (2 levels) in <main>'
   # ./spec/base_spec_helper.rb:155:in `block (3 levels) in <main>'
   # ./spec/base_spec_helper.rb:155:in `block (2 levels) in <main>'
   # -e:1:in `<main>'
```

Use test payment methods instead as suggested by the error.
2025-11-06 18:30:45 +01:00
Filipe
1422b440e4 Merge pull request #13493 from dacook/bump-stripe-v13
Bump stripe to v13
2025-11-06 13:48:52 +00:00
Filipe
95ad87d840 Merge pull request #13666 from chahmedejaz/bugfix/13519-order-disappear-from-orders-page
Order lines are deleted when one tries to capture a payment after order cycle is closed
2025-11-06 13:07:36 +00:00
Konrad
7357419f6f Merge pull request #13652 from navaneethkp36/13651-fix-button-size-order-confirmation
Make the width of "Back to Store" and "Back to Website" buttons consistent with other buttons in order confirmation page
2025-11-05 19:29:42 +01:00
François Turbelin
e07ebc21b9 Use instance_double when possible in enterprise model spec 2025-11-05 16:31:20 +01:00
filipefurtad0
8e5404a268 Replaces negative assertion with a positive assertion
Adds test case on white spece

Refactors to have tests as shared_examples
2025-11-05 11:12:55 +00:00
filipefurtad0
04fc729a5a Changes tests not to trigger error
after https://github.com/openfoodfoundation/openfoodnetwork/pull/13571 was merged
2025-11-05 10:34:52 +00:00
filipefurtad0
8818a98230 Catches exceptions on final_weight_volume inputs 2025-11-05 10:34:52 +00:00
David Rodríguez
d3efa3afa6 Remove pretty-quick
Because:

* We already have reviewdog running prettier in CI.
* We already removed the associated commit hooks.
* Running plain prettier is already very fast in our case.
2025-11-05 10:08:04 +01:00
David Rodríguez
4414879b3f Completely remove codeclimate as well
Most of it is already disabled, and the stuff that's not actually
disabled don't seem worth enough for me to keep it.
2025-11-05 10:08:04 +01:00
David Rodríguez
3c7aac59e9 Remove ancient rubocop plugin from codeclimate config
We already get RuboCop offense information through reviewdog.
2025-11-05 10:08:04 +01:00
David Rodríguez
41cd40a55b Completely get rid of hound
We already get RuboCop offense information through reviewdog.
2025-11-05 10:08:04 +01:00
David Rodríguez
a0e8111b3a Remove spurious scss-lint configuration
It was broken due to several reasons:

* Bad globs from not catching up after file renames.
* Bad rule indentation.

Also, the scss-lint project itself recommends using other tools, because
it relies on the ruby SASS implementation while upstream has moved to a
dart-based implementation.

Even when you fix the config and try to run the tool, you feel the pain
of this deviation:

```
$ scss-lint
(...)

app/webpacker/css/admin/grid.scss:10:1 [E] Syntax: Syntax Error: Invalid CSS after "$col-width: math": expected selector or at-rule, was ".div($total-col..."

(...)
```

The grid.scss file use using `math.div` feature, which is only supported
by the `sass` version based on dart. `scss-lint` will never be able to
parse this file at all.

Also, we're already handling scss rule formatting through prettier.

Because of all these reasons, it's best to forget about scss-lint.
2025-11-05 10:08:03 +01:00
David Rodríguez
8f07ee5bf7 Move haml-lint from hound to reviewdog
We can somewhat easily get it passing and integrate nice with reviewdog
by adding a TODO file for the rules that we had enabled, so that we
don't need to correct anything now, but we still get alerted for new
offenses. So I say let's keep it and enforce it from now on.
2025-11-05 10:08:03 +01:00
David Rodríguez
43da235d15 Make sure all linters run even if some of them fails 2025-11-05 10:08:03 +01:00
dependabot[bot]
3252de19a3 Bump omniauth_openid_connect from 0.7.1 to 0.8.0
Bumps [omniauth_openid_connect](https://github.com/omniauth/omniauth_openid_connect) from 0.7.1 to 0.8.0.
- [Changelog](https://github.com/omniauth/omniauth_openid_connect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/omniauth/omniauth_openid_connect/compare/v0.7.1...v0.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 09:04:05 +00:00
dependabot[bot]
fd3bd062fe Bump activerecord-session_store from 2.1.0 to 2.2.0
Bumps [activerecord-session_store](https://github.com/rails/activerecord-session_store) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/rails/activerecord-session_store/releases)
- [Changelog](https://github.com/rails/activerecord-session_store/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/activerecord-session_store/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 09:02:12 +00:00
dependabot[bot]
029d447d98 Bump spring from 4.2.1 to 4.4.0
Bumps [spring](https://github.com/rails/spring) from 4.2.1 to 4.4.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.2.1...v4.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 09:01:40 +00:00
David Cook
8e5fac9fb3 Merge pull request #13632 from rioug/security-247-code-injection
[security] Fix potential code injection
2025-11-05 16:34:37 +11:00
Gaetan Craig-Riou
30c0bcc910 Merge pull request #13678 from deivid-rodriguez/remove-debugger-linecache
Remove debugger-linecache
2025-11-05 11:14:11 +11:00
Gaetan Craig-Riou
1a4ba9b689 Merge pull request #13672 from openfoodfoundation/dependabot/bundler/i18n-tasks-1.0.15
Bump i18n-tasks from 1.0.14 to 1.0.15
2025-11-05 10:21:46 +11:00
Gaetan Craig-Riou
4de8191e27 Merge pull request #13579 from openfoodfoundation/dependabot/bundler/flipper-ui-1.3.6
Bump flipper-ui from 1.3.0 to 1.3.6
2025-11-05 10:06:43 +11:00
Gaetan Craig-Riou
472ca5a16b Merge pull request #13490 from openfoodfoundation/dependabot/bundler/turbo_power-0.7.0
Bump turbo_power from 0.6.2 to 0.7.0
2025-11-05 10:00:07 +11:00
Gaetan Craig-Riou
dab626031b Merge pull request #13041 from openfoodfoundation/dependabot/npm_and_yarn/turbo_power-0.7.1
Bump turbo_power from 0.7.0 to 0.7.1
2025-11-05 09:57:40 +11:00
Ahmed Ejaz
913dded766 Refactor order cycle handling to simplify closed cycle checks and improve redirection messaging 2025-11-05 02:50:01 +05:00
filipefurtad0
a36b7ce01a deletes all old VCR cassettes 2025-11-04 15:40:45 +00:00
David Cook
e4be336630 Bump Stripe to v13 2025-11-04 15:36:53 +00:00
David Cook
cae13df2c7 Bump Stripe to v12
re-recording cassettes with script/test-stripe-live
2025-11-04 15:32:05 +00:00
David Cook
81796db6e5 Fix date-dependent spec 2025-11-04 15:17:45 +00:00
David Cook
ba3553854e Allow script to continue if you've already deleted the old files 2025-11-04 15:17:45 +00:00
David Rodríguez
c386d1af01 Remove debugger-linecache
This gem has not been updated since 2013 and serves no purpose these
days.
2025-11-04 10:22:37 +01:00
David Rodríguez
9566075dee Tweak Dependabot config 2025-11-04 08:57:10 +01:00
dependabot[bot]
9916b361e4 Bump turbo_power from 0.6.2 to 0.7.0
Bumps [turbo_power](https://github.com/marcoroth/turbo_power-rails) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/marcoroth/turbo_power-rails/releases)
- [Commits](https://github.com/marcoroth/turbo_power-rails/compare/v0.6.2...v0.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 11:05:43 +00:00
François Turbelin
b2d7d797d9 Use wrap_parameters to handle address params on Customer v1 API 2025-11-03 11:35:39 +01:00
David Rodríguez
7076afecfb Bump state_machines related gems again
This fixes warnings like

```
$ bundle exec rspec spec/system/admin/users_spec.rb:179
(...)
Instance method "invalid?" is already defined in Spree::Payment(id: integer, amount: decimal, order_id: integer, created_at: datetime, updated_at: datetime, source_id: integer, source_type: string, payment_method_id: integer, state: string, response_code: string, avs_response: string, identifier: string, cvv_response_code: string, cvv_response_message: text, captured_at: datetime, redirect_auth_url: string),
use generic helper instead or set StateMachines::Machine.ignore_method_conflicts = true.

(...)
```
2025-11-03 10:56:16 +01:00
François Turbelin
e385b9f708 Revert "Use customer-nested params for Customer v1 API writing operations"
This reverts commit cf4cd311b3.
2025-11-03 10:32:26 +01:00
dependabot[bot]
2b9b02aeea Bump i18n-tasks from 1.0.14 to 1.0.15
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v1.0.14...v1.0.15)

---
updated-dependencies:
- dependency-name: i18n-tasks
  dependency-version: 1.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 09:06:01 +00:00
dependabot[bot]
009b5e5ff1 Bump flipper-ui from 1.3.0 to 1.3.6
Bumps [flipper-ui](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-ui
  dependency-version: 1.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 17:31:57 +11:00
dependabot[bot]
7c310e7e46 Bump turbo_power from 0.7.0 to 0.7.1
Bumps [turbo_power](https://github.com/marcoroth/turbo_power) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/marcoroth/turbo_power/releases)
- [Commits](https://github.com/marcoroth/turbo_power/compare/v0.7.0...v0.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 05:17:35 +00:00
Gaetan Craig-Riou
bd0db57768 Per review, more concise code 2025-11-03 15:58:27 +11:00
Gaetan Craig-Riou
bb8ecccc31 Fix variant tag rules endpoint
It now returns tag rules filtered on the preferred variant tags and not
the prefered customer tags
2025-11-03 15:50:12 +11:00
Gaetan Craig-Riou
ffd5817749 Add spec for variant_tag_rules 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
1a68236c3c Add variant_tag_rule ability
It's needed to allow enterprise user to get a tag autocomplete. Classic
mistake of not testing with a non superadmin user.
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
c057bab493 Use route helpers for autocomplete url
Co-authored-by: Maikel <maikel@email.org.au>
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
59340c7cff Per review, remove unnecessary new translation 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
aebb18da99 Per review, improve specs 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
ce60335a60 Per review, fix leftover comment 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
307acdd9d1 Per review, fixing specs descriptions 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
d51e257904 Fix order cycle tag rule specs
It works better when you actually save the changes to the tag_list...
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
07a3e83dc6 Fix enterprise specs
Plus small refactor
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
38f58b168a Fix tag rules spec
Make sure the autocomplete dropdown list is hidden by default
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
34abca5ff1 Add missing js unit test got TagListInput component 2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
145764a921 Add testing library
See :https://testing-library.com/docs/
It allows us to query DOM node in way that's similar to how a user would
interect with element on the page. It's particularly usefull for
elements that trigger AJAX request.
2025-11-03 14:25:40 +11:00
Gaetan Craig-Riou
9bbe573335 Fix test to match the improved controller 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
c5d5694f24 Tweaked jest configuration
- include app/components in the directories to search for modules, ie we
  can require view component js controller like this :
  `import tag_list_input_controller from "tag_list_input_component/tag_list_input_controller";`
- fixed the regexp to skip transformation so it skips any modules
  starting by "stimulus"
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
ab194a0e80 Add styling for the dropdown
It's mostly the same styling as the AngularJs version but with updated
colors
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
749944fc25 Rework TagListInputComponent to integrate autocomplete
The component now will try to load a list of existing tag if you give an
`autocomplete_url`. I tried to keep the tag input and the autocomplete
functionality decoupled but is wasn't really possible. Instead I opted
to sub class the Autocomplete stimulus controller, but it only gets
initialised if we pass an `autocomplete_url`.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3cffc5538a Add tag filtering for tag autocomplete 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
6d7908e1f8 Style formatting 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
965b34318f Add new component to provide tag autocomplete for variant tag
It uses composition and inject the TagListInputComponent as a depency,
which should be more flexible that creating a sub class. This new
component could potentially be made more generic if needed
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3bb9eb9765 Add endpoint to provide autocomplete tag for variant
It return a list of available tags and number of related rules, based on
the given enterprise and a partial match on the given tag
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
bd39595917 Add ability to pass option to the tag input field
And also render any content given to the component via block
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
81e16a9cdf Add stimulus-autocomplete package
https://github.com/afcapel/stimulus-autocomplete/tree/main
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
c38c8bcff2 Pass the variant_tag_enbabled options to relevant services
Plus add integration testing for variant tag rule filtering.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7633af8ff2 Call VariantTagRulesFilterer when variant_tag feature is enabled
We only support either inventory or variant_tag feature, with the later
taking precedence if both are turned on.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
94c0ebd897 Fix error in the muliple tag rules spec 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7b3db4bae4 Add VariantTagRuleFilterer to filter variants by tag rule 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
b1d95cac7f Display filter by variant tag rule
We only support one of filter by inventory variants or filter by variants
at any given time, based on enabled feature. If both features inventory
and variant tag are enabled, variant tag takes precedence.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3f297a8afa Add tag rule to filter by variant 2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
af111a9625 Clean up tag rules specs
Remove unnecessary use mocking and use of `__send__`
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
96f715b62b Merge pull request #13661 from deivid-rodriguez/ruby-3.2
Bump Ruby from 3.1.7 to 3.2.9
2025-11-03 13:29:40 +11:00
Maikel
33b4e38fc5 Merge pull request #13664 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.12.1
Bump jasmine-core from 5.12.0 to 5.12.1
2025-11-03 13:11:49 +11:00
Maikel
27e4ae9892 Merge pull request #13639 from deivid-rodriguez/verify-latest-reviewdog
Upgrade to latest reviewdog
2025-11-03 12:28:01 +11:00
Gaetan Craig-Riou
f434d8b066 Merge pull request #13658 from openfoodfoundation/dependabot/bundler/paranoia-2.6.4
Bump paranoia from 2.6.3 to 2.6.4
2025-11-03 12:05:44 +11:00
Gaetan Craig-Riou
43d471f93d Merge pull request #13657 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.20
Bump @hotwired/turbo from 8.0.13 to 8.0.20
2025-11-03 12:03:58 +11:00
Ahmed Ejaz
3794f69cad Add shared examples to handle closed order cycle in checkout process 2025-11-02 01:48:10 +05:00
François Turbelin
cf4cd311b3 Use customer-nested params for Customer v1 API writing operations 2025-10-31 14:39:55 +01:00
François Turbelin
275326eaa6 Replace alias_attribute with alias_method 2025-10-31 14:26:33 +01:00
dependabot[bot]
526f8be676 Bump leaflet-providers from 2.0.0 to 3.0.0
Bumps [leaflet-providers](https://github.com/leaflet-extras/leaflet-providers) from 2.0.0 to 3.0.0.
- [Changelog](https://github.com/leaflet-extras/leaflet-providers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/leaflet-extras/leaflet-providers/commits/v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-31 09:01:59 +00:00
David Rodríguez
0c392d5302 Drop version constraints for pg and pry entirely, so their versions can be fully managed by Dependabot
Co-authored-by: Maikel <maikel@email.org.au>
2025-10-31 09:18:12 +01:00
David Rodríguez
e71a2603bd Bump pry to a version that plays nice with Ruby 3.2
Otherwise you get the following error when starting RSpec:

```
(...)
An error occurred while loading base_spec_helper.
Failure/Error: require 'pry' unless ENV['CI']

NameError:
  undefined method `=~' for class `Pry::Code'
# ./spec/base_spec_helper.rb:10:in `<top (required)>'
No examples found.
(...)
```
2025-10-31 09:18:11 +01:00
David Rodríguez
5aea527962 Use Bundler version that comes with Ruby 3.2.9 by default 2025-10-31 09:18:11 +01:00
David Rodríguez
05b3e97a0e Bump Ruby from 3.1.7 to 3.2.9
Release announcements:

* https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/
* https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/
* https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/
* https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
* https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/
* https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
* https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
* https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/

Also autocorrect new offenses.
2025-10-31 09:18:11 +01:00
Maikel Linke
f9b76fadbd Update all locales with the latest Transifex translations 2025-10-31 16:05:11 +11:00
Maikel
64f44b8a9b Merge pull request #13571 from pacodelaluna/update_sum_calcultation
Update sum calculation in order_cycle_customer_totals spec
2025-10-31 16:03:11 +11:00
Maikel Linke
5dfb7645cb Avoid enabling rubocop rule listed in todo file 2025-10-31 15:39:58 +11:00
Maikel Linke
74927dd03d Regenerate Rubocop todo file 2025-10-31 15:30:17 +11:00
François Turbelin
71dd398131 Apply cosmetics and fix specs 2025-10-31 15:20:44 +11:00
François Turbelin
245f0caedb Adjust sum for remaining reports 2025-10-31 15:20:44 +11:00
François Turbelin
18bc95c6a3 Update sum calculation in order_cycle_customer_totals spec 2025-10-31 15:20:44 +11:00
Ahmed Ejaz
243190491b Fix specs 2025-10-31 04:40:44 +05:00
dependabot[bot]
7213dcf124 Bump jasmine-core from 5.12.0 to 5.12.1
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.12.0 to 5.12.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.12.0...v5.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-30 09:02:08 +00:00
David Rodríguez
e90569bdcc Adjust error format to latest prettier output
To avoid generating an unnecessary annotation.
2025-10-29 11:55:11 +01:00
David Rodríguez
404e27ab71 Run reviewdog directly
So that we can control the version we run without depending on external
actions, and so that we use a consistent version for all linters.

At the same time, unify to running the latest version of reviewdog,
0.21.0, which also involves changing the deprecated `fail_on_error` flag
previously used by prettier action to `fail_level`.
2025-10-29 11:55:10 +01:00
David Rodríguez
5af6d534df Use "nofilter" for prettier
Now that we fixed all prettier issues.
2025-10-29 11:55:03 +01:00
David Rodríguez
65410aabad Speed up rubocop reviewdog by skipping install
Since we already run `bundle install` at the beginning of the job.
2025-10-29 11:55:03 +01:00
David Rodríguez
2e78ea62b6 Change linters workflow label to reviewdog 2025-10-29 11:55:03 +01:00
David Rodríguez
201461918d Fix prettier offense
I accidentally introduced this, not sure how, when correcting all
prettier issues.
2025-10-29 11:55:03 +01:00
dependabot[bot]
3efe0c7835 Bump paranoia from 2.6.3 to 2.6.4
Bumps [paranoia](https://github.com/rubysherpas/paranoia) from 2.6.3 to 2.6.4.
- [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.3...v2.6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 09:02:20 +00:00
dependabot[bot]
e3d453e397 Bump @hotwired/turbo from 8.0.13 to 8.0.20
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.13 to 8.0.20.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/8.0.13...v8.0.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 09:01:59 +00:00
Maikel
0ecfc23c67 Merge pull request #13644 from deivid-rodriguez/more-rspec-fixes
Fix Rspec warnings and the broken Stripe intent API specs that fixing them revealed
2025-10-29 15:04:22 +11:00
Maikel
ff16b575c4 Merge pull request #13653 from deivid-rodriguez/bump-rubocop
Bump rubocop to 1.86.6
2025-10-29 12:00:31 +11:00
Maikel
faa826a76e Merge pull request #13647 from deivid-rodriguez/remove-obsoleted-gem
Remove obsolete gem
2025-10-29 11:44:59 +11:00
Maikel
1e02084f95 Merge pull request #13646 from deivid-rodriguez/bump-ruby
Bump Ruby from 3.1.4 to 3.1.7
2025-10-29 11:43:04 +11:00
Maikel
44cca40db6 Merge pull request #13643 from deivid-rodriguez/fix-prettier-issues
Fix all existing prettier issues
2025-10-29 11:36:54 +11:00
David Cook
52174b1e06 Merge pull request #13645 from deivid-rodriguez/review-dog-write-checks
Fix reviewdog workflow failing to create checks
2025-10-29 09:17:26 +11:00
François Turbelin
c01818f57b Improve entreprise spec on white label logo part 2025-10-28 18:29:25 +01:00
François Turbelin
f5e3d104e2 Add validation for enterprise white_label_logo 2025-10-28 18:19:12 +01:00
François Turbelin
ba9dca4b05 Avoid urls generation when the logo attachment is not saved yet 2025-10-28 18:19:12 +01:00
François Turbelin
efb7da316a Use update! to save enterprise logo on API v0 2025-10-28 18:19:12 +01:00
Filipe
cdf0777d8e Merge pull request #13641 from openfoodfoundation/dependabot/bundler/knapsack_pro-8.4.0
Bump knapsack_pro from 8.1.2 to 8.4.0
2025-10-28 12:31:44 +00:00
David Cook
9cb7c46b44 Merge pull request #13631 from rioug/13117-upgrade-node
Upgrade to node version 24
2025-10-28 10:52:34 +11:00
David Rodríguez
4c6d894bc0 Bump RuboCop to 1.86.6
There were a few changes needed:

* Plugins are now specified through `plugin:` config keyword.
* All plugin gems need to be specified explicitly in Gemfile since they
  are no longer dependencies of plugins already specified explicitly.
* All plugin gems need to be updated in other to use the new APIs.
* One cop was renamed.
* New offenses safe to correct were corrected directly with `bundle exec
  rubocop -a`.
* New offenses unsafe to correct were added to the TODO configuration
  with `bundle exec rubocop --auto-gen-config --auto-gen-only-exclude
  --exclude-limit 1400 --no-auto-gen-timestamp`.
2025-10-27 11:30:33 +01:00
David Rodríguez
27975252f5 Rename pm_card to payment_method_id
And also remove a couple of now unused `let`'s that were already using
this terminology.

Co-authored-by: David Cook <david@openfoodnetwork.org.au>
2025-10-27 10:52:36 +01:00
David Rodríguez
9fc82776ec Move Stripe test payment method handling to a single place
And comment a bit on them.

Co-authored-by: David Cook <david@openfoodnetwork.org.au>
2025-10-27 10:45:45 +01:00
David Rodríguez
2c8bf82426 Migrate some spec to not send raw card numbers to Stripe API
If I regenerate the VCR cassetes for
spec/lib/stripe/payment_intent_validator_spec.rb, I get a lot of errors
like this:

```
Stripe::CardError:

Sending credit card numbers directly to the Stripe API is generally
unsafe. We suggest you use test tokens that map to the test card you are
using, see https://stripe.com/docs/testing. To enable testing raw card
data APIs, see
https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis.
```

It seems the sandbox environment associated to my developer API keys is
not allowed to send raw credit card data.

Instead of requesting Stripe support to enable that, or regenerate
cassettes with the API keys in Bitwarden, I figured we could migrate the
tests to not use raw credit card data.
2025-10-27 09:08:30 +01:00
David Rodríguez
121019411c Fix spec instantiating payment method with wrong source
Previous error is fixed, which allows the spec to proceed further, and
reveals that the current cassettes are missing some requests:

```
  1) Stripe::PaymentIntentValidator#call as a guest when payment intent is valid valid non-3D credit cards are correctly handled behaves like payments intents from Visa returns payment intent id and does not raise
     Failure/Error:
       payment_intent_response = Stripe::PaymentIntent.retrieve(
         payment_intent_id,
         stripe_account: stripe_account_id
       )

     VCR::Errors::UnhandledHTTPRequestError:

       ================================================================================
       An HTTP request has been made that VCR does not know how to handle:
         GET https://api.stripe.com/v1/payment_intents/pi_3P8hNGKuuB1fWySn0dvhu9lG

       VCR is currently using the following cassette:

       (...)
```
2025-10-27 09:08:29 +01:00
David Rodríguez
1a5eb5b39a Remove raise_error negative block to fix RSpec warnings
Currently RSpec warns these specs like this:

```
WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the
expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending
to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`.
This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`.
Called from /path/to/spec/lib/stripe/payment_intent_validator_spec.rb:53:in `block (7 levels) in <main>'.
```

The warnings are super accurate in this particular case: the inner
assertion is not actually getting reached due to a previous unrelated
error.

Since there's an inner assertion already, I think it's best to
completely remove to `raise_error` negative block, since it just hides
errors and buys us nothing.

By removing it, the underlying error surfaces:

```
  1) Stripe::PaymentIntentValidator#call as a guest when payment intent is valid valid non-3D credit cards are correctly handled behaves like payments intents from Visa returns payment intent id and does not raise
     Failure/Error:
       create(:payment, amount: payment_intent.amount, payment_method:,
                        response_code: payment_intent.id, source: pm_card)

     NoMethodError:
       undefined method `has_query_constraints?' for Stripe::PaymentMethod:Class

               elsif (klass || self.klass).has_query_constraints? || options[:query_constraints]
                                          ^^^^^^^^^^^^^^^^^^^^^^^
     Shared Example Group: "payments intents" called from ./spec/lib/stripe/payment_intent_validator_spec.rb:75
     # ./spec/lib/stripe/payment_intent_validator_spec.rb:16:in `block (3 levels) in <main>'
     # ./spec/lib/stripe/payment_intent_validator_spec.rb:19:in `block (3 levels) in <main>'
     # ./spec/lib/stripe/payment_intent_validator_spec.rb:53:in `block (7 levels) in <main>'
     # ./spec/base_spec_helper.rb:208:in `block (2 levels) in <main>'
     # ./spec/base_spec_helper.rb:155:in `block (3 levels) in <main>'
     # ./spec/base_spec_helper.rb:155:in `block (2 levels) in <main>'
     # -e:1:in `<main>'
```
2025-10-27 09:08:29 +01:00
David Rodríguez
2bd536298b Showcase the problem with some specs
They're always passing because an error (different from `StripeError`),
is actually making them pass.
2025-10-27 09:08:29 +01:00
Ahmed Ejaz
7415503b63 Update all locales with the latest Transifex translations 2025-10-27 05:55:44 +05:00
Ahmed Ejaz
895e142e2c Enhance order cycle closure handling with improved messaging and redirection logic 2025-10-26 02:08:53 +05:00
Navaneeth
f1ffadd39c Make the width of "Back to Store" and "Back to Website" buttons consistent with other buttons in order confirmation page 2025-10-25 22:15:14 +05:30
Filipe
cc35d118eb Merge pull request #13627 from guidoDutra/10261/bad-table-format-in-edit-order-page
fix table format in edit order page
2025-10-24 13:16:49 +01:00
David Rodríguez
e09d78dfb2 Remove obsolete gem
Even without it, Rails seems to do this by default:

```console
$ RAILS_ENV=production SITE_URL=foo.bar SECRET_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bin/rails db:drop
I, [2025-10-23T12:38:12.383244 #32647]  INFO -- : [dotenv] Loaded .env
I, [2025-10-23T12:38:12.383292 #32647]  INFO -- : [dotenv] Loaded .env
W, [2025-10-23T12:38:12.411675 #32647]  WARN -- [Bugsnag]: No valid API key has been set, notifications will not be sent
bin/rails aborted!
ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database.
If you are sure you want to continue, run the same command with the environment variable:
DISABLE_DATABASE_ENVIRONMENT_CHECK=1

Tasks: TOP => db:drop => db:check_protected_environments
(See full trace by running task with --trace)
```

And the gem hasn't been updated in 10 years, so probably best to get rid
of it.
2025-10-23 12:41:37 +02:00
David Rodríguez
dad7cfc180 Bump Ruby from 3.1.4 to 3.1.7
Release announcmenets:

* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/
* https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/
2025-10-23 10:34:21 +02:00
David Rodríguez
678497914f Fix reviewdog workflow failing to create checks 2025-10-22 19:59:10 +02:00
David Rodríguez
852e7fa81e Fix all existing prettier issues 2025-10-22 15:30:36 +02:00
dependabot[bot]
fb437fb34d Bump knapsack_pro from 8.1.2 to 8.4.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 8.1.2 to 8.4.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v8.1.2...v8.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 09:02:10 +00:00
Maikel
025f8b25b1 Merge pull request #13637 from deivid-rodriguez/fix-missing-stripe-js-error-in-edge-case
Fix JS error when Stripe connect is disabled but Stripe API keys are setup
2025-10-22 13:09:58 +11:00
Maikel
3017f61047 Merge pull request #13638 from deivid-rodriguez/refactor-specs
Remove only usage of `STRIPE_PUBLIC_TEST_API_KEY` env and refactor specs that were using it
2025-10-22 13:08:31 +11:00
Maikel
8cb3d06f7c Merge pull request #13635 from deivid-rodriguez/testing-stripe-wiki
Link to Stripe testing wiki page from the cassette regeneration script
2025-10-22 13:02:21 +11:00
Maikel
8f442e82ed Merge pull request #13634 from openfoodfoundation/dependabot/bundler/activerecord-import-2.2.0
Bump activerecord-import from 1.6.0 to 2.2.0
2025-10-22 13:00:43 +11:00
David Rodríguez
b28886dd38 Normalize casing 2025-10-21 17:34:40 +02:00
David Rodríguez
bd4f115185 Create account directly with the proper stripe_user_id 2025-10-21 17:34:40 +02:00
David Rodríguez
c43650034f Remove unnecessary test specific environment variable 2025-10-21 17:34:40 +02:00
David Rodríguez
94bc787283 Remove unused let 2025-10-21 17:34:40 +02:00
David Rodríguez
58851a8e67 Move client_id let to the only spec using it 2025-10-21 17:34:39 +02:00
David Rodríguez
c3e2382600 Move let! to the only spec using it 2025-10-21 17:34:39 +02:00
David Rodríguez
802878b4eb Fix JS error when Stripe connect is disabled but Stripe API keys are setup 2025-10-21 17:24:34 +02:00
Filipe
69d8fc3cad Merge pull request #13624 from chahmedejaz/bugfix/13556-fix-500-error-on-stripe-checkout
Error 500 checking out with Stripe, after navigating back to the Summary page
2025-10-21 14:34:53 +01:00
David Rodríguez
6a226e476d Link to Stripe testing wiki page from the cassette regeneration script
I think this is the more relevant wiki page for someone looking into
regenerating cassettes.

Also, no need to mention bitwarden explicitly, the wiki page already
explains everything.
2025-10-21 14:38:10 +02:00
dependabot[bot]
479d52a2bb Bump activerecord-import from 1.6.0 to 2.2.0
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.6.0 to 2.2.0.
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.6.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-21 09:02:00 +00:00
Gaetan Craig-Riou
8afd6eb0ab Upgrade node to 24.10.0
This is the latest node 24 version which set to be the next lts.
2025-10-21 15:56:50 +11:00
Gaetan Craig-Riou
8d4a1ff320 Update spec to cover new code path 2025-10-21 15:48:27 +11:00
Gaetan Craig-Riou
1f0e541743 Update spec description wording 2025-10-21 15:48:27 +11:00
Gaetan Craig-Riou
adb7563ccb Fix possible code injection
It will fix this security issue :
https://github.com/openfoodfoundation/openfoodnetwork/security/code-scanning/247
2025-10-21 15:48:27 +11:00
Gaetan Craig-Riou
73688b9544 Merge pull request #13630 from openfoodfoundation/dependabot/bundler/webmock-3.25.1
Bump webmock from 3.23.1 to 3.25.1
2025-10-21 10:02:14 +11:00
dependabot[bot]
02ea3cb61c Bump webmock from 3.23.1 to 3.25.1
Bumps [webmock](https://github.com/bblimke/webmock) from 3.23.1 to 3.25.1.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.23.1...v3.25.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 09:26:20 +00:00
Maikel
c7d0594257 Merge pull request #13622 from deivid-rodriguez/no-reviewdog-master
Don't run reviewdog on pushes
2025-10-20 16:34:06 +11:00
Maikel
4eee7ad603 Merge pull request #13604 from deivid-rodriguez/silent-puma
Silence capybara starting puma during system specs
2025-10-20 16:26:18 +11:00
David Cook
23f7f2974a Merge pull request #13618 from deivid-rodriguez/remove-unnecessary-sleeps
Remove unnecessary explicit sleeps
2025-10-20 16:06:44 +11:00
Maikel
8105b919e0 Merge pull request #13600 from deivid-rodriguez/profile-enables-dev-caching
The PROFILE env variable should actually enable, not disable, caching
2025-10-20 16:03:20 +11:00
David Cook
53ef5148e9 Merge pull request #13617 from deivid-rodriguez/upgrade-cache-format-version
Upgrade cache format version
2025-10-20 15:41:52 +11:00
David Cook
93e6f9034c Merge pull request #13602 from deivid-rodriguez/bump-mini_magick
Update mini_magick to a version that plays nice with imagemagick v7
2025-10-20 15:26:20 +11:00
David Cook
125a92346c Merge pull request #13599 from deivid-rodriguez/fix-duplicate-key-warning
Fix duplicate keys warnings in some views
2025-10-20 15:21:40 +11:00
Gaetan Craig-Riou
31b8fe16cb Merge pull request #13623 from deivid-rodriguez/follow-up-to-old-rename
Follow up to old ofnEmptiesCart to ofnChangeHub rename
2025-10-20 10:53:47 +11:00
Gaetan Craig-Riou
cbffea8d30 Merge pull request #13616 from openfoodfoundation/dependabot/bundler/state_machines-activerecord-0.31.0
Bump state_machines-activerecord from 0.9.0 to 0.31.0
2025-10-20 09:50:30 +11:00
Ahmed Ejaz
10917161b0 Refactor order cycle expiry handling to allow skipping order emptying during checkout 2025-10-20 01:42:20 +05:00
Guido Oliveira
be9da62d98 fix table format in edit order page 2025-10-19 07:58:40 -03:00
filipefurtad0
7320fa3f09 Update all locales with the latest Transifex translations 2025-10-17 10:17:14 +01:00
Ahmed Ejaz
9f6c149735 Add check for payment authorization state in StripeScaPaymentAuthorize and corresponding spec 2025-10-17 05:25:45 +05:00
David Rodríguez
50578647ee Follow up to old ofnEmptiesCart to ofnChangeHub rename
This happened back in 2015 through
9c9051498b, but two places were missed.

One was a code comment so did not affect anything (other than confused
code readers I guess?). The other one did create a regression but was
later fixed by 18d966f0de in 2021.
2025-10-16 12:56:17 +02:00
David Rodríguez
a28f05fddc Don't run reviewdog on pushes
As configured, it's meant to annotate PRs with linter errors (so you
don't have to skim through logs). So it does not make sense for pushes.

In fact, on pushes rubocop action is doing nothing, and prettier action
is failing with:

> reviewdog: this is not PullRequest build.
> sed: couldn't write 80 items to stdout: Broken pipe
2025-10-16 12:34:37 +02: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
David Rodríguez
d6c044fd5b Remove unnecessary explicit sleeps
Capybara helpers already wait for the content to show up (and we already
have a default of 10 seconds configured), so I don't think waiting more is
actually the problem in these specs.

But if we wanted to wait more, I think it's better to pass the `:wait`
option to capybara matchers, because that's a "maximum waiting value"
but we'll still proceed earlier if the content shows up.

Using the same idea, I changed the positive assertions to happen first,
because negative assertions do spend "max wait time" waiting, while
positive assertions only wait until the content shows up.
2025-10-15 13:09:52 +02:00
David Rodríguez
a75ea5b506 Upgrade cache format version
It's supposed to be faster and more compact, and the previous format
will become unsupported in Rails 7.2 as per Rails boot warnings:

> DEPRECATION WARNING: Support for `config.active_support.cache_format_version = 6.1` has been deprecated and will be removed in Rails 7.2.
>
> Check the Rails upgrade guide at https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#new-activesupport-cache-serialization-format
> for more information on how to upgrade.
>    (called from <main> at /path/to/config/environment.rb:5)
2025-10-15 12:17:03 +02:00
dependabot[bot]
7f937fd4b1 Bump state_machines-activerecord from 0.9.0 to 0.31.0
Bumps [state_machines-activerecord](https://github.com/state-machines/state_machines-activerecord) from 0.9.0 to 0.31.0.
- [Release notes](https://github.com/state-machines/state_machines-activerecord/releases)
- [Changelog](https://github.com/state-machines/state_machines-activerecord/blob/master/CHANGELOG.md)
- [Commits](https://github.com/state-machines/state_machines-activerecord/compare/v0.9.0...state_machines-activerecord/v0.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 09:02:41 +00: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
David Rodríguez
667ce5eda2 Silence capybara starting puma during system specs
##### Before

```
$ bin/rspec spec/system/admin/order_cycles/simple_spec.rb:460
Running via Spring preloader in process 79308
Run options: include {:locations=>{"./spec/system/admin/order_cycles/simple_spec.rb"=>[460]}}

As an administrator
    I want to manage simple order cycles
  as an enterprise user
    that is a manager of the coordinator
      when variants are hidden via inventory settings
Capybara starting Puma...
* Version 6.5.0, codename: Sky's Version
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:51103
        shows a warning when going to 'outgoing products' tab

Finished in 3.95 seconds (files took 0.45949 seconds to load)
1 example, 0 failures
```

##### After

```
$ bin/rspec spec/system/admin/order_cycles/simple_spec.rb:460
Running via Spring preloader in process 79234
Run options: include {:locations=>{"./spec/system/admin/order_cycles/simple_spec.rb"=>[460]}}

As an administrator
    I want to manage simple order cycles
  as an enterprise user
    that is a manager of the coordinator
      when variants are hidden via inventory settings
        shows a warning when going to 'outgoing products' tab

Finished in 4.03 seconds (files took 0.49981 seconds to load)
1 example, 0 failures
```
2025-10-14 20:34:05 +02: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
David Rodríguez
c72f9477cd bundle update mini_magick
This is mainly to shush a lot of warnings when running the test suite,
like the following:

```
WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert"
```
2025-10-14 08:17:12 +02:00
David Rodríguez
8787eed863 The PROFILE env variable should actually enable, not disable, caching
I think this may be a typo from 6d8ddd1edac17a431222c86482bceb83e8a7d32f?
2025-10-14 08:03:15 +02:00
David Rodríguez
e2b6199f26 Fix duplicate keys warnings in some views
We're passing the `id` key twice, and with different value, resulting in
warnings like:

> /path/to/app/views/producers/index.html.haml:27: warning: key :id is duplicated and overwritten on line 31

Use only the latest value passed to remove the warning.

##### Before

```
$ bundle exec rspec -e "displays in an iframe" -e "logging in with a redirect set"

(...)

Run options: include {:full_description=>/(?-mix:displays\ in\ an\ iframe)|(?-mix:logging\ in\ with\ a\ redirect\ set)/}
Capybara starting Puma...
* Version 6.5.0, codename: Sky's Version
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:50292
/path/to/app/views/producers/index.html.haml:27: warning: key :id is duplicated and overwritten on line 31
./path/to/app/views/groups/show.html.haml:68: warning: key :id is duplicated and overwritten on line 72
Modal window with text `Unable to load map. Please check your browser settings and allow 3rd party cookies for this website.` has been opened, but you didn't wrap your code into (`accept_prompt` | `dismiss_prompt` | `accept_confirm` | `dismiss_confirm` | `accept_alert`), accepting by default
.

Finished in 4.54 seconds (files took 4.04 seconds to load)
2 examples, 0 failures
```

##### After

```
$ bundle exec rspec -e "displays in an iframe" -e "logging in with a redirect set"

(...)

Run options: include {:full_description=>/(?-mix:displays\ in\ an\ iframe)|(?-mix:logging\ in\ with\ a\ redirect\ set)/}
Capybara starting Puma...
* Version 6.5.0, codename: Sky's Version
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:50256
.Modal window with text `Unable to load map. Please check your browser settings and allow 3rd party cookies for this website.` has been opened, but you didn't wrap your code into (`accept_prompt` | `dismiss_prompt` | `accept_confirm` | `dismiss_confirm` | `accept_alert`), accepting by default
.

Finished in 4.17 seconds (files took 4.1 seconds to load)
2 examples, 0 failures
```
2025-10-14 07:58:32 +02: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
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 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
Mohamed ABDELLANI
ee1f60808e prevent generating invoices when order's distributor can't generate invoices 2024-02-29 18:56:52 +01:00
2113 changed files with 173993 additions and 68248 deletions

View File

@@ -1,56 +0,0 @@
version: "2"
plugins:
rubocop:
enabled: true
channel: "rubocop-1-12"
config:
file: ".rubocop.yml"
scss-lint:
enabled: true
checks:
ImportantRule:
enabled: false
VendorPrefix:
enabled: false
LeadingZero:
enabled: false
PropertySortOrder:
enabled: false
StringQuotes:
enabled: false
DeclarationOrder:
enabled: false
NestingDepth:
enabled: false
duplication:
enabled: true
exclude_patterns:
- "db/**"
- "config/initializers/active_record_postgresql_referential_integrity_patch.rb"
checks:
argument-count:
enabled: false
complex-logic:
enabled: false
file-lines:
enabled: false
method-complexity:
enabled: false
method-count:
enabled: false
method-lines:
enabled: false
nested-control-flow:
enabled: false
return-statements:
enabled: false
similar-code:
enabled: false
identical-code:
enabled: false
exclude_patterns:
- "spec/**/*"
- "vendor/**/*"
- "app/assets/javascripts/shared/*"
- "app/assets/javascripts/jquery-migrate-1.0.0.js"

21
.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,14 +42,6 @@ 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
@@ -69,3 +61,12 @@ SMTP_PASSWORD="f00d"
# 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,6 +1,18 @@
# 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"
@@ -8,10 +20,17 @@ 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,11 +7,13 @@ assignees: ''
---
## 1. Preparation on Thursday
## 1. Drafting on Friday
- [ ] Merge pull requests in the [Ready To Go] column
- [ ] 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`
@@ -25,8 +27,9 @@ assignees: ''
- [ ] Move this issue to Test Ready.
- [ ] Notify `@testers` in [#testing].
- [ ] 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.
@@ -39,17 +42,19 @@ assignees: ''
</details>
- [ ] Notify [#instance-managers]:
> @instance_managers The new release has been deployed.
- [ ] [Create issue] for next release and confirm with next release manager in [#core-devs].
- [ ] [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]: 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
[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
[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
[#core-devs]: https://openfoodnetwork.slack.com/archives/GK2T38QPJ
[#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

@@ -1,11 +1,37 @@
# Dependabot configuration
#
# The `directory` and `schedule.interval` options are mandatory.
# Most of the configuration here is not used for security updates though.
version: 2
multi-ecosystem-groups:
turbo_power:
schedule:
interval: "daily"
updates:
- package-ecosystem: "bundler"
directory: "/"
patterns: ["turbo_power"]
multi-ecosystem-group: "turbo_power"
# Only specific requirements are specified in Gemfile, so don't touch it.
versioning-strategy: lockfile-only
- package-ecosystem: "npm"
directory: "/"
patterns: ["turbo_power"]
multi-ecosystem-group: "turbo_power"
# Only specific requirements are specified in package.json, so don't touch it.
versioning-strategy: lockfile-only
- package-ecosystem: "bundler"
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 +39,6 @@ updates:
directory: "/"
schedule:
interval: "daily"
# All versions are specified in package.json, so please update them.
versioning-strategy: increase
# Only specific requirements are specified in package.json, so don't touch it.
versioning-strategy: lockfile-only

6
.github/release.yml vendored
View File

@@ -14,6 +14,12 @@ changelog:
- 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:

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:
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
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: [5]
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]
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
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: [13]
# 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, 10, 11, 12]
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,94 +159,25 @@ 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: 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-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
system_consumer:
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: [12]
# 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, 10, 11]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e52bd4390c853e6c5bdfe4d0334586c1
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_LOG_LEVEL: info
# if you use Knapsack Pro Queue Mode you must set below env variable
# to be able to retry CI build and run previously recorded tests
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
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
@@ -340,7 +212,7 @@ jobs:
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -348,17 +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
bin/rails db:create db:schema:load
- name: Run tests
@@ -377,16 +250,16 @@ 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
test_the_rest:
runs-on: ubuntu-22.04
@@ -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

@@ -1,47 +1,30 @@
name: Linters
on: [push, pull_request]
on: [pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
rubocop:
name: runner / rubocop
lint:
name: reviewdog
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 rubocop-rspec: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
uses: EPMatt/reviewdog-action-prettier@v1
- uses: reviewdog/action-setup@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: error
fail_on_error: true
reviewdog_version: v0.21.0
- run: ./script/reviewdog.sh
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.github_token }}

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.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}'`);

1
.gitignore vendored
View File

@@ -59,3 +59,4 @@ yarn-debug.log*
/config/credentials.yml.enc
/config/master.key
.secrets

View File

@@ -2,19 +2,12 @@
# frameworks such as Jekyll/Middleman
skip_frontmatter: false
inherits_from: .haml-lint_todo.yml
linters:
AltText:
enabled: false
ClassAttributeWithStaticValue:
enabled: true
ClassesBeforeIds:
enabled: true
ConsecutiveComments:
enabled: true
ConsecutiveSilentScripts:
enabled: true
max_consecutive: 2
@@ -32,7 +25,6 @@ linters:
enabled: true
LineLength:
enabled: true
max: 80
MultilinePipe:
@@ -47,24 +39,11 @@ linters:
RuboCop:
enabled: false
RubyComments:
enabled: true
SpaceBeforeScript:
enabled: true
SpaceInsideHashAttributes:
enabled: true
style: no_space
TagName:
enabled: true
TrailingWhitespace:
enabled: true
UnnecessaryInterpolation:
enabled: true
UnnecessaryStringOutput:
enabled: true

153
.haml-lint_todo.yml Normal file
View File

@@ -0,0 +1,153 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
# on 2025-10-30 09:19:50 +0100 using Haml-Lint version 0.66.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
# Offense count: 35
ClassAttributeWithStaticValue:
enabled: false
# Offense count: 77
ClassesBeforeIds:
enabled: false
# Offense count: 18
ConsecutiveComments:
enabled: false
# Offense count: 22
ConsecutiveSilentScripts:
exclude:
- "app/views/admin/contents/_fieldset.html.haml"
- "app/views/admin/enterprises/form/_tag_rules.html.haml"
- "app/views/admin/order_cycles/edit.html.haml"
- "app/views/admin/products_v3/product_preview.turbo_stream.haml"
- "app/views/admin/reports/_date_range_form.html.haml"
- "app/views/checkout/_details.html.haml"
- "app/views/checkout/_payment.html.haml"
- "app/views/spree/admin/adjustments/_adjustments_table.html.haml"
- "app/views/spree/admin/orders/customer_details/_address_form.html.haml"
- "app/views/spree/admin/tax_categories/index.html.haml"
- "app/views/spree/admin/users/index.html.haml"
# Offense count: 14
FinalNewline:
exclude:
- "app/assets/javascripts/templates/shared/question_mark_with_tooltip.html.haml"
- "app/views/admin/enterprises/form/_social.html.haml"
- "app/views/admin/json/_injection_ams.html.haml"
- "app/views/admin/order_cycles/_date_time_warning_modal_content.html.haml"
- "app/views/admin/order_cycles/edit.html.haml"
- "app/views/admin/product_import/_ams_data.html.haml"
- "app/views/admin/reports/_row_group.haml"
- "app/views/admin/reports/filters/_enterprise_fee_summary.html.haml"
- "app/views/admin/reports/filters/_users_and_enterprises.html.haml"
- "app/views/shop/_blocked_cookies.html.haml"
- "app/views/spree/admin/orders/_invoice/_order_note.html.haml"
- "app/views/spree/admin/orders/invoice4.html.haml"
- "app/views/spree/admin/taxons/destroy_taxon.turbo_stream.haml"
- "app/views/spree/admin/users/_email_confirmation.html.haml"
# Offense count: 130
IdNames:
enabled: false
# Offense count: 5
Indentation:
exclude:
- "app/views/admin/products_v3/clone.turbo_stream.haml"
- "app/views/admin/products_v3/destroy_product_variant.turbo_stream.haml"
- "app/views/spree/admin/taxons/destroy_taxon.turbo_stream.haml"
# Offense count: 191
InlineStyles:
enabled: false
# Offense count: 589
InstanceVariables:
enabled: false
# Offense count: 2
LeadingCommentSpace:
exclude:
- "app/views/admin/reports/_row_group.haml"
# Offense count: 2331
LineLength:
enabled: false
# Offense count: 1
MultilinePipe:
exclude:
- "app/views/admin/reports/_rendering_options.html.haml"
# Offense count: 2
MultilineScript:
exclude:
- "app/views/admin/products_v3/product_preview.turbo_stream.haml"
- "app/views/checkout/_voucher_section.html.haml"
# Offense count: 2
RepeatedId:
exclude:
- "app/assets/javascripts/templates/admin/save_bar.html.haml"
# Offense count: 24
RubyComments:
enabled: false
# Offense count: 104
SpaceBeforeScript:
enabled: false
# Offense count: 3345
SpaceInsideHashAttributes:
enabled: false
# Offense count: 22
TrailingEmptyLines:
enabled: false
# Offense count: 73
TrailingWhitespace:
enabled: false
# Offense count: 13
UnnecessaryInterpolation:
exclude:
- "app/components/example_component/example_component.html.haml"
- "app/views/admin/product_import/_entries_table.html.haml"
- "app/views/admin/product_import/import.html.haml"
- "app/views/admin/variant_overrides/_filters.html.haml"
- "app/views/registration/steps/_introduction.html.haml"
- "app/views/spree/order_mailer/_shipping.html.haml"
- "app/views/spree/order_mailer/invoice_email.html.haml"
- "app/views/spree/shared/_shipment_delivery_details.html.haml"
- "app/views/spree/shared/_shipment_pickup_details.html.haml"
# Offense count: 68
UnnecessaryStringOutput:
enabled: false
# Offense count: 14
ViewLength:
exclude:
- "app/assets/javascripts/templates/admin/panels/enterprise_package.html.haml"
- "app/views/admin/customers/index.html.haml"
- "app/views/admin/enterprises/_new_form.html.haml"
- "app/views/admin/enterprises/form/_shop_preferences.html.haml"
- "app/views/admin/product_import/_import_review.html.haml"
- "app/views/admin/products_v3/product_preview.turbo_stream.haml"
- "app/views/checkout/_details.html.haml"
- "app/views/groups/show.html.haml"
- "app/views/producer_mailer/order_cycle_report.html.haml"
- "app/views/shared/_footer.html.haml"
- "app/views/spree/admin/orders/bulk_management.html.haml"
- "app/views/spree/admin/orders/invoice4.html.haml"
- "app/views/spree/admin/products/new.html.haml"
- "app/views/spree/admin/variants/_form.html.haml"

View File

@@ -1,6 +0,0 @@
rubocop:
config_file: .rubocop_styleguide.yml
scss:
config_file: .scss-lint.yml
haml:
config_file: .haml-lint.yml

View File

@@ -1 +1 @@
17.9.1
24.10.0

View File

@@ -5,6 +5,7 @@
*.yaml
*.json
*.html
**/*.rb
# JS
# Enabled: app/webpacker/controllers/*.js and app/webpacker/packs/*.js
@@ -27,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,9 +4,13 @@
#
# The configuration is split into three files. Look into those files for more details.
#
require:
plugins:
- rubocop-capybara
- rubocop-factory_bot
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails
inherit_from:
# The automatically generated todo list to ignore all current violations.

View File

@@ -3,16 +3,20 @@
# These are the rules we agreed upon and we work towards.
AllCops:
NewCops: enable
SuggestExtensions: false
MigratedSchemaVersion: "20250111000000"
Exclude:
- bin/**/*
- db/**/*
- 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
- .undercover
Bundler/DuplicatedGem:
Enabled: false
@@ -90,7 +94,7 @@ Metrics/PerceivedComplexity:
Enabled: true
Max: 14 # default 8
Naming/PredicateName:
Naming/PredicatePrefix:
Enabled: false
Naming/VariableNumber:
@@ -99,6 +103,8 @@ Naming/VariableNumber:
- street_address_2
AllowedPatterns:
- _v[\d]+
# Cf. conversation https://github.com/openfoodfoundation/openfoodnetwork/pull/13306#pullrequestreview-2831644286
- menu_[\d]
Rails/ApplicationRecord:
Exclude:
@@ -112,10 +118,19 @@ Rails/ApplicationRecord:
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
@@ -125,6 +140,16 @@ Rails/SkipsModelValidations:
- 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

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
3.1.4
3.2.9

View File

@@ -1,19 +0,0 @@
scss_files: 'app/assets/stylesheets/**/*.css.scss'
exclude: 'app/assets/stylesheets/shared/**'
linters:
ImportantRule:
enabled: false
VendorPrefix:
enabled: false
LeadingZero:
enabled: false
PropertySortOrder:
enabled: false
StringQuotes:
enabled: false
DeclarationOrder:
enabled: false
NestingDepth:
enabled: false

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.2.9-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

@@ -29,9 +29,9 @@ Fetch the latest version of `master` from `upstream` (ie. the main repo):
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).
- 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.
- [nodevn](https://github.com/nodenv/nodenv) is recommended as a node version manager.
- [nodenv](https://github.com/nodenv/nodenv) is recommended as a node version manager.
* PostgreSQL database
* Redis (for background jobs)
* Chrome (for testing)
@@ -73,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

42
Gemfile
View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
source 'https://rubygems.org'
source 'https://gem.coop'
git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" }
ruby File.read('.ruby-version').chomp
@@ -14,18 +14,19 @@ gem "active_storage_validations"
gem "aws-sdk-s3", require: false
gem "image_processing"
gem 'activemerchant', '>= 1.78.0'
gem 'angular-rails-templates', '>= 0.3.0'
gem 'awesome_nested_set'
gem 'activemerchant'
gem 'angular-rails-templates'
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'
gem 'rails_safe_tasks', '~> 1.0'
gem "activerecord-import"
gem "db2fog", github: "openfoodfoundation/db2fog", branch: "rails-7"
@@ -42,7 +43,7 @@ gem 'web', path: './engines/web'
gem "activerecord-postgresql-adapter"
gem "arel-helpers", "~> 2.12"
gem "pg", "~> 1.2.3"
gem "pg"
gem 'acts_as_list', '1.0.4'
gem 'cancancan', '~> 1.15.0'
@@ -56,7 +57,7 @@ gem 'state_machines-activerecord'
gem 'stringex', '~> 2.8.5', require: false
gem 'paypal-sdk-merchant', '1.117.2'
gem 'stripe'
gem 'stripe', '~> 13'
gem 'devise'
gem 'devise-encryptable'
@@ -67,7 +68,7 @@ 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'
@@ -88,7 +89,7 @@ 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'
@@ -103,8 +104,11 @@ gem 'redis'
gem 'sidekiq'
gem 'sidekiq-scheduler'
gem "cable_ready", "5.0.1"
gem "stimulus_reflex", "3.5.0.rc3"
gem "cable_ready"
gem "stimulus_reflex"
gem "turbo_power"
gem "turbo-rails"
gem 'combine_pdf'
gem 'wicked_pdf'
@@ -151,6 +155,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'
@@ -164,14 +169,15 @@ group :test, :development do
gem 'rspec-sql'
gem 'rswag'
gem 'shoulda-matchers'
gem 'stimulus_reflex_testing'
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
@@ -179,15 +185,19 @@ group :test do
end
group :development do
gem 'debugger-linecache'
gem 'foreman'
gem 'haml_lint', require: false
gem 'i18n-tasks'
gem 'listen'
gem 'pry', '~> 0.13.0'
gem 'pry'
gem 'query_count'
gem 'rails-erd'
gem 'rubocop'
gem 'rubocop-capybara'
gem 'rubocop-factory_bot'
gem 'rubocop-rails'
gem 'rubocop-rspec'
gem 'rubocop-rspec_rails'
gem 'spring'
gem 'spring-commands-rspec'
gem 'spring-commands-rubocop'

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

@@ -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,392 +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
tax_category_id: 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
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 = []
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.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("inherits_properties")
filteredProduct.inherits_properties = product.inherits_properties
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("tax_category_id")
filteredVariant.tax_category_id = variant.tax_category_id
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

@@ -11,6 +11,9 @@ angular.module("admin.customers").controller "customersCtrl", ($scope, $q, $filt
$scope.confirmRefresh = (event) ->
event.preventDefault() unless pendingChanges.unsavedCount() == 0 || confirm(t("unsaved_changes_warning"))
$scope.hasUnsavedChanges = ->
pendingChanges.yes()
$scope.$watch "shop_id", ->
if $scope.shop_id?
CurrentShop.shop = $filter('filter')($scope.shops, {id: parseInt($scope.shop_id)}, true)[0]

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

@@ -4,15 +4,16 @@ angular.module("admin.indexUtils").directive "objForUpdate", (switchClass, pendi
type: "@objForUpdate"
attr: "@attrForUpdate"
link: (scope, element, attrs) ->
scope.savedValue = scope.object()[scope.attr]
scope.savedValue = scope.object()[scope.attr] || ""
scope.$watch "object().#{scope.attr}", (value) ->
if value == scope.savedValue
strValue = value || ""
if strValue == scope.savedValue
pendingChanges.remove(scope.object().id, scope.attr)
scope.clear()
else
scope.pending()
addPendingChange(scope.attr, value ? "")
addPendingChange(scope.attr, strValue)
scope.reset = (value) ->
scope.savedValue = value

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

@@ -16,7 +16,10 @@ angular.module("admin.indexUtils").factory "pendingChanges", ($q, resources, Sta
remove: (id, attr) =>
if @pendingChanges.hasOwnProperty("#{id}")
delete @pendingChanges["#{id}"]["#{attr}"]
delete @pendingChanges["#{id}"] if @changeCount( @pendingChanges["#{id}"] ) < 1
if @changeCount( @pendingChanges["#{id}"] ) < 1
delete @pendingChanges["#{id}"]
StatusMessage.clear()
submitAll: (form=null) =>
all = []
@@ -47,5 +50,8 @@ angular.module("admin.indexUtils").factory "pendingChanges", ($q, resources, Sta
unsavedCount: ->
Object.keys(@pendingChanges).length
yes: ->
@unsavedCount() > 0
changeCount: (objectChanges) ->
Object.keys(objectChanges).length

View File

@@ -1,4 +1,4 @@
angular.module("admin.indexUtils").factory "switchClass", ($timeout) ->
angular.module("admin.indexUtils").factory "switchClass", ($timeout, StatusMessage) ->
return (element, classToAdd, removeClasses, timeout) ->
$timeout.cancel element.timeout if element.timeout
element.removeClass className for className in removeClasses
@@ -7,4 +7,6 @@ angular.module("admin.indexUtils").factory "switchClass", ($timeout) ->
if timeout && intRegex.test(timeout)
element.timeout = $timeout(->
element.removeClass classToAdd
StatusMessage.clear()
, timeout, true)
element

View File

@@ -19,18 +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",
"order_bill_address_full_name_reversed",
"order_bill_address_full_name_with_comma",
"order_bill_address_full_name_with_comma_reversed",
"variant_product_supplier_name",
"order_email",
"order_number",
"product_name"].join("_or_") + "_cont"
$scope.confirmRefresh = ->
LineItems.allSaved() || confirm(t("unsaved_changes_warning"))
@@ -75,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) ->
@@ -97,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 = ->
@@ -105,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()
@@ -133,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) ->
@@ -167,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())
@@ -199,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))
@@ -214,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))
@@ -228,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

@@ -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

@@ -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

@@ -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

@@ -1,7 +1,6 @@
angular.module("Darkswarm", [
'ngResource',
'mm.foundation',
'LocalStorageModule',
'infinite-scroll',
'angular-flash.service',
'templates',

View File

@@ -1,6 +1,6 @@
angular.module('Darkswarm').directive "activeTableHubLink", (CurrentHub, CurrentOrder) ->
# Change the text of the hub link based on CurrentHub
# To be used with ofnEmptiesCart
# To be used with ofnChangeHub
# Takes "change" and "shop" as text string attributes
restrict: "A"
scope:

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