Compare commits

...

1043 Commits

Author SHA1 Message Date
Maikel Linke
b35f9551eb Update translations 2023-01-27 17:12:37 +11:00
Maikel
4193cdb9f1 Merge pull request #10320 from dacook/remove-ie-warning
Remove unnecessary IE warning
2023-01-27 17:02:53 +11:00
David Cook
57678b7566 Remove IE warning
It brings me great pleasure to remove this. I've been waiting my whole career: IE is finally gone!!
2023-01-27 12:45:46 +11:00
Maikel
ee5f255fc9 Merge pull request #10326 from openfoodfoundation/dependabot/bundler/bootsnap-1.16.0
Bump bootsnap from 1.15.0 to 1.16.0
2023-01-27 12:10:52 +11:00
Maikel
408c2f7a04 Merge pull request #10325 from openfoodfoundation/dependabot/bundler/rubocop-1.44.1
Bump rubocop from 1.44.0 to 1.44.1
2023-01-27 11:59:21 +11:00
Filipe
1cfc13e66f Merge pull request #10208 from jibees/9424-calculator-provide-a-calculator-none
Admin: Include a "None" option for calculator type user in shipping method and payment method forms
2023-01-26 14:48:41 +00:00
dependabot[bot]
110c594353 Bump rubocop from 1.44.0 to 1.44.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.44.0 to 1.44.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.44.0...v1.44.1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 09:01:21 +00:00
Maikel
2fc935e99c Merge pull request #10167 from openfoodfoundation/dependabot/bundler/ddtrace-1.8.0
Bump ddtrace from 0.54.1 to 1.8.0
2023-01-24 14:53:12 +11:00
Maikel
00d9c2836d Merge pull request #10309 from mkllnk/flaky-serializer-spec
Parse JSON to test ids separately and avoid flakiness
2023-01-24 14:32:20 +11:00
Maikel Linke
79887c0b44 Clarify array intend of array operation in spec 2023-01-24 14:17:46 +11:00
Maikel Linke
5b6a855dfe Clarify test result structure 2023-01-24 13:39:48 +11:00
Maikel Linke
d18d0ef6b1 Parse JSON to test variant and distributor ids
We looked at the whole JSON string before and sometimes a distributor id
would match a variant id which made the test flaky.
2023-01-24 11:51:44 +11:00
Maikel Linke
d37fa9fc5f Simplify spec structure without defining modules
Specs should test classes and modules independently and they should not
be in the same module. It also avoids indentation and accidental
namespace polution.
2023-01-24 11:41:06 +11:00
Filipe
7b14afbabe Merge pull request #10294 from abdellani/fix_invoice_print_spec
fix the pending invoice print spec
2023-01-23 19:06:36 +00:00
Filipe
bc788b6d60 Merge pull request #10243 from jibees/10242-change-how-orders-are-loaded-in-bom-+-filters
Admin, BOM: add pagination, remove date range filtering on first load
2023-01-23 17:48:05 +00:00
Jean-Baptiste Bellet
3247c32191 Be consistant and use data-paymentmethod-id attribute
as already used on other element
2023-01-23 17:48:54 +01:00
Jean-Baptiste Bellet
251ab2ac9a Payment method id attribute don't need to start with paymentmethod 2023-01-23 17:46:26 +01:00
jibees
dafe4b599f Merge pull request #10303 from mkllnk/webpacker-ignores-tmp-files
Ignore vi .swp files when webpack dev reloads page
2023-01-23 17:12:29 +01:00
Filipe
d7c99a9d8b Merge pull request #10275 from filipefurtad0/update_orders_spec
Updates system spec for orders page
2023-01-23 16:00:38 +00:00
Rachel Arnould
53fb906861 Merge pull request #10254 from jibees/10246-split-checkout-order-summary-page-design-changes
Split checkout: order summary page design changes
2023-01-23 15:52:06 +01:00
filipefurtad0
fa96f7339d Replaces URL with routing syntax 2023-01-23 11:35:53 +00:00
Sigmund Petersen
78bbb08666 Merge pull request #10301 from openfoodfoundation/update-getting-started
Docs: Suggest using SSH instead of HTTPS for cloning
2023-01-23 08:36:17 +01:00
Sigmund Petersen
e260112eb8 Merge pull request #10296 from filipefurtad0/add_no_sandbox_to_cuprite_settings
Sets no-sandbox option, for CI env.; increases timeout values
2023-01-23 08:34:09 +01:00
Maikel Linke
a91ece8f3b Replace outdated datadog config syntax 2023-01-23 16:40:36 +11:00
Jean-Baptiste Bellet
6327370401 Update datadog settings from 0.x to 1.x
Reference: https://github.com/DataDog/dd-trace-rb/blob/master/docs/UpgradeGuide.md#settings-have-been-renamed
2023-01-23 16:25:03 +11:00
Maikel Linke
b91b85febc Ignore vi .swp files when webpack dev reloads page
The webpack dev server watches assets and reloads the page when files
change on disk. I'm adding vi's temporary files to the ignore list.
2023-01-23 14:42:08 +11:00
Mohamed ABDELLANI
f4a5130cb5 remove pending from tests 2023-01-21 08:35:12 +01:00
Mohamed ABDELLANI
8823b2ac89 add display_line_items_taxes to expected message in invoice view spec 2023-01-21 08:35:01 +01:00
Mohamed ABDELLANI
9bff2718c7 implement display_line_items_taxes to render included & added tax 2023-01-21 08:16:05 +01:00
filipefurtad0
7dc14cc35a Adds coverage for bulk pdf generation
and order cancelling
2023-01-20 18:31:33 +00:00
Mohamed ABDELLANI
a4f388336a remove duplicated test 2023-01-20 18:00:04 +01:00
Jean-Baptiste Bellet
370e476fc5 has:() relational pseudo class is not available for firefox
cf. https://caniuse.com/css-has

So be more generic, as the only `checkout-input` is for that checkbox for T&Cs
2023-01-20 15:37:52 +01:00
filipefurtad0
8bfb17144c Filters by order state 2023-01-20 13:56:40 +00:00
filipefurtad0
f984cd89c2 Filters by invoice number 2023-01-20 13:14:23 +00:00
filipefurtad0
336210b898 Tests shipping methods filtering 2023-01-20 13:10:18 +00:00
filipefurtad0
9323394eb7 Adds CI condition browser_options; sets timeouts to 60 2023-01-20 11:13:31 +00:00
jibees
895fc94a75 Merge pull request #10295 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.118.0
Bump aws-sdk-s3 from 1.117.2 to 1.118.0
2023-01-20 11:43:14 +01:00
jibees
aa725ec8a4 Merge pull request #10299 from openfoodfoundation/dependabot/bundler/globalid-1.0.1
Bump globalid from 1.0.0 to 1.0.1
2023-01-20 11:37:20 +01:00
Sigmund Petersen
f921bbfe45 Merge pull request #10288 from openfoodfoundation/dependabot/bundler/rack-2.2.6.2
Bump rack from 2.2.4 to 2.2.6.2
2023-01-20 11:31:49 +01:00
Jean-Baptiste Bellet
f8b8e79725 Specify a bit when T&Cs label is longer that summary width
and therefore on two lines
2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
b559171d0e Put order summary footer into its own file _totals_footer.html.haml 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
3e7e0e4d81 Instead of adding inline style, create a CSS rule 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
c5d94d372f Remove unnecessary within block 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
c99ec38c85 By default, we reject all adjustements with amount equal to 0 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
37f359542e Remove bold on firstname+lastname 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
21b74386f9 Introduce mobile view for summary step 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
53c701e04c In fact, it seems likely to be strictly less. 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
ef572668d5 Let's keep fees next to the payment or shipping method 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
fa8e36fbeb As this is used in a odd/even table, background needs to be transparent
Otherwise, it's set via `checkout h5`
2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
1ea9c15bb8 Put total on the summary box on the right 2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
cc838d2c88 Remove sentence 2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
99fcbad0f0 On split checkout, do not display footer on order summary
introduced via `display_footer` which is by default `true`
2023-01-20 11:20:34 +01:00
Jean-Baptiste Bellet
52959a913f New step3: two columns, more condensed 2023-01-20 11:20:34 +01:00
David Cook
097bfd953f Suggest using SSH instead of HTTPS for cloning
This basically reverts 3a0c5bf0c3
2023-01-20 14:46:47 +11:00
dependabot[bot]
b9039f4b1f Bump globalid from 1.0.0 to 1.0.1
Bumps [globalid](https://github.com/rails/globalid) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/rails/globalid/releases)
- [Commits](https://github.com/rails/globalid/compare/v1.0.0...v1.0.1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ add specs
2023-01-11 10:10:30 +00:00
dependabot[bot]
798f1dfdfa Bump rubocop from 1.42.0 to 1.43.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.42.0 to 1.43.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.42.0...v1.43.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 09:02:00 +00:00
dependabot[bot]
869a6b42d3 Bump rubocop from 1.39.0 to 1.40.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.39.0...v1.40.0)

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

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

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

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

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

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

 + log stimulusreflex

 + Create channel and connection

 + Some logging options

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

- new_products_page
 - and available on '/new_products'

Add simple view for new products page and a product

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Includes jest and karma tests in build file

Renames jest karma job

Moves build setup into build.yml file

Changes job names

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 10:21:18 +00:00
dependabot[bot]
415f12c1bc Merge pull request #10012 from openfoodfoundation/dependabot/bundler/rswag-specs-2.8.0 2022-11-17 10:07:13 +00:00
dependabot[bot]
e3821df73a Merge pull request #10011 from openfoodfoundation/dependabot/bundler/view_component-2.76.0 2022-11-17 10:06:48 +00:00
dependabot[bot]
b358468952 Bump stripe from 7.1.0 to 8.0.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 7.1.0 to 8.0.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v7.1.0...v8.0.0)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 09:02:04 +00:00
dependabot[bot]
23cf18f9c4 Bump view_component from 2.75.0 to 2.76.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.75.0 to 2.76.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.75.0...v2.76.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 09:01:12 +00:00
Sigmund Petersen
5cef0e1939 Merge pull request #9946 from filipefurtad0/fixes_minor_build_issues
Fixes minor issues in the build
2022-11-16 18:22:24 +01:00
Sigmund Petersen
7243e49f92 Merge pull request #9958 from filipefurtad0/fix_flaky_taxonomy
Fix flaky taxonomy spec by asserting on page redirect and adding retry: 3
2022-11-16 14:59:29 +01:00
jibees
f58a187c9f Merge pull request #9986 from openfoodfoundation/dependabot/bundler/cuprite-0.14.3
Bump cuprite from 0.13 to 0.14.3
2022-11-16 14:55:41 +01:00
filipefurtad0
d728424859 Asserts on page redirect, after Update click 2022-11-16 12:19:02 +00:00
Sigmund Petersen
52487a270d Merge pull request #9889 from mkllnk/dfc-products
Activate DfcProvider with feature toggle, not prod
2022-11-16 12:26:44 +01:00
dependabot[bot]
d9772cbe01 Bump cuprite from 0.13 to 0.14.3
Bumps [cuprite](https://github.com/rubycdp/cuprite) from 0.13 to 0.14.3.
- [Release notes](https://github.com/rubycdp/cuprite/releases)
- [Commits](https://github.com/rubycdp/cuprite/compare/v0.13...v0.14.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 10:42:14 +00:00
Sigmund Petersen
1688bf09e3 Merge pull request #9988 from filipefurtad0/bump_cuprite-0.14.3
Cuprite bump: Updates helper to click on css element...
2022-11-16 11:41:09 +01:00
dependabot[bot]
53b1b5c062 Merge pull request #9995 from openfoodfoundation/dependabot/bundler/paranoia-2.6.1 2022-11-16 10:23:01 +00:00
filipefurtad0
c3ff1f78ce Updates GETTING_STARTED.md 2022-11-16 09:56:51 +00:00
filipefurtad0
487e2e4316 Deletes unused specs.rake file 2022-11-16 09:56:51 +00:00
filipefurtad0
05cae1cdf3 Removes obsolete/failing performance specs 2022-11-16 09:56:51 +00:00
filipefurtad0
50e9819a2a Fixes build.yml to replace rake task syntax 2022-11-16 09:56:51 +00:00
filipefurtad0
bb838e5a5a Moves flatpickr spec into admin folder 2022-11-16 09:56:51 +00:00
dependabot[bot]
cf5414dbfd Merge pull request #9987 from openfoodfoundation/dependabot/bundler/rubocop-1.39.0 2022-11-16 09:41:01 +00:00
dependabot[bot]
fd68f91996 Merge pull request #9961 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.6 2022-11-16 09:40:26 +00:00
dependabot[bot]
927e131e87 Merge pull request #9996 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.6 2022-11-16 09:25:20 +00:00
dependabot[bot]
3aa8a8510a Merge pull request #9994 from openfoodfoundation/dependabot/npm_and_yarn/loader-utils-1.4.2 2022-11-16 09:09:36 +00:00
jibees
089c7b0011 Merge pull request #9940 from filipefurtad0/fix_developer_settings_spec
Clears Stripe settings after example run
2022-11-16 10:07:33 +01:00
dependabot[bot]
76d5abcf50 Bump @floating-ui/dom from 1.0.4 to 1.0.6
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.4 to 1.0.6.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.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>
2022-11-16 09:02:05 +00:00
dependabot[bot]
6b6c5c03d6 Bump paranoia from 2.6.0 to 2.6.1
Bumps [paranoia](https://github.com/rubysherpas/paranoia) from 2.6.0 to 2.6.1.
- [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.0...v2.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 09:01:40 +00:00
dependabot[bot]
d9003aeccf Bump loader-utils from 1.4.1 to 1.4.2
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 07:51:33 +00:00
filipefurtad0
1a3c4008fd Applies helpers to relevant specs 2022-11-15 19:03:14 +00:00
filipefurtad0
4b067e2ece Creates separate helpers for enabling Stripe and keys 2022-11-15 19:03:14 +00:00
Filipe
94db55dd43 Merge pull request #9993 from openfoodfoundation/revert-9926-cache-address
Revert "Cache address JSON to avoid database queries"
2022-11-15 10:18:51 +00:00
jibees
6dcc50ad15 Revert "Cache address JSON to avoid database queries" 2022-11-15 10:40:22 +01:00
filipefurtad0
760635da1f Updates helper to click on css element...
...instead of passing empty_keys
2022-11-14 12:23:53 +00:00
dependabot[bot]
11480f20c5 Bump rubocop from 1.38.0 to 1.39.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.38.0 to 1.39.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.38.0...v1.39.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 09:05:05 +00:00
jibees
911d816233 Merge pull request #9979 from filipefurtad0/fix_flaky_bom_3
[Flaky BOM] Bumps retry: 2 -> 3
2022-11-14 09:21:17 +01:00
binarygit
8fc721c651 [Admin, Enterprise Settings] Show spinner when enterprise sells changes 2022-11-13 16:24:35 +05:45
Konrad
c2d5ea4a5a Merge pull request #9942 from mkllnk/taxonomies-spec
Avoid image load error and show errors in spec
2022-11-12 20:30:04 +01:00
Konrad
59d555165f Merge pull request #9936 from dacook/minor-admin-updates
Code cleanup: admin interface
2022-11-12 19:43:44 +01:00
Konrad
2eca3d5ef8 Merge pull request #9914 from openfoodfoundation/dependabot/bundler/spreadsheet_architect-5.0.0
Bump spreadsheet_architect from 4.2.0 to 5.0.0
2022-11-11 22:49:17 +01:00
Konrad
5fc17b51d2 Merge pull request #9887 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.117.1
Bump aws-sdk-s3 from 1.117.0 to 1.117.1
2022-11-11 21:15:58 +01:00
Konrad
c6178f5df9 Merge pull request #9877 from mkllnk/ignored-columns
Remove outdated ignoring of Paperclip columns
2022-11-11 21:08:42 +01:00
Cillian O'Ruanaidh
fbe6dcba7a Remove N+1 query loading tags for each order cycle exchange 2022-11-11 17:01:46 +00:00
Sigmund Petersen
bd718406f4 Merge pull request #9980 from openfoodfoundation/filipefurtad0-add-knapsackpro-badge-to-readme
Adds KnapsackPro badge to enable unlimited plan use
2022-11-11 13:20:58 +01:00
Filipe
ca4d92bf99 Adds KnapsackPro badge to enable KnapsackPro use
As requested per email: "Please add the Knapsack Pro badge to your open source project readme"
2022-11-11 11:46:24 +00:00
filipefurtad0
2f7cb4d3ca Bumps retry: 2 -> 3 2022-11-11 10:51:11 +00:00
David Cook
1e24988bd1 Remove label from bug report template
I accidentally added it last week.
2022-11-11 09:31:08 +11:00
Konrad
c44195c8a0 Merge pull request #9911 from viniciusueharaweb/9781-improve-shipping-category-not-found-error-message
[Product Import] Wrong error message when shipping category does not match predefined shipping categories
2022-11-10 22:48:25 +01:00
Konrad
5b44dc9609 Corrected missspelling of 'mispelling' in en.yml 2022-11-10 20:53:30 +01:00
Jean-Baptiste Bellet
dff9c6d333 Update all locales with the latest Transifex translations 2022-11-10 20:39:17 +01:00
Filipe
4b3184a6ef Merge pull request #9923 from mkllnk/cache-country
Cache default country for an hour
2022-11-10 19:10:29 +00:00
Filipe
f1dd69a4f7 Merge pull request #9926 from mkllnk/cache-address
Cache address JSON to avoid database queries
2022-11-10 18:18:03 +00:00
Filipe
24eda1bfae Merge pull request #9927 from mkllnk/lazy-load-product-images
Load product images in the shop lazily to improve performance
2022-11-10 18:11:56 +00:00
Konrad
ae09f7a415 Merge pull request #9869 from abdellani/fix-unit_value_with_description-calculation-on-products-page_admin_dashboard
use js-big-decimal to calculate unit_value_with_description in products page
2022-11-10 18:47:16 +01:00
dependabot[bot]
d8d1b38a4d Merge pull request #9967 from openfoodfoundation/dependabot/npm_and_yarn/socket.io-parser-4.0.5 2022-11-10 10:09:27 +00:00
Filipe
a7353eb69f Merge pull request #9575 from apricot12/9487-Dimensions-Packing-Reports
Added HEIGHT, WEIGHT, WIDTH, DEPTH columns to packing reports by customer.
2022-11-10 09:55:26 +00:00
jibees
8a702daccd Merge pull request #9966 from filipefurtad0/fix_flaky_spec_9902_2
Increases retry option from 2 to 3
2022-11-10 10:05:05 +01:00
jibees
f4de39ae00 Merge pull request #9965 from filipefurtad0/adds_retry_to_BOM_spec
Adds retry option to flaky BOM spec
2022-11-10 10:04:33 +01:00
Jean-Baptiste Bellet
4f265eed2a Check that target exists before setting properties
In case of Xero reports, there are no checkbox
2022-11-10 09:55:36 +01:00
Jean-Baptiste Bellet
bdf132a833 Format file according to our prettier configuration 2022-11-10 09:49:28 +01:00
dependabot[bot]
177e3d5885 Bump socket.io-parser from 4.0.4 to 4.0.5
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 22:15:43 +00:00
Filipe
b7fcc0b4fc Merge pull request #9924 from jibees/9757-BOM-show-only-one-modal-when-changing-date-range-
BOM: Display confirm modal on date range change only one time
2022-11-09 18:42:28 +00:00
filipefurtad0
86d38bbaa5 Increases retry option from 2 to 3 2022-11-09 17:19:13 +00:00
filipefurtad0
36bc17c8b4 Adds retry option to flaky examples 2022-11-09 16:36:36 +00:00
dependabot[bot]
7c7e5aaa59 Bump rails-i18n from 7.0.5 to 7.0.6
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/svenfuchs/rails-i18n/releases)
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.5...v7.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 09:01:46 +00:00
Konrad
b22beea5fc Merge pull request #9945 from jibees/9944-translate-columns-in-packing-and-xero-reports
Packing reports: translate columns name in the columns selector component
2022-11-09 09:55:21 +01:00
Jean-Baptiste Bellet
262b546836 Add some visual spacing 2022-11-08 14:59:23 +01:00
Jean-Baptiste Bellet
4bfd39caec The info tip indicates image should be 100*100, so display it at 100*100 size 2022-11-08 14:54:47 +01:00
Jean-Baptiste Bellet
58c8eae08c Enterprise logo: resize and crop at the center of image instead of just resize
Should fit in a square format
2022-11-08 14:54:11 +01:00
dependabot[bot]
2c17a2bafe Merge pull request #9952 from openfoodfoundation/dependabot/npm_and_yarn/babel-loader-8.3.0 2022-11-08 09:35:27 +00:00
dependabot[bot]
c25375f00a Merge pull request #9951 from openfoodfoundation/dependabot/npm_and_yarn/babel/preset-env-7.20.2 2022-11-08 09:34:45 +00:00
dependabot[bot]
7322362eea Merge pull request #9949 from openfoodfoundation/dependabot/bundler/capybara-3.38.0 2022-11-08 09:34:21 +00:00
dependabot[bot]
94b14d16bf Merge pull request #9950 from openfoodfoundation/dependabot/npm_and_yarn/husky-8.0.2 2022-11-08 09:33:39 +00:00
dependabot[bot]
116764166c Merge pull request #9954 from openfoodfoundation/dependabot/bundler/sidekiq-6.5.8 2022-11-08 09:33:21 +00:00
dependabot[bot]
de807b1ee0 Merge pull request #9948 from openfoodfoundation/dependabot/npm_and_yarn/loader-utils-1.4.1 2022-11-08 09:32:05 +00:00
Mohamed ABDELLANI
70e47f3929 fix: convert @attrs[:units] to big decimal instead of float in the unit converter 2022-11-08 10:26:00 +01:00
Mohamed ABDELLANI
b203803eb9 fix test: change product_unit_value_with_description value to float (2 digits precision) 2022-11-08 10:26:00 +01:00
Mohamed ABDELLANI
44d719fcb5 use js-big-decimal to calculate unit_value_with_description 2022-11-08 10:26:00 +01:00
Jean-Baptiste Bellet
cb1b24695e Fix deprecation warnings around class loading during initialization
```
Fix deprecation warnings around class loading during initialization
Thi2022-11-08T08:54:57.542Z pid=40093 tid=nl9 WARN: DEPRECATION WARNING: Initialization autoloaded the constants ReportsHelper, DateTimeStringValidator et IntegerArrayValidator.

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

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

These autoloaded constants have been unloaded.

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

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

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

Check the "Autoloading and Reloading Constants" guide to learn more about how
Rails autoloads and reloads.
```
2022-11-08 10:07:29 +01:00
dependabot[bot]
2a8731c8da Bump sidekiq from 6.5.7 to 6.5.8
Bumps [sidekiq](https://github.com/mperham/sidekiq) from 6.5.7 to 6.5.8.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](https://github.com/mperham/sidekiq/compare/v6.5.7...v6.5.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 09:04:23 +00:00
dependabot[bot]
ed81ce8ada Bump babel-loader from 8.2.5 to 8.3.0
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.5 to 8.3.0.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.5...v8.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 09:03:02 +00:00
dependabot[bot]
1c0132ca4d Bump @babel/preset-env from 7.19.4 to 7.20.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.4 to 7.20.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-preset-env)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 09:02:37 +00:00
dependabot[bot]
c1cd524157 Bump husky from 8.0.1 to 8.0.2
Bumps [husky](https://github.com/typicode/husky) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v8.0.1...v8.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 09:02:01 +00:00
dependabot[bot]
2198f12922 Bump capybara from 3.37.1 to 3.38.0
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.37.1 to 3.38.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.37.1...3.38.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 09:01:35 +00:00
dependabot[bot]
d86498c81e Bump loader-utils from 1.4.0 to 1.4.1
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 08:36:50 +00:00
Jean-Baptiste Bellet
3e9647590d Packing report don't need untranslated headers for xlxs, csv format 2022-11-07 15:53:39 +01:00
Jean-Baptiste Bellet
f4572cb8cb nil is the value of :report_format when GETting a report page
This method is used in `custom_headers()` method that handle headers customization. Then, it's `@report.available_headers`
2022-11-07 11:44:01 +01:00
Maikel Linke
122fe8253e Avoid image load error and show errors in spec
I stumbled across some spec code which was hiding an unexpected error. So I
fixed it properly. This code is to be replaced soon anyway and this is a tiny
step in that direction.
2022-11-07 16:07:41 +11:00
Maikel
85017893d3 Merge pull request #9939 from jibees/fix-flatpickr-system-spec
Fix flatpickr system spec: `spec/system/flatpickr_spec.rb`
2022-11-07 15:37:57 +11:00
Maikel
35a8f6be74 Merge pull request #9935 from dacook/update-transifex
Update Transifex config format for latest version
2022-11-07 15:28:08 +11:00
Jean-Baptiste Bellet
9464f49031 Fix flatpickr system spec
On `/admin/orders`, we now have a date range picker.
This spec seems to test only the behavior of flatpickr, which is an external dependencies ; we probably shouldn't test it since it's not our responsibilities. Leave the spec as it for now.
2022-11-04 15:29:36 +01:00
Jean-Baptiste Bellet
39e5613db8 When confirm modal is dismissed, reset daterange picker to previous values
+ update specs as well
2022-11-04 14:18:29 +01:00
David Cook
20c0449128 Remove unnecessary case
Seems cleaner to me.

Best viewed with whitespace ignored.
2022-11-04 14:26:41 +11:00
David Cook
5405d6f525 Ensure all text inputs have full width
I think `url` and `tel` are currently unused, but I think we should use them in the future.
2022-11-04 14:26:39 +11:00
David Cook
9ef07cb110 Update GETTING_STARTED.md
[doc] Link to info about loading sample data

[skip ci]
2022-11-04 14:20:48 +11:00
David Cook
8d49ad9d18 Update Transifex config for APIv3
I installed the latest version of the CLI client (1.4.1), and the old config no longer worked. This config contains:
 - o: organisation
 - p: project
 - r: resource

You may need to upgrade your installation:

    tx update
2022-11-04 09:46:11 +11:00
Jean-Baptiste Bellet
228e484f02 Flatpicker instance can now handle flatpickr:change event
With:
```
detail: {
  startDate: "2022-10-02",
  endDate: "2022-10-10"
}
```
2022-11-03 16:57:03 +01:00
Jean-Baptiste Bellet
66a684920a allSaved() method from LineItems needs to be spy 2022-11-03 15:55:48 +01:00
Jean-Baptiste Bellet
1a241e4953 Only call confirmRefresh() on time, on date range change
Previously, when changing the date range, we had several modals that opened.
Now, the `confirmRefresh()` method should be open only one time.

Update specs as well:
 - use the method `accept_confirm`
 - Removing pending and sleep as the spec is now green
2022-11-03 15:55:48 +01:00
dependabot[bot]
74529cd595 Merge pull request #9930 from openfoodfoundation/dependabot/bundler/view_component-2.75.0 2022-11-03 13:50:27 +00:00
jibees
d69c2f8314 Merge pull request #9931 from filipefurtad0/fix_flaky_spec_9805_4
Sets retry: 3 on flaky example
2022-11-03 14:46:39 +01:00
jibees
3f00e523d3 Merge pull request #9932 from filipefurtad0/fix_flaky_bom_2
Sets retry: 3 for BOM spec
2022-11-03 14:45:51 +01:00
filipefurtad0
c10f5ce5df Sets retry: 3 for BOM spec 2022-11-03 13:13:42 +00:00
filipefurtad0
6bf332ef20 Sets retry: 3 on flaky example 2022-11-03 12:48:22 +00:00
dependabot[bot]
ef27e4f241 Bump view_component from 2.74.1 to 2.75.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.74.1 to 2.75.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v2.74.1...v2.75.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-03 09:03:30 +00:00
David Cook
af2c185f9f Update release issue template
Fix link 😳
2022-11-03 17:59:46 +11:00
David Cook
d7558a9aea Update release issue template
Add link to slack channel
2022-11-03 17:55:17 +11:00
David Cook
076244ee1c Update translations 2022-11-03 17:30:01 +11:00
Maikel
2e2488a25e Make Github expand the issue title on pull request 2022-11-03 14:11:51 +11:00
Maikel Linke
762beb7c1c Load product images in the shop lazily
The browser decides when to load the image, usually when it's close to
the viewport.
2022-11-03 14:02:01 +11:00
Maikel Linke
118c1f7cbd Cache address JSON to avoid database queries
We found that our database is quite busy querying the country all the
time. One source of these queries is the shop front which serializes
enterprises including their addresses. But addresses should be safe to
cache because:

- country records never change
- state records never change
- updating any other attribute changes the cache key

The caching was previously removed when the state_name attribute was
added. That is technically correct because it's possible to change a
state's name without updating the address. Then the cache would be out
of date. But we never update state names. And if we did, we would need
to invalidate the cache now.
2022-11-03 13:07:59 +11:00
Maikel Linke
8009b37723 Spec the AddressSerializer before changing it 2022-11-03 13:01:02 +11:00
dependabot[bot]
bf950d7c69 Merge pull request #9922 from openfoodfoundation/dependabot/npm_and_yarn/stimulus-3.1.1 2022-11-02 07:42:12 +00:00
Maikel Linke
a2c4242994 Simplify Address code
The DefaultCountry code has a fallback already.
2022-11-02 16:21:15 +11:00
Maikel Linke
392aeb7321 Remove unused method loading default country
And another unused method.
2022-11-02 16:21:15 +11:00
Maikel Linke
f971131888 Cache default country for an hour
The default country usually never changes after the initial setup of an
instance.
2022-11-02 15:33:43 +11:00
Maikel
257959448a Merge pull request #9921 from openfoodfoundation/dependabot/bundler/rubocop-1.38.0
Bump rubocop from 1.37.1 to 1.38.0
2022-11-02 13:00:57 +11:00
Maikel
ba4e7e440d Merge pull request #9896 from jibees/improve-reliability-of-specs
Flaky ; Add a `retry` on spec
2022-11-02 11:25:16 +11:00
Maikel
cb83069101 Merge pull request #9920 from filipefurtad0/webmock_do_not_always_require
Disables default loading of webmock and some seldom used gems
2022-11-02 11:10:05 +11:00
Maikel
456355da79 Merge pull request #9893 from jibees/small-improvments-on-script/rspec-slow-repeat-file
Small improvements on `script/rspec-slow-repeat` file
2022-11-02 11:01:04 +11:00
dependabot[bot]
2dc3c472c1 Bump stimulus from 3.1.0 to 3.1.1
Bumps [stimulus](https://github.com/stimulusjs/stimulus) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/stimulusjs/stimulus/releases)
- [Changelog](https://github.com/hotwired/stimulus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusjs/stimulus/compare/v3.1.0...v3.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 09:30:31 +00:00
dependabot[bot]
dfec0c3caf Bump rubocop from 1.37.1 to 1.38.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.37.1 to 1.38.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.37.1...v1.38.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 09:30:16 +00:00
filipefurtad0
73596308ab Disables default loading of some other seldom used gems 2022-10-31 22:10:58 +00:00
filipefurtad0
b736db0d7b Disables default loading of webmock gem 2022-10-31 22:07:07 +00:00
Jean-Baptiste Bellet
3ff1cd0793 Prefer to killall descendants instead of just killing yes processes 2022-10-31 16:11:32 +01:00
Jean-Baptiste Bellet
b93f6dfdad Add convenient logging when failing 2022-10-31 16:11:32 +01:00
Jean-Baptiste Bellet
9ba0695652 Trap CTRL+C to exit all yes commands 2022-10-31 16:11:31 +01:00
Jean-Baptiste Bellet
df42a88150 Retry specs as couldn't make it reliable 2022-10-31 15:34:04 +01:00
dependabot[bot]
8b73660d75 Merge pull request #9915 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.4 2022-10-31 10:11:54 +00:00
dependabot[bot]
f214c1f14f Merge pull request #9916 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.0.3 2022-10-31 09:41:02 +00:00
Jean-Baptiste Bellet
0eff4d3906 Add some comment on the purpose 2022-10-31 10:19:36 +01:00
Jean-Baptiste Bellet
84831266f1 Remove useless information 2022-10-31 10:19:14 +01:00
dependabot[bot]
5e1d4892b1 Bump active_storage_validations from 1.0.2 to 1.0.3
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/compare/1.0.2...1.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 09:05:49 +00:00
dependabot[bot]
7260bf1041 Bump @floating-ui/dom from 1.0.3 to 1.0.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.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>
2022-10-31 09:04:17 +00:00
dependabot[bot]
ded0604d18 Bump spreadsheet_architect from 4.2.0 to 5.0.0
Bumps [spreadsheet_architect](https://github.com/westonganger/spreadsheet_architect) from 4.2.0 to 5.0.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/v4.2.0...v5.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 09:03:40 +00:00
Maikel
01a907de9f Merge pull request #9907 from filipefurtad0/fix_flaky_spec_9805_2
Adds retry: 2 option
2022-10-31 11:46:53 +11:00
Maikel
5e0a08d99b Merge pull request #9906 from filipefurtad0/fix_flaky_spec_9902
Wraps success message around within block; adds retry option
2022-10-31 11:45:49 +11:00
Vinicius Uehara
6da442eb97 Fix trailing whitespace 2022-10-30 21:42:48 -03:00
Maikel
7b5debb76b Merge pull request #9904 from openfoodfoundation/dependabot/npm_and_yarn/js-big-decimal-1.3.12
Bump js-big-decimal from 1.3.10 to 1.3.12
2022-10-31 11:41:46 +11:00
Vinicius Uehara
f6cc9fca26 Prioritize attribute errors over product validations
With product validations being prioritized, custom and
insightful error messages were being overwriten by
general and ambiguous model validations, which
were confusing users
2022-10-30 20:02:08 -03:00
Vinicius Uehara
1f498e6052 Improve shipping category not found error message 2022-10-30 20:02:05 -03:00
filipefurtad0
32fb898962 Adds retry: 2 option 2022-10-28 18:32:21 +01:00
filipefurtad0
df8fd88682 Wraps success message around within block; adds retry option 2022-10-28 18:03:45 +01:00
Konrad
68b2e48fb3 Merge pull request #9900 from ijdershem/idersh/issue-9845
[9845] Make checkout terms and conditions label clickable
2022-10-28 14:28:06 +02:00
Konrad
0202bb40cf Merge pull request #9827 from saunmanoj888/fix-vairant-unit-decimal-issue
Fix unit description UI issue on updating a Product having imperial weight (oz)
2022-10-28 13:52:00 +02:00
Filipe
f7c62dfe45 Merge pull request #9862 from drummer83/master
Format reports as list, even if only one sub-type available
2022-10-28 12:13:42 +01:00
Konrad
1c185c2ca4 Merge pull request #9823 from abdellani/fix-product-duplication
Fix product duplication
2022-10-28 12:51:01 +02:00
dependabot[bot]
883f01e3e6 Bump js-big-decimal from 1.3.10 to 1.3.12
Bumps [js-big-decimal](https://github.com/royNiladri/js-big-decimal) from 1.3.10 to 1.3.12.
- [Release notes](https://github.com/royNiladri/js-big-decimal/releases)
- [Commits](https://github.com/royNiladri/js-big-decimal/compare/v1.3.10...v1.3.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-28 09:04:17 +00:00
jibees
8ccc88d770 Merge pull request #9897 from filipefurtad0/fix_flaky_spec_9805
Wraps expectation on within block
2022-10-28 10:47:04 +02:00
jibees
133512e4f4 Merge pull request #9898 from filipefurtad0/fix_flaky_spec_9894
Changes click method making it overlap-safe
2022-10-28 10:45:52 +02:00
dependabot[bot]
86b4570fc2 Merge pull request #9901 from openfoodfoundation/dependabot/bundler/test-prof-1.0.11 2022-10-28 07:45:14 +00:00
dependabot[bot]
3c996fdfb3 Bump test-prof from 1.0.10 to 1.0.11
Bumps [test-prof](https://github.com/test-prof/test-prof) from 1.0.10 to 1.0.11.
- [Release notes](https://github.com/test-prof/test-prof/releases)
- [Changelog](https://github.com/test-prof/test-prof/blob/master/CHANGELOG.md)
- [Commits](https://github.com/test-prof/test-prof/compare/v1.0.10...v1.0.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-28 07:02:29 +00:00
dependabot[bot]
8048dc2c8b Merge pull request #9891 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.17.2 2022-10-28 07:01:20 +00:00
ijdershem-jf
0f9f4b07a8 [9845] Make checkout terms and conditions label clickable; associate label with input using correct for attribute 2022-10-27 20:30:42 -06:00
filipefurtad0
a6fdefff08 Changes click method making it overlap-safe 2022-10-27 21:25:45 +01:00
filipefurtad0
6a28918654 Wraps expectation on within block 2022-10-27 19:15:08 +01:00
Konrad
d544233bac Merge pull request #9780 from jibees/9777-select-the-right-country
Admin, Enterprise Details: Fix country selection on business address panel
2022-10-27 14:32:52 +02:00
dependabot[bot]
d577d60de6 Bump rubocop-rails from 2.17.1 to 2.17.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.17.1 to 2.17.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.17.1...v2.17.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-27 10:26:01 +00:00
Sigmund Petersen
473a35f330 Merge pull request #9892 from filipefurtad0/dependabot_exclude_push_from_build_double
Excludes build triggers using /** syntax for branch pushes
2022-10-27 12:24:40 +02:00
filipefurtad0
2fd8ffa413 Excludes build triggers using /** syntax for branch pushes 2022-10-27 11:00:39 +01:00
Jean-Baptiste Bellet
bbf400a83b /proc/cpuinfo is not available on Darwin arch (ie. mac) 2022-10-27 11:19:55 +02:00
Maikel Linke
56667f6142 Simplify test setup with enabled features
If a feature is activated or not depends on the database which is reset
after each test scenario. So enabling a feature doesn't leak into other
scenarios.

Just enabling the feature is less code and more realistic than mocking a
method call.
2022-10-27 15:32:05 +11:00
Maikel Linke
f9246f1917 Remove unused/broken feature toggle helper 2022-10-27 15:25:33 +11:00
Maikel Linke
36c44a5487 Allow FeatureToggleConstraint to run w/o warden
Routing specs and controller specs don't set warden on the request
environment. While we could try to re-implement Warden/Devise logic
here, it's much easier to not rely on the environment to be set.

While I'm usually opposed to changing production code to make testing
easier, it does avoid a lot of complication in this case. And maybe it
would be handy in other circumstances to have a more defensive approach
to checking the logged in user.
2022-10-27 15:07:04 +11:00
Maikel Linke
d1cd1fdefe Update translations 2022-10-27 11:00:42 +11:00
Maikel
df868d88d8 Merge pull request #9883 from filipefurtad0/dependabot_exclude_push_from_build
Adds ignore tag for pull_request dependabot branches
2022-10-27 10:45:04 +11:00
Maikel
da61fdbc2c Merge pull request #9881 from openfoodfoundation/dependabot/bundler/pdf-reader-2.11.0
Bump pdf-reader from 2.10.0 to 2.11.0
2022-10-27 10:34:54 +11:00
dependabot[bot]
a07b72c3c9 Bump aws-sdk-s3 from 1.117.0 to 1.117.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.117.0 to 1.117.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>
2022-10-26 22:55:37 +00:00
Maikel
54b0554bb4 Merge pull request #9831 from filipefurtad0/fix_flaky_spec_bom_9811
Brings back rspec_retry; Creates helper method for flaky spec #9811
2022-10-27 09:52:43 +11:00
Rachel Arnould
2652bc086a Merge pull request #9755 from cillian/order-cycle-payment-methods
Let people choose which payment methods are available to customers on order cycles
2022-10-26 20:10:34 +02:00
filipefurtad0
f72e040a4d Adds ignore tag for pull_request dependabot branches 2022-10-26 13:58:28 +01:00
dependabot[bot]
1546619718 Bump pdf-reader from 2.10.0 to 2.11.0
Bumps [pdf-reader](https://github.com/yob/pdf-reader) from 2.10.0 to 2.11.0.
- [Release notes](https://github.com/yob/pdf-reader/releases)
- [Changelog](https://github.com/yob/pdf-reader/blob/main/CHANGELOG)
- [Commits](https://github.com/yob/pdf-reader/compare/v2.10.0...v2.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 12:40:42 +00:00
dependabot[bot]
1c17c37915 Merge pull request #9879 from openfoodfoundation/dependabot/bundler/oauth2-1.4.11 2022-10-26 12:39:20 +00:00
dependabot[bot]
063e424bc0 Merge pull request #9878 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.117.0 2022-10-26 12:36:25 +00:00
filipefurtad0
b53faceebb Retries improved but still flaky examples 2022-10-26 13:26:21 +01:00
filipefurtad0
aebf84b53f Brings back rspec-retry gem and configs 2022-10-26 13:26:21 +01:00
dependabot[bot]
9ce1c536e4 Merge pull request #9880 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.17.1 2022-10-26 09:50:48 +00:00
Jean-Baptiste Bellet
edb2645af1 Add a country to test db and modify one spec
Check that businness address changes are ok
Test with another county since only one country and one state couldn't spot the fact that when changing country it needs to change also states selector
2022-10-26 11:21:44 +02:00
Jean-Baptiste Bellet
d797ef2b3a As we are in the Business Address panel, use the business_address attr
Not the address one, which is different

Business address country could be null, so use an empty array
2022-10-26 11:21:44 +02:00
Jean-Baptiste Bellet
d46105ea90 Correct some input styling 2022-10-26 11:21:44 +02:00
Jean-Baptiste Bellet
151e71b4d9 Actually controller is named dependEnt-select 2022-10-26 11:21:44 +02:00
Jean-Baptiste Bellet
b6bc4c66a2 Specify the current value of country 2022-10-26 11:21:44 +02:00
dependabot[bot]
b8b50fa165 Bump rubocop-rails from 2.16.1 to 2.17.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.16.1 to 2.17.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.16.1...v2.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 09:06:16 +00:00
dependabot[bot]
4d23113265 Bump oauth2 from 1.4.10 to 1.4.11
Bumps [oauth2](https://gitlab.com/oauth-xx/oauth2) from 1.4.10 to 1.4.11.
- [Release notes](https://gitlab.com/oauth-xx/oauth2/tags)
- [Changelog](https://gitlab.com/oauth-xx/oauth2/blob/main/CHANGELOG.md)
- [Commits](https://gitlab.com/oauth-xx/oauth2/compare/v1.4.10...v1.4.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 09:04:45 +00:00
dependabot[bot]
f909b742ce Bump aws-sdk-s3 from 1.116.0 to 1.117.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.116.0 to 1.117.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>
2022-10-26 09:04:18 +00:00
Maikel Linke
6aefc23c35 Allow devs to lazy-load app with right dependency 2022-10-26 14:08:27 +11:00
Maikel Linke
7c562d321d Activate DfcProvider with feature toggle, not prod
We want to test in dev and on staging, too.
2022-10-26 14:08:27 +11:00
Maikel
5a4727138c Merge pull request #9875 from filipefurtad0/fix_flaky_spec_8701
Minor changes to improve flakyness
2022-10-26 14:00:08 +11:00
Maikel
fe05d17078 Merge pull request #9872 from jibees/update-actions/upload-artifact-to-lastest-version
Build: use the latest version of `actions/upload-artifact`
2022-10-26 13:58:48 +11:00
Maikel Linke
9f9d8020c1 Fix URL generation for report without subtype
The URL is generated in the partial and it just needs to know that
there's no subtype.
2022-10-26 11:53:25 +11:00
Maikel Linke
3ebd896c3e Remove outdated ignoring of columns
Those columns have been removed from the database and don't need to be
ignored any more.
2022-10-26 10:42:19 +11:00
filipefurtad0
14955ac8ca Minor changes to improve flakyness 2022-10-25 17:39:10 +01:00
dependabot[bot]
06c6853323 Merge pull request #9856 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-docs-6.5.13 2022-10-25 14:08:01 +00:00
dependabot[bot]
4e0b206c7b Merge pull request #9857 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-controls-6.5.13 2022-10-25 13:59:39 +00:00
Konrad
3d003a735f Merge pull request #9851 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.116.0
Bump aws-sdk-s3 from 1.114.0 to 1.116.0
2022-10-25 15:52:34 +02:00
Jean-Baptiste Bellet
e16c8661a2 Use the same template even if there is no sub_report 2022-10-25 15:27:43 +02:00
dependabot[bot]
eaa6e9bc18 Bump @storybook/addon-docs from 6.5.12 to 6.5.13
Bumps [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/addons/docs) from 6.5.12 to 6.5.13.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.13/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.13/addons/docs)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 13:20:15 +00:00
dependabot[bot]
91652ba792 Bump @storybook/addon-controls from 6.5.12 to 6.5.13
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/addons/controls) from 6.5.12 to 6.5.13.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.13/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.13/addons/controls)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 13:19:28 +00:00
dependabot[bot]
4bf640f0c4 Merge pull request #9866 from openfoodfoundation/dependabot/bundler/rubocop-1.37.1 2022-10-25 13:18:51 +00:00
jibees
cf489e809f Merge pull request #9867 from openfoodfoundation/dependabot/bundler/rswag-specs-2.7.0
Bump rswag-specs from 2.6.0 to 2.7.0
2022-10-25 15:18:18 +02:00
jibees
35bb539271 Merge pull request #9855 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-7.2.4
Bump @hotwired/turbo from 7.2.2 to 7.2.4
2022-10-25 15:17:25 +02:00
jibees
b3020a5573 Merge pull request #9854 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.0.3
Bump @floating-ui/dom from 1.0.2 to 1.0.3
2022-10-25 15:17:05 +02:00
jibees
250b9bc3c0 Merge pull request #9853 from openfoodfoundation/dependabot/npm_and_yarn/storybook/server-6.5.13
Bump @storybook/server from 6.5.12 to 6.5.13
2022-10-25 15:16:30 +02:00
Jean-Baptiste Bellet
e58add6af0 Use the latest version of actions/upload-artifact 2022-10-25 15:00:14 +02:00
filipefurtad0
3447959a06 Adds click_on_select2 helper 2022-10-25 13:32:29 +01:00
Mohamed ABDELLANI
41440af533 test if product's variant is duplicated properly 2022-10-25 11:28:16 +01:00
Mohamed ABDELLANI
826b1e95ef add a product variant. 2022-10-25 11:27:51 +01:00
Mohamed ABDELLANI
6cabbee1a2 rename new_variant double to new_master_variant 2022-10-25 11:27:14 +01:00
Mohamed ABDELLANI
11bc5c775c rename the variant double to master_variant 2022-10-25 11:26:43 +01:00
Mohamed ABDELLANI
788093c7cf implement variant duplication 2022-10-25 11:23:35 +01:00
Mohamed ABDELLANI
f44228eef7 extract variant duplication logic into a separated function 2022-10-25 11:23:35 +01:00
Konrad
62935f65a2 Merge pull request #9849 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.0.2
Bump active_storage_validations from 1.0.0 to 1.0.2
2022-10-25 12:04:50 +02:00
Konrad
e8425c5805 Merge pull request #9792 from vsmay98/6531-remove-user-registrations-controller
Remove spree user registrations controller file
2022-10-25 11:52:34 +02:00
dependabot[bot]
31cde7e06e Bump @hotwired/turbo from 7.2.2 to 7.2.4
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 7.2.2 to 7.2.4.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v7.2.2...v7.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 09:31:08 +00:00
dependabot[bot]
f467efc42b Bump @storybook/server from 6.5.12 to 6.5.13
Bumps [@storybook/server](https://github.com/storybookjs/storybook/tree/HEAD/app/server) from 6.5.12 to 6.5.13.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.13/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.13/app/server)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 09:30:49 +00:00
dependabot[bot]
faa8888e2a Bump @floating-ui/dom from 1.0.2 to 1.0.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.0.3/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 09:30:47 +00:00
jibees
84f488917e Merge pull request #9865 from jibees/sort-package.json-file
Sort package.json to avoid conflicts
2022-10-25 11:29:41 +02:00
dependabot[bot]
00c57fa06c Bump rswag-specs from 2.6.0 to 2.7.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.6.0 to 2.7.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.6.0...2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 09:03:31 +00:00
dependabot[bot]
c4748104a0 Bump rubocop from 1.36.0 to 1.37.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.36.0 to 1.37.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.36.0...v1.37.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 09:02:59 +00:00
Jean-Baptiste Bellet
46bbf1b1ec Sort package.json to avoid conflicts 2022-10-25 10:54:11 +02:00
Konrad
d12e99e363 Merge pull request #9808 from abdellani/sort_items_by_product_name_in_ocstd_report
add sort by product name to order_cycle_supplier_totals_by_distributo…
2022-10-25 10:34:22 +02:00
Jean-Baptiste Bellet
ede38a417f Respect rubocop Metrics/AbcSize by extracting a method 2022-10-25 10:22:35 +02:00
Jean-Baptiste Bellet
23b5e73c97 Weight is computed with unit_value and product variant_unit_scale 2022-10-25 10:22:35 +02:00
Maikel Linke
7081e712e8 Flag style issue on todo list for later
The code needs some bigger refactoring to avoid this style issue.
2022-10-25 10:09:26 +02:00
Nihal Mohammed
5c0f3a2d4b Add weight, height, width, depth fields to pack by customer reports
+ update specs by adding dimensions fields into reports specs
2022-10-25 10:09:26 +02:00
Nihal Mohammed
f8657aaf41 Copy dimensions from variants to line items before validation 2022-10-25 10:09:26 +02:00
Nihal Mohammed
f38661cdf1 Add weight, height, width, depth fields to line items 2022-10-25 10:09:26 +02:00
Maikel
85c8a0ac35 Merge pull request #9852 from openfoodfoundation/dependabot/bundler/rswag-api-2.7.0
Bump rswag-api from 2.6.0 to 2.7.0
2022-10-25 14:33:04 +11:00
Maikel
0e9869c4d3 Merge pull request #9848 from openfoodfoundation/dependabot/bundler/debug-1.6.3
Bump debug from 1.6.2 to 1.6.3
2022-10-25 14:02:17 +11:00
Maikel
a3416bcb80 Merge pull request #9790 from matisnape/update-docker-readme-for-m1-users-#8421
Update docker readme for M1 users [#8421]
2022-10-25 11:12:09 +11:00
Maikel
bf206dc4e6 Merge pull request #9858 from jibees/setup-redis-for-build
Setup redis on build
2022-10-25 11:11:08 +11:00
Maikel
55ef4dfe0d Merge pull request #8809 from Matt-Yorkley/dead-code-variants-check
Remove dead code: Product#variants?
2022-10-25 10:49:01 +11:00
Konrad
3489f08ec5 Format reports as list, even if only one sub-type available 2022-10-25 00:31:00 +02:00
Konrad
4a7ac45dba Merge pull request #9830 from jibees/9821-remove-report_inverse_columns_logic-feature-toggle
Remove `report_inverse_columns_logic` feature toggle
2022-10-25 00:23:31 +02:00
Konrad
df925d6412 Merge pull request #9737 from Laurel16/fix_issue#9559
Translate error messages when creating products
2022-10-24 23:17:32 +02:00
Konrad
84bf38ce4d Merge pull request #9791 from vsmay98/8250-fix-snail-for-all-enterprise-fee
Fix snail issue for all enterprise fees
2022-10-24 21:49:45 +02:00
saunmanoj888
490c5afc59 Mock bigDecimal methods in specs 2022-10-25 00:05:31 +05:30
filipefurtad0
367f77f477 Replaces select2_select helper for find/click 2022-10-24 17:57:10 +01:00
Jean-Baptiste Bellet
892a020bcc Setup redis on build 2022-10-24 17:01:12 +02:00
dependabot[bot]
1f5281ac1a Bump rswag-api from 2.6.0 to 2.7.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.6.0 to 2.7.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.6.0...2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 11:19:45 +00:00
Rachel Arnould
3c9b7a10f4 Merge pull request #9058 from Matt-Yorkley/oidc-redux
Add OIDC authentication for Les Communs
2022-10-24 13:18:36 +02:00
Jean-Baptiste Bellet
e2441cdcf6 Use the report type or subtype as the title 2022-10-24 11:12:22 +02:00
Jean-Baptiste Bellet
6dec80aaaf Links only on right side 2022-10-24 11:12:22 +02:00
Jean-Baptiste Bellet
1c349049d1 Remove report description when they are useless 2022-10-24 11:12:22 +02:00
Jean-Baptiste Bellet
edc667a336 By default, some columns are hidden. 2022-10-24 11:12:22 +02:00
Jean-Baptiste Bellet
02787e668f Remove report_inverse_columns_logic feature toggle
Co-Authored-By: Maikel <maikel@email.org.au>
2022-10-24 11:12:22 +02:00
dependabot[bot]
830a7c8f1d Bump aws-sdk-s3 from 1.114.0 to 1.116.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.114.0 to 1.116.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>
2022-10-24 09:03:55 +00:00
dependabot[bot]
cd43bd4522 Bump active_storage_validations from 1.0.0 to 1.0.2
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.0.0 to 1.0.2.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/compare/1.0.0...1.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 09:03:07 +00:00
dependabot[bot]
9dbc9f7272 Bump debug from 1.6.2 to 1.6.3
Bumps [debug](https://github.com/ruby/debug) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.6.2...v1.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 09:02:49 +00:00
Mohamed ABDELLANI
da9a4803ff add it "lists products sorted by name" test 2022-10-24 09:01:42 +01:00
Mohamed ABDELLANI
732ebd8457 fix the expected table size in "generates the report" test 2022-10-24 09:01:42 +01:00
Mohamed ABDELLANI
39e567d386 set line_items_count to 3 2022-10-24 09:01:42 +01:00
Mohamed ABDELLANI
4740c2b0db add sort by product name to order_cycle_supplier_totals_by_distributor report rules 2022-10-24 09:01:42 +01:00
jibees
ee70ab8adb Merge pull request #9847 from mkllnk/stable-orders_and_fulfillment_spec
Expect report rows for same product in random order
2022-10-24 09:57:06 +02:00
Maikel
936a96bd6c Merge pull request #9839 from openfoodfoundation/dependabot/bundler/rswag-ui-2.7.0
Bump rswag-ui from 2.6.0 to 2.7.0
2022-10-24 16:01:04 +11:00
Maikel
b3492981d3 Merge pull request #9832 from openfoodfoundation/dependabot/bundler/nokogiri-1.13.9
Bump nokogiri from 1.13.8 to 1.13.9
2022-10-24 15:58:57 +11:00
Maikel Linke
167ce0e53c Expect report rows in random order
It's not deterministic which variant is shown first and therefore this
spec would fail from time to time.
2022-10-24 15:40:35 +11:00
Maikel
8f47d2b2be Merge pull request #9820 from jibees/update-all-github-action-to-avoid-deprecated
Upgrade deprecated github/actions in our CI
2022-10-24 15:26:54 +11:00
Maikel
e873771f18 Merge pull request #9822 from filipefurtad0/redis_CannotConnectError
Extracts routing outside it block
2022-10-24 13:33:01 +11:00
Maikel
627b8af37b Merge pull request #9828 from mkllnk/authorize-api-key
Prevent users from changing API keys for others
2022-10-24 11:22:35 +11:00
Cillian O'Ruanaidh
eb72ec8e13 An order cycle isn't ready for checkout if a tag rule means no payment/shipping methods are available to the customer 2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
7458dccea6 Call @order_cycles.count instead of #size because TagRuleApplicator doesn't return Relation anymore
In March 2020 this was changed to use :size instead of :count because TagRuleApplicator returned an ActiveRecord::Relation, see:

d2eee1dafd

However in October 2020 TagRuleApplicator was changed to always return an Array so this is no longer needed, see:

7e606471e4
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
3e24b7ba6b Assign variable across two lines so Rubocop override comment isn't needed in OrderCycleClone
Co-authored-by: Maikel <maikel@email.org.au>
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
62cd507fb9 Stub Spree::Config.stripe_connect_enabled instead of changing it before and back after tests
It's less code and sometimes there can be issues when config cache values are changed.

Co-authored-by: Maikel <maikel@email.org.au>
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
beba3c7684 Disable Metrics/ClassLength check for OrderCycleForm 2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
f5bd23b4d8 Remove unused Spree::Order#available_payment_methods method
This was introduced in 47d2f698ef but we are using OrderAvailablePaymentMethods now.
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
2c14aecf4f Extract a OrderCycleClone service
Before it was giving a Rubocop error, probably not a bad idea anyway.
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
4e6d64c0a1 Let people choose which payment methods are available to customers on order cycles 2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
5718f9f00c Create :order_cycles_distributor_payment_methods HABTM join table 2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
5423c1c02e Resolve conflict in db/schema.rb 2022-10-21 17:21:24 +01:00
saunmanoj888
ee8454bd2c Use js-big-decimal package for calculation 2022-10-21 21:30:00 +05:30
dependabot[bot]
45c23a76ff Bump rswag-ui from 2.6.0 to 2.7.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.6.0 to 2.7.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.6.0...2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 13:24:52 +00:00
Jean-Baptiste Bellet
5a1d9013c6 Update all locales with the latest Transifex translations 2022-10-20 23:12:32 +02:00
jibees
3a68e237de Merge pull request #9772 from mkllnk/revenue-report-for-au
Add more fields to revenue report as used by Aus
2022-10-20 23:10:17 +02:00
Jean-Baptiste Bellet
87ed23211e Use the last version of github/codeql-action/upload-sarif 2022-10-20 17:42:22 +02:00
jibees
48e18b016a Merge pull request #9756 from vsmay98/8249-fix-snail-for-all-shipping-method-fee
Fix snail issue for all shipping method fees
2022-10-20 17:31:24 +02:00
jibees
da851079f4 Merge pull request #9776 from abdellani/product-creation-minor-improvements
Product creation minor improvements
2022-10-20 17:30:47 +02:00
jibees
1d265d19ce Merge pull request #8872 from Matt-Yorkley/bugsnag-data
Update Bugsnag error data
2022-10-20 17:30:14 +02:00
jibees
9e4bd23332 Merge pull request #9738 from AthiraKadampatta/9726-remove-unused-paperclip-columns
Delete unused paperclip columns.
2022-10-20 17:29:44 +02:00
jibees
fdc362cb44 Merge pull request #9806 from mkllnk/feature-constraint
Generalise feature toggle constraint
2022-10-20 17:27:46 +02:00
Vishal Jain
8d3845508c remove check_permissions method 2022-10-20 19:54:23 +05:30
Vishal Jain
952b6039f9 Remove spree user registrations controller file 2022-10-20 19:54:23 +05:30
Jean-Baptiste Bellet
053af8416b Previous setup-ruby action was deprecated. Use ruby/setup-ruby@v1 2022-10-20 16:14:14 +02:00
dependabot[bot]
955b84ae6f Bump nokogiri from 1.13.8 to 1.13.9
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.8 to 1.13.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.13.8...v1.13.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-20 13:45:27 +00:00
jibees
2455ecabde Merge pull request #9758 from openfoodfoundation/dependabot/bundler/activerecord-import-1.4.1
Bump activerecord-import from 1.4.0 to 1.4.1
2022-10-20 15:44:42 +02:00
Konrad
71037022ec Merge pull request #9816 from viniciusueharaweb/9703-product-description-should-have-a-pointer-cursor
Add pointer cursor when hovering a clickable product description
2022-10-20 10:38:46 +02:00
Jean-Baptiste Bellet
7ffd4669be Change node version to use the latest LTS
We probably need to modify our `ofn-install` build to also use the latest LTS
2022-10-20 10:20:09 +02:00
jibees
2b7b83ba37 Merge pull request #9826 from filipefurtad0/fix_flaky_spec_bom_9824
Clarifies contexts, cleans-up spec DRY
2022-10-20 09:55:33 +02:00
Maikel Linke
fc79612f26 Prevent users from changing API keys for others
It was checking for the permission to create a user which everyone can
do. Now it's checking for updating that particular user and doesn't
allow generating new keys for other users any more.

This would have been an inconvenience but not a big security issue
because you can't view the key of another user.
2022-10-20 17:56:46 +11:00
Vishal Jain
de28027623 add system spec 2022-10-20 12:15:22 +05:30
Vishal Jain
755107ec9f Fix snail issue for all enterprise fees 2022-10-20 12:15:21 +05:30
saunmanoj888
b40cd579bc Fix spec failure 2022-10-19 23:18:22 +05:30
saunmanoj888
8e45b758ba Fix unit value UI issue 2022-10-19 22:59:28 +05:30
filipefurtad0
c4de247dd9 Clarifies contexts, cleans-up spec DRY 2022-10-19 16:56:04 +01:00
filipefurtad0
a244b34627 Extracts routing to context (DRY); creates context for separate it block 2022-10-19 11:15:15 +01:00
filipefurtad0
dabe37ebcb Extracts routing outside it block 2022-10-19 11:01:56 +01:00
Jean-Baptiste Bellet
2fcbe437f2 Upgrade "actions/setup-node" to non-deprecated version 2022-10-19 11:31:47 +02:00
Jean-Baptiste Bellet
642938afe0 Upgrade "actions/checkout" to non-deprecated version 2022-10-19 11:28:31 +02:00
jibees
7b96a1fb5b Merge pull request #9815 from mkllnk/bulk-product-spec
Stabilise spec by waiting for JS
2022-10-19 09:50:55 +02:00
Matt-Yorkley
0ca86344d2 Update use of deprecated #add_tab method to #add_metadata 2022-10-19 17:36:53 +11:00
Matt-Yorkley
980f004b83 Update Bugsnag error data 2022-10-19 17:36:52 +11:00
Matt-Yorkley
c0ee72319f Remove dead code: Product#variants?
This only makes sense in the context of Products which only have "master" variants, and we removed that option a while back.

Remove #variants? check from ProductStock concern
2022-10-19 16:30:12 +11:00
Maikel
3d26b76d17 Merge pull request #9814 from filipefurtad0/fix_flaky_spec_bom_9809
Replaces js select2 methods by find/click methods
2022-10-19 14:41:55 +11:00
Vinicius Uehara
7772c01e16 Add pointer cursor when hovering a clickable product description 2022-10-18 23:11:56 -03:00
Maikel Linke
04921aeed4 Stabilise spec by waiting for JS 2022-10-19 09:59:51 +11:00
filipefurtad0
c71c5054e0 Replaces js select2 methods by find/click methods 2022-10-18 21:27:52 +01:00
Filipe
4015413d1d Merge pull request #9813 from filipefurtad0/fix_flaky_spec_bom
Comments out and adds pending on flaky examples
2022-10-18 11:32:50 +01:00
filipefurtad0
b3059bbdbc Comments out and adds pending on flaky examples 2022-10-18 10:28:44 +01:00
Maikel Linke
a35fab5e1f Speed up spec by skipping a page 2022-10-18 14:27:18 +11:00
Maikel Linke
c22f6cb805 Add more fields to revenue report as used by Aus
We currently maintain our own CSV generation script which could be
replaced if we got all this information here.
2022-10-18 12:51:13 +11:00
Maikel Linke
f00aeb006e Allow enterprise users to authorize via OIDC 2022-10-18 11:32:14 +11:00
Matt-Yorkley
66c3ba3bba Remove default omniauth link 2022-10-18 11:32:14 +11:00
Matt-Yorkley
b322df8515 Generate devise links view 2022-10-18 11:32:14 +11:00
Matt-Yorkley
617164684c Configure OIDC 2022-10-18 11:32:14 +11:00
Matt-Yorkley
b36fae1bbb Add migration for omniauth attributes 2022-10-18 11:31:35 +11:00
Matt-Yorkley
3a5f263fb5 Add omniauth / OIDC gems 2022-10-18 11:31:35 +11:00
Filipe
d5c3edc8fa Merge pull request #9749 from drummer83/master
Fix layout of 'Create a new product' button in dashboard overview
2022-10-17 13:45:37 +01:00
Laurel16
ec65e4dcaa Fix: Missing translation in error messages issue#9559
Fix: changing local translation for variant_unit in spree/product en.yml

Fix: add unite_value key to en.yml
2022-10-17 15:32:04 +11:00
Maikel
c83eb5d5dc Merge pull request #9768 from ashwini-seshadri/admin_permissions_granting_permission_to_a_shop_displays_it_in_producers_list_as_if_it_was_a_supplier
Fix for: [Admin][Permissions] Granting permission to a shop displays it in "Producers" list as if it was a supplier #9589
2022-10-17 09:58:03 +11:00
Anna Nowak
9a40329bd7 Update docker readme for m1 users [#8421] 2022-10-15 18:29:51 +02:00
jibees
bf74612892 Merge pull request #9775 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.2.2
Bump tom-select from 2.2.1 to 2.2.2
2022-10-14 09:27:06 +02:00
jibees
eae7d96b30 Merge pull request #9774 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-7.2.2
Bump @hotwired/turbo from 7.2.0 to 7.2.2
2022-10-14 09:21:36 +02:00
Mohamed ABDELLANI
96c6f58ba2 fix test @/spec/system/admin/products_spec.rb:32 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
6a8c7b15dc fix product category errors message in the form 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
955492bfdd show the error message when the variant unit is not selected 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
0000faab91 render the error message when the unit value is not set 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
e3f157ebdd remove empty option from unit size 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
f8af84d9d4 remove red start from tax category form 2022-10-14 03:26:40 +01:00
Mohamed ABDELLANI
bddbb36813 remove red star from supplier 2022-10-14 03:26:40 +01:00
dependabot[bot]
78b73c988e Bump tom-select from 2.2.1 to 2.2.2
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.2.1...v2.2.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>
2022-10-13 09:41:37 +00:00
jibees
cd641cc5d6 Merge pull request #9714 from openfoodfoundation/dependabot/npm_and_yarn/tom-select-2.2.1
Bump tom-select from 2.1.0 to 2.2.1
2022-10-13 11:30:13 +02:00
dependabot[bot]
50555a3fe9 Bump @hotwired/turbo from 7.2.0 to 7.2.2
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 7.2.0 to 7.2.2.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v7.2.0...v7.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-13 09:08:24 +00:00
jibees
7c6e220bf7 Merge pull request #9771 from mkllnk/rspec-slow
Add convencience script to test flaky specs
2022-10-13 10:44:00 +02:00
Maikel Linke
3496b57942 Add convencience script to test flaky specs 2022-10-13 16:28:09 +11:00
Maikel Linke
bc805d94d8 Update translations 2022-10-13 16:03:26 +11:00
Ashwini Seshadri
1596649034 Merge branch 'master' into admin_permissions_granting_permission_to_a_shop_displays_it_in_producers_list_as_if_it_was_a_supplier 2022-10-13 06:48:40 +02:00
Maikel Linke
81461684f3 Generalise feature toggle constraint
Now we can re-use it for any feature.
2022-10-13 10:42:20 +11:00
Maikel
d33cdd1327 Merge pull request #9706 from jibees/9625-create-a-component-to-display-hide-columns-for-report
Create a component to display/hide columns for report
2022-10-13 10:05:27 +11:00
jibees
daaff2f7e8 Merge pull request #9764 from mkllnk/simple-oc-spec
Stabilise spec by waiting for JS requests
2022-10-12 10:17:51 +02:00
Jean-Baptiste Bellet
4de0b9ad11 Avoid warning on compilation 2022-10-12 09:28:50 +02:00
Jean-Baptiste Bellet
14a258c661 Attempt: externalize ofn-drop-down-v2 selector
+ add class `redesigned-checkbox` on `input`

Move `input.redesigned-input` definition outside dropdown definition

--> more generic
2022-10-12 09:28:50 +02:00
jibees
3b3f9a7513 Merge pull request #9766 from openfoodfoundation/dependabot/npm_and_yarn/babel/preset-env-7.19.4
Bump @babel/preset-env from 7.19.3 to 7.19.4
2022-10-12 09:07:53 +02:00
Maikel
3e1b66fd01 Remove extra blank line from Gemfile 2022-10-12 17:15:12 +11:00
Maikel Linke
9da6f862cd Stabilise pending spec 2022-10-12 16:49:29 +11:00
Maikel Linke
3eb597bff4 Fix specs which accidentally reversed relationships 2022-10-12 16:49:29 +11:00
Maikel Linke
46fde6bd40 Remove now unused scope 2022-10-12 16:48:32 +11:00
Ashwini Seshadri
590a09f069 Fixed the permissions relationship, so the shop displays only suppliers and does not display distributors in producers list
and updated relevant tests
2022-10-12 16:48:31 +11:00
Maikel
1d9fbbf69e Merge pull request #9767 from jibees/fix-flaky-spec
BOM Specs, don't need to wait for UI feedback: only check on page content
2022-10-12 11:52:50 +11:00
Maikel
b378d7655f Merge pull request #9762 from openfoodfoundation/dependabot/bundler/view_component-2.74.1
Bump view_component from 2.74.0 to 2.74.1
2022-10-12 11:24:11 +11:00
Rachel Arnould
617a417dc2 Merge pull request #9506 from binarygit/remove-angular-from-payment-methods
Remove angular from payment methods
2022-10-11 13:13:26 +02:00
Jean-Baptiste Bellet
bfbdb5f44b Don't need to wait for UI feedback: only check on page content
ie. table content
2022-10-11 12:16:25 +02:00
Vishal Jain
e02de2b17d Fix snail issue for all shipping method fees 2022-10-11 15:30:19 +05:30
dependabot[bot]
ae84dfe3cd Bump @babel/preset-env from 7.19.3 to 7.19.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.3 to 7.19.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.4/packages/babel-preset-env)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 09:03:45 +00:00
Jean-Baptiste Bellet
8a6874326a selected could be nil if no columns are selected 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
68de510c4e Redesign checkboxes 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
230afd5024 Update multiple_checked_select_component.html.haml 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
41e696282c Don't build inputs, but directly use input checkbox for each option
way simpler this way.
2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
e655d5b188 Remove useless id attribute. Prefer to use data-value directly. 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
7d15baef9d Do not use a variable filter_placeholder but translate it in the view 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
312f2544dd Be sure that option key is a Symbol (it could be a String) 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
157bdd9f3d Add a vertical scrolling 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
b4e041c7e9 Implements the ofn-drop-down-v2 design 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
23e2d28488 Implements the filter options feature 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
0f9ebfe34a Use the MultipleCheckedSelectComponent 2022-10-11 10:05:06 +02:00
Jean-Baptiste Bellet
b7adc5f551 Create the MultipleCheckedComponent
+ Associate the StimulusController to this component
2022-10-11 10:05:06 +02:00
dependabot[bot]
7bb7391634 Bump activerecord-import from 1.4.0 to 1.4.1
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/zdennis/activerecord-import/releases)
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.4.0...v1.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 07:35:27 +00:00
AthiraKadampatta
e5a136801d 9726 Remove attachment_width and attachment_height from spree_asset 2022-10-11 10:26:32 +05:30
AthiraKadampatta
addd2ea9ac #9726 Add migration to remove unused paperclip columns 2022-10-11 10:26:32 +05:30
dependabot[bot]
7b0ce3272a Bump view_component from 2.74.0 to 2.74.1
Bumps [view_component](https://github.com/viewcomponent/view_component) from 2.74.0 to 2.74.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/v2.74.0...v2.74.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>
2022-10-11 04:19:01 +00:00
Maikel Linke
5bbbe4b67a Stabilise spec by waiting for JS requests
Well, two seconds is just a guess. Ideally the page wouldn't display
until we have everything loaded. But this logic will be replaced when we
chuck out AngularJS.

This version passed over 100 runs with a busy CPU on my machine.
2022-10-11 14:57:59 +11:00
Maikel
4705d306b5 Merge pull request #9730 from AthiraKadampatta/9726-unused-paperclip-columns-ignored-list
Ignore paperclip columns to prepare for deletion
2022-10-11 11:44:42 +11:00
Maikel
2082404c87 Merge pull request #9752 from maniSHarma7575/9603-fix-order-cycle-fees-dropdown
Fixed same enterprise appear several times in the fee dropdown list
2022-10-11 09:41:02 +11:00
Maikel
c9a7230fe2 Merge pull request #9635 from mkllnk/stable-specs
Remove retries from test runs
2022-10-11 09:36:50 +11:00
Jean-Baptiste Bellet
1f329e85bc Also include plugins 2022-10-10 17:15:46 +02:00
AthiraKadampatta
b2c778794d 9726 Remove safe navigation operator and simplify call to attachment file name 2022-10-10 16:52:02 +02:00
AthiraKadampatta
80eef9c302 9726 Add attachment_width and attachment_height to the list of ignored columns for spree images 2022-10-10 16:52:02 +02:00
AthiraKadampatta
f40b569a4a 9726 Use active storage filename instead of attachment_file_name of paperclip 2022-10-10 16:52:02 +02:00
AthiraKadampatta
1f161bee1f Add paperclip columns to ignored columns list for enterprise, enterprise group, terms_of_service_file, spree/image models 2022-10-10 16:52:02 +02:00
Jean-Baptiste Bellet
4140e3d153 Import tom-select file directly
can't use "tom-select" anymore, due to a mis-configuration with babel I guess
2022-10-10 16:10:33 +02:00
Jean-Baptiste Bellet
db70c47a31 Specify IE 11 as a target
Comes from error using tom-select:

```
ERROR in ./node_modules/tom-select/dist/esm/tom-select.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: /Users/jibees/dev/openfoodnetwork/node_modules/tom-select/dist/esm/tom-select.js: unknown Statement of type "ForOfStatement"
```
2022-10-10 16:09:43 +02:00
Manish Sharma
cd71233163 Fixed duplicates enterprises in order cycles 2022-10-10 14:30:58 +05:30
Maikel Linke
6ef0e04c18 Mark currently broken spec as pending
I thought it's better to progress with this PR before we break more
things.
2022-10-10 16:03:18 +11:00
Maikel Linke
87274bccc6 Remove retries from test runs
If a spec is flaky, we need to fix it. Retry is just hiding problems for
a while and is adding to execution time.
2022-10-10 14:09:18 +11:00
dependabot[bot]
981c306977 Bump tom-select from 2.1.0 to 2.2.1
Bumps [tom-select](https://github.com/orchidjs/tom-select) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/orchidjs/tom-select/releases)
- [Commits](https://github.com/orchidjs/tom-select/compare/v2.1.0...v2.2.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>
2022-10-10 03:00:21 +00:00
Maikel
82e38d7b91 Merge pull request #9526 from jibees/6730-use-a-date-range-picker
Admin, List of Orders & Orders Bulk Management pages: use a date range picker
2022-10-10 13:59:37 +11:00
Maikel
5894246474 Merge pull request #9682 from binarygit/picked_up_email
Send picked up emails when orders are picked up
2022-10-10 13:15:24 +11:00
Maikel
058a45f4e5 Merge pull request #9442 from jibees/8904-display-fees-name-instead-of-type-on-invoices
Display fees name instead of type on invoices
2022-10-10 13:15:01 +11:00
Maikel
e5ccee42cc Merge pull request #9725 from vsmay98/9468-hide-all-references-hub-from-producers-profile
[Shopfront] Hide hub with "hide all references" setup in producers profiles
2022-10-10 13:11:49 +11:00
Maikel
38f145549a Merge pull request #9741 from mkllnk/empty-variant-param
Avoid error when sending empty variant attributes in bulk product edit
2022-10-10 11:43:10 +11:00
Maikel
f551bea00b Merge pull request #9731 from mkllnk/features
Add used feature toggles to appear in the admin UI
2022-10-10 11:41:05 +11:00
Jean-Baptiste Bellet
f5ebc797c4 Send change event on flatpickr widget close 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
263b36d1d9 Confirm input changed by pressing enter key 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
ea76615763 Forward focus event on calendar open 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
e076e23064 Do not use ng-change on endDate but instead watch both start and end date 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
a272479483 When selecting date range picker, orders should load 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
6ec3e7ee0c Only send event change on valid range (ie. both start and end date)
+ do not refresh data on start date change but only on end date change
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
ec4d091c2e Remove the or label as it was unecessary
and actually, untranslated
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
eec117e769 Implements daterangepicker for /admin/orders/bulk_management
+ update specs as well
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
eb621cae35 Update spec to be more defensive
Actually, this one fail on master too (when changing month?)
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
73f55ae776 Implements daterangepicker for /admin/orders
+ update specs as well
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
19584ce6e0 flatpickr controller is now ready to be used in range mode 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
8942d3d17b Clear date on custom event flatpickr_clear 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
ddfbcacd83 Include plugins 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
c3a7acf9ad import locale 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
fb0d922d73 Remove datetimepicker directive + default values 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
5c83a3277e Replace datetimepicker by flatpickr stimulus controller 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
c6332ab306 Remove datepicker instance 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
6b7030a6a8 Don't use directive, but the flatpickr stimulusjs controller 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
b1fd6d9541 Create the flatpickr date|datetime controller 2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
d73d6dcdb6 Do not import flatpickr via this require
as now flatpickr is managed by yarn and should be imported when module need it, via import
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
792d6d9569 Add stimulus flatpickr
Update yarn.lock
2022-10-08 16:36:26 +02:00
Maikel Linke
1137e6890b Supply feature mock with default value
Otherwise Rspec complains about receiving another argument which is not
the one we defined here before.
2022-10-08 16:23:17 +02:00
Maikel Linke
52e934ec2b Consistently use our FeatureToggle module
Direct calls to Flipper have the downside that we can't add any new
functionality like storing the feature in the database when used.
2022-10-08 16:23:17 +02:00
Maikel Linke
bc26a3aa07 Add used feature toggles to appear in the admin UI
The admin UI shows only features which were added to the database. We
always had to look up a feature's name add it manually before we could
enable it. Now it will appear in the UI after some code asked if it was
enabled.

This only adds a database query once when the feature doesn't exist yet.
The `feature.exist?` call only performs an in-memory lookup in the
memoizer.
2022-10-08 16:23:17 +02:00
binarygit
01c477f2cb Remove angular from Payment Methods 2022-10-08 14:20:54 +02:00
binarygit
8335594351 Add different subject for picked up email 2022-10-08 12:31:26 +02:00
binarygit
44db511e66 Send a picked up email (rather than shipped email) when orders are picked up by customers 2022-10-08 12:31:26 +02:00
Jean-Baptiste Bellet
8b89c901ef Do not display "Admin and Handling" ie. fees total 2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
7b57f2358c Create a new key instead of modifying the old one
it could lead to issues when key is not updated and we should avoid that kind of issue.
2022-10-08 10:00:57 +02:00
Maikel Linke
b297299838 Simplify test of adjustments 2022-10-08 10:00:57 +02:00
Maikel Linke
52843de1da Test against unique fee name
The adjustment factory calls everything "Shipping" by default. This was
confusing here because we were explicitely looking at a non-shipping
fee.
2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
77e644e3d4 Get adjustment which is not the shipping one 2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
72df2867d4 Remove admin_and_handling merging
+ update specs as well
2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
0cc8349c71 Use fee name for the adjustment label instead of type
+ update specs as well
2022-10-08 10:00:57 +02:00
Maikel Linke
47ac118cf7 Simplify ProductSet by using Rails changes feature
I added a line to this class before and that made it too long. Now I
removed a line again to keep code quality up.
2022-10-08 09:03:38 +02:00
Maikel Linke
95d68b98a9 Spec both cases of removing variants from order cycles
The spec tested only the removal but not he keeping of variants.
I want to change this in the next commit to simplify the class.
2022-10-08 09:03:38 +02:00
Maikel Linke
47a43163d8 Avoid error on empty variant attributes
In 2019 Pau observed an error where an empty attributes hash was passed
to the bulk product update method. He added an automated test but wasn't
able to reproduce the error.

A recent change in logic made the spec fail but rspec-retry hid that
fail because it would succeed on a second try (not sure why). I now
changed the logic to ignore empty attributes properly and avoid an error
trying to create a new variant when no attributes are given.

* f940397781 Pau's spec
* 6f228781d4 Fixing error detection
2022-10-08 09:03:38 +02:00
Konrad
52c6f5a222 Fix layout of 'Create a new product' button in dashboard overview 2022-10-07 12:37:45 +02:00
Vishal Jain
b582b61414 add specs to not include hidden hubs 2022-10-07 11:24:32 +02:00
Vishal Jain
6ead127b5c add not hidden scope to hide hidden hub from producers profile 2022-10-07 11:24:32 +02:00
jibees
22cf05ad94 Merge pull request #9742 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.0.0
Bump active_storage_validations from 0.9.8 to 1.0.0
2022-10-07 09:12:47 +02:00
jibees
a2e68026e5 Merge pull request #9743 from openfoodfoundation/dependabot/bundler/sidekiq-scheduler-4.0.3
Bump sidekiq-scheduler from 4.0.2 to 4.0.3
2022-10-07 09:09:04 +02:00
dependabot[bot]
c9419d3437 Bump sidekiq-scheduler from 4.0.2 to 4.0.3
Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases)
- [Changelog](https://github.com/sidekiq-scheduler/sidekiq-scheduler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v4.0.2...v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-06 09:02:55 +00:00
dependabot[bot]
c1f34bc680 Bump active_storage_validations from 0.9.8 to 1.0.0
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 0.9.8 to 1.0.0.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/compare/0.9.8...1.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-06 09:02:40 +00:00
518 changed files with 12222 additions and 8935 deletions

View File

@@ -1 +1,2 @@
defaults
IE 11

View File

@@ -6,3 +6,6 @@ STRIPE_SECRET_TEST_API_KEY="bogus_key"
STRIPE_CUSTOMER="bogus_customer"
SITE_URL="test.host"
OPENID_APP_ID="test-provider"
OPENID_APP_SECRET="12345"

View File

@@ -1,7 +1,7 @@
---
name: Release task
about: Track the process of a new release
title: 'Release v'
title: Release v
labels: ''
assignees: ''
@@ -18,13 +18,12 @@ assignees: ''
- [ ] [Find build] of the release commit and copy it below.
- [ ] Move this issue to Test Ready.
- [ ] Notify testers.
- [ ] Notify `@testers` in [#testing].
- [ ] Test build: <!-- paste build link here, e.g. https://semaphore...builds/1234 -->
## Finish on Tuesday
- [ ] Publish and notify [#global-community]:
> The next release is ready: https://github.com/openfoodfoundation/openfoodnetwork/releases/latest
- [ ] Publish and notify [#global-community] (this is automatically posted with a plugin)
- [ ] Deploy the new release to all managed instances.
<details><summary>Command line instructions</summary>
<pre>
@@ -44,5 +43,6 @@ The full process is described at https://github.com/openfoodfoundation/openfoodn
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A%23%23+User+facing+changes+:eyes:%0A%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A
[releases]: https://github.com/openfoodfoundation/openfoodnetwork/releases
[#instance-managers]: https://app.slack.com/client/T02G54U79/CG7NJ966B
[#testing]: https://openfoodnetwork.slack.com/app_redirect?channel=C02TZ6X00
[Find build]: https://semaphoreci.com/openfoodfoundation/openfoodnetwork-2/branches/master
[#global-community]: https://app.slack.com/client/T02G54U79/C59ADD8F2

View File

@@ -1,6 +1,6 @@
#### What? Why?
Closes # <!-- Insert issue number here. -->
- Closes # <!-- Insert issue number here. -->
<!-- Explain why this change is needed and the solution you propose.
Provide context for others to understand it. -->

View File

@@ -23,17 +23,17 @@ jobs:
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
# Customize the ruby version depending on your needs
- name: Setup Ruby
uses: actions/setup-ruby@v1
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
- name: Setup Brakeman
env:
BRAKEMAN_VERSION: '4.10' # SARIF support is provided in Brakeman version 4.10+
BRAKEMAN_VERSION: '5.4.0'
run: |
gem install brakeman --version $BRAKEMAN_VERSION
@@ -45,6 +45,6 @@ jobs:
# Upload the SARIF file generated in the previous step
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v1
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: output.sarif.json

View File

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

View File

@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: prettier
uses: EPMatt/reviewdog-action-prettier@v1
with:

View File

@@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
- 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
@@ -39,13 +39,13 @@ jobs:
# Archive HTML report
- name: Archive Mayhem for API report
uses: actions/upload-artifact@v2
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@v1
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: mapi.sarif

1
.gitignore vendored
View File

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

View File

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

View File

@@ -440,6 +440,7 @@ Metrics/BlockNesting:
# Configuration parameters: CountComments, Max, CountAsOne.
Metrics/ClassLength:
Exclude:
- 'app/components/products_table_component.rb'
- 'app/controllers/admin/customers_controller.rb'
- 'app/controllers/admin/enterprises_controller.rb'
- 'app/controllers/admin/order_cycles_controller.rb'
@@ -478,6 +479,7 @@ Metrics/ClassLength:
- 'app/serializers/api/enterprise_shopfront_serializer.rb'
- 'app/services/cart_service.rb'
- 'app/services/order_syncer.rb'
- 'app/services/order_cycle_form.rb'
- 'engines/order_management/app/services/order_management/order/updater.rb'
- 'lib/open_food_network/enterprise_fee_calculator.rb'
- 'lib/open_food_network/order_cycle_form_applicator.rb'
@@ -680,18 +682,7 @@ Rails/ActiveRecordOverride:
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationController:
Exclude:
- 'engines/dfc_provider/app/controllers/dfc_provider/api/base_controller.rb'
# Offense count: 6
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationJob:
Exclude:
- 'app/jobs/bulk_invoice_job.rb'
- 'app/jobs/heartbeat_job.rb'
- 'app/jobs/order_cycle_closing_job.rb'
- 'app/jobs/order_cycle_notification_job.rb'
- 'app/jobs/subscription_confirm_job.rb'
- 'app/jobs/subscription_placement_job.rb'
- 'engines/dfc_provider/app/controllers/dfc_provider/base_controller.rb'
# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com
[open-food-network.enyml]
[o:open-food-foundation:p:open-food-network:r:enyml]
file_filter = config/locales/<lang>.yml
source_lang = en
type = YML

View File

@@ -28,7 +28,7 @@ For those new to Rails, the following tutorial will help get you up to speed wit
So you have set up your local environment according to the requirements listed above. If you're planning on contributing code to the project (which we [LOVE](CONTRIBUTING.md)), it is a good idea to begin by forking this repo using the `Fork` button in the top-right corner of this screen. You should then be able to use `git clone` to copy your fork onto your local machine:
git clone https://github.com/YOUR_GITHUB_USERNAME_HERE/openfoodnetwork
git clone git@github.com:YOUR_GITHUB_USERNAME_HERE/openfoodnetwork.git
Jump into your new local copy of the Open Food Network:
@@ -36,7 +36,7 @@ Jump into your new local copy of the Open Food Network:
And then add an `upstream` remote that points to the main repo:
git remote add upstream https://github.com/openfoodfoundation/openfoodnetwork
git remote add upstream git@github.com:openfoodfoundation/openfoodnetwork.git
Fetch the latest version of `master` from `upstream` (ie. the main repo):
@@ -68,6 +68,8 @@ To login as the default user, use:
email: ofn@example.com
password: ofn123
Seee [Locale and sample data] about loading data.
### Testing
@@ -81,7 +83,7 @@ Then the main application tests can be run with:
The tests of all custom engines can be run with:
bundle exec rake ofn:specs:engines:rspec
bundle exec rspec ./engines
Note: If your OS is not explicitly supported in the setup guides then not all tests may pass. However, you may still be able to develop.
@@ -129,3 +131,4 @@ If these commands succeed, you should be able to [continue the setup process](#g
[rubocop]: https://rubocop.readthedocs.io/en/latest/
[karma]: https://github.com/openfoodfoundation/openfoodnetwork/wiki/Karma
[slack-dev]: https://openfoodnetwork.slack.com/messages/C2GQ45KNU
[Locale and sample data]: https://github.com/openfoodfoundation/openfoodnetwork/wiki/Locale-and-sample-data

20
Gemfile
View File

@@ -69,6 +69,10 @@ gem 'pagy', '~> 5.1'
gem 'rswag-api'
gem 'rswag-ui'
gem 'gitlab-omniauth-openid-connect', require: 'omniauth_openid_connect'
gem 'openid_connect', '~> 1.3'
gem 'omniauth-rails_csrf_protection'
gem 'angularjs-rails', '1.8.0'
gem 'bugsnag'
gem 'haml'
@@ -114,8 +118,7 @@ gem 'test-unit', '~> 3.5'
gem 'coffee-rails', '~> 5.0.0'
gem 'mini_racer', '0.4.0'
gem 'mini_racer'
gem 'angular_rails_csrf'
@@ -132,6 +135,9 @@ gem 'flipper-active_record'
gem 'flipper-ui'
gem "view_component"
gem 'view_component_reflex', '3.1.14.pre9'
gem 'mini_portile2', '~> 2.8'
group :production, :staging do
gem 'ddtrace'
@@ -147,10 +153,10 @@ group :test, :development do
gem "factory_bot_rails", '6.2.0', require: false
gem 'fuubar', '~> 2.5.1'
gem 'json_spec', '~> 1.1.4'
gem 'knapsack'
gem 'knapsack_pro'
gem 'letter_opener', '>= 1.4.1'
gem 'rspec-rails', ">= 3.5.2"
gem 'rspec-retry'
gem 'rspec-retry', require: false
gem 'rswag-specs'
gem 'shoulda-matchers'
gem 'timecop'
@@ -161,9 +167,8 @@ group :test do
gem 'pdf-reader'
gem 'rails-controller-testing'
gem 'simplecov', require: false
gem 'test-prof'
gem 'vcr'
gem 'webmock'
gem 'vcr', require: false
gem 'webmock', require: false
# See spec/spec_helper.rb for instructions
# gem 'perftools.rb'
end
@@ -180,7 +185,6 @@ group :development do
gem 'spring-commands-rspec'
gem 'web-console'
gem "view_component_storybook"
gem 'rack-mini-profiler', '< 3.0.0'
end

View File

@@ -93,7 +93,7 @@ GEM
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
active_storage_validations (0.9.8)
active_storage_validations (1.0.3)
activejob (>= 5.2.0)
activemodel (>= 5.2.0)
activestorage (>= 5.2.0)
@@ -111,7 +111,7 @@ GEM
activerecord (6.1.7)
activemodel (= 6.1.7)
activesupport (= 6.1.7)
activerecord-import (1.4.0)
activerecord-import (1.4.1)
activerecord (>= 4.2)
activerecord-postgresql-adapter (0.0.1)
pg
@@ -140,6 +140,7 @@ GEM
activerecord (>= 4.2)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0)
afm (0.2.2)
angular-rails-templates (1.2.0)
railties (>= 5.0, < 7.1)
@@ -153,36 +154,35 @@ GEM
arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8)
ast (2.4.2)
attr_required (1.0.1)
awesome_nested_set (3.5.0)
activerecord (>= 4.0.0, < 7.1)
aws-eventstream (1.2.0)
aws-partitions (1.601.0)
aws-sdk-core (3.131.2)
aws-partitions (1.695.0)
aws-sdk-core (3.169.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (1.62.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-s3 (1.118.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.0)
aws-sigv4 (1.5.2)
aws-eventstream (~> 1, >= 1.0.2)
axlsx_styler (1.1.0)
activesupport (>= 3.1)
caxlsx (>= 2.0.2)
bcrypt (3.1.18)
bigdecimal (3.0.2)
bindata (2.4.12)
bindex (0.8.1)
bootsnap (1.13.0)
bootsnap (1.16.0)
msgpack (~> 1.2)
bugsnag (6.24.2)
bugsnag (6.25.1)
concurrent-ruby (~> 1.0)
builder (3.2.4)
bullet (7.0.3)
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
cable_ready (5.0.0.pre9)
@@ -194,7 +194,7 @@ GEM
railties (>= 5.2)
thread-local (>= 1.1.0)
cancancan (1.15.0)
capybara (3.37.1)
capybara (3.38.0)
addressable
matrix
mini_mime (>= 0.1.3)
@@ -203,14 +203,13 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
caxlsx (3.1.1)
caxlsx (3.3.0)
htmlentities (~> 4.3, >= 4.3.4)
marcel (~> 1.0)
nokogiri (~> 1.10, >= 1.10.4)
rubyzip (>= 1.3.0, < 3)
choice (0.2.0)
chronic (0.10.2)
cliver (0.3.2)
coderay (1.1.3)
coffee-rails (5.0.0)
coffee-script (>= 2.2.0)
@@ -222,28 +221,30 @@ GEM
combine_pdf (1.0.22)
matrix
ruby-rc4 (>= 0.1.5)
concurrent-ruby (1.1.10)
concurrent-ruby (1.2.0)
connection_pool (2.3.0)
crack (0.4.5)
rexml
crass (1.0.6)
css_parser (1.11.0)
addressable
cuprite (0.13)
capybara (>= 2.1, < 4)
ferrum (~> 0.11.0)
cuprite (0.14.3)
capybara (~> 3.0)
ferrum (~> 0.13.0)
database_cleaner (2.0.1)
database_cleaner-active_record (~> 2.0.0)
database_cleaner-active_record (2.0.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
ddtrace (0.54.1)
debase-ruby_core_source (= 0.10.12)
ddtrace (1.8.0)
debase-ruby_core_source (>= 0.10.16, <= 0.10.18)
libdatadog (~> 0.9.0.1.0)
libddwaf (~> 1.5.1.0.0)
msgpack
debase-ruby_core_source (0.10.12)
debug (1.6.2)
irb (>= 1.3.6)
debase-ruby_core_source (0.10.18)
debug (1.7.1)
irb (>= 1.5.0)
reline (>= 0.3.1)
debugger-linecache (1.2.0)
devise (4.8.1)
@@ -259,13 +260,12 @@ GEM
devise-token_authenticatable (1.1.0)
devise (>= 4.0.0, < 5.0.0)
diff-lcs (1.5.0)
digest (3.1.0)
digest (3.1.1)
docile (1.4.0)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
dry-inflector (0.2.1)
erubi (1.11.0)
et-orbi (1.2.7)
tzinfo
@@ -276,14 +276,16 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faraday (2.3.0)
faraday-net_http (~> 2.0)
faraday (2.6.0)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (2.0.3)
ferrum (0.11)
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.0.1)
ferrum (0.13)
addressable (~> 2.5)
cliver (~> 0.3)
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (>= 0.6, < 0.8)
ffaker (2.21.0)
ffi (1.15.5)
@@ -313,14 +315,18 @@ GEM
nokogiri (>= 1.5.11, < 2.0.0)
foreman (0.87.2)
formatador (0.2.5)
fugit (1.5.3)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
fuubar (2.5.1)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
geocoder (1.8.1)
globalid (1.0.0)
gitlab-omniauth-openid-connect (0.10.0)
addressable (~> 2.7)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.2)
globalid (1.0.1)
activesupport (>= 5.0)
gmaps4rails (2.1.2)
good_migrations (0.2.1)
@@ -331,9 +337,11 @@ GEM
tilt
hashdiff (1.0.1)
hashery (2.1.2)
hashie (5.0.0)
highline (2.0.3)
hiredis (0.6.3)
htmlentities (4.3.4)
httpclient (2.8.3)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
i18n-js (3.9.2)
@@ -343,37 +351,46 @@ GEM
ruby-vips (>= 2.0.17, < 3)
immigrant (0.3.6)
activerecord (>= 3.0)
io-console (0.5.11)
io-console (0.6.0)
ipaddress (0.8.3)
irb (1.4.1)
irb (1.6.2)
reline (>= 0.3.0)
jmespath (1.6.1)
jmespath (1.6.2)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.2.1)
railties (>= 3.2.16)
json (2.6.2)
json-schema (2.8.1)
addressable (>= 2.4)
json (2.6.3)
json-jwt (1.16.0)
activesupport (>= 4.2)
aes_key_wrap
bindata
faraday (~> 2.0)
faraday-follow_redirects
json-schema (3.0.0)
addressable (>= 2.8)
json_spec (1.1.5)
multi_json (~> 1.0)
rspec (>= 2.0, < 4.0)
jsonapi-serializer (2.2.0)
activesupport (>= 4.2)
jwt (2.5.0)
knapsack (4.0.0)
jwt (2.6.0)
knapsack_pro (3.7.0)
rake
launchy (2.5.0)
addressable (~> 2.7)
letter_opener (1.8.1)
launchy (>= 2.2, < 3)
libv8-node (15.14.0.1)
listen (3.7.1)
libdatadog (0.9.0.1.0)
libddwaf (1.5.1.0.0)
ffi (~> 1.0)
libv8-node (16.10.0.0)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.18.0)
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
@@ -389,27 +406,49 @@ GEM
rake
mini_magick (4.11.0)
mini_mime (1.1.2)
mini_portile2 (2.8.0)
mini_racer (0.4.0)
libv8-node (~> 15.14.0.0)
minitest (5.16.3)
mini_portile2 (2.8.1)
mini_racer (0.6.3)
libv8-node (~> 16.10.0.0)
minitest (5.17.0)
monetize (1.12.0)
money (~> 6.12)
money (6.16.0)
i18n (>= 0.6.4, <= 2)
msgpack (1.5.4)
msgpack (1.6.0)
multi_json (1.15.0)
multi_xml (0.6.0)
net-protocol (0.1.3)
timeout
net-smtp (0.3.2)
net-protocol
nio4r (2.5.8)
nokogiri (1.13.8)
nokogiri (1.13.10)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
oauth2 (1.4.10)
oauth2 (1.4.11)
faraday (>= 0.17.3, < 3.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
rack (>= 1.2, < 4)
omniauth (2.1.0)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-rails_csrf_protection (1.0.1)
actionpack (>= 4.2)
omniauth (~> 2.0)
openid_connect (1.4.2)
activemodel
attr_required (>= 1.0.0)
json-jwt (>= 1.15.0)
net-smtp
rack-oauth2 (~> 1.21)
swd (~> 1.3)
tzinfo
validate_email
validate_url
webfinger (~> 1.2)
orm_adapter (0.5.0)
pagy (5.10.1)
activesupport
@@ -417,34 +456,40 @@ GEM
activerecord (>= 5.2)
request_store (~> 1.1)
parallel (1.22.1)
paranoia (2.6.0)
paranoia (2.6.1)
activerecord (>= 5.1, < 7.1)
parser (3.1.2.1)
parser (3.2.0.0)
ast (~> 2.4.1)
paypal-sdk-core (0.3.4)
multi_json (~> 1.0)
xml-simple
paypal-sdk-merchant (1.117.2)
paypal-sdk-core (~> 0.3.0)
pdf-reader (2.10.0)
pdf-reader (2.11.0)
Ascii85 (~> 1.0)
afm (~> 0.2.1)
hashery (~> 2.0)
ruby-rc4
ttfunk
pg (1.2.3)
power_assert (2.0.1)
power_assert (2.0.2)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.0)
puma (5.6.5)
puma (6.0.2)
nio4r (~> 2.0)
raabro (1.4.0)
racc (1.6.0)
rack (2.2.4)
racc (1.6.1)
rack (2.2.6.2)
rack-mini-profiler (2.3.4)
rack (>= 1.2.0)
rack-oauth2 (1.21.3)
activesupport
attr_required
httpclient
json-jwt (>= 1.11.0)
rack (>= 2.1.0)
rack-protection (2.1.0)
rack
rack-proxy (0.7.0)
@@ -482,9 +527,9 @@ GEM
activesupport (>= 4.2)
choice (~> 0.2.0)
ruby-graphviz (~> 1.2)
rails-html-sanitizer (1.4.3)
loofah (~> 2.3)
rails-i18n (7.0.5)
rails-html-sanitizer (1.4.4)
loofah (~> 2.19, >= 2.19.1)
rails-i18n (7.0.6)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
rails_safe_tasks (1.0.0)
@@ -500,13 +545,13 @@ GEM
activerecord (>= 5.2.4)
activesupport (>= 5.2.4)
i18n
rb-fsevent (0.11.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
redcarpet (3.5.1)
redis (4.8.0)
regexp_parser (2.5.0)
reline (0.3.1)
regexp_parser (2.6.2)
reline (0.3.2)
io-console (~> 0.5)
request_store (1.5.0)
rack (>= 1.4)
@@ -520,9 +565,8 @@ GEM
roadie-rails (3.0.0)
railties (>= 5.1, < 7.1)
roadie (~> 5.0)
rodf (1.1.1)
rodf (1.2.0)
builder (>= 3.0)
dry-inflector (~> 0.1)
rubyzip (>= 1.0)
roo (2.9.0)
nokogiri (~> 1)
@@ -550,28 +594,29 @@ GEM
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.3)
rswag-api (2.6.0)
rswag-api (2.8.0)
railties (>= 3.1, < 7.1)
rswag-specs (2.6.0)
rswag-specs (2.8.0)
activesupport (>= 3.1, < 7.1)
json-schema (~> 2.2)
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rswag-ui (2.6.0)
rspec-core (>= 2.14)
rswag-ui (2.8.0)
actionpack (>= 3.1, < 7.1)
railties (>= 3.1, < 7.1)
rubocop (1.36.0)
rubocop (1.44.1)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.1.2.1)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.20.1, < 2.0)
rubocop-ast (>= 1.24.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.21.0)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.24.1)
parser (>= 3.1.1.0)
rubocop-rails (2.16.1)
rubocop-rails (2.17.4)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
@@ -583,7 +628,7 @@ GEM
ffi (~> 1.12)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
rufus-scheduler (3.8.1)
rufus-scheduler (3.8.2)
fugit (~> 1.1, >= 1.1.6)
sass (3.4.25)
sass-rails (5.0.8)
@@ -594,28 +639,26 @@ GEM
tilt (>= 1.1, < 3)
sd_notify (0.1.1)
semantic_range (3.0.0)
shoulda-matchers (5.2.0)
shoulda-matchers (5.3.0)
activesupport (>= 5.2.0)
sidekiq (6.5.7)
connection_pool (>= 2.2.5)
sidekiq (6.5.8)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
sidekiq-scheduler (4.0.2)
redis (>= 4.2.0)
sidekiq-scheduler (5.0.0)
rufus-scheduler (~> 3.2)
sidekiq (>= 4)
sidekiq (>= 4, < 8)
tilt (>= 1.4.0)
simplecov (0.21.2)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.3)
spreadsheet_architect (4.2.0)
axlsx_styler (>= 1.0.0, < 2)
caxlsx (>= 2.0.2, < 4)
simplecov_json_formatter (0.1.4)
spreadsheet_architect (5.0.0)
caxlsx (>= 3.3.0, < 4)
rodf (>= 1.0.0, < 2)
spring (4.1.0)
spring (4.1.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (3.7.2)
@@ -643,33 +686,42 @@ GEM
railties (>= 5.2)
redis
stringex (2.8.5)
stripe (7.1.0)
stripe (8.0.0)
swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
temple (0.8.2)
test-prof (1.0.10)
test-unit (3.5.5)
test-unit (3.5.7)
power_assert
thor (1.2.1)
thread-local (1.1.0)
tilt (2.0.11)
timecop (0.9.5)
timecop (0.9.6)
timeout (0.3.0)
ttfunk (1.7.0)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
unicode-display_width (2.3.0)
unicode-display_width (2.4.2)
uniform_notifier (1.16.0)
valid_email2 (4.0.4)
activemodel (>= 3.2)
mail (~> 2.5)
validate_email (0.1.6)
activemodel (>= 3.0)
mail (>= 2.2.5)
validate_url (1.0.15)
activemodel (>= 3.0.0)
public_suffix
vcr (6.1.0)
activesupport (>= 5.0.0, < 8.0)
view_component (2.82.0)
activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
view_component (2.74.0)
activesupport (>= 5.0.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
view_component_storybook (0.11.1)
view_component (>= 2.36)
view_component_reflex (3.1.14.pre9)
rails (>= 5.2, < 8.0)
stimulus_reflex (>= 3.5.0.pre2)
view_component (>= 2.28.0)
warden (1.2.9)
rack (>= 2.0.9)
web-console (4.2.0)
@@ -677,6 +729,9 @@ GEM
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
webfinger (1.2.0)
activesupport
httpclient (>= 2.4)
webmock (3.18.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
@@ -686,6 +741,7 @@ GEM
rack-proxy (>= 0.6.1)
railties (>= 5.2)
semantic_range (>= 2.3.0)
webrick (1.7.0)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
@@ -693,11 +749,11 @@ GEM
chronic (>= 0.6.3)
wicked_pdf (2.6.3)
activesupport
wkhtmltopdf-binary (0.12.6.5)
wkhtmltopdf-binary (0.12.6.6)
xml-simple (1.1.8)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.0)
zeitwerk (2.6.6)
PLATFORMS
ruby
@@ -751,6 +807,7 @@ DEPENDENCIES
foreman
fuubar (~> 2.5.1)
geocoder
gitlab-omniauth-openid-connect
gmaps4rails
good_migrations
haml
@@ -766,15 +823,18 @@ DEPENDENCIES
json_spec (~> 1.1.4)
jsonapi-serializer
jwt (~> 2.3)
knapsack
knapsack_pro
letter_opener (>= 1.4.1)
listen
mime-types
mimemagic (> 0.3.5)
mini_racer (= 0.4.0)
mini_portile2 (~> 2.8)
mini_racer
monetize (~> 1.11)
oauth2 (~> 1.4.7)
ofn-qz!
omniauth-rails_csrf_protection
openid_connect (~> 1.3)
order_management!
pagy (~> 5.1)
paper_trail (~> 12.1.0)
@@ -820,13 +880,12 @@ DEPENDENCIES
stimulus_reflex (= 3.5.0.pre9)
stringex (~> 2.8.5)
stripe
test-prof
test-unit (~> 3.5)
timecop
valid_email2
vcr
view_component
view_component_storybook
view_component_reflex (= 3.1.14.pre9)
web!
web-console
webmock
@@ -839,4 +898,4 @@ RUBY VERSION
ruby 3.0.3p157
BUNDLED WITH
2.1.4
2.4.3

View File

@@ -35,7 +35,13 @@ We also have a [Super Admin Guide][super-admin-guide] to help with configuration
If you'd like to help out with testing, please introduce yourself on the #testing channel on [Slack][slack-invite] and download the [ZenHub browser extension][zenhub] to view the development pipeline. Also, do have a look in our [Welcome New QAs board](https://github.com/orgs/openfoodfoundation/projects/1) for some good first issues, both on manual and automated testing (RSpec/Capybara).
We use [BrowserStack](https://www.browserstack.com/) as a manual testing tool. BrowserStack provides open source projects with unlimited and free of charge accounts. A big thanks to them!
We use [BrowserStack](https://www.browserstack.com/) as a manual testing tool. BrowserStack provides open source projects with unlimited and free of charge accounts. A big thanks to them!
We use [KnapsackPro](https://knapsackpro.com/) for optimal parallelisation of our automated tests. KnapsackPro offers unlimited plans for non-commercial open source projects, like ours - a big thanks to them!
![image](https://user-images.githubusercontent.com/49817236/201330047-e64147a7-d91c-4c10-bd4d-ca519d8fe945.png)
## Licence

View File

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

View File

@@ -22,24 +22,6 @@
//= require angular-rails-templates
//= require lodash.underscore.js
// datetimepicker (fil, nb)
//= require flatpickr/dist/flatpickr.min
//= require flatpickr/dist/l10n/ar
//= require flatpickr/dist/l10n/cat
//= require flatpickr/dist/l10n/cy
//= require flatpickr/dist/l10n/de
//= require flatpickr/dist/l10n/es
//= require flatpickr/dist/l10n/fr
//= require flatpickr/dist/l10n/it
//= require flatpickr/dist/l10n/nl
//= require flatpickr/dist/l10n/pl
//= require flatpickr/dist/l10n/pt
//= require flatpickr/dist/l10n/ru
//= require flatpickr/dist/l10n/sv
//= require flatpickr/dist/l10n/tr
//= require shortcut-buttons-flatpickr/dist/shortcut-buttons-flatpickr.min
//= require flatpickr/dist/plugins/labelPlugin/labelPlugin
// spree
//= require admin/spree/spree
//= require admin/spree/spree-select2

View File

@@ -261,7 +261,8 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
product = BulkProducts.find product.id
variant.unit_value = parseFloat(match[1].replace(",", "."))
variant.unit_value = null if isNaN(variant.unit_value)
variant.unit_value *= product.variant_unit_scale if variant.unit_value && product.variant_unit_scale
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 = ->

View File

@@ -1,8 +1,7 @@
angular.module("admin.enterprises")
.controller "enterpriseCtrl", ($scope, $http, $window, NavigationCheck, enterprise, Enterprises, EnterprisePaymentMethods, SideMenu, StatusMessage, RequestMonitor) ->
.controller "enterpriseCtrl", ($scope, $http, $window, NavigationCheck, enterprise, Enterprises, SideMenu, StatusMessage, RequestMonitor) ->
$scope.Enterprise = enterprise
$scope.Enterprises = Enterprises
$scope.PaymentMethods = EnterprisePaymentMethods.paymentMethods
$scope.navClear = NavigationCheck.clear
$scope.menu = SideMenu
$scope.newManager = { id: null, email: (t('add_manager')) }

View File

@@ -1,20 +0,0 @@
angular.module("admin.enterprises")
.factory "EnterprisePaymentMethods", (enterprise, PaymentMethods) ->
new class EnterprisePaymentMethods
paymentMethods: PaymentMethods.all
constructor: ->
for payment_method in @paymentMethods
payment_method.selected = payment_method.id in enterprise.payment_method_ids
displayColor: ->
if @paymentMethods.length > 0 && @selectedCount() > 0
"blue"
else
"red"
selectedCount: ->
@paymentMethods.reduce (count, payment_method) ->
count++ if payment_method.selected
count
, 0

View File

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

View File

@@ -3,14 +3,21 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.RequestMonitor = RequestMonitor
$scope.line_items = LineItems.all
$scope.confirmDelete = true
$scope.startDate = moment().startOf('day').subtract(7, 'days').format('YYYY-MM-DD')
$scope.endDate = moment().startOf('day').format('YYYY-MM-DD')
$scope.bulkActions = [ { name: t("admin.orders.bulk_management.actions_delete"), callback: 'deleteLineItems' } ]
$scope.selectedUnitsProduct = {}
$scope.selectedUnitsVariant = {}
$scope.sharedResource = false
$scope.columns = Columns.columns
$scope.sorting = SortOptions
$scope.pagination = Orders.pagination
$scope.per_page_options = [
{id: 15, name: t('js.admin.orders.index.per_page', results: 15)},
{id: 50, name: t('js.admin.orders.index.per_page', results: 50)},
{id: 100, name: t('js.admin.orders.index.per_page', results: 100)}
]
$scope.page = 1
$scope.per_page = $scope.per_page_options[0].id
$scope.confirmRefresh = ->
LineItems.allSaved() || confirm(t("unsaved_changes_warning"))
@@ -20,19 +27,22 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.supplierFilter = ''
$scope.orderCycleFilter = ''
$scope.quickSearch = ''
$scope.startDate = undefined
$scope.endDate = undefined
event = new CustomEvent('flatpickr:clear')
window.dispatchEvent(event)
$scope.resetSelectFilters = ->
$scope.resetFilters()
$scope.refreshData()
$scope.fetchResults = ->
# creates indirection in order to factorize the code between orders and bulk orders
# used in app/views/admin/shared/_angular_per_page_controls.html.haml
$scope.refreshData()
$scope.refreshData = ->
unless !$scope.orderCycleFilter? || $scope.orderCycleFilter == ''
$scope.setOrderCycleDateRange()
$scope.formattedStartDate = moment($scope.startDate).format()
$scope.formattedEndDate = moment($scope.endDate).add(1,'day').format()
return unless moment($scope.formattedStartDate).isValid() and moment($scope.formattedEndDate).isValid()
return "cancel" unless $scope.confirmRefresh()
$scope.loadOrders()
$scope.loadLineItems()
@@ -42,25 +52,24 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.dereferenceLoadedData()
$scope.setOrderCycleDateRange = ->
start_date = OrderCycles.byID[$scope.orderCycleFilter].orders_open_at
end_date = OrderCycles.byID[$scope.orderCycleFilter].orders_close_at
format = "YYYY-MM-DD HH:mm:ss Z"
$scope.startDate = moment(start_date, format).format('YYYY-MM-DD')
$scope.endDate = moment(end_date, format).startOf('day').format('YYYY-MM-DD')
$scope.loadOrders = ->
[formattedStartDate, formattedEndDate] = $scope.formatDates($scope.startDate, $scope.endDate)
RequestMonitor.load $scope.orders = Orders.index(
"q[state_not_eq]": "canceled",
"q[shipment_state_not_eq]": "shipped",
"q[completed_at_not_null]": "true",
"q[distributor_id_eq]": $scope.distributorFilter,
"q[order_cycle_id_eq]": $scope.orderCycleFilter,
"q[completed_at_gteq]": $scope.formattedStartDate,
"q[completed_at_lt]": $scope.formattedEndDate
"q[completed_at_gteq]": if formattedStartDate then formattedStartDate else undefined,
"q[completed_at_lt]": if formattedEndDate then formattedEndDate else undefined,
"page": $scope.page,
"per_page": $scope.per_page
)
$scope.loadLineItems = ->
[formattedStartDate, formattedEndDate] = $scope.formatDates($scope.startDate, $scope.endDate)
RequestMonitor.load LineItems.index(
"q[order_state_not_eq]": "canceled",
"q[order_shipment_state_not_eq]": "shipped",
@@ -68,10 +77,17 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
"q[order_distributor_id_eq]": $scope.distributorFilter,
"q[variant_product_supplier_id_eq]": $scope.supplierFilter,
"q[order_order_cycle_id_eq]": $scope.orderCycleFilter,
"q[order_completed_at_gteq]": $scope.formattedStartDate,
"q[order_completed_at_lt]": $scope.formattedEndDate
"q[order_completed_at_gteq]": if formattedStartDate then formattedStartDate else undefined,
"q[order_completed_at_lt]": if formattedEndDate then formattedEndDate else undefined,
"page": $scope.page,
"per_page": $scope.per_page
)
$scope.formatDates = (startDate, endDate) ->
formattedStartDate = moment(startDate).format('YYYY-MM-DD') if startDate
formattedEndDate = moment(endDate).add(1,'day').format('YYYY-MM-DD') if endDate
return [formattedStartDate, formattedEndDate]
$scope.loadAssociatedData = ->
RequestMonitor.load $scope.distributors = Enterprises.index(action: "visible", ams_prefix: "basic", "q[sells_in][]": ["own", "any"])
RequestMonitor.load $scope.orderCycles = OrderCycles.index(ams_prefix: "basic", as: "distributor", "q[orders_close_at_gt]": "#{moment().subtract(90,'days').format()}")
@@ -202,7 +218,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
if scale
if scale && value
value = value / scale if scale != 28.35 && scale != 1 && scale != 453.6 # divide by scale if not smallest unit
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
else
@@ -246,5 +262,8 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
lineItem.final_weight_volume = LineItems.pristineByID[lineItem.id].final_weight_volume * lineItem.quantity / LineItems.pristineByID[lineItem.id].quantity
$scope.weightAdjustedPrice(lineItem)
$scope.resetFilters()
$scope.refreshData()
$scope.changePage = (newPage) ->
$scope.page = newPage
$scope.refreshData()
$scope.resetSelectFilters()

View File

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

View File

@@ -18,7 +18,8 @@ angular.module('admin.orderCycles')
OrderCycle.exchangeDirection(exchange)
$scope.enterprisesWithFees = ->
$scope.enterprises[id] for id in [OrderCycle.participatingEnterpriseIds()..., [OrderCycle.order_cycle.coordinator_id]...] when $scope.enterpriseFeesForEnterprise(id).length > 0
ids = [OrderCycle.participatingEnterpriseIds()..., [OrderCycle.order_cycle.coordinator_id]...]
$scope.enterprises[id] for id in Array.from(new Set(ids)) when $scope.enterpriseFeesForEnterprise(id).length > 0
$scope.removeExchange = ($event, exchange) ->
$event.preventDefault()

View File

@@ -1,21 +1,4 @@
angular.module('admin.orderCycles', ['ngTagsInput', 'admin.indexUtils', 'admin.enterprises'])
.directive 'datetimepicker', ($timeout, $parse) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
$timeout ->
fp = flatpickr(element, Object.assign({},
window.FLATPICKR_DATETIME_DEFAULT, {
onOpen: (selectedDates, dateStr, instance) ->
instance.setDate(ngModel.$modelValue)
instance.input.dispatchEvent(new Event('focus', { bubbles: true }));
}));
fp.minuteElement.addEventListener "keyup", (e) ->
if !isNaN(event.target.value)
fp.setDate(fp.selectedDates[0].setMinutes(e.target.value), true)
fp.hourElement.addEventListener "keyup", (e) ->
if !isNaN(event.target.value)
fp.setDate(fp.selectedDates[0].setHours(e.target.value), true)
.directive 'ofnOnChange', ->
(scope, element, attrs) ->
element.bind 'change', ->

View File

@@ -93,9 +93,9 @@ angular.module('admin.orderCycles').factory 'OrderCycle', ($resource, $window, $
variant_ids
participatingEnterpriseIds: ->
suppliers = (exchange.enterprise_id for exchange in this.order_cycle.incoming_exchanges)
distributors = (exchange.enterprise_id for exchange in this.order_cycle.outgoing_exchanges)
jQuery.unique(suppliers.concat(distributors)).sort()
suppliers = (parseInt(exchange.enterprise_id) for exchange in this.order_cycle.incoming_exchanges)
distributors = (parseInt(exchange.enterprise_id) for exchange in this.order_cycle.outgoing_exchanges)
Array.from(new Set([suppliers..., distributors...]))
exchangesByDirection: (direction) ->
if direction == 'incoming'

View File

@@ -29,6 +29,8 @@ angular.module("admin.orders").controller "ordersCtrl", ($scope, $timeout, Reque
$scope.q = {
completed_at_not_null: true
}
e = new CustomEvent("flatpickr_clear");
window.dispatchEvent(e)
$scope.clearFilters = () ->
KeyValueMapStore.clearKeyValueMap()

View File

@@ -1,3 +0,0 @@
angular.module("admin.paymentMethods").controller "paymentMethodsCtrl", ($scope, PaymentMethods) ->
$scope.findPaymentMethodByID = (id) ->
$scope.PaymentMethod = PaymentMethods.byID[id]

View File

@@ -21,8 +21,14 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit && $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale($scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale))
else if $scope.product.variant_unit
# Preserves variant_unit_with_scale when form validation fails and reload triggers
if $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale(
$scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale)
)
else
$scope.product.variant_unit_with_scale = $scope.product.variant_unit
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null
@@ -36,7 +42,7 @@ angular.module("admin.products")
$scope.product.master.unit_description = match[3]
else
value = $scope.product.master.unit_value
value /= $scope.product.variant_unit_scale if $scope.product.master.unit_value && $scope.product.variant_unit_scale
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
$scope.processUnitPrice = ->

View File

@@ -65,7 +65,8 @@ angular.module("ofn.admin").factory "BulkProducts", (ProductResource, dataFetche
variantUnitValue: (product, variant) ->
if variant.unit_value?
if product.variant_unit_scale
@divideAsInteger variant.unit_value, 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

View File

@@ -1,70 +1,4 @@
$(document).ready(function() {
var onClickButtons = function(index, fp) {
var date;
// Memorize index used for the 'Close' button
// (currently it has index of 1)
var closeButtonIndex = 1;
switch (index) {
case 0:
date = new Date();
break;
case closeButtonIndex:
fp.close();
break;
}
// Set the date unless clicked button was the 'Close' one
if (index != closeButtonIndex) {
fp.setDate(date, true);
}
}
window.FLATPICKR_DATE_DEFAULT = {
altInput: true,
altFormat: Spree.translations.flatpickr_date_format,
dateFormat: "Y-m-d",
locale: I18n.base_locale,
plugins: [
ShortcutButtonsPlugin({
button: [
{
label: Spree.translations.today
},
{
label: Spree.translations.close
}
],
label: "or",
onClick: onClickButtons
}),
labelPlugin({})
]
}
window.FLATPICKR_DATETIME_DEFAULT = Object.assign(
{},
window.FLATPICKR_DATE_DEFAULT,
{
altInput: true,
altFormat: Spree.translations.flatpickr_datetime_format,
dateFormat: "Y-m-d H:i",
enableTime: true,
time_24hr: true,
plugins: [
ShortcutButtonsPlugin({
button: [
{
label: Spree.translations.now
},
{
label: Spree.translations.close
}
],
label: "or",
onClick: onClickButtons
}),
labelPlugin({})
]
}
);
flatpickr(".datetimepicker", window.FLATPICKR_DATETIME_DEFAULT);
$('a.close').click(function(event){
event.preventDefault();
$(this).parent().slideUp(250);

View File

@@ -1,14 +0,0 @@
angular.module("admin.utils").directive "datepicker", ($window, $timeout) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
$timeout ->
flapickrInstance = flatpickr(element, Object.assign(
{},
$window.FLATPICKR_DATE_DEFAULT, {
onOpen: (selectedDates, dateStr, instance) ->
instance.setDate(ngModel.$modelValue)
}
));
ngModel.$render = () ->
newValue = ngModel.$viewValue;
flapickrInstance?.setDate(newValue)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,9 @@
# frozen_string_literal: true
class MultipleCheckedSelectComponent < ViewComponent::Base
def initialize(name:, options:, selected:)
@name = name
@options = options.map { |option| [option[0], option[1].to_sym] }
@selected = selected.nil? ? [] : selected.map(&:to_sym)
end
end

View File

@@ -0,0 +1,13 @@
.ofn-drop-down.ofn-drop-down-v2{ data: { controller: "multiple-checked-select" } }
%div.ofn-drop-down-label{ "data-multiple-checked-select-target": "button" }
%span{class: "label"}= t('admin.columns')
%span{ class: "icon-caret-down", "data-multiple-checked-select-target": "caret" }
%div.menu{ class: "hidden", "data-multiple-checked-select-target": "options" }
%div.filter
%input{ type: "text", "data-multiple-checked-select-target": "filter", placeholder: I18n.t('components.multiple_checked_select.filter_placeholder') }
%hr
%div.menu_items
- @options.each do |option|
%label.menu_item{ "data-multiple-checked-select-target": "option", "data-value": option[1], "data-label": option[0] }
%input.redesigned-input{ type: "checkbox", checked: @selected.include?(option[1]), name: "#{@name}[]", value: option[1] }
= option[0]

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,30 @@
# frozen_string_literal: true
class ProductComponent < ViewComponentReflex::Component
def initialize(product:, columns:)
super
@product = product
@image = @product.images[0] if product.images.any?
@columns = columns.map { |c|
{
id: c[:value],
value: column_value(c[:value])
}
}
end
def column_value(column)
case column
when 'name'
@product.name
when 'price'
@product.price
when 'unit'
"#{@product.unit_value} #{@product.variant_unit}"
when 'producer'
@product.supplier.name
when 'category'
@product.taxons.map(&:name).join(', ')
end
end
end

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,22 @@
# frozen_string_literal: true
require "open_food_network/feature_toggle"
class FeatureToggleConstraint
def initialize(feature_name, negate: false)
@feature = feature_name
@negate = negate
end
def matches?(request)
enabled?(request) ^ @negate
end
def enabled?(request)
OpenFoodNetwork::FeatureToggle.enabled?(@feature, current_user(request))
end
def current_user(request)
request.env['warden']&.user
end
end

View File

@@ -1,11 +0,0 @@
# frozen_string_literal: true
class SplitCheckoutConstraint
def matches?(request)
OpenFoodNetwork::FeatureToggle.enabled? :split_checkout, current_user(request)
end
def current_user(request)
request.env['warden'].user
end
end

View File

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

View File

@@ -6,6 +6,7 @@ module Admin
class EnterpriseFeesController < Admin::ResourceController
before_action :load_enterprise_fee_set, only: :index
before_action :load_data
before_action :check_enterprise_fee_input, only: [:bulk_update]
def index
@include_calculators = params[:include_calculators].present?
@@ -35,13 +36,6 @@ module Admin
end
def bulk_update
@flat_percent_value = enterprise_fee_bulk_params.dig('collection_attributes', '0', 'calculator_attributes', 'preferred_flat_percent')
unless @flat_percent_value.nil? || Float(@flat_percent_value, exception: false)
flash[:error] = I18n.t(:calculator_preferred_value_error)
return redirect_to redirect_path
end
@enterprise_fee_set = Sets::EnterpriseFeeSet.new(enterprise_fee_bulk_params)
if @enterprise_fee_set.save
@@ -105,5 +99,25 @@ module Admin
]
)
end
def check_enterprise_fee_input
enterprise_fee_bulk_params['collection_attributes'].each do |_, fee_row|
enterprise_fees = fee_row['calculator_attributes']&.slice(
:preferred_flat_percent, :preferred_amount,
:preferred_first_item, :preferred_additional_item,
:preferred_minimal_amount, :preferred_normal_amount,
:preferred_discount_amount, :preferred_per_unit
)
next unless enterprise_fees
enterprise_fees.each do |_, enterprise_amount|
unless enterprise_amount.nil? || Float(enterprise_amount, exception: false)
flash[:error] = I18n.t(:calculator_preferred_value_error)
return redirect_to redirect_path
end
end
end
end
end
end

View File

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

View File

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

View File

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

View File

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

View File

@@ -40,7 +40,7 @@ module Api
end
def restrict_feature
not_found unless Flipper.enabled?(:api_v1, @current_api_user)
not_found unless OpenFoodNetwork::FeatureToggle.enabled?(:api_v1, @current_api_user)
end
def current_ability

View File

@@ -22,12 +22,8 @@ class BaseController < ApplicationController
end
# Default to the only order cycle if there's only one
#
# Here we need to use @order_cycles.size not @order_cycles.count
# because OrderCyclesList returns a modified ActiveRecord::Relation
# and these modifications are not seen if it is reloaded with count
def set_order_cycle
return if @order_cycles.size != 1
return if @order_cycles.count != 1
current_order(true).set_order_cycle! @order_cycles.first
end

View File

@@ -50,7 +50,9 @@ module OrderCompletion
end
def order_invalid!
Bugsnag.notify("Notice: invalid order loaded during checkout", order: @order)
Bugsnag.notify("Notice: invalid order loaded during checkout") do |payload|
payload.add_metadata :order, @order
end
flash[:error] = t('checkout.order_not_loaded')
redirect_to main_app.shop_path
@@ -81,7 +83,9 @@ module OrderCompletion
end
def processing_failed(error = RuntimeError.new(order_processing_error))
Bugsnag.notify(error, order: @order)
Bugsnag.notify(error) do |payload|
payload.add_metadata :order, @order
end
flash[:error] = order_processing_error if flash.blank?
Checkout::PostCheckoutActions.new(@order).failure
end

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
module OrderStockCheck
include CablecarResponses
extend ActiveSupport::Concern
def valid_order_line_items?
@@ -21,12 +22,17 @@ module OrderStockCheck
def check_order_cycle_expiry
return unless current_order_cycle&.closed?
Bugsnag.notify("Notice: order cycle closed during checkout completion", order: current_order)
Bugsnag.notify("Notice: order cycle closed during checkout completion") do |payload|
payload.add_metadata :order, current_order
end
current_order.empty!
current_order.set_order_cycle! nil
flash[:info] = I18n.t('order_cycle_closed')
respond_to do |format|
format.cable_ready {
render status: :see_other, operations: cable_car.redirect_to(url: main_app.shop_path)
}
format.json { render json: { path: main_app.shop_path }, status: :see_other }
format.html { redirect_to main_app.shop_path, status: :see_other }
end
@@ -39,7 +45,7 @@ module OrderStockCheck
end
def reset_order_to_cart
return if Flipper.enabled? :split_checkout, spree_current_user
return if OpenFoodNetwork::FeatureToggle.enabled? :split_checkout, spree_current_user
OrderCheckoutRestart.new(@order).call
end

View File

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

View File

@@ -0,0 +1,16 @@
# frozen_string_literal: true
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def openid_connect
spree_current_user.link_from_omniauth(request.env["omniauth.auth"])
redirect_to admin_oidc_settings_path
end
def failure
error_message = request.env["omniauth.error"].to_s
flash[:error] = t("devise.oidc.failure", error: error_message)
super
end
end

View File

@@ -31,15 +31,12 @@ class SplitCheckoutController < ::BaseController
if confirm_order || update_order
return if performed?
check_payments_adjustments
clear_invalid_payments
advance_order_state
redirect_to_step
else
flash.now[:error] ||= I18n.t('split_checkout.errors.global')
render status: :unprocessable_entity, operations: cable_car.
replace("#checkout", partial("split_checkout/checkout")).
replace("#flashes", partial("shared/flashes", locals: { flashes: flash }))
render_error
end
rescue Spree::Core::GatewayError => e
flash[:error] = I18n.t(:spree_gateway_error_flash_for_checkout, error: e.message)
@@ -49,10 +46,25 @@ class SplitCheckoutController < ::BaseController
private
def render_error
flash.now[:error] ||= I18n.t(
'split_checkout.errors.saving_failed',
messages: @order.errors.full_messages.to_sentence
)
render status: :unprocessable_entity, operations: cable_car.
replace("#checkout", partial("split_checkout/checkout")).
replace("#flashes", partial("shared/flashes", locals: { flashes: flash }))
end
def flash_error_when_no_shipping_method_available
flash[:error] = I18n.t('split_checkout.errors.no_shipping_methods_available')
end
def check_payments_adjustments
@order.payments.each(&:ensure_correct_adjustment)
end
def clear_invalid_payments
@order.payments.with_state(:invalid).delete_all
end
@@ -65,6 +77,7 @@ class SplitCheckoutController < ::BaseController
return true if redirect_to_payment_gateway
@order.process_payments!
@order.confirm!
order_completion_reset @order
end

View File

@@ -227,10 +227,10 @@ module Spree
def notify_bugsnag(error, product, variant)
Bugsnag.notify(error) do |report|
report.add_tab(:product, product.attributes)
report.add_tab(:product_error, product.errors.first) unless product.valid?
report.add_tab(:variant, variant.attributes)
report.add_tab(:variant_error, variant.errors.first) unless variant.valid?
report.add_metadata(:product, product.attributes)
report.add_metadata(:product_error, product.errors.first) unless product.valid?
report.add_metadata(:variant, variant.attributes)
report.add_metadata(:variant_error, variant.errors.first) unless variant.valid?
end
end

View File

@@ -95,11 +95,20 @@ module Spree
end
def check_shipping_fee_input
shipping_amount = permitted_resource_params.dig('calculator_attributes', 'preferred_amount')
shipping_fees = permitted_resource_params['calculator_attributes']&.slice(
:preferred_flat_percent, :preferred_amount,
:preferred_first_item, :preferred_additional_item,
:preferred_minimal_amount, :preferred_normal_amount,
:preferred_discount_amount, :preferred_per_unit
)
unless shipping_amount.nil? || Float(shipping_amount, exception: false)
flash[:error] = I18n.t(:calculator_preferred_value_error)
return redirect_to location_after_save
return unless shipping_fees
shipping_fees.each do |_, shipping_amount|
unless shipping_amount.nil? || Float(shipping_amount, exception: false)
flash[:error] = I18n.t(:calculator_preferred_value_error)
return redirect_to location_after_save
end
end
end
end

View File

@@ -32,7 +32,7 @@ module Spree
def load_object
@user ||= find_user
if @user
authorize! params[:action].to_sym, @user
authorize! :update, @user
else
redirect_to main_app.login_path
end

View File

@@ -1,48 +0,0 @@
# frozen_string_literal: true
require "spree/core/controller_helpers/auth"
require "spree/core/controller_helpers/common"
require "spree/core/controller_helpers/order"
module Spree
class UserRegistrationsController < Devise::RegistrationsController
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common
include Spree::Core::ControllerHelpers::Order
before_action :check_permissions, only: [:edit, :update]
skip_before_action :require_no_authentication
# GET /resource/edit
def edit
super
end
# PUT /resource
def update
super
end
# DELETE /resource
def destroy
super
end
# GET /resource/cancel
# Forces the session data which is usually expired after sign
# in to be expired now. This is useful if the user wants to
# cancel oauth signing in/up in the middle of the process,
# removing all OAuth session data.
def cancel
super
end
protected
def check_permissions
authorize!(:create, resource)
end
end
end

View File

@@ -1,13 +1,23 @@
# frozen_string_literal: true
require 'open_food_network/error_logger'
require "spree/core/controller_helpers/auth"
require "spree/core/controller_helpers/common"
require "spree/core/controller_helpers/order"
class UserRegistrationsController < Spree::UserRegistrationsController
class UserRegistrationsController < Devise::RegistrationsController
I18N_SCOPE = 'devise.user_registrations.spree_user'
before_action :set_checkout_redirect, only: :create
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common
include Spree::Core::ControllerHelpers::Order
include I18nHelper
skip_before_action :require_no_authentication
before_action :set_checkout_redirect, only: :create
before_action :set_locale
# POST /resource/sign_up

View File

@@ -11,6 +11,7 @@ module CheckoutHelper
def checkout_adjustments_for(order, opts = {})
exclude = opts[:exclude] || {}
reject_zero_amount = opts.fetch(:reject_zero_amount, true)
adjustments = order.all_adjustments.eligible.to_a
@@ -32,25 +33,13 @@ module CheckoutHelper
}
end
enterprise_fee_adjustments = adjustments.select { |a|
a.originator_type == 'EnterpriseFee' && a.adjustable_type != 'Spree::LineItem'
}
adjustments.reject! { |a|
a.originator_type == 'EnterpriseFee' && a.adjustable_type != 'Spree::LineItem'
}
unless exclude.include? :admin_and_handling
adjustments << Spree::Adjustment.new(
label: I18n.t(:orders_form_admin), amount: enterprise_fee_adjustments.sum(&:amount)
)
if reject_zero_amount
adjustments.reject! { |a| a.amount == 0 }
end
adjustments
end
def display_line_item_fees_total_for(order)
Spree::Money.new order.adjustments.enterprise_fee.sum(:amount), currency: order.currency
end
def checkout_line_item_fees(order)
order.line_item_adjustments.enterprise_fee
end

View File

@@ -1,7 +1,5 @@
# frozen_string_literal: true
require 'open_food_network/available_payment_method_filter'
module EnterprisesHelper
def current_distributor
@current_distributor ||= current_order(false)&.distributor
@@ -18,18 +16,7 @@ module EnterprisesHelper
end
def available_payment_methods
return [] if current_distributor.blank?
payment_methods = current_distributor.payment_methods.available(:both).to_a
filter = OpenFoodNetwork::AvailablePaymentMethodFilter.new
filter.filter!(payment_methods)
applicator = OpenFoodNetwork::TagRuleApplicator.new(current_distributor,
"FilterPaymentMethods", current_customer&.tag_list)
applicator.filter!(payment_methods)
payment_methods
OrderAvailablePaymentMethods.new(current_order, current_customer).to_a
end
def managed_enterprises

View File

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

View File

@@ -133,7 +133,7 @@ module Spree
event_label = I18n.t("cancel", scope: "actions")
button_link_to(event_label,
fire_admin_order_url(@order, e: "cancel"),
method: :put, icon: "icon-cancel", form_id: "cancel_order_form")
method: :put, icon: "icon-remove", form_id: "cancel_order_form")
end
def resume_event_link

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

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