Compare commits

...

4190 Commits

Author SHA1 Message Date
Ahmed Ejaz
6cdff7c4c7 Update all locales with the latest Transifex translations 2025-05-12 00:11:09 +05:00
Maikel
0dab580d3e Merge pull request #13308 from openfoodfoundation/dependabot/npm_and_yarn/hotkeys-js-3.13.10
Bump hotkeys-js from 3.13.9 to 3.13.10
2025-05-09 10:08:52 +10:00
Maikel
5072d65eb7 Merge pull request #13307 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.15
Bump trix from 2.1.14 to 2.1.15
2025-05-09 10:07:57 +10:00
Filipe
df81fa89f8 Merge pull request #13293 from cyrillefr/FixStimulusErrorOnPrintingWithBulkAction
Fixes StimulusJS error on printing w bulk action
2025-05-08 22:52:58 +01:00
Filipe
674f88162e Merge pull request #13291 from slothmock/fix-#11967+testing
Fix #11967 - limit variant unit name input
2025-05-08 22:39:20 +01:00
Filipe
d8fa3e2a19 Merge pull request #13292 from mkllnk/oc-notify
Process order cycle emails individually to avoid duplicates
2025-05-08 13:15:00 +01:00
dependabot[bot]
8391ab845f Bump hotkeys-js from 3.13.9 to 3.13.10
Bumps [hotkeys-js](https://github.com/jaywcjlove/hotkeys-js) from 3.13.9 to 3.13.10.
- [Release notes](https://github.com/jaywcjlove/hotkeys-js/releases)
- [Commits](https://github.com/jaywcjlove/hotkeys-js/compare/v3.13.9...v3.13.10)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 09:52:21 +00:00
Maikel
5d4f8313f3 Merge pull request #13305 from filipefurtad0/split_system_specs
Split system specs
2025-05-08 10:40:57 +10:00
Maikel
4ef17d3794 Merge pull request #13300 from filipefurtad0/fix_flaky_simple_spec_again
Adds tests to toggle the css sections (distributed products)
2025-05-08 10:39:17 +10:00
Maikel
bc3f847a9d Merge pull request #13299 from cyrillefr/FixRubocopNamingMethodParameterName
Fixes NamingMethodParameterName rubocop offense
2025-05-08 10:34:50 +10:00
Gaetan Craig-Riou
652cbd8874 Merge pull request #13294 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.7.1
Bump jasmine-core from 5.7.0 to 5.7.1
2025-05-07 14:03:45 +10:00
Gaetan Craig-Riou
b3834d0476 Merge pull request #13295 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.7.0
Bump @floating-ui/dom from 1.6.13 to 1.7.0
2025-05-07 14:03:02 +10:00
Gaetan Craig-Riou
532ce7a4d7 Merge pull request #13298 from dacook/cleanup-address-finder
Cleanup AddressFinder
2025-05-07 12:16:04 +10:00
filipefurtad0
af8059c22f Splits shopping_spec 2025-05-06 18:08:51 +01:00
filipefurtad0
e7edc068ef Splits order_spec 2025-05-06 17:25:01 +01:00
Maikel
6446676853 Merge pull request #13301 from filipefurtad0/update_knapsack_pro
Updates Knapsack Pro
2025-05-06 11:09:32 +10:00
filipefurtad0
e069cad034 Updates Knapsack Pro 2025-05-05 20:16:56 +01:00
filipefurtad0
81d35741a1 Adds tests to toggle the css sections
It's a lucky guess, but the idea is that pre-loading the CSS sections and its contents makes it slightly faster, for following assertions, which are the flaky offenders
2025-05-05 19:50:32 +01:00
cyrillefr
f6df412355 Fixes NamingMethodParameterName rubocop offense 2025-05-05 10:39:15 +02:00
Maikel
45a0185744 Merge pull request #13279 from filipefurtad0/reproduce_12933_stock_reset
Reproduces bug #12933, setting the test case as pending
2025-05-05 14:58:41 +10:00
David Cook
0225db6840 Refactor without setter methods
This class was originally built to flexibly accept paramters in any order. It also allowed you to specify multiple of the same type of parameter, with the later one overriding the earlier.

This is too flexible and likely to cause mistakes. And besides, we don't use that feature!
2025-05-05 12:59:27 +10:00
David Cook
3ec14607a6 Merge pull request #13286 from chitty/apr29-rubocop-style-corrections
Rubocop Style corrections
2025-05-05 12:53:57 +10:00
David Cook
29a14848ea Merge pull request #13285 from cyrillefr/FixRubocopNamingMemoizedInstanceVariableName
Fixes Rubocop Naming NamingMemoizedInstanceVariableName cop
2025-05-05 12:48:28 +10:00
David Cook
eadfa8c965 Update from code review
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2025-05-05 12:09:58 +10:00
Gaetan Craig-Riou
2107c05f15 Merge pull request #13289 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.1.14
Bump trix from 2.1.13 to 2.1.14
2025-05-05 10:33:40 +10:00
filipefurtad0
01b6ff6d09 Update all locales with the latest Transifex translations 2025-05-03 17:39:57 +01:00
Filipe
846cb4dd89 Merge pull request #13252 from rioug/13159-add-tag-variant
[Variant tags]  Add variant tag on Bulk Edit Product screen
2025-05-03 17:34:51 +01:00
dependabot[bot]
ac7768df05 Bump @floating-ui/dom from 1.6.13 to 1.7.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.13 to 1.7.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.0/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 09:58:03 +00:00
dependabot[bot]
fb7c74471e Bump jasmine-core from 5.7.0 to 5.7.1
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.7.0 to 5.7.1.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.7.0...v5.7.1)

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

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

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

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

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

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

For example, a supplier name intended to appear as:

Pãtes du Contentin

would incorrectly display as:

P&#227;tes du Contentin

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TOFIX: concurrency test now fails. why?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Manager invitation email: reply to inviting enterprise

Authorize payment email: reply to distributor

Order cancellation email: reply to distributor

Shipment notification email: reply to distributor
2025-02-10 21:51:04 +01:00
dependabot[bot]
b9a0556154 chore(deps-dev): bump jasmine-core from 5.5.0 to 5.6.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.5.0...v5.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 09:18:15 +00:00
dependabot[bot]
623a75a025 chore(deps): bump leaflet-geosearch from 4.1.0 to 4.2.0
Bumps [leaflet-geosearch](https://github.com/smeijer/leaflet-geosearch) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/smeijer/leaflet-geosearch/releases)
- [Commits](https://github.com/smeijer/leaflet-geosearch/compare/v4.1.0...v4.2.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

But Rails is now clever enough to interpret `begins_at..nil` as open
end query. This shouldn't have any practical impact as there's unlikely
to be an order cycle closing in more than 100 years. And if there was,
it would be confusing that it's not treated like other order cycles
ending in 80 years.
2025-01-10 08:57:20 +11:00
Maikel Linke
49ec9a3136 Style Rails/WhereRange 2025-01-10 08:43:58 +11:00
dependabot[bot]
2937595a33 chore(deps-dev): bump rubocop-rails from 2.24.1 to 2.25.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.24.1 to 2.25.0.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.24.1...v2.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 08:34:00 +11:00
Maikel Linke
dc7b6245fd Allow creating backorders before order cycle opens
Admins may want to pre-process some orders manually for going public.
And it's good to reserve stock for these.

At some point in the future, the supplier may have an order cycle with
its own times but the current FDC implementation allows orders at any
time.
2025-01-09 13:32:43 +11:00
Maikel Linke
884206b4ed Place new backorder when there's none to amend 2025-01-09 13:28:09 +11:00
Maikel Linke
2297b650f8 Skip amending backorder if there's none 2025-01-09 12:10:07 +11:00
Maikel Linke
a3ec3e74ae Hide stock level of on-demand inventory items
We changed to tracking stock of on-demand items to be able to place
backorders. This is mostly hidden in the app but was still visible on
the inventory page. Now we are hiding that here, too.
2025-01-09 10:06:04 +11:00
Maikel Linke
0805501445 Format spec data with less indent 2025-01-09 10:06:04 +11:00
Maikel
edf236778e Merge pull request #13063 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.13
Bump @floating-ui/dom from 1.6.12 to 1.6.13
2025-01-09 08:54:47 +11:00
dependabot[bot]
bf98603fcf Bump @floating-ui/dom from 1.6.12 to 1.6.13
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.12 to 1.6.13.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.13/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-08 09:29:52 +00:00
Maikel
5f486bd611 Merge pull request #13036 from chahmedejaz/bugfix/13024-dfc-catalog-syncs-for-blank-cart
Fix DFC catalog syncs for blank cart
2025-01-08 12:53:19 +11:00
Maikel
1df3a6bb66 Merge pull request #13049 from mkllnk/dfc-wholesale-stock
Calculate stock from DFC wholesale variants
2025-01-08 12:32:44 +11:00
Konrad
8e0c0392d9 Merge pull request #12991 from murjax/remove-sku-11973
Remove product SKU from product pages and report
2025-01-07 21:14:39 +01:00
Konrad
428eb465c0 Merge pull request #13009 from MrBowmanXD/dev
Added the :selected option with the default tax category #12989
2025-01-07 20:04:28 +01:00
Rachel Arnould
1147976069 Merge pull request #13011 from drummer83/ConnApps
Make Connected Apps links available in Transifex
2025-01-07 15:31:46 +01:00
kernal053
45a4b33920 Ensure existing format 'Voucher: Code' on edit cart page. Handle rubocop warning 2025-01-07 09:17:24 +05:30
Maikel Linke
0bd6fe6709 Fix setting stock from wholesale offer 2025-01-07 11:03:36 +11:00
Maikel Linke
21195c5750 Calculate stock from wholesale products 2025-01-07 11:03:36 +11:00
Maikel Linke
faad7fa95c Move wholesale calculation for re-use 2025-01-07 11:03:36 +11:00
Maikel Linke
ddaeff7c53 Use DfcCatalog in offer broker 2025-01-07 11:03:34 +11:00
Maikel Linke
ef08ae49fe DRY DFC catalog logic for re-use 2025-01-07 10:49:37 +11:00
Konrad
7e3baabd23 Merge pull request #12983 from saunmanoj888/12957-hide-search-filter-for-no-products
Back Office Product List - Hide search field and filters when there are no products in list
2025-01-07 00:16:59 +01:00
David Cook
a89d65cfc7 Merge pull request #13057 from mkllnk/remove-local-storage
Remove local storage
2025-01-06 11:45:27 +11:00
Gaetan Craig-Riou
ab57618e59 Merge pull request #13044 from mkllnk/dfc-store-order-links-only
Remove old, replaced backorder lookup
2025-01-06 10:11:34 +11:00
Konrad
cdcc6871fd Merge pull request #12979 from cillian/remove-unused-angular-directives-2024-11
Remove unused renderSvg, ofnDisableScroll, integer, ofnScrollTo angular directives
2025-01-04 15:50:38 +01:00
kernal053
98adefbd67 Add 'Voucher:' before voucher code on edit cart page. Add spec correspondigly 2025-01-04 14:26:02 +05:30
Cillian O'Ruanaidh
ce38c1a3d5 Remove unused :ofn-scroll-to angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
6923349de6 Remove unused :integer angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
1fb987f0bd Remove unused :disable-scroll angular directive 2025-01-03 14:31:21 +01:00
Cillian O'Ruanaidh
0b389b8ff4 Remove unused :render-svg angular directive 2025-01-03 14:31:21 +01:00
Konrad
35fa4155e4 Merge pull request #12998 from kernal053/add-voucher-to-order-confirmation-emails
Add 'Voucher:' before voucher code on order confirmation emails
2025-01-03 14:01:45 +01:00
Maikel
1b03ee1a02 Merge pull request #13040 from openfoodfoundation/dependabot/npm_and_yarn/stimulus_reflex-3.5.3
Bump stimulus_reflex from 3.5.1 to 3.5.3
2025-01-03 15:29:20 +11:00
kernal053
bad32e226e Fix label for other adjustments and add spec correspodingly 2025-01-02 16:29:48 +01:00
kernal053
65f7980246 remove locale files changes except en.yml inorder to avoid conflict with Transifex 2025-01-02 16:29:48 +01:00
kernal053
65abda2a38 add voucher label & correspoding code with translation for order confirmation mailer 2025-01-02 16:29:48 +01:00
kernal053
f99f2c81ac Add 'Voucher:' before voucher code on order confirmation emails 2025-01-02 16:29:48 +01:00
David Cook
bc53e4301c Bump cable_ready package 2025-01-02 16:32:18 +11:00
David Cook
807782cc2a Bump cable_ready gem 2025-01-02 16:29:03 +11:00
David Cook
6adc6321f5 Bump stimulus_reflex gem 2025-01-02 16:28:37 +11:00
Maikel Linke
558d4debdb Remove unused AngularJS local storage 2025-01-02 15:40:13 +11:00
Maikel Linke
8f761fc438 Remove unused localStorageService clearing 2025-01-02 15:23:43 +11:00
Maikel Linke
be98544537 Remove unused AngularJS service KeyValueMapStore 2025-01-02 15:19:55 +11:00
David Cook
7f3b1c0d7a Merge pull request #13029 from mkllnk/flaky-order-cycle-spec
Add timepicker helper with added expectation to reduce flakiness
2025-01-02 13:45:28 +11:00
dependabot[bot]
d71b282fda Bump stimulus_reflex from 3.5.1 to 3.5.3
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.1 to 3.5.3.
- [Release notes](https://github.com/stimulusreflex/stimulus_reflex/releases)
- [Changelog](https://github.com/stimulusreflex/stimulus_reflex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusreflex/stimulus_reflex/compare/v3.5.1...v3.5.3)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

New cases supported:

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 20:41:14 +00:00
Manuel Gonçalves
0d4904d9e4 Small change in spec file 2024-12-09 09:07:22 +00:00
Manuel Gonçalves
5def2b53e5 Added a spec file in order to test the tax categories helper 2024-12-08 10:52:14 +00:00
Ahmed Ejaz
42940f4729 12993: add total tax incl. 2024-12-08 01:05:21 +05:00
Ahmed Ejaz
f2da3bb11c 12993: html sanitize city and zip 2024-12-08 01:05:02 +05:00
Ahmed Ejaz
f8003b00db 12993: translate tax incl and qty 2024-12-08 01:03:38 +05:00
Filipe
521b72a6c9 Merge pull request #13004 from chahmedejaz/bugfix/12982-unable-to-close-confirmation-modals
[Orders Page] Fix Confirmation modals do not auto-close
2024-12-07 10:33:56 -06:00
Filipe
aa4552aac4 Merge pull request #13001 from chahmedejaz/bugfix/12973-product-import-never-completes
Bulk product import stalling at 66% when missing info
2024-12-05 16:34:43 -06:00
Ahmed Ejaz
93a3130851 12973: add specs 2024-12-05 16:18:21 -06:00
Ahmed Ejaz
f3a30f94db 12973: fix error rendering on UI
- The caught errors do not get rendered to the UI because of incorrect rendering methods
2024-12-05 16:18:21 -06:00
Ahmed Ejaz
16cae2dbcc 12973: fix error raised in variant creation
- if the sheet doesn't have the units present, then the variant is not saved due to model validation
- After that, while assigning on_hand value, error is raised that the variant is not created first
- Now this commit makes sure that the variant is created before implementing above logic
2024-12-05 16:18:21 -06:00
Gaetan Craig-Riou
cedf040b47 Per review, test on create and update 2024-12-04 22:15:56 +11:00
Gaetan Craig-Riou
4a6e4d4c6d Ensure shipment is updated when using update_or_create
`Spree::OrderContents#update_or_create` is used to update the cart when
on the /shop page. If you start an order and proceed to the "Order
summary" step, and then decide to update your order by using the shop
link next to the cart, such update wouldn't update the shipment.
This result in the order page in the backoffice displaying the wrong data,
and more importantly, in the stock not being updated.
So now we ensure shipment will be updated, which result in the checkout
flow being restarted, thus making sure the shipment is updated.
2024-12-04 16:30:45 +11:00
Maikel
4c71ea3866 Merge pull request #12994 from mkllnk/dfc-update-voc
Add new DFC vocabulary for order states
2024-12-04 12:57:03 +11:00
Gaetan Craig-Riou
bc970927a5 Merge pull request #13017 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.5.0
Bump jasmine-core from 5.4.0 to 5.5.0
2024-12-04 09:49:37 +11:00
Ahmed Ejaz
c331d57cdb 13008: add tax category in all products report 2024-12-04 03:36:42 +05:00
dependabot[bot]
5845fee663 Bump jasmine-core from 5.4.0 to 5.5.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.4.0...v5.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-03 09:38:47 +00:00
Manuel Gonçalves
3199118bae Removed the :selected attribute when the tax category is not required (like original version) 2024-12-03 08:54:35 +00:00
Maikel
de938f6f10 Merge pull request #12949 from rioug/12859-use-VINE-voucher
[City OFN Voucher] A shopper can use a VINE voucher
2024-12-03 14:04:44 +11:00
Maikel
697f430156 Merge pull request #12992 from mkllnk/errors
Add simpler Alert.raise interface to notify Bugsnag
2024-12-03 13:29:11 +11:00
Maikel Linke
c41c15b895 Fix missed Alert call with order object 2024-12-03 13:02:08 +11:00
Manuel Gonçalves
980f86ce89 Fixed the lint errors 2024-12-02 21:22:12 +00:00
Ahmed Ejaz
af200ab4a0 12993: fix lint issues 2024-12-02 18:40:18 +05:00
Ahmed Ejaz
4c6c1eedb1 12993: use html safe strings wherever required 2024-12-02 18:23:24 +05:00
Ahmed Ejaz
bbdee7c0f3 12993: add included tax in text report 2024-12-02 18:04:18 +05:00
Ahmed Ejaz
11959515b8 12993: update the condition to display details 2024-12-02 18:04:17 +05:00
David Cook
cb781536b6 Merge pull request #12905 from macanudo527/docker/use_alpine_image
Add Alpine Image for Docker
2024-12-02 09:57:51 +11:00
drummer83
53d2166579 Make Connected Apps links available in Transifex 2024-12-01 23:55:26 +01:00
Manuel Gonçalves
d95bb7736a Fixed the logic and moved the code to a helper file 2024-12-01 20:43:31 +00:00
Manuel Gonçalves
7d5bb4a6fa Added the :selected option with the default tax category 2024-12-01 15:13:49 +00:00
Maikel Linke
5719d0682d Remove duplicate lines, dev leftovers 2024-11-29 16:16:43 +11:00
Maikel Linke
c4c95d472e Use defined DFC orders states 2024-11-29 16:16:42 +11:00
Maikel Linke
3e7f61c4d1 Add new DFC vocabulary
So that we can use order states programmatically.
2024-11-29 16:16:42 +11:00
Maikel
db76cd1659 Merge pull request #13005 from mkllnk/map-spec
Remove failing map spec
2024-11-29 14:10:57 +11:00
Maikel Linke
e791184468 Remove failing map spec
I couldn't fix it easily. But I also think that the testing approach had
low value here.

It raised:

```
Failures:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 09:40:36 +00:00
dependabot[bot]
db14080a7f Bump jasmine-core from 5.3.0 to 5.4.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.3.0...v5.4.0)

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

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

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

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

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

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

Apparently, it had been extracted twice:

 * 1d074c2151
 * 06eb98bdf4

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 01:36:37 +01:00
David Cook
a6d71f8dd1 Merge pull request #12861 from openfoodfoundation/dependabot/npm_and_yarn/express-4.21.0
Bump express from 4.19.2 to 4.21.0
2024-09-17 09:26:41 +10:00
David Cook
5c300d6d41 Merge pull request #12864 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.11
Bump @floating-ui/dom from 1.6.10 to 1.6.11
2024-09-17 09:26:24 +10:00
dependabot[bot]
bb4ff5adc2 Bump @floating-ui/dom from 1.6.10 to 1.6.11
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.10 to 1.6.11.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.11/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 09:29:53 +00:00
David Cook
9c51615b03 Anonymise customer first and last names
These were added a couple of years ago in https://github.com/openfoodfoundation/openfoodnetwork/pull/8763
But I guess we never noticed the names weren't getting anonymised.

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

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

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

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

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

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

Removes CSV tests based on permissions

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

Removes pdf file assertation

Removes test on PDF file on sales tax report

Removes PDF testing from helper
2024-09-09 18:07:57 -06:00
filipefurtad0
32e32117e3 Adds test case around hub filters 2024-09-09 18:07:57 -06:00
filipefurtad0
2a1d494301 Adds coverage for table contents 2024-09-09 18:07:57 -06:00
filipefurtad0
fd45dea9f7 Moves report test case into dedicated file
Sets up an enterprise user instead of an admin user
2024-09-09 18:07:57 -06:00
filipefurtad0
9073f0e5a8 Update all locales with the latest Transifex translations 2024-09-09 10:13:11 -06:00
dependabot[bot]
c4f2c1c3ca Bump jasmine-core from 5.2.0 to 5.3.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.2.0...v5.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 09:12:18 +00:00
dependabot[bot]
a23bbf8537 Bump turbo_power from 0.6.2 to 0.7.0
Bumps [turbo_power](https://github.com/marcoroth/turbo_power) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/marcoroth/turbo_power/releases)
- [Commits](https://github.com/marcoroth/turbo_power/compare/v0.6.2...v0.7.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 09:39:16 +00:00
dependabot[bot]
5cdce35ee8 Bump jquery-ui from 1.13.3 to 1.14.0
Bumps [jquery-ui](https://github.com/jquery/jquery-ui) from 1.13.3 to 1.14.0.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.13.3...1.14.0)

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

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

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

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

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

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

But sometimes the exchange would have the id 1 instead of 0 and the test
would fail. Instead I opted to select the field by text visible to the
user.
2024-08-06 12:31:54 +10:00
Maikel
f5875e4c0b Merge pull request #12667 from cyrillefr/FixRailsRootPathnameMethods
Fixes Rails/RootPathnameMethods offense
2024-08-06 11:02:28 +10:00
dependabot[bot]
56d23c172c Bump karma from 6.4.3 to 6.4.4
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.3 to 6.4.4.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.4.3...v6.4.4)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 09:57:36 +00:00
dependabot[bot]
f00b2f0397 Bump jasmine-core from 5.1.2 to 5.2.0
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.2 to 5.2.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.1.2...v5.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 09:57:26 +00:00
Ahmed Ejaz
c101c4e42f 12698 - fix 'go back to products' stateful navigation 2024-08-05 13:51:59 +05:00
Gaetan Craig-Riou
11ba33d7f4 Merge pull request #12696 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.8
Bump @floating-ui/dom from 1.6.7 to 1.6.8
2024-08-05 16:38:03 +10:00
dependabot[bot]
8e663dac3f Bump @floating-ui/dom from 1.6.7 to 1.6.8
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.7 to 1.6.8.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.8/packages/dom)

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

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

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

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

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

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

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

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

> expected not to find text "20"
> in "Logged in as : olen@harveydenesik.biz Account Logout ... Weight (g) YES 1g On demand Enterprise 203 Enterprise 203
2024-07-22 11:42:50 +10:00
David Cook
0c43dd4222 Merge pull request #12686 from filipefurtad0/activate_25_p_cent_BUU_users
Activates admin_style_v3 for 25 per cent users
2024-07-22 10:28:19 +10:00
wandji20
bb427db66a Add spec for clearing search input when no results is found [OFN-12551] 2024-07-19 14:25:46 +01:00
wandji20
1165b00600 Remove SR from clear search button [OFN-12551] 2024-07-19 14:21:35 +01:00
dependabot[bot]
2d45952611 Bump @hotwired/turbo from 8.0.4 to 8.0.5
Bumps [@hotwired/turbo](https://github.com/hotwired/turbo) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/hotwired/turbo/releases)
- [Commits](https://github.com/hotwired/turbo/compare/v8.0.4...v8.0.5)

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 09:05:34 +00:00
David Cook
b1aafbf843 Remove old migration spec
It breaks due to a change of the spec environment. There's no point fixing it, it's no longer required.
2024-07-01 15:31:27 +10:00
David Cook
c80199e8b1 Use normal capitalisation for translation 2024-07-01 15:31:27 +10:00
David Cook
b1721d69a2 todo: make specs work with admin_style_v3 2024-07-01 15:31:25 +10:00
David Cook
109432d282 fixup: feature toggle old screen 2024-07-01 14:58:27 +10:00
David Cook
5f01bb40d2 Remove unecessary message
I'm not sure why it's not appearing on my computer, but it was an unnecessary duplicate message, so I'm happy to remove it.
2024-07-01 14:58:27 +10:00
David Cook
39cae4468a Fix more uppercase tests after rebase
These seem to have been changed since the previous rebase.
2024-07-01 14:58:22 +10:00
David Cook
3a8c44d0c6 fixup: Updates spec to create a variant within BUU design 2024-07-01 12:38:10 +10:00
filipefurtad0
6dfef8104d Fixes rebase 2024-07-01 12:24:26 +10:00
filipefurtad0
9e25893401 Sets variant creation scenarios on_hand/on_demand as shared examples 2024-07-01 12:24:26 +10:00
filipefurtad0
8028610fe6 Updates spec to create a variant within BUU design 2024-07-01 12:24:26 +10:00
filipefurtad0
ba355fdaab Removes mouse clicks to display variants
This feature does not exist in BUU

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

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

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

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

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

It would be simpler if we just used product IDs as the index, I think I did earlier but don't remember why not.
Anyway, using a negative number seems to work.
If there's an error, there will only be one at a time.
2024-06-26 17:04:49 +10:00
Gaetan Craig-Riou
74fb6c3143 Disable GO button once clicked
It is disabled both on client side and server side, so even if the
server takes a while to respond the button is disabled
2024-06-26 16:01:05 +10:00
Gaetan Craig-Riou
ad78210b00 Update all locales with the latest Transifex translations 2024-06-26 14:18:59 +10:00
David Cook
a22c17a520 Merge pull request #12618 from dacook/buu/page-title
[BUU] Add translation for "Products V3" page title
2024-06-26 10:03:21 +10:00
David Cook
0e26df2c18 Add translation for products_v3 page title 2024-06-26 09:43:38 +10:00
David Cook
2269bcee4c Merge pull request #12616 from chahmedejaz/task/12603-auto-author-assign-workflow
Add Auto Author Assign Workflow for Pull Requests
2024-06-26 09:27:58 +10:00
Gaetan Craig-Riou
cb98f2f3d5 Merge pull request #12606 from dacook/buu/enable-admin_style_v3-new_users
[BUU] Enable admin_style_v3 for new users from 3/07/2024
2024-06-26 09:23:40 +10:00
Gaetan Craig-Riou
1f018292f7 Merge pull request #12605 from abdellani/12373_12374_fix_bulk_invoice_sending_printing
[Invoices] Notify if any order cannot be invoiced on bulk invoice printing (update the behavior only when invoice flag enabled )
2024-06-26 09:16:55 +10:00
Maikel
8dff2e6017 Merge pull request #12614 from cyrillefr/FixRailsUnknownEnv
Fixes Rails/UnknownEnv offense
2024-06-26 09:06:00 +10:00
Maikel
2619e12216 Merge pull request #12617 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.6
chore(deps): bump @floating-ui/dom from 1.6.5 to 1.6.6
2024-06-26 09:03:49 +10:00
Abdul Aziz Ali
9d12e55bd7 Add enterprise fees controller spec #11326 2024-06-26 06:36:57 +08:00
Abdul Aziz Ali
b3570991f4 Rubocop. Fix cyclomatic complexity in fees controller #11326 2024-06-26 06:36:42 +08:00
dependabot[bot]
dd68ccdf2d chore(deps): bump @floating-ui/dom from 1.6.5 to 1.6.6
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.6/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 09:59:33 +00:00
cyrillefr
b09f41136f Fixes Rails/UnknownEnv offense
- Cop: Rails/UnknownEnv
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunknownenv
- Rails.env.typo? will always return false and will not return an error
- The way to check this is to add environments in the Environments config parameter
- in the rubocop file.
2024-06-25 10:18:45 +02:00
Ahmed Ejaz
feb1fa1198 12603 - add auto-author-assign workflow 2024-06-25 12:20:24 +05:00
David Cook
93798ed54b Merge pull request #12599 from chahmedejaz/task/12346-rubocop-rails-pluck-and-pluck-where
12346 - Fix Rubocop Rails/Pluck and Rails/PluckInWhere
2024-06-25 17:12:18 +10:00
Ahmed Ejaz
bb6e69ff56 Merge branch 'master' into task/12346-rubocop-rails-pluck-and-pluck-where 2024-06-25 11:53:50 +05:00
David Cook
b4ef83b3a7 Enable admin_style_v3 for new users from 3/07/2024 2024-06-25 13:04:36 +10:00
Maikel
c8e134cef5 Remove redundant wait loading report content
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2024-06-25 11:50:01 +10:00
Gaetan Craig-Riou
3afb3f5ba0 Merge pull request #12601 from cyrillefr/FixRailsRelativeDateConstant
Fixes Rails/RelativeDateConstant offense
2024-06-25 09:15:29 +10:00
Mohamed ABDELLANI
a3fd7b77c8 notify if any distributors doesn't have an abn 2024-06-24 14:46:01 +01:00
Ahmed Ejaz
72640cfc2a 12346: refactor orders_controller spec 2024-06-24 14:43:17 +05:00
Ahmed Ejaz
ff10a36e4a 12346: refactor bulk_line_items_controller spec 2024-06-24 14:25:34 +05:00
cyrillefr
980ce95ab2 Requested changes
- replace direct instance variable use by instance getter use
2024-06-24 10:37:43 +02:00
Gaetan Craig-Riou
c4470f76e3 Merge pull request #12593 from filipefurtad0/regression_spec_12591
Adds regression spec for #12591
2024-06-24 14:46:29 +10:00
Gaetan Craig-Riou
cd768a1fe9 Merge pull request #12585 from mkllnk/flaky-caching
Ensure all assets are compiled on test page visit
2024-06-24 14:44:11 +10:00
Gaetan Craig-Riou
c756afa1cc Merge pull request #12571 from filipefurtad0/adds_spec_on_abn_restriction
Adds test case to assure acceptance criteria from #12374 and #12373
2024-06-24 14:41:31 +10:00
Gaetan Craig-Riou
67cac1f4d6 Fix search to return expected data
As explained in Reporting::ReportTemplate::ReportsHelper, 'search' and
`query_result` are not supposed to return the same things
2024-06-24 14:04:35 +10:00
Ahmed Ejaz
afd09091a2 12346 - fix broken specs 2024-06-22 02:11:39 +05:00
cyrillefr
659111932c Fixes Rails/RelativeDateConstant offense
- Cop: Rails/RelativeDateConstant
- raises offense if Constant is relative data (ie: since, ago)
- Reason: relative data will be evaluated only once
- BUT here, Date should not be evaluated in a class method, and have a different
- value for each call. But the data should be the same for an instance
- Therefore: move the ago in init method
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrelativedateconstant

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

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

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

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

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

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

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

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

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

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

The specification says:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Updating Unit value, done in 49226ff

Removes comment about errors for empty variant_unit_name

I think this was done in commit f05d27b

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

Adds test for variant search

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

- column display dropdown

- listing products with several variants
2024-05-25 15:13:59 +01:00
Cillian O'Ruanaidh
b2f20db90a Remove redundant spec type offence from MapHelper spec 2024-05-24 11:43:00 +01:00
Cillian O'Ruanaidh
46fdeefa14 Make sure OSM map is not enabled in test environment in case it abuses OSM tile servers 2024-05-24 11:24:57 +01:00
Cillian O'Ruanaidh
850385a8d3 Add tests to make sure the appropriate map is loaded e.g. Open Street Map or Google 2024-05-24 11:14:43 +01:00
dependabot[bot]
9cd5f5aaa0 chore(deps-dev): bump knapsack_pro from 7.2.0 to 7.4.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 7.2.0 to 7.4.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v7.2.0...v7.4.0)

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

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

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

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

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

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

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

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

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

* activemerchant
* rubocop [dev dep only]
2024-05-17 11:37:49 +10:00
dependabot[bot]
726c52e725 chore(deps): bump aws-sdk-s3 from 1.147.0 to 1.151.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.147.0 to 1.151.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-16 09:02:01 +00:00
dependabot[bot]
79741eac58 chore(deps): bump rexml from 3.2.6 to 3.2.8
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.6...v3.2.8)

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

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

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

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

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

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

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

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

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

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

Technically, the new buttons are a form within a form which is invalid
HTML, but it works.
2024-05-15 17:14:52 +10:00
Maikel
ae09124946 Merge pull request #12475 from openfoodfoundation/dependabot/bundler/knapsack_pro-7.2.0
chore(deps-dev): bump knapsack_pro from 7.1.0 to 7.2.0
2024-05-15 11:21:26 +10:00
Maikel
68f12ed7f0 Merge pull request #12464 from filipefurtad0/variant_overrides_spec_to_split_checkout
Updates tests on a regular checkout
2024-05-15 11:17:03 +10:00
Gaetan Craig-Riou
1fde91e6ff Update Webmock and VCR config as per Knapsack recommendation
See : https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md#720
2024-05-15 10:07:40 +10:00
Gaetan Craig-Riou
c94bec85d7 Merge pull request #12468 from openfoodfoundation/dependabot/bundler/nokogiri-1.16.5
chore(deps): bump nokogiri from 1.16.4 to 1.16.5
2024-05-15 09:59:29 +10:00
filipefurtad0
4e16eb9c6b Updates spec to split checkout 2024-05-14 12:19:23 +01:00
filipefurtad0
38fe36b246 Uptades tests on a regular checkout 2024-05-14 12:19:23 +01:00
dependabot[bot]
afbfc788b8 chore(deps-dev): bump knapsack_pro from 7.1.0 to 7.2.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 7.1.0 to 7.2.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v7.1.0...v7.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 11:01:59 +00:00
Manuel Gonçalves
50115bdef9 Changes to views/checkout/details.html.haml:line 98 and changes to view/checkout/payment.html.haml:line 32 2024-05-14 10:39:30 +01:00
David Cook
ba50e82036 Bump cable_ready and stimulus_reflex gems
I ran stimulus_reflex:install. It skipped over most things, but did add gem redis-session-store without explanation. It's mentioned in the [documentation](https://docs.stimulusreflex.com/hello-world/setup.html#session-storage), but I don't think it's relevant to us so I removed it again.
2024-05-14 14:55:32 +10:00
David Cook
08edff1a6f Bump cable_ready and stimulus_reflex packages
There wasn't a simple path to upgrade them separately. I think it's fine to do both at once.
2024-05-14 14:30:02 +10:00
David Cook
854091eb9c Bump stimulus_reflex_testing to latest
It contains a fix for stimulus_reflex 3.5.0-rc4, but hasn't been released yet.
https://github.com/podia/stimulus_reflex_testing/issues/21

Now the user reflex spec works, but the products spec needs another fix. But we plan to remove it soon anyway.
2024-05-14 14:23:20 +10:00
David Cook
792fecc3fd Disable StimulusReflex specs temporarily
Unfortunately the testing framework doesn't support the latest version of StimulusReflex.
This is a third party framework that doesn't seem to be maintained. Maybe we should convert these to ActionCable tests.
2024-05-14 13:54:55 +10:00
David Cook
1d93b6f049 chore(deps): bump gem stimulus_reflex from 3.5.0-rc3 to 3.5.0-rc4
Gem and package need to be in sync.
2024-05-14 13:54:55 +10:00
dependabot[bot]
d5564e5fd2 chore(deps): bump stimulus_reflex from 3.5.0-rc3 to 3.5.0-rc4
Bumps [stimulus_reflex](https://github.com/stimulusreflex/stimulus_reflex) from 3.5.0-rc3 to 3.5.0-rc4.
- [Release notes](https://github.com/stimulusreflex/stimulus_reflex/releases)
- [Changelog](https://github.com/stimulusreflex/stimulus_reflex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusreflex/stimulus_reflex/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 13:54:55 +10:00
Maikel Linke
f089c0eff3 Keep HTML line breaks
They do appear in long_description on au_prod.
2024-05-14 12:40:58 +10:00
Maikel Linke
23a27c65be Sanitise existing HTML in Enterprise#long_description
We will add a migration to sanitise all existing descriptions but before
we do that destructive action, it's good to test this in a read-only
fashion first.
2024-05-14 12:25:58 +10:00
Maikel Linke
7b4a85f7ef Sanitise HTML in long description of enterprise
This happens only on assignment. We still need to migrate existing data.
2024-05-14 12:25:47 +10:00
Maikel
13e4d4beb6 Merge pull request #12467 from openfoodfoundation/dependabot/bundler/geocoder-1.8.3
chore(deps): bump geocoder from 1.8.2 to 1.8.3
2024-05-14 11:49:14 +10:00
Maikel
ee1537fa3f Merge pull request #12466 from openfoodfoundation/dependabot/bundler/dotenv-3.1.2
chore(deps): bump dotenv from 3.1.0 to 3.1.2
2024-05-14 11:48:28 +10:00
David Cook
00f6d01738 Remove errored variants
I found another case.
2024-05-14 11:27:04 +10:00
David Cook
da77994a89 Ignore disconnected form elements
When elements are removed from the DOM, they remain in the recordElements array. But we can simply ignore them.
We have to wait until after rails-nested-form:remove is completed before toggleFormChanged.

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

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

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

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

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

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

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

Adds test case for Cash and Stripe payment methods

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 09:42:36 +00:00
dependabot[bot]
c8e94c6658 chore(deps): bump i18n from 1.14.4 to 1.14.5
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.4 to 1.14.5.
- [Release notes](https://github.com/ruby-i18n/i18n/releases)
- [Changelog](https://github.com/ruby-i18n/i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby-i18n/i18n/compare/v1.14.4...v1.14.5)

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

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

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

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

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

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

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

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

Old versions of KnapsackPro would execute the `before(:suite)` hooks on
every batch, but now it's only run once. With this change, we do the
same as before.
2024-05-08 13:36:41 +10:00
Maikel Linke
104357d5b9 Load spec helper on RSpec boot
Knapsack is replacing some of the RSpec logic, like running before-suite
and before-all hooks. Loading the spec helper early means that Knapsack
knows about the asset compilation hook when it loads the next batch of
specs.
2024-05-08 13:31:35 +10:00
dependabot[bot]
331f9be82a chore(deps-dev): bump knapsack_pro from 6.0.4 to 7.1.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.4 to 7.1.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.4...v7.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-08 10:38:19 +10:00
cyrillefr
6575ad738b Fix Ship Order Button: requested changes
- bypass rubocop class lines limit
2024-05-07 19:15:00 +02:00
cyrillefr
271d50e5ab Fix Ship Order Button: modal should close itself
- returns to the same processing for customer, invoices etc.
   that edit
 - need a bit of sleep in spec bc 2 tasks are asynchroneous
2024-05-07 19:15:00 +02:00
cyrillefr
34bb05e681 Fix 'Ship Order': integrating non regression spec
- removes the pending
 - add the click to go to the 'Order Details' page
   to check for the 'shipped' status
 - from enqueued to have_been_enqueued so the spec
   is flaky-free
2024-05-07 19:15:00 +02:00
cyrillefr
ba68f4b252 Fix 'Ship Order': requested changes
- deletes local variables in view
- factor logic in helper
2024-05-07 19:15:00 +02:00
cyrillefr
901c29c97b Fix Ship Order menu choice not working
- Front End ShipOrderComponent was missed for the menu to work
 - updated spec to test for a specific case
2024-05-07 19:15:00 +02:00
Rachel Arnould
907b154108 Merge pull request #12401 from chahmedejaz/task/11060-change-producer-category-tax-category
[BUU] Change Producer, Category and Tax Category
2024-05-07 15:10:14 +02:00
David Cook
7f40fd7adb Fix typo 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
b1f20ffc14 11060: create tomselect helper module 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f07900ca4a 11060: refactor specs to have better separation of concerns 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
269e69852c 11060: add style rule for the small gap 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c291ff88ff 11060: remove duplicated supplier_id 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
7e555b4fcb Update app/views/admin/products_v3/_product_row.html.haml
Co-authored-by: David Cook <david@redcliffs.net>
2024-05-07 14:59:14 +02:00
Ahmed Ejaz
3d60d84fc7 add wait for flaky specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
227b677e4d 11060: fix specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f386202ec2 11060: fix lint issues 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
15ee4f6619 11060: add specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c12d6ab7f0 11060: revert 33b947be00563b67ca36475f277ceceaf8c68378 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
da34e7b780 11060 - fix undefined method tax_category_options error in specs 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
aad48b4670 11060 - use SearchableDropdownComponent for categories or tax categories 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
f6efd47af2 11060 - use SearchableDropdownComponent for producer names 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
c153ff75f3 11060 - add searchable dropdown component 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
b577a81f48 11060 - add tax category field 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
5050c2e02b 11060 - remove producer name from variant 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
4360ddde03 11060 - add variant categories dropdown 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
ec4b920f8b 11060 - implement scenario 1 2024-05-07 14:59:14 +02:00
Ahmed Ejaz
2fdaa8b9ec 11060 - implement the scenario 2 and 3 2024-05-07 14:59:14 +02:00
dependabot[bot]
8be8518bc4 chore(deps): bump flipper, flipper-active_record and flipper-ui
Bumps [flipper](https://github.com/flippercloud/flipper), [flipper-active_record](https://github.com/flippercloud/flipper) and [flipper-ui](https://github.com/flippercloud/flipper). These dependencies needed to be updated together.

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 09:50:09 +00:00
dependabot[bot]
ca5f196447 chore(deps-dev): bump spring from 4.2.0 to 4.2.1
Bumps [spring](https://github.com/rails/spring) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.2.0...v4.2.1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 09:31:41 +00:00
dependabot[bot]
e674a66bcf chore(deps): bump @floating-ui/dom from 1.6.3 to 1.6.4
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.4/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 09:31:21 +00:00
David Cook
7e951d4af2 Revert "Separate controllers requiring webpack for testing"
Arrgh it's not so simple.
It looks like both rspec and knapsack use glob for the pattern, so the pattern needs updating. Hmm that might not be too
 bad, but it makes it even less manageable.

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-17 09:43:41 +00:00
dependabot[bot]
5a2f791d58 chore(deps): bump stripe from 11.0.0 to 11.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v11.0.0...v11.1.0)

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 09:58:51 +00:00
dependabot[bot]
f6f0622e9b chore(deps-dev): bump rubocop from 1.63.1 to 1.63.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.1 to 1.63.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.63.1...v1.63.2)

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 09:45:11 +00:00
dependabot[bot]
7fdf6f4607 chore(deps): bump mini_portile2 from 2.8.5 to 2.8.6
Bumps [mini_portile2](https://github.com/flavorjones/mini_portile) from 2.8.5 to 2.8.6.
- [Release notes](https://github.com/flavorjones/mini_portile/releases)
- [Changelog](https://github.com/flavorjones/mini_portile/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flavorjones/mini_portile/compare/v2.8.5...v2.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 09:44:15 +00:00
dependabot[bot]
81274bd075 chore(deps): bump view_component from 3.11.0 to 3.12.0
---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:25:29 +00:00
dependabot[bot]
38f97ffc8e chore(deps): bump devise from 4.9.3 to 4.9.4
Bumps [devise](https://github.com/heartcombo/devise) from 4.9.3 to 4.9.4.
- [Release notes](https://github.com/heartcombo/devise/releases)
- [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heartcombo/devise/compare/v4.9.3...v4.9.4)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 10:14:21 +00:00
dependabot[bot]
4d94826516 chore(deps-dev): bump rubocop from 1.63.0 to 1.63.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.0 to 1.63.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.63.0...v1.63.1)

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

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

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

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

Also:

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 10:08:27 +00:00
dependabot[bot]
9897c33a08 chore(deps): bump stripe from 10.14.0 to 10.15.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.14.0 to 10.15.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.14.0...v10.15.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 09:51:55 +00:00
dependabot[bot]
1b49606fca chore(deps): bump aws-sdk-s3 from 1.146.0 to 1.146.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.146.0 to 1.146.1.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 09:50:56 +00:00
dependabot[bot]
45ec3d759f chore(deps): bump trix from 2.0.10 to 2.1.0
Bumps [trix](https://github.com/basecamp/trix) from 2.0.10 to 2.1.0.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.10...v2.1.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 19:50:54 +00:00
dependabot[bot]
ea584504bd chore(deps-dev): bump rubocop-rails from 2.24.0 to 2.24.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.24.0 to 2.24.1.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.24.0...v2.24.1)

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 09:35:00 +00:00
dependabot[bot]
dd86222391 chore(deps): bump aws-sdk-s3 from 1.145.0 to 1.146.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.145.0 to 1.146.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 09:34:23 +00:00
David Cook
794f92d9f5 Add placeholder file with comments
I was surprised to find there's a channel defined by our app code, because it's not defined in the standard place.
2024-03-19 15:06:23 +11:00
David Cook
e061dbb86b Merge pull request #12284 from mkllnk/logo-size-for-dfc
Limit enterprise image sizes on DFC API
2024-03-19 14:51:24 +11:00
Maikel Linke
526069dbb3 Limit enterprise image sizes on DFC API
Uploaded images can be several MB in size. While offering the big size
would enable other apps to resize it and store the image size they need,
we have only one app using it in practice and it's using the image
directly. It's much simpler and if a default size will work for others
in the future then why not just serve that.

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 09:33:07 +11:00
Konrad
67a5aa6877 Merge pull request #12207 from abdellani/11673-update-invoice-generate-route
fix route to Admin#order#invoice#generate
2024-03-18 19:18:00 +01:00
dependabot[bot]
c4fa936f15 chore(deps): bump aws-sdk-s3 from 1.144.0 to 1.145.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.144.0 to 1.145.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 09:37:59 +00:00
dependabot[bot]
ad7d19a0be chore(deps-dev): bump shoulda-matchers from 6.1.0 to 6.2.0
Bumps [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/thoughtbot/shoulda-matchers/releases)
- [Changelog](https://github.com/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md)
- [Commits](https://github.com/thoughtbot/shoulda-matchers/compare/v6.1.0...v6.2.0)

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

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

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

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

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

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

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

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

The comment on the source code doesn't seem to be updated
4bb7323341/activestorage/app/models/active_storage/variant.rb (L11)
2024-03-15 00:00:05 +01:00
Konrad
acc52cc45f Merge pull request #11918 from abdellani/11896-prevent_bulk_printing_sending_when_ABN_not_set
Bulk printing/sending should show warning if ABN is required but not set.
2024-03-14 13:33:41 +01:00
Mohamed ABDELLANI
38b832cec2 fix route to admin#order#invoice#generate 2024-03-14 13:00:10 +01:00
cyrillefr
261cb2d81b Requested changes: trimming number of examples
- to improve speed of testing
2024-03-14 10:55:09 +01:00
dependabot[bot]
f59c43b8e9 chore(deps): bump aws-sdk-s3 from 1.143.1 to 1.144.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.143.1 to 1.144.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 09:19:04 +00:00
Gaetan Craig-Riou
29dad44f9f Update all locales with the latest Transifex translations 2024-03-14 10:03:59 +11:00
David Cook
c4a8bf2490 Merge pull request #12254 from mkllnk/dfc-create-variant
Add spree_product_uri to SuppliedProduct
2024-03-14 10:02:01 +11:00
Maikel
82c444b8d8 Merge pull request #12266 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.143.1
chore(deps): bump aws-sdk-s3 from 1.143.0 to 1.143.1
2024-03-14 08:19:28 +11:00
Maikel
d7fca66433 Merge pull request #12265 from openfoodfoundation/dependabot/bundler/rails-i18n-7.0.9
chore(deps): bump rails-i18n from 7.0.8 to 7.0.9
2024-03-14 08:18:52 +11:00
cyrillefr
43d13253e7 Add tests to the search product feature 2024-03-13 10:54:06 +01:00
dependabot[bot]
84551068ee chore(deps): bump aws-sdk-s3 from 1.143.0 to 1.143.1
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.143.0 to 1.143.1.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 09:19:46 +00:00
dependabot[bot]
163c45d301 chore(deps): bump rails-i18n from 7.0.8 to 7.0.9
Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.8 to 7.0.9.
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenfuchs/rails-i18n/compare/v7.0.8...v7.0.9)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 23:47:51 +00:00
Gaetan Craig-Riou
f755aff23c Merge pull request #12225 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.24.0
chore(deps-dev): bump rubocop-rails from 2.23.1 to 2.24.0
2024-03-12 10:45:02 +11:00
Gaetan Craig-Riou
ff52a66e75 Merge pull request #12250 from mkllnk/not-to-not
Enforce RSpec expect(..).not_to over to_not
2024-03-12 10:35:16 +11:00
Rachel Arnould
7caaeffe80 Merge pull request #12206 from cyrillefr/Invoices-Several-tax-rates-are-showing-up-on-the-invoice-for-the-same-product
Fix incorrect results for multiple tax rates in report
2024-03-11 10:31:09 +01:00
cyrillefr
7d99197dde Requested changes: original fix moved up in code
- instead of selecting out unapplied tax rates in the total tax
    method, did it in the query_result instead. Reverted the
    total_excl_tax method to its initial state.
  - spec and logic of testing affected also.
2024-03-11 10:13:46 +01:00
cyrillefr
62739c0458 Requested changes in spec
- use of new service instead of manually advancing an order
2024-03-11 10:13:46 +01:00
cyrillefr
7fdf1a110d Fix incorrect results for multiple tax rates in report
- total_excl_tax would sum amounts and taxes without
    knowledge if taxes rates were really applied or not
  - spec shows use case described in issue 12066
2024-03-11 10:13:46 +01:00
filipefurtad0
07a43fecdf Update all locales with the latest Transifex translations 2024-03-08 11:48:31 +00:00
dependabot[bot]
2cac8471fc chore(deps-dev): bump rubocop-rails from 2.23.1 to 2.24.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.23.1 to 2.24.0.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.23.1...v2.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-08 00:41:31 +00:00
Maikel
b27e0b5339 Merge pull request #12228 from openfoodfoundation/dependabot/bundler/json-jwt-1.16.6
chore(deps): bump json-jwt from 1.16.5 to 1.16.6
2024-03-08 11:39:43 +11:00
Maikel
61f29a4ebf Merge pull request #12226 from openfoodfoundation/dependabot/bundler/rubocop-rspec-2.27.1
chore(deps-dev): bump rubocop-rspec from 2.27.0 to 2.27.1
2024-03-08 11:39:06 +11:00
Filipe
9abaf90907 Merge pull request #12233 from dacook/buu/unit-scale-basic-12005
[BUU] Unit Scale - basic implementation
2024-03-07 17:20:45 +00:00
Filipe
de9446f5f3 Merge pull request #12167 from mkllnk/haml-up
Update Haml syntax and gem to version 6
2024-03-07 15:36:29 +00:00
filipefurtad0
5653d542f6 Hides sensitive data 2024-03-07 15:15:18 +00:00
filipefurtad0
7f3953882d Update Stripe API recordings for new version 2024-03-07 14:49:11 +00:00
filipefurtad0
f126b8b316 Update Stripe API recordings for new version 2024-03-07 14:41:40 +00:00
filipefurtad0
7849f30f46 Update Stripe API recordings for new version 2024-03-07 14:20:16 +00:00
Rachel Arnould
cd9bef4f7b Merge pull request #12172 from abdellani/12067-fix-invoice-render-multiple-tax-rates
fix invoice render multiple tax rates
2024-03-07 10:53:52 +01:00
dependabot[bot]
b82496b8a1 chore(deps): bump i18n from 1.14.3 to 1.14.4
Bumps [i18n](https://github.com/ruby-i18n/i18n) from 1.14.3 to 1.14.4.
- [Release notes](https://github.com/ruby-i18n/i18n/releases)
- [Changelog](https://github.com/ruby-i18n/i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby-i18n/i18n/compare/v1.14.3...v1.14.4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 09:57:42 +00:00
David Cook
a9d586952d Update all locales with the latest Transifex translations 2024-02-29 14:35:08 +11:00
dependabot[bot]
bbc4603106 chore(deps): bump rack from 2.2.8 to 2.2.8.1
Bumps [rack](https://github.com/rack/rack) from 2.2.8 to 2.2.8.1.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1)

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:44:48 +00:00
dependabot[bot]
6649039881 chore(deps-dev): bump karma from 6.4.2 to 6.4.3
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.4.2...v6.4.3)

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

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

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

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

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

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

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

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

Offenses:

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 09:51:00 +00:00
dependabot[bot]
655fb77ce3 chore(deps): bump view_component from 3.10.0 to 3.11.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v3.10.0...v3.11.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 09:49:49 +00:00
dependabot[bot]
f961e2c38e chore(deps): bump jwt from 2.7.1 to 2.8.0
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/jwt/ruby-jwt/releases)
- [Changelog](https://github.com/jwt/ruby-jwt/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jwt/ruby-jwt/compare/v2.7.1...v2.8.0)

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

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

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

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

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

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

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

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

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

Update shopping_spec.rb

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 09:22:42 +00:00
dependabot[bot]
1260ee281e chore(deps): bump @floating-ui/dom from 1.6.2 to 1.6.3
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.3/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 09:11:30 +00:00
Maikel
41ebdc0c29 Merge pull request #12144 from openfoodfoundation/dependabot/npm_and_yarn/floating-ui/dom-1.6.2
chore(deps): bump @floating-ui/dom from 1.6.1 to 1.6.2
2024-02-13 11:48:11 +11:00
Maikel
13b6296764 Merge pull request #12143 from openfoodfoundation/dependabot/npm_and_yarn/jasmine-core-5.1.2
chore(deps-dev): bump jasmine-core from 5.1.1 to 5.1.2
2024-02-13 11:46:12 +11:00
Filipe
850918dac5 Merge pull request #12112 from chahmedejaz/bugfix/12085-fix-customer-search-autofill-issue
Fix Customer Search Autofill Issue
2024-02-12 12:29:28 +00:00
dependabot[bot]
942b4eea30 chore(deps): bump @floating-ui/dom from 1.6.1 to 1.6.2
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.2/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 09:41:12 +00:00
Gaetan Craig-Riou
78a1726bdc Merge pull request #12142 from openfoodfoundation/dependabot/npm_and_yarn/hotwired/turbo-8.0.2
chore(deps): bump @hotwired/turbo from 7.3.0 to 8.0.2
2024-02-12 11:29:57 +11:00
Gaetan Craig-Riou
dc2fe0471d Merge pull request #12140 from openfoodfoundation/dependabot/bundler/redis-5.1.0
chore(deps): bump redis from 5.0.8 to 5.1.0
2024-02-12 11:19:33 +11:00
dependabot[bot]
2c0f8f2610 chore(deps-dev): bump jasmine-core from 5.1.1 to 5.1.2
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v5.1.1...v5.1.2)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-09 09:46:46 +00:00
dependabot[bot]
8a9c4f83c5 chore(deps): bump stripe from 10.6.0 to 10.8.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.6.0 to 10.8.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.6.0...v10.8.0)

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

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

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

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

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

Failed examples:

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

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

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

Undoes Stripe.api_key deletion

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Removes unecessary StripeStubs inclusion
2024-01-29 20:04:38 +00:00
filipefurtad0
318a8113ed Updates distributor to have a shopfront message
Doing so, enables a homepage for that enterprise, which surfaces issue #12076. The test as been set as pending, which needs to be changed when the issue is fixed
2024-01-29 15:52:31 +00:00
dependabot[bot]
65395d7c90 chore(deps): bump aws-sdk-s3 from 1.142.0 to 1.143.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.142.0 to 1.143.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 09:58:09 +00:00
dependabot[bot]
b41944396f chore(deps-dev): bump capybara from 3.39.2 to 3.40.0
Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.39.2 to 3.40.0.
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.39.2...3.40.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 09:55:37 +00:00
dependabot[bot]
183cac4a0c chore(deps): bump @floating-ui/dom from 1.6.0 to 1.6.1
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.1/packages/dom)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 09:49:27 +00:00
dependabot[bot]
37fb72b9eb chore(deps): bump @floating-ui/dom from 1.5.4 to 1.6.0
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.0/packages/dom)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 09:28:38 +00:00
filipefurtad0
3e734f1e6b Attaches customer to payment method and clones payment method
Improves naming of actors; improves assertions
2024-01-25 18:43:05 +00:00
filipefurtad0
baef7de663 Replaces stubs with real accounts and card ids
The second example on this sepec is commented out, and will be addressed on the following commit

Sets user email

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

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

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

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

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

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

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

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

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

Using the default redis driver seems to work fine though.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Just in case, I checked if there were any recorded instances of StripeDeauthorizeFailure. I couldn't find any in Bugsnag (last 3 months) for AU, Germany, Katuma, NZ, Norway, UK, USA. Also no mention in GitHub issues.
2024-01-17 15:16:51 +11:00
David Cook
d7bb3b77a7 Add comment
We really need to update our documentation more, but this is better than nothing.
2024-01-17 15:14:44 +11:00
dependabot[bot]
2315c51221 Bump stripe from 10.3.0 to 10.5.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.3.0 to 10.5.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.3.0...v10.5.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 09:08:02 +00:00
dependabot[bot]
013ee6e9b7 Bump view_component from 3.9.0 to 3.10.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v3.9.0...v3.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 09:06:32 +00:00
Gaetan Craig-Riou
557e6e6a37 Return a duplicate empty string for css pack request 2024-01-10 16:46:13 +11:00
David Cook
0bb0e1674e Remove unused rule
I forgot to remove this before.
2024-01-10 16:41:47 +11:00
Gaetan Craig-Riou
a78042cee1 Remove save after adding an association with <<
`<<` operator already save the the association to the database
2024-01-10 15:48:36 +11:00
David Cook
443b3134df Tweak padding
I'm not sure why this requires extra padding here, but it looks good 🤷

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

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

Offenses:

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

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

Offenses:

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 09:36:52 +00:00
dependabot[bot]
d8c6241398 Bump bullet from 7.1.4 to 7.1.5
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.4 to 7.1.5.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.4...7.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 09:09:30 +00:00
dependabot[bot]
da1ed8c118 Bump puma from 6.4.1 to 6.4.2
Bumps [puma](https://github.com/puma/puma) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.1...v6.4.2)

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 09:17:21 +00:00
dependabot[bot]
36c6d5fd2e Bump aws-sdk-s3 from 1.141.0 to 1.142.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.141.0 to 1.142.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 09:40:18 +00:00
dependabot[bot]
9f785cc7b9 Bump puma from 6.4.0 to 6.4.1
Bumps [puma](https://github.com/puma/puma) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.0...v6.4.1)

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 09:09:26 +00:00
dependabot[bot]
13e71d5b8c Bump rubocop-rails from 2.23.0 to 2.23.1
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.23.0 to 2.23.1.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.23.0...v2.23.1)

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

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

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

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

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

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

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

Creates a bogus publishable key

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

Rubocop fixes and re-recording of cassettes

Adds bogus client_id to local test file - for CI to run
2023-12-21 11:02:55 +00:00
dependabot[bot]
f977a6f8d4 Bump faraday from 2.7.12 to 2.8.1
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.12 to 2.8.1.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.12...v2.8.1)

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-19 09:07:11 +00:00
Rachel Arnould
2b749714bd Merge pull request #11927 from drummer83/Dashboard
Show Dashboard header in the header area for multi-enterprise users
2023-12-18 17:49:49 +01:00
Dung Bui
248b9fb186 update order state 2023-12-18 19:26:00 +07:00
dependabot[bot]
4551a9b689 Bump rubocop-rails from 2.22.2 to 2.23.0
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.22.2 to 2.23.0.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.22.2...v2.23.0)

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

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

Test for cases:
* activate by clicking on tab
* activateDefaultPanel on orderCycleSelected event
* activateFromWindowLocationOrDefaultPanelTarget to activate tab based
  on achor in URL
2023-12-16 10:00:17 +01:00
Dusan Orlovic
ba7ffc25fe Add data-action=tabs-and-panels 2023-12-15 23:00:13 +01:00
filipefurtad0
264b6e072e Adds missing translation key 2023-12-15 13:20:32 +00:00
filipefurtad0
57aa151ddd Comments out default values from superadmin fields to bring the build back to green 2023-12-15 12:48:21 +00:00
filipefurtad0
f8f85e7fbd Adds I18n exception handler as test initializer
As per code review, we follow this approach https://sikac.hu/missing-translations-keys-gotta-catch-em-all-3aa8d2ead8bd
2023-12-15 12:48:21 +00:00
dependabot[bot]
7f0a461385 Bump stripe from 10.2.0 to 10.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.2.0...v10.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 09:11:11 +00:00
Maikel Linke
f758daadc0 Use common colours in old and new design 2023-12-15 16:21:43 +11:00
Maikel Linke
35ca66cbb7 Respond fast by rendering only partial 2023-12-15 12:34:40 +11:00
Maikel Linke
1d7f96e965 Broadcast connected app to all user tabs 2023-12-15 12:34:40 +11:00
Maikel Linke
e1730f25d6 Show app connection state and update link 2023-12-15 12:34:40 +11:00
Maikel Linke
12e5a0d1e1 Query webhook to connect app 2023-12-15 11:50:04 +11:00
Maikel Linke
4eb273b06e Create ConnectedApp with a reflex
I would have like to use a standard form to submit to the reflex but the
whole enterprise settings tab is in a form already and HTML doesn't
allow nested forms. While it does still work in browsers, it would have
added much more HTML to set up a form with a hidden input field instead
of just one additional data attribute.

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-12 09:32:12 +00:00
David Cook
b340762366 Merge pull request #11931 from drummer83/Dashboard_v3_pointer
Fix colour of the arrow when hovering the change package area in dashboard
2023-12-12 14:19:23 +11:00
drummer83
dcba1dc5e9 Fix colour of the arrow when hovering the change package area in dashboard 2023-12-12 03:56:37 +01:00
David Cook
1f8a1cc376 Merge pull request #11929 from drummer83/Dashboard_translation
Fix missing translation of tooltip in dashboard
2023-12-12 13:47:53 +11:00
drummer83
43effb8197 Fix missing translation of tooltip 2023-12-12 02:00:59 +01:00
David Cook
638dbde1ba Merge pull request #11919 from openfoodfoundation/dependabot/bundler/debug-1.9.0
Bump debug from 1.8.0 to 1.9.0
2023-12-12 10:48:41 +11:00
drummer83
1afdbd92ea Show Dashboard header in the header area for multi-enterprise users
Use correct translation string
2023-12-12 00:11:15 +01:00
filipefurtad0
b45fc0b7ef Replaces Stripe Stubs with VCR calls
Adds new VCR cassettes

Keeps assertion on ActiverMerchant response

Re-records cassettes
2023-12-11 21:52:37 +00:00
Ryan Murphy
b84707edd9 Cleanse JS errors from DOM on Stripe failure 2023-12-11 07:46:42 -05:00
dependabot[bot]
ae04716391 Bump debug from 1.8.0 to 1.9.0
Bumps [debug](https://github.com/ruby/debug) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](https://github.com/ruby/debug/compare/v1.8.0...v1.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 09:27:53 +00:00
Mohamed ABDELLANI
915afd8557 update the invoice v3 template 2023-12-11 08:26:32 +01:00
Mohamed ABDELLANI
615c001c28 implement Invoice#previous_invoice 2023-12-11 08:26:32 +01:00
Gaetan Craig-Riou
f6ba2dc70c Merge pull request #11917 from mkllnk/json-canonicalization
Bump json-canonicalization from 0.3.2 to 0.4.0
2023-12-11 10:04:02 +11:00
Maikel
3ceef60f6f Merge pull request #11913 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.3
Bump knapsack_pro from 6.0.2 to 6.0.3
2023-12-11 09:58:29 +11:00
Maikel Linke
e8eeb0029c Bump json-canonicalization from 0.3.2 to 0.4.0
This is actually not changing anything. The author didn't realise the
bad implications of yanking 0.3.2 and restored it as 0.4.0.

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 09:18:18 +00:00
Maikel Linke
29ef444f36 Consolidate system specs for efficiency
And test for literal strings. It's more readable and robust.
2023-12-08 09:05:00 +05:30
Maikel Linke
f88a3122ee Fix expectation of checkout title 2023-12-08 09:05:00 +05:30
Arun Guleria
d60216787b 11599 Remove whitespace trailing 2023-12-08 09:05:00 +05:30
Arun Guleria
4e408d404b 11599-Change page title on checkout pages 2023-12-08 09:05:00 +05:30
Maikel
029b8ce255 Merge pull request #11910 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.2
Bump knapsack_pro from 6.0.1 to 6.0.2
2023-12-08 09:14:35 +11:00
Maikel
fe4380a84a Merge pull request #11900 from filipefurtad0/valid_cards_extend_payment_intents_tests
Adds payment intent creation/capture tests for valid credid card types (non-3D)
2023-12-08 09:04:56 +11:00
filipefurtad0
3802447bfe Removes credit card mock, pointing to real Stripe object
Re-records cassettes after source change
2023-12-07 18:30:23 +00:00
dependabot[bot]
4938d1a37c Bump knapsack_pro from 6.0.1 to 6.0.2
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.1 to 6.0.2.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.1...v6.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 09:53:12 +00:00
David Cook
1d3a588820 Update all locales with the latest Transifex translations 2023-12-07 16:53:26 +11:00
Maikel
f898572094 Merge pull request #11903 from openfoodfoundation/dependabot/bundler/json-2.7.1
Bump json from 2.7.0 to 2.7.1
2023-12-07 08:03:03 +11:00
Maikel
f8347ff836 Merge pull request #11904 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.1
Bump knapsack_pro from 6.0.0 to 6.0.1
2023-12-07 08:02:42 +11:00
Maikel
7bc1442b5b Merge pull request #11899 from filipefurtad0/system_spec_zero_priced_variant
Adds test cases to account for priceless and 0.0 priced variant creation
2023-12-07 07:53:42 +11:00
dependabot[bot]
244d532268 Bump json from 2.7.0 to 2.7.1
Bumps [json](https://github.com/flori/json) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.7.0...v2.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 20:48:01 +00:00
Maikel
c34990bef4 Merge pull request #11895 from openfoodfoundation/dependabot/bundler/rubocop-1.58.0
Bump rubocop from 1.57.2 to 1.58.0
2023-12-07 07:46:54 +11:00
Konrad
7efc6f35b2 Merge pull request #11891 from bmd08a1/ft/search-by-customer-fullname-with-comma
Allow searching orders by customers' full name with comma and full name reversed
2023-12-06 21:08:28 +01:00
Konrad
7c892b2e9e Merge pull request #11889 from cillian/split-checkout-to-just-checkout
Replace references to 'split checkout' with just 'checkout'
2023-12-06 20:42:26 +01:00
Konrad
dc4b6519dd Merge pull request #11885 from dacook/flash-messages
Fix mapping of flash messages on order cycle pages
2023-12-06 18:03:57 +01:00
David Cook
979071736b Fix typo 2023-12-06 17:00:31 +11:00
David Cook
6280d4c1ea Merge pull request #11907 from dacook/buu-style-tweaks
[BUU] Link style tweaks
2023-12-06 16:10:52 +11:00
David Cook
0f3a952fd0 Add translation for product cloned message
A validation error shouldn't happen. If it does, it's an exception, not an error.
2023-12-06 15:13:20 +11:00
David Cook
0f46da07b2 Render flashes along with table
It doesn't matter where the flash messages appear in the HTML (thanks to fixed positioning), so why not keep it simple and send them with the main response.

preventDefault in case we are inside a form, so the button doesn't submit it.
2023-12-06 15:13:15 +11:00
David Cook
7fe2284d84 Refactor: Move ID out of partial
Because it can only be used once. But the classname can be used each time the partial is included.
2023-12-06 14:18:58 +11:00
David Cook
9fa521917e Allow nav menu items to wrap
And thus avoid wrapping inside the li.

This avoids the menu going off the edge of the screen.
2023-12-06 12:54:04 +11:00
David Cook
4de40e817f Left-align navigation menu
It looks really wierd when there's only a few items.
2023-12-06 12:54:04 +11:00
David Cook
3760cd93b9 Enable brower-default outlines on links
This code was from Spree. Unless you have good focus/active styles for all links, the outline is very helpful for accessibility.
Most websites these days add nice thick outlines, which might be worth considering in the future.
2023-12-06 12:54:01 +11:00
David Cook
32a4088386 Revert "#11067, remove messages to match with old UI UX"
Now we support flash messages, we can show it!

This reverts commit d8904099dd.
2023-12-06 10:12:18 +11:00
David Cook
fbf0afa15d Auto dismiss success flashes only 2023-12-06 10:12:18 +11:00
David Cook
0b4013dd11 Add dismiss button to flashes
And updating the secondary button style to ensure it's always white background
2023-12-06 10:12:17 +11:00
David Cook
20afe5b99c Update style of flash messages
They now hover near the bottom of the screen.

I've created new variables so as not to mess with the existing use of color-success etc.
2023-12-06 10:12:17 +11:00
David Cook
44187658be Copy messages styles for admin_v3 2023-12-06 10:12:17 +11:00
David Cook
f1a407c8a9 Remove unnecessary mixin,
and use generic variable for shadows.
2023-12-06 10:12:17 +11:00
David Cook
54d61cd24d Don't show flashes until everything else is done.
Mario reported that it was showing before the loading spinner had gone.
Technically the loading spinner doesn't hide until after the reflex is finished, but hopefully this is close enough.
2023-12-06 10:12:17 +11:00
David Cook
6dc04c458c Show saving success message in flash
I don't know if this is the best way to do it with SR, but it works..
2023-12-06 10:12:17 +11:00
David Cook
70f153b0f7 Refactor spec
Only the first example is testing the updated variant here.
2023-12-06 10:11:19 +11:00
David Cook
7d299affd3 Move hiding logic to stimulus controller
This ensures morphed flashes hide like other flashes (eg in bulk order actions). I wanted to write a spec to prove it, but Capybara doesn't support mocking setTimeout and I didn't want to use sleep.

I've made it optional because this controller is shared with the shop frontend ([supposedly](5ef34347a3), although angular seems to override it).
2023-12-06 10:11:19 +11:00
David Cook
127eaa44e5 Ensure loading message always shows
Before, it was affixed near the top of the page and wasn't visible after scrolling down.
2023-12-06 10:11:19 +11:00
filipefurtad0
e50baa9a18 Adds payment capture scenario 2023-12-05 15:27:46 +00:00
dependabot[bot]
e47cb0e961 Bump knapsack_pro from 6.0.0 to 6.0.1
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v6.0.0...v6.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-05 09:05:10 +00:00
David Cook
c4e8d4318c Ensure pagination appears at bottom of table
I'm not sure what the problem was. It's obviously a hacky fix, but it works for now. We intend to rebuild this screen without Angular anyway.
2023-12-05 14:46:51 +11:00
David Cook
300998acb6 Merge pull request #11811 from dacook/buu-stock-levels-11062
[BUU] Stock level popout
2023-12-05 13:56:01 +11:00
David Cook
685a1955bc Merge pull request #11872 from mkllnk/activate-background-reports
Activate background report processing by default
2023-12-05 12:04:19 +11:00
filipefurtad0
f3f59ed6ad Adds valid credid card types (non-3D) 2023-12-04 20:48:53 +00:00
filipefurtad0
7aeb6e4cd9 Adds test cases to account for priceless and 0.0 priced variant creation 2023-12-04 18:40:55 +00:00
dependabot[bot]
0281381e6e Bump rubocop from 1.57.2 to 1.58.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.57.2 to 1.58.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.57.2...v1.58.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 09:42:24 +00:00
Maikel
cb5164ac6e Merge pull request #11888 from openfoodfoundation/dependabot/bundler/stripe-10.2.0
bump stripe from 10.1.0 to 10.2.0
2023-12-04 14:54:38 +11:00
Maikel
89b6b183b9 Merge pull request #11893 from rioug/10809-patch-dfc-connector-parser
[DFC] Patch dfc connector parser to improve SKOS concept parsing
2023-12-04 14:32:02 +11:00
Gaetan Craig-Riou
021e292190 Add a quick patch description 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
9628045e1c Fix indentation 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
a06e7c1d9e Fix rubocop issue 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
0392806018 Parser, populate SKOSConcept label 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
9f209cac14 Fix rubocop warning 2023-12-04 13:56:14 +11:00
Gaetan Craig-Riou
633d0eadfe Parser element, add label 2023-12-04 13:56:14 +11:00
Dung Bui
8a3aababa1 group specs into one it block, added fullname with comma reversed ransacker 2023-12-04 08:45:19 +07:00
Gaetan Craig-Riou
c61e982a76 Fix rubocop warning 2023-12-04 12:00:18 +11:00
Maikel Linke
48c6d0144d Update stripe tests 2023-12-04 10:58:10 +11:00
Maikel
6b22227c5f Merge pull request #11887 from openfoodfoundation/dependabot/bundler/json-2.7.0
chore(deps): bump json from 2.6.3 to 2.7.0
2023-12-04 10:53:43 +11:00
Gaetan Craig-Riou
55d64e1768 Fix rubocop warning 2023-12-04 10:36:53 +11:00
Dung Bui
6206164c30 fix rubocop 2023-12-03 14:28:50 +07:00
Dung Bui
600226cb52 add fullname reversed search 2023-12-03 14:15:41 +07:00
Dung Bui
febda2ce12 add search by fullname with comma 2023-12-03 14:10:12 +07:00
Cillian O'Ruanaidh
2f972a5446 Remove more references to split checkout in test descriptions 2023-12-01 13:04:49 +00:00
Cillian O'Ruanaidh
a75ee3b207 Remove duplicate checkout translations which are now scoped under :step3 2023-12-01 12:56:21 +00:00
Cillian O'Ruanaidh
b78258c505 Replace references to :split_checkout translation keys with :checkout in views, controllers, etc. 2023-12-01 12:37:13 +00:00
Cillian O'Ruanaidh
3fee77136a Remove duplicate checkout.already_ordered translations 2023-12-01 12:31:42 +00:00
Cillian O'Ruanaidh
95a3e372ed Move translations in :split_checkout scope to :checkout. 2023-12-01 12:21:57 +00:00
Cillian O'Ruanaidh
def027efb2 Replace references to split_checkout directory in views and specs 2023-12-01 11:32:55 +00:00
Cillian O'Ruanaidh
931e42cf14 Rename split_checkout_controller_spec.rb to checkout_controller_spec.rb 2023-12-01 11:23:50 +00:00
Cillian O'Ruanaidh
a4b752e538 Rename SplitCheckoutHelper used in specs to CheckoutHelper 2023-12-01 11:22:44 +00:00
Cillian O'Ruanaidh
e014a991d8 Send /checkout routes to CheckoutController instead of SplitCheckoutController 2023-12-01 11:20:06 +00:00
Cillian O'Ruanaidh
a63b9c2690 Rename SplitCheckoutController to CheckoutController 2023-12-01 11:18:56 +00:00
Cillian O'Ruanaidh
7505f9504e Rename spec/views/split_checkout directory to spec/views/checkout 2023-12-01 11:16:57 +00:00
Cillian O'Ruanaidh
222c6d8ac5 Rename app/views/split_checkout directory to app/views/checkout 2023-12-01 11:12:00 +00:00
Filipe
f94d2c386c Merge pull request #11863 from abdellani/11862-fix-product-shoud-not-be-priceless
product should not be priceless
2023-12-01 10:43:30 +00:00
dependabot[bot]
cdf87436f9 bump stripe from 10.1.0 to 10.2.0
---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 10:08:51 +00:00
dependabot[bot]
ef58061cc0 chore(deps): bump json from 2.6.3 to 2.7.0
Bumps [json](https://github.com/flori/json) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/flori/json/releases)
- [Changelog](https://github.com/flori/json/blob/master/CHANGES.md)
- [Commits](https://github.com/flori/json/compare/v2.6.3...v2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 09:52:00 +00:00
David Cook
a2b8fb5105 Show success messages as.. success. 2023-12-01 16:59:23 +11:00
Maikel Linke
72755840c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
75467a0c65 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
d1c73f86c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
049df77558 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
0b7cf86b5b Update report spec for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
bbe37e1392 Update ReportsController for background reports
As it turns out, the background reports were missing a small feature to
store user preferences. Yay specs!
2023-12-01 15:21:42 +11:00
Maikel Linke
f28a8c87ab Activate background report processing by default
Many report specs are still testing the old behaviour. We need to
migrate them to background reports. Some tests may be better as unit
tests instead of system tests.
2023-12-01 14:44:33 +11:00
Gaetan Craig-Riou
e846761e54 WIP Patch DFC connector to fix SKOS Concept parsing
This is to let us use intermediary SKOS Concept.
Upstream PR for more details: https://github.com/datafoodconsortium/connector-codegen/pull/10/files
2023-12-01 14:26:09 +11:00
David Cook
1cd9d9aafd Organise controller translation keys with lazy loading 2023-12-01 14:20:30 +11:00
Gaetan Craig-Riou
7c9d4f1342 Update all locales with the latest Transifex translations 2023-12-01 11:22:35 +11:00
David Cook
dbb62c9820 Merge pull request #11881 from mkllnk/rswag
Help Dependabot to update rswag
2023-12-01 11:12:31 +11:00
David Cook
c35b82373e Merge pull request #11867 from mkllnk/tos-spec
DRY Terms of Service spec to save time
2023-12-01 11:10:48 +11:00
Gaetan Craig-Riou
082f78c772 Merge pull request #11873 from dacook/viewcomponent-sidecar
ViewComponent sidecar
2023-12-01 10:44:13 +11:00
David Cook
9658223700 Merge pull request #11792 from filipefurtad0/invoice_printing_legal_invoices_feature
Adds a pending spec for legal invoices feature issue #11791
2023-12-01 09:11:51 +11:00
Maikel Linke
2bf480732d Help Dependabot to update rswag
The rswag gem consists of three gem which are all maintained in the same
repository. So when one of the three gems is updated, the version of all
three gems is bumped. Dependabot was opening 3 independent pull requests
with the same release notes and linking to the same repository.

I hope that making the rswag gem a dependency will make Dependabot try
to update all gems together.

We are still listing two gems separately to be loaded in production.
They enable us to view the API documentation. But we don't need the
third gem rswag-specs in production. That one is only useful in tests.
2023-12-01 09:11:15 +11:00
Maikel
dd786312bf Merge pull request #11876 from openfoodfoundation/dependabot/bundler/rswag-ui-2.13.0
chore(deps): bump rswag-ui from 2.12.0 to 2.13.0
2023-12-01 09:08:11 +11:00
Maikel
5bfb72f65f Merge pull request #11875 from openfoodfoundation/dependabot/bundler/rswag-api-2.13.0
chore(deps): bump rswag-api from 2.12.0 to 2.13.0
2023-12-01 09:07:42 +11:00
Maikel
e54e9b2110 Merge pull request #11878 from openfoodfoundation/dependabot/bundler/rswag-specs-2.13.0
chore(deps-dev): bump rswag-specs from 2.12.0 to 2.13.0
2023-12-01 09:07:10 +11:00
Maikel
bc614c7b89 Merge pull request #11877 from openfoodfoundation/dependabot/bundler/knapsack_pro-6.0.0
chore(deps-dev): bump knapsack_pro from 5.7.0 to 6.0.0
2023-12-01 09:05:20 +11:00
Maikel Linke
08d0345967 Simplify feature selection in spec 2023-12-01 08:55:47 +11:00
Cillian O'Ruanaidh
b96110ec6c Don't display a supplier column if there is only one supplier in the orders grouped by customer part of the order cycle report 2023-11-30 20:32:23 +00:00
Cillian O'Ruanaidh
c3a62e53fc If not display supplier column in the order cycle report, reduce number of columns in totals row by one too to keep columns aligned 2023-11-30 20:32:23 +00:00
Cillian O'Ruanaidh
1d88510b7b Only display Supplier column in Order Cycle Report email if there is more than one supplier 2023-11-30 20:32:23 +00:00
filipefurtad0
3bf4e47d53 Sets shared example for invoice bulk printing
with legal invoices feature enabled and disabled
2023-11-30 12:44:49 +00:00
dependabot[bot]
22e9cf66e2 chore(deps-dev): bump rswag-specs from 2.12.0 to 2.13.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.12.0...2.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:37:20 +00:00
dependabot[bot]
235d17a2b8 chore(deps-dev): bump knapsack_pro from 5.7.0 to 6.0.0
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 5.7.0 to 6.0.0.
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v5.7.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:30:00 +00:00
dependabot[bot]
4d9137a2a6 chore(deps): bump rswag-ui from 2.12.0 to 2.13.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.12.0...2.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:28:58 +00:00
dependabot[bot]
58892b5a37 chore(deps): bump rswag-api from 2.12.0 to 2.13.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.12.0...2.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:19:25 +00:00
David Cook
58215727bc [fixup]
- Style/ClassAndModuleChildren: Use nested module/class definitions instead of compact style.
- fix spec
2023-11-30 13:47:39 +11:00
Maikel
ccc460a990 Merge pull request #11868 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.141.0
chore(deps): bump aws-sdk-s3 from 1.140.0 to 1.141.0
2023-11-30 13:03:53 +11:00
David Cook
2013750732 Rename files to match recommended naming scheme
This naming scheme removes some duplication which is nice, but it's a little strange and results in a longer name overall. I don't like it very much because:
- filenames don't include the component's actual name. This makes it slightly harder to find them in my text editor (but I'd probably get used to that)
- the namespace and class naming isn't exactly right. This is _the_ vertical_ellipsis_menu, not a subcomponent.
- the stimulus controller name is now longer, adding more cruft to the HTML.

Lots of discussion here: https://github.com/ViewComponent/view_component/discussions/67
People tried to come up with a better way (and I was tempted to try myself). It seems this approach won. I guess it's not so bad if your component names are shorter.
2023-11-30 12:25:18 +11:00
David Cook
f6d72127a7 Move controller to sidecar directory 2023-11-30 12:18:55 +11:00
David Cook
ed93c77578 Load Stimulus controllers from 'sidecar' directories
Javascript files can now be included in the component directory, alongside HTML and CSS.

As per https://viewcomponent.org/guide/javascript_and_css.html
2023-11-30 12:18:55 +11:00
dependabot[bot]
db652acf67 chore(deps): bump aws-sdk-s3 from 1.140.0 to 1.141.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.140.0 to 1.141.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-29 09:04:14 +00:00
Rachel Arnould
63bf574b02 Merge pull request #11807 from abdellani/fix-bulk-invoice-printing
[Invoices] fix bulk invoice printing
2023-11-29 08:17:38 +01:00
David Cook
6bf418c4eb Fixup 2023-11-29 15:36:00 +11:00
David Cook
ccc0c17e04 Hide value of disabled input in popout
I'm not sure if we want to do this on all fields, so just scoped it here for now.
2023-11-29 15:36:00 +11:00
David Cook
9ce511f69d Update disabled field style 2023-11-29 15:35:59 +11:00
David Cook
aa792346fc Refactor 2023-11-29 15:18:23 +11:00
Maikel
afdd68269c Merge pull request #11866 from openfoodfoundation/dependabot/bundler/view_component-3.8.0
chore(deps): bump view_component from 3.7.0 to 3.8.0
2023-11-29 13:59:52 +11:00
Maikel Linke
f6e9bfe15d Further simplify Terms of Service spec
Since system specs are expensive, the standard workflow can be tested in
one "smoke test", as one scenario.

Run time reduced from 5.8s to 4.9s.
2023-11-29 12:21:38 +11:00
Maikel Linke
d3f2c72730 DRY Terms of Service spec to save time
The test conditions were already checked in the normal file upload.

Run time reduced from 7.2s to 5.8s.
2023-11-29 12:21:37 +11:00
Mohamed ABDELLANI
da900321ca fix product controller tests 2023-11-28 16:15:20 +01:00
Mohamed ABDELLANI
c995f5dfbe set the price to 0 on the cloned product (Spree::Code::RroductDuplicator) 2023-11-28 16:15:12 +01:00
Mohamed ABDELLANI
9ce62cf6af replace link_to with contant_tag 2023-11-28 15:02:03 +01:00
Mohamed ABDELLANI
a13e087541 use render edit instead of redirect_to
with redirect_to, the validation errors will be lost at the rendering time.
2023-11-28 13:45:17 +01:00
Mohamed ABDELLANI
a0c2facca4 validate price numericality on product and variants 2023-11-28 13:45:08 +01:00
Konrad
d4cebfdb4f Merge pull request #11837 from binarygit/open-link-in-new-page
Open external link in product description inside new page
2023-11-28 11:09:35 +01:00
dependabot[bot]
794d964007 chore(deps): bump view_component from 3.7.0 to 3.8.0
Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/viewcomponent/view_component/releases)
- [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/viewcomponent/view_component/compare/v3.7.0...v3.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 09:45:44 +00:00
David Cook
40742d6308 Merge pull request #11861 from openfoodfoundation/dependabot/bundler/rswag-ui-2.12.0
chore(deps): bump rswag-ui from 2.11.0 to 2.12.0
2023-11-28 13:57:05 +11:00
David Cook
77c55838fa Merge pull request #11860 from openfoodfoundation/dependabot/bundler/rswag-api-2.12.0
chore(deps): bump rswag-api from 2.11.0 to 2.12.0
2023-11-28 13:52:54 +11:00
David Cook
021d11c5dd Merge pull request #11859 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.140.0
chore(deps): bump aws-sdk-s3 from 1.139.0 to 1.140.0
2023-11-28 13:47:43 +11:00
dependabot[bot]
457b9e4010 chore(deps): bump rswag-ui from 2.11.0 to 2.12.0
Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.11.0...2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 02:38:02 +00:00
dependabot[bot]
868b96fff0 chore(deps): bump rswag-api from 2.11.0 to 2.12.0
Bumps [rswag-api](https://github.com/rswag/rswag) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.11.0...2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 02:38:00 +00:00
David Cook
e3ef791e10 Merge pull request #11858 from openfoodfoundation/dependabot/bundler/rswag-specs-2.12.0
chore(deps-dev): bump rswag-specs from 2.11.0 to 2.12.0
2023-11-28 13:36:37 +11:00
David Cook
bac023abf9 Merge pull request #11857 from mkllnk/default-host
Remove unnecessary host config in specs
2023-11-28 13:23:38 +11:00
David Cook
f034e46aed Fix label
Strangely, the spec passed when run locally, but not in CI. It's a curious case of the wrong letter case.
2023-11-28 10:44:34 +11:00
David Cook
994dd606b9 Refactor: remove dead code
I was mistakenly thinking that you can define variables in beforeEach, but it turns out these are not used.

Rather, Jest was automatically creating variables for the elements according to their IDs. How convenient!
2023-11-28 10:44:34 +11:00
David Cook
bc6a83017b Update spec
Ok that was an afterthought, but better late than never.
2023-11-28 10:44:34 +11:00
David Cook
373743f96d Simplify event handlers
The new 'input' event is for this exact use case.
2023-11-28 10:44:34 +11:00
David Cook
88fe8dcbe0 Show changes on popout button 2023-11-28 10:44:34 +11:00
David Cook
5e96368c85 Count changed checkboxes 2023-11-28 10:44:34 +11:00
David Cook
69f160ff95 Toggle input disabled when on demand checked
This introduces a new 'toggle' controller, and we already had three\! So I created a generic interface that could be extended to potentially support all of them. I propose we try to reduce them all into the one controller, but won't go down the rabbit-hole just yet..

I have an idea on how to re-arrange and make it more contained, by assigning the controller only to the checkbox, and defining targets with aria-controls="", but chose to stick with Stimulus conventions for now.
2023-11-28 10:44:34 +11:00
David Cook
9bc1e873d3 Display summary of the popout values
I couldn't think of a simpler way to hardcode it, so now we have a clever generic method :)

We can assume that hidden elements will stay hidden, but we need to check each time if an element is disabled or not.
2023-11-28 10:44:34 +11:00
David Cook
888e0b976b Refactor spec
Shoulda done this at the start.
2023-11-28 10:44:34 +11:00
David Cook
b6045655ee Hide popout when checkbox is checked 2023-11-28 10:44:34 +11:00
David Cook
78d2ddb9b7 Close popout when focus outside
I'm starting to think that these stimulus tests are worthless. The environment is not the same as a browser, which creates extra work to deal with the inconsistencies. And it means we're not testing real world behaviour.

So these are just unit tests, but they take extra effort to put together due to the inter-relatedness with the DOM. Hmm.
2023-11-28 10:44:34 +11:00
David Cook
4560e3728c Show popout on click or down key
It looks like a select drop-down, so it can behave like one too.
2023-11-28 10:44:34 +11:00
David Cook
735b5789cc [wip] Style on-hand button
Had to update the form controller a little bit to handle buttons.

But arrow not showwing on focus.
Getting some weird SCSS behaviour here.. maybe I'm trying to be too clever.
2023-11-28 10:44:34 +11:00
David Cook
d218565834 Style stock popout 2023-11-28 10:44:34 +11:00
David Cook
d9570cdf32 Update v3 checkbox style
This doesn't _quite_ match the design, but would require a big CSS hack to customise it further, so I thought let's start with this.
2023-11-28 10:44:34 +11:00
David Cook
b7ac1f2696 Move specific style rule to where it belongs
Also fixed it to line up properly. There's probably a better way to line it up but that's no my concern right now..
2023-11-28 10:44:34 +11:00
David Cook
eccfe96a5b Use form hash structure
The array format is generally fine, but to properly support checkboxes, we need this format with hash keys.
https://guides.rubyonrails.org/form_helpers.html#understanding-parameter-naming-conventions
2023-11-28 10:44:34 +11:00
David Cook
55cd8a6773 Add on_demand field
But 'Array parameters do not play well with the check_box helper.'

...
2023-11-28 10:43:10 +11:00
David Cook
7aefa834bf Add on_hand input 2023-11-28 10:43:10 +11:00
David Cook
4d22123e02 Remove stock level from product row
It creates the false impression we can handle agregated stock.
2023-11-28 10:43:10 +11:00
dependabot[bot]
a2b64f9ebb chore(deps): bump aws-sdk-s3 from 1.139.0 to 1.140.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.139.0 to 1.140.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 09:47:30 +00:00
dependabot[bot]
2f9375dcb2 chore(deps-dev): bump rswag-specs from 2.11.0 to 2.12.0
Bumps [rswag-specs](https://github.com/rswag/rswag) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/rswag/rswag/releases)
- [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rswag/rswag/compare/2.11.0...2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 09:43:36 +00:00
Maikel Linke
4c5c39f23b Remove unnecessary host config in specs 2023-11-27 10:51:23 +11:00
Gaetan Craig-Riou
4b070f8447 Merge pull request #11848 from dacook/vertical_ellipsis_menu_component
Vertical ellipsis menu component
2023-11-27 10:21:09 +11:00
Maikel
d067f1329f Merge pull request #11856 from duleorlovic/add_hi_and_mr_locale
Add hi and mr locale using tx pull -l hi
2023-11-27 09:18:03 +11:00
Dusan Orlovic
fc42330383 Add hi and mr locale using tx pull -l hi 2023-11-26 08:35:50 +01:00
Filipe
92686c97d6 Merge pull request #11853 from dacook/check_pdf_file_bulk_invoice_print2
Spec refactor
2023-11-24 10:14:53 +00:00
David Cook
e53960bae7 Disable Rails/OutputSafety for specs
This cop is to protect against user input. There's no user input (or users) in specs.
2023-11-24 16:35:45 +11:00
David Cook
d989b8ad2f Remove unnecessary partial
Yay, now it's compact enough to fit in the table partial.

(Although we should probably try to reduce that one down one day..)
2023-11-24 16:28:00 +11:00
David Cook
968a224da6 Move vertical ellipsis menu to a ViewComponent
Javascript hasn't been moved in, as we don't seem to be set up for that yet.

We could make it smarter, and pass in an array of parameters to build the links (as in _order_links.html.haml). But why make it complicated if we don't need to?
2023-11-24 16:23:18 +11:00
David Cook
2bd2bea7b7 Remove need for class
Generally, I would say that style rules should have a BEM-style class name, but in this case it's terribly convenient to support a tags directly.
2023-11-24 16:14:28 +11:00
Maikel Linke
f2f63eb416 Update all locales with the latest Transifex translations 2023-11-24 14:23:46 +11:00
Maikel Linke
777060ea6b Remove old script
We use Github to draft releases these days.
2023-11-24 14:22:42 +11:00
David Cook
3bfe0f86f2 Merge pull request #11852 from filipefurtad0/fix_display_inventory_warning_spec
Fix display inventory warning spec
2023-11-24 13:46:41 +11:00
David Cook
358470f801 Merge pull request #11849 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.139.0
chore(deps): bump aws-sdk-s3 from 1.138.0 to 1.139.0
2023-11-24 13:29:41 +11:00
David Cook
eecca8ee96 Refactor: match url with regexp
And remove unnecessary button click.
2023-11-24 12:41:02 +11:00
Gaetan Craig-Riou
f10c35dc32 Merge pull request #11850 from openfoodfoundation/dependabot/bundler/spring-4.1.3
chore(deps-dev): bump spring from 4.1.2 to 4.1.3
2023-11-24 12:31:29 +11:00
Gaetan Craig-Riou
8b5e543ba5 Merge pull request #11836 from filipefurtad0/check_pdf_file_bulk_invoice_print
Extends bulk print invoice spec to assert on file contents
2023-11-24 11:42:49 +11:00
David Cook
907d559eef Merge pull request #11847 from mkllnk/spec-opt
Avoid precompiling assets unnecessarily
2023-11-24 09:16:50 +11:00
filipefurtad0
0390d52f18 Adds test to reproduce issue #11851 2023-11-23 19:49:34 +00:00
filipefurtad0
8b5d5b3626 Changes inventory setting for order cycle coordinator
...instead of supplier; Inventory is a feature which is relevant for shops/hubs.
2023-11-23 17:27:09 +00:00
dependabot[bot]
103f5d1dcb chore(deps-dev): bump spring from 4.1.2 to 4.1.3
Bumps [spring](https://github.com/rails/spring) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.1.2...v4.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-23 10:09:38 +00:00
dependabot[bot]
bafbcd1e1e chore(deps): bump aws-sdk-s3 from 1.138.0 to 1.139.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.138.0 to 1.139.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-23 10:01:00 +00:00
Maikel Linke
3586497c56 Precompile assets only when needed 2023-11-23 17:23:47 +11:00
David Cook
c6fc139f62 Always generate components in subfolders
Currently all our view components are in subfolders, so we probably want to keep it that way.
2023-11-23 17:04:09 +11:00
Maikel Linke
37feefce37 Avoid precompiling assets unnecessary
We had two calls to precompile assets, one for all specs and then a
second one just for system specs. The one for system specs is better
because it checks for the webpack dev server before compiling assets. So
let's use just that one.
2023-11-23 17:00:44 +11:00
Maikel Linke
6431b94aba Remove unnecessary condition in spec helper
This helper file is only loaded when system specs are loaded. So we
don't need to check for the absence of system specs because this file
wouldn't be loaded if there were not system specs to be run.
2023-11-23 16:59:30 +11:00
Maikel
bb0684bd23 Merge pull request #11818 from mkllnk/dfc-vocabularies 2023-11-23 10:06:38 +11:00
Maikel
ee4dd0666c Merge pull request #11840 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.3
chore(deps): bump active_storage_validations from 1.1.2 to 1.1.3
2023-11-23 09:29:50 +11:00
Maikel
f8fc44ea72 Merge pull request #11844 from filipefurtad0/fix_blacklist_whitelist_deprecation_warning
[System specs, CI] Fixes blacklist/whitelist deprecation warning
2023-11-23 08:48:48 +11:00
Maikel
1e635673c0 Merge pull request #11842 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.138.0
chore(deps): bump aws-sdk-s3 from 1.137.0 to 1.138.0
2023-11-23 08:47:49 +11:00
Maikel
bf95a655af Merge pull request #11841 from openfoodfoundation/dependabot/bundler/rspec-rails-6.1.0
chore(deps-dev): bump rspec-rails from 6.0.3 to 6.1.0
2023-11-23 08:47:13 +11:00
Maikel
3f76a4c68e Merge pull request #11839 from openfoodfoundation/dependabot/bundler/faraday-2.7.12
chore(deps): bump faraday from 2.7.11 to 2.7.12
2023-11-23 08:42:51 +11:00
Maikel Linke
22e96764ec Simplify spec 2023-11-23 08:39:20 +11:00
filipefurtad0
660db32c04 Converts whitelist URLs to regular expressions 2023-11-22 17:37:41 +00:00
filipefurtad0
674974f868 Moves block within test description
This way, we don't need to use it as a global method

Clarifies context naming
2023-11-22 17:01:43 +00:00
Rachel Arnould
1088b6b6dd Merge pull request #11785 from chahmedejaz/task/11067-admin_style_v3-product-clone
Implement product clone
2023-11-22 16:29:38 +01:00
dependabot[bot]
4b2def7831 chore(deps): bump aws-sdk-s3 from 1.137.0 to 1.138.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.137.0 to 1.138.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:32:36 +00:00
dependabot[bot]
55a2562061 chore(deps-dev): bump rspec-rails from 6.0.3 to 6.1.0
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.0.3 to 6.1.0.
- [Release notes](https://github.com/rspec/rspec-rails/releases)
- [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-rails/compare/v6.0.3...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:28:41 +00:00
dependabot[bot]
fa3bfe7698 chore(deps): bump active_storage_validations from 1.1.2 to 1.1.3
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:16:42 +00:00
dependabot[bot]
0bed1e852f chore(deps): bump faraday from 2.7.11 to 2.7.12
Bumps [faraday](https://github.com/lostisland/faraday) from 2.7.11 to 2.7.12.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.7.11...v2.7.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 09:12:53 +00:00
Maikel
599085b33f Merge pull request #11838 from openfoodfoundation/dependabot/npm_and_yarn/trix-2.0.8
chore(deps): bump trix from 2.0.7 to 2.0.8
2023-11-22 16:46:26 +11:00
Maikel
19c4629ff9 Merge pull request #11835 from openfoodfoundation/dependabot/bundler/aws-sdk-s3-1.137.0
chore(deps): bump aws-sdk-s3 from 1.136.0 to 1.137.0
2023-11-22 16:26:00 +11:00
Maikel
a286b15be5 Merge pull request #11834 from openfoodfoundation/dependabot/bundler/rubocop-rails-2.22.2
chore(deps-dev): bump rubocop-rails from 2.22.1 to 2.22.2
2023-11-22 15:57:38 +11:00
Maikel
97d9ea4f7a Merge pull request #11833 from openfoodfoundation/dependabot/bundler/bullet-7.1.4
chore(deps-dev): bump bullet from 7.1.3 to 7.1.4
2023-11-22 15:54:41 +11:00
Maikel
e602174451 Merge pull request #11832 from openfoodfoundation/dependabot/bundler/activerecord-import-1.5.1
chore(deps): bump activerecord-import from 1.5.0 to 1.5.1
2023-11-22 15:53:46 +11:00
Maikel
e16429b166 Merge pull request #11821 from mkllnk/feature-toggled-specs
Feature toggled specs
2023-11-22 14:18:13 +11:00
Konrad
8ae9399a28 Merge pull request #11831 from chahmedejaz/task/11827-activate-vouchers-by-default
Fully Enable Vouchers Feature Toggle by Default
2023-11-21 14:45:13 +01:00
Konrad
40f5fadc9a Merge pull request #11732 from yasirazgar/11612_keep_data_range_reports
Maintain date range values in the report forms
2023-11-21 13:48:58 +01:00
Yasir Azgar
72089d8213 11612 - pass date args
fix typo
2023-11-21 11:15:52 +01:00
dependabot[bot]
8398e6facb chore(deps): bump trix from 2.0.7 to 2.0.8
Bumps [trix](https://github.com/basecamp/trix) from 2.0.7 to 2.0.8.
- [Release notes](https://github.com/basecamp/trix/releases)
- [Commits](https://github.com/basecamp/trix/compare/v2.0.7...v2.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-21 09:19:11 +00:00
binarygit
208cad959a Open external link in product description inside new page 2023-11-21 13:33:48 +05:45
filipefurtad0
a5e5b4a114 Extends bulk print invoice spec to assert on file contents 2023-11-20 19:31:10 +00:00
dependabot[bot]
e37acfc251 chore(deps): bump aws-sdk-s3 from 1.136.0 to 1.137.0
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.136.0 to 1.137.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:51:11 +00:00
dependabot[bot]
2ab4f7010d chore(deps-dev): bump rubocop-rails from 2.22.1 to 2.22.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.22.1 to 2.22.2.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.22.1...v2.22.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:49:30 +00:00
dependabot[bot]
7a88c9186a chore(deps-dev): bump bullet from 7.1.3 to 7.1.4
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.3 to 7.1.4.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.3...7.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:48:19 +00:00
dependabot[bot]
0b0d7f7610 chore(deps): bump activerecord-import from 1.5.0 to 1.5.1
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.5.0 to 1.5.1.
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.5.0...v1.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 09:47:53 +00:00
Maikel
7919329651 Update db/migrate/20231118125941_activate_voucher_by_default.rb 2023-11-20 09:31:50 +11:00
Ahmed Ejaz
e370693309 #11827, fully enable vouchers by default 2023-11-18 18:05:45 +05:00
filipefurtad0
a30c0008a1 Update all locales with the latest Transifex translations 2023-11-17 12:49:34 +00:00
Filipe
ebd1151054 Merge pull request #11730 from murjax/payment-save-flash-9048
Fix Stripe payment flash rendering issue
2023-11-17 11:51:42 +00:00
Filipe
e6e4e014dc Merge pull request #11731 from chahmedejaz/bugfix/11667-clone-tags-issue-for-OC
Fix Cloning Tags Issue for OrderCycle
2023-11-17 10:50:33 +00:00
Filipe
c9084db933 Merge pull request #11761 from binarygit/open-external-links-in-new-page
Open external links in product description in a new page
2023-11-17 10:30:03 +00:00
David Cook
84ea05ad5a Merge pull request #11822 from rioug/revert-prettier-to-2.8.8
Revert prettier to v 2.8.8
2023-11-17 16:01:20 +11:00
Maikel
a1dbb3353f Merge pull request #11820 from macanudo527/fix_autocorrect_rubocop2
Fix Style Rubocop Errors
2023-11-17 14:25:12 +11:00
Maikel
df44446291 Merge pull request #11819 from dacook/update-browserslist-db
Update browserslist caniuse db
2023-11-17 14:05:11 +11:00
Maikel Linke
6f3bee708c Check feature name in specs
There was one case where a typo meant that the desired feature wasn't
active and tests were not testing the right code path. Using this new
syntax should prevent that.

* https://github.com/openfoodfoundation/openfoodnetwork/pull/11705
2023-11-17 13:18:31 +11:00
Maikel Linke
d841b1dae2 DRY feature activation in specs
It's simple this way and we have one place to add logic to when needed
(see next commit).
2023-11-17 13:17:27 +11:00
Gaetan Craig-Riou
5117cd31e9 Pretty-quick breaks with Prettier v3
As explained here : https://github.com/azz/pretty-quick/issues/164
We most likely need to move away from pretty-quick
2023-11-17 13:04:32 +11:00
Maikel
f087aa07d0 Merge pull request #11705 from abdellani/fix-existing-tests
Fix invoice printing tests
2023-11-17 12:57:24 +11:00
Neal Chambers
c3c4486d0c Safely autocorrect Style/RedundantStringEscape
Inspecting 1513 files
..........................................................................................................................................................................................................................................................................................................................C...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...........................................................................................................

Offenses:

app/models/spree/calculator.rb:31:48: C: [Corrected] Style/RedundantStringEscape: Redundant escape of / inside string literal.
      self.class.name.titleize.gsub("Calculator\/", "")
                                               ^^
spec/controllers/spree/admin/shipping_methods_controller_spec.rb:40:78: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
        params[:shipping_method][:calculator_attributes][shipping_amount] = "\'20.0'"
                                                                             ^^
spec/system/admin/enterprise_fees_spec.rb:82:78: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
    fill_in("#{prefix}_calculator_attributes_preferred_flat_percent", with: "\'20.0'")
                                                                             ^^
spec/system/admin/enterprise_fees_spec.rb:140:42: C: [Corrected] Style/RedundantStringEscape: Redundant escape of ' inside string literal.
        'preferred_flat_percent', with: "\'20.0'"
                                         ^^

1513 files inspected, 4 offenses detected, 4 offenses corrected
2023-11-17 09:03:32 +09:00
Neal Chambers
edbf4c15a9 Safely autocorrect Style/RedundantReturn
Inspecting 1513 files
.........................................................................................................................................................................................................................................................................................................C......................................................C............................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................C.......C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/product_import/entry_validator.rb:200:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return true unless Float(value, exception: false).nil?
      ^^^^^^
app/models/spree/stock/availability_validator.rb:30:9: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
        return line_item.target_shipment if line_item.target_shipment
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/stock/availability_validator.rb:31:9: C: [Corrected] Style/RedundantReturn: Redundant return detected.
        return line_item.order.shipments.first if line_item.order&.shipments&.any?
        ^^^^^^
lib/reporting/reports/enterprise_fee_summary/summarizer.rb:41:11: C: [Corrected] Layout/EmptyLineAfterGuardClause: Add empty line after guard clause.
          return DataRepresentations::IncomingExchangeLineItemFee if for_incoming_exchange?
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/summarizer.rb:42:11: C: [Corrected] Style/RedundantReturn: Redundant return detected.
          return DataRepresentations::OutgoingExchangeLineItemFee if for_outgoing_exchange?
          ^^^^^^
lib/stripe/authorize_response_patcher.rb:31:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return url if url.match(%r{https?://\S+}) && url.include?("stripe.com")
      ^^^^^^
lib/tasks/data.rake:99:7: C: [Corrected] Style/RedundantReturn: Redundant return detected.
      return true if Integer(value)
      ^^^^^^

1513 files inspected, 7 offenses detected, 7 offenses corrected
2023-11-17 09:00:50 +09:00
Neal Chambers
85fef7ac4b Safely autocorrect Style/RedundantRegexpArgument
Inspecting 1513 files
...........................................................................................................................................................................................................................................................................................................................................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/models/spree/shipping_method.rb:69:25: C: [Corrected] Style/RedundantRegexpArgument: Use string ":tracking" as argument instead of regexp /:tracking/.
      tracking_url.gsub(/:tracking/, tracking) unless tracking.blank? || tracking_url.blank?
                        ^^^^^^^^^^^
lib/spree/i18n.rb:36:17: C: [Corrected] Style/RedundantRegexpArgument: Use string "spree" as argument instead of regexp /spree/.
      path.gsub(/spree/, '')
                ^^^^^^^

1513 files inspected, 2 offenses detected, 2 offenses corrected
2023-11-17 08:59:27 +09:00
David Cook
668b102efc Combine two specs for efficiency 2023-11-17 10:21:55 +11:00
Gaetan Craig-Riou
8347557bea Merge pull request #11814 from openfoodfoundation/dependabot/bundler/active_storage_validations-1.1.2
chore(deps): bump active_storage_validations from 1.1.1 to 1.1.2
2023-11-17 10:12:29 +11:00
Gaetan Craig-Riou
ecb5ae47ff Merge pull request #11812 from openfoodfoundation/dependabot/bundler/angular_rails_csrf-6.0.0
chore(deps): bump angular_rails_csrf from 5.0.0 to 6.0.0
2023-11-17 10:08:15 +11:00
Ahmed Ejaz
b056c1495b Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-17 03:53:33 +05:00
Maikel
54f6b32231 Merge pull request #11810 from filipefurtad0/extend_payment_intents_tests
[VCR, automation] Adds payment intent tests with invalid cards
2023-11-17 09:50:25 +11:00
Ahmed Ejaz
29eadedc3a Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-17 03:45:54 +05:00
David Cook
de9fbea2b8 npx update-browserslist-db@latest
Compilation was sometimes failing with the following error. So I did what it said.

> Browserslist: caniuse-lite is outdated. Please run:
>   npx update-browserslist-db@latest
>   Why you should do it regularly: https://github.com/browserslist/update-db#readme
2023-11-17 09:45:11 +11:00
David Cook
2960f7570e Merge pull request #11741 from abdellani/fix-product-with-ml-unit-display-dl
Fix product with ml unit display dl
2023-11-17 09:41:44 +11:00
Konrad
0fae09f5a2 Merge pull request #11659 from chahmedejaz/bugfix/11606-localized-date-times
Fixes un-localized Order date and time format on edit order page
2023-11-16 21:27:13 +01:00
Ahmed Ejaz
fc59c9397d 11606, fix lint issues 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
4040dc0a52 #11606, add and fix specs for pretty_time method 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
edc827bdc8 #11606, adds long time formatting for en.yml 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
dddb777cea #11606, adds date locales for Português do Brasil 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
4639a002f2 #11606, adds date locales for Nederlands (Belgium) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
6a889d8084 #11606, adds date locales for Italiano (Switzerland) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
a35dcde0e3 #11606, adds date locales for Français (Cameroon) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
ec7c77af68 #11606, adds date locales for Français (Switzerland) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
6a0588e6a2 #11606, adds date locales for Français (Canada) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
c3bc2d1087 #11606, adds date locales for Français (Belgium) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
e0ed5ef9f0 #11606, adds date locales for Filipino (Philippines) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
295ad230c2 #11606, adds date locales for Espanol (United States) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
afa172bfa2 #11606, adds date locales for Espanol (Costa Rica) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
315dfe7d38 #11606, adds date locales for Espanol (Colombia) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
adcca684bf #11606, adds date locales for German (Germany) 2023-11-16 20:57:40 +01:00
Ahmed Ejaz
850a9c3738 #11606, adds langage locales for the German for Germany 2023-11-16 20:57:40 +01:00
Filipe
ed8fd41bec Merge pull request #11290 from cyrillefr/Orders_in_confirmation_state_cannot_be_completed_by_hub_or_shop
Fix Orders in confirmation state cannot be completed by hub or shop
2023-11-16 19:50:14 +00:00
Filipe
37436aab80 Merge pull request #11799 from murjax/enterprise-panel-navigation-6754
Fix navigation behavior on enterprise settings panel tabs
2023-11-16 17:56:49 +00:00
Filipe
8a3fbf92b9 Merge pull request #11776 from rioug/11775-fix-hidden-input
Fix hidden input showing on Producer registration
2023-11-16 17:26:28 +00:00
Konrad
dff8257255 Merge pull request #11661 from mkllnk/report-file-storage
Store report files on the local disk
2023-11-16 16:20:46 +01:00
filipefurtad0
beb47f03c0 Removes Stripe module
...and calls it within the describe block
2023-11-16 14:46:25 +00:00
Maikel
c8023b7c37 Merge pull request #11813 from openfoodfoundation/dependabot/bundler/spring-4.1.2
chore(deps-dev): bump spring from 4.1.1 to 4.1.2
2023-11-16 17:00:51 +11:00
Maikel
63721938c3 Merge pull request #11780 from filipefurtad0/fix_pending_examples_on_invoices_spec
Fixes pending tests cases on invoices spec
2023-11-16 17:00:02 +11:00
Maikel Linke
6e34c41f42 Bump DFC taxonomies to v1.0.2
Finally replacing the last of the old DFC context URLs that are not
valid any more.
2023-11-16 15:52:31 +11:00
Maikel
5f3e176b49 Merge pull request #11816 from mkllnk/dfc-enterprise-fields
Add logo and contact info to DFC Enterprise API
2023-11-16 10:15:01 +11:00
Maikel Linke
b055474918 DRY long method 2023-11-16 09:30:04 +11:00
Maikel Linke
e5f5f3922c Add contact name to DFC Enterprise API 2023-11-16 09:10:43 +11:00
filipefurtad0
9d00b7dc43 Re-records relevant cassettes 2023-11-15 13:05:15 +00:00
filipefurtad0
4c3f87f047 Adds payment intent tests with invalid cards 2023-11-15 13:05:15 +00:00
Maikel Linke
3e6db7fda4 Update spec of changed report link
The link now contains the local test server instead of some fake domain.
2023-11-15 10:29:05 +01:00
Maikel Linke
9f00817852 Use source of truth of url_options for report URLs
The ActionController options were not set in testing nor Sidekiq jobs.
The now used config is always set in config/application.rb.
2023-11-15 10:29:05 +01:00
Maikel Linke
a110ee0982 Simplify Active Storage config for test env 2023-11-15 10:29:05 +01:00
Maikel Linke
eaff1ed921 Store report files on the local disk 2023-11-15 10:29:05 +01:00
Maikel Linke
20af19c912 Simplify report file storage 2023-11-15 10:29:05 +01:00
Maikel Linke
ff6bcb113f Create report file where the content is generated
In the past, we needed the report blob to know when the report has been
finished and uploaded. But not we use cable_ready to notify when the
report is done and we don't need the blob in the controller.
2023-11-15 10:29:05 +01:00
dependabot[bot]
021e150421 chore(deps): bump active_storage_validations from 1.1.1 to 1.1.2
Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 09:17:25 +00:00
dependabot[bot]
b54794f3f6 chore(deps-dev): bump spring from 4.1.1 to 4.1.2
Bumps [spring](https://github.com/rails/spring) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.1.1...v4.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 09:16:50 +00:00
dependabot[bot]
9d2ca908cb chore(deps): bump angular_rails_csrf from 5.0.0 to 6.0.0
Bumps [angular_rails_csrf](https://github.com/jsanders/angular_rails_csrf) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/jsanders/angular_rails_csrf/releases)
- [Changelog](https://github.com/jsanders/angular_rails_csrf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsanders/angular_rails_csrf/compare/v5.0.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 09:14:26 +00:00
Maikel Linke
fc8f0ec4f2 Add email address to DFC Enterprise API 2023-11-15 17:00:53 +11:00
Maikel Linke
057c1363b1 Add phone number to DFC Enterprise API 2023-11-15 16:57:38 +11:00
Maikel Linke
80c0df9d1e Add website to DFC Enterprise API 2023-11-15 16:48:44 +11:00
Maikel Linke
1fb87bc497 Add SocialMedia to DFC Enterprise API 2023-11-15 16:19:23 +11:00
Maikel Linke
9311a29c9f Add logo URL to DFC Enterprise API 2023-11-15 15:16:39 +11:00
Maikel Linke
6266df5c76 Add long description to DFC Enterprise API 2023-11-15 14:59:15 +11:00
David Cook
3f4ef3e48b Merge pull request #11806 from openfoodfoundation/dependabot/npm_and_yarn/prettier-3.1.0
chore(deps-dev): bump prettier from 2.8.8 to 3.1.0
2023-11-15 12:28:12 +11:00
David Cook
58cf3cfca8 Merge pull request #11802 from mkllnk/flaky-taxonomies
Stabilise spec with sleep
2023-11-15 11:55:25 +11:00
Maikel Linke
58d2e9d9aa Fix pending spec example and clarify displayed content 2023-11-15 10:28:45 +11:00
Maikel Linke
b626ec1cd7 Further reduce branching
This is much easier to read.
2023-11-15 10:13:24 +11:00
Maikel Linke
d0c07df0cf Avoid complexity of branch flags 2023-11-15 10:06:48 +11:00
filipefurtad0
a56f95d1e3 Uses more readable DB call
Also makes some other minor improvements, like removing the rest case around editing ajustment types, something which we don't really need a test for, as it should not occur in the app
2023-11-14 14:40:21 +00:00
filipefurtad0
612125b918 Updates create/delete adjustments tests
Creating and deleting adjustments will change associated attributes such as the payment state of the order which triggers a new invoice
2023-11-13 23:20:50 +00:00
filipefurtad0
eea15089d3 Updates state change tests
Cancelling orders will change associated attributes such as payment_state which is triggers a new invoice
2023-11-13 23:19:40 +00:00
filipefurtad0
e7c2b52f52 Updates pending example
..however: creating and deleting adjustments are still not passing when can_update_latest_invoice? is called over the order. @abdellani, I think I need your help on this one, I was not able to progress any further
2023-11-13 23:19:40 +00:00
filipefurtad0
9057ffd6c0 Fixes pending test case 2023-11-13 23:19:40 +00:00
binarygit
249c0029dd Improve tests 2023-11-13 21:31:41 +05:45
binarygit
f52c7e8a5d Rename richtext controller and write specs 2023-11-13 21:31:41 +05:45
binarygit
e78fe663d2 Open external links in product description in a new page 2023-11-13 21:31:41 +05:45
dependabot[bot]
40430a8fab chore(deps-dev): bump prettier from 2.8.8 to 3.1.0
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.1.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.8...3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 09:58:03 +00:00
Mohamed ABDELLANI
847c3af4da update WeightsAndMeasures#scales_for_variant_unit to ignore available untis when needed 2023-11-13 09:59:14 +01:00
David Cook
b872d7c308 Re-arrange spec
Best viewed with white-space ignored
2023-11-13 09:29:31 +01:00
David Cook
91cb3df215 Use named config method
And mock the preference value, rather than setting it. Before, the set preference could have leaked to other tests.
(I noticed that it was already like this in product_import_spec.rb)
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
72d854487a update VariantUnitManager#compatibleUnitScales to return units that are selected 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
864f63b7b0 update VariantUnitManger specs 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
a9d85fd08f fix existing tests 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
2733e45e16 update the list of the unit on VariantUnitManager 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
e10d441153 load GeneralSettingsHelper#all_units from WeightsAndMeasures::UNITS 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
fb24678654 update units list on Spree::Admin::GeneralSettingsHelper#all_units
added a test to make sure that all units on WeightsAndMeasures::UNITS are list on all_units
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
642cd85cb9 update WeightsAndMeasures#scale_for_unit_value to only return units that are selected on 'Available Units' list 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
b3b86c428c test tax totals on the printed version of the invoice (v3) 2023-11-13 07:48:59 +01:00
Mohamed ABDELLANI
e37f9e54fd reimplement "order with taxes" tests under "invoices feature enabled" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
c759a0f646 move tests under shared_examples "order with tax" to context "when invoice feature is not enabled" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
13bfbc21e0 remove unecessary instructions from "Check display on each invoice: legacy and alternative" 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
4eedf74ecd remove unecessary instructions from "contains right Payment Description at Checkout information"
1.When the user tries to print an invoice for an order (that doesn't have any previous invoices), an invoice will be generated automatically.
2.When the user tries to print an invoice for an order without specifing the id of the invoice, he'll get the latest invoice
2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
5be8ec0c5a set completed_at on the order used for testing 2023-11-13 07:39:55 +01:00
Mohamed ABDELLANI
1724e1d626 fix invoice feature flag enabling 2023-11-13 07:39:55 +01:00
Gaetan Craig-Riou
1107083bc9 Merge pull request #11733 from yasirazgar/11714_fix_bugsnag_warning
11714 -  Fix bugsnag warning
2023-11-13 16:52:20 +11:00
yasir azgar
703ef8a203 Update config/initializers/bugsnag.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-11-13 10:42:46 +05:30
yasir azgar
b119a97eaf Update config/initializers/bugsnag.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-11-13 10:42:46 +05:30
Yasir Azgar
5eed500786 supress bugsnag warn in dev 2023-11-13 10:42:46 +05:30
Yasir Azgar
eb82accb79 revert unwanted change 2023-11-13 10:42:46 +05:30
Yasir Azgar
866a1b4bcb 11714 fix bugsnag warn 2023-11-13 10:42:46 +05:30
Maikel Linke
6ce3572b24 Stabilise spec with sleep
I didn't look into what's going wrong here. A sleep is not ideal but
better than a retry.

That page needs a rewrite anyway and therefore I don't want to invest
more work now.
2023-11-13 14:21:10 +11:00
Maikel
b2c6551c26 Merge pull request #11797 from openfoodfoundation/dependabot/npm_and_yarn/cable_ready-5.0.2
chore(deps): bump cable_ready from 5.0.1 to 5.0.2
2023-11-13 12:48:56 +11:00
dependabot[bot]
54426f80df chore(deps): bump cable_ready from 5.0.1 to 5.0.2
Bumps [cable_ready](https://github.com/stimulusreflex/cable_ready) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/stimulusreflex/cable_ready/releases)
- [Changelog](https://github.com/stimulusreflex/cable_ready/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stimulusreflex/cable_ready/compare/v5.0.1...v5.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-12 23:27:36 +00:00
Maikel
709c4d20f9 Merge pull request #11786 from macanudo527/fix_autocorrect_rubocop
Fix Style Rubocop Errors
2023-11-13 10:25:03 +11:00
Ahmed Ejaz
8bac8ad4be 11067, fix lint issues 2023-11-11 16:04:28 +05:00
Ahmed Ejaz
2d55322a55 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-11 16:00:15 +05:00
Ahmed Ejaz
ab93b06bac #11067, add specs 2023-11-11 15:58:29 +05:00
Ahmed Ejaz
0457755e27 Merge branch 'task/11067-admin_style_v3-product-clone' of https://github.com/chahmedejaz/openfoodnetwork into task/11067-admin_style_v3-product-clone 2023-11-11 15:54:58 +05:00
Ahmed Ejaz
d8904099dd #11067, remove messages to match with old UI UX 2023-11-11 15:47:59 +05:00
Ryan Murphy
5c4b06730b Fix navigation behavior on enterprise panel tabs 2023-11-10 12:26:16 -05:00
Filipe
5d76f98fec Merge pull request #11754 from mkllnk/reload-bug
Don't update order when not enough stock when editing as admin
2023-11-10 16:57:43 +00:00
Ahmed Ejaz
e1e46bcbc2 #11067, hide clone option for variant 2023-11-10 15:36:10 +05:00
Gaetan Craig-Riou
06a4cbafd4 Merge pull request #11788 from dacook/release-scripts
Add script for preparing translations
2023-11-10 13:56:04 +11:00
David Cook
d47128e355 Describe how to choose version number
Thanks Maikel for summarising this: https://community.openfoodnetwork.org/t/release-numbering/105/6
2023-11-10 12:14:52 +11:00
David Cook
0c6608f828 Add comments 2023-11-10 11:46:48 +11:00
Neal Chambers
7c14853add Safely autocorrect Style/RedundantDoubleSplatHashBraces
Inspecting 1509 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C...............

Offenses:

spec/system/support/cuprite_setup.rb:13:5: C: [Corrected] Style/RedundantDoubleSplatHashBraces: Remove the redundant double splat and braces, use keyword arguments directly.
    **{ ...
    ^^^
spec/system/support/cuprite_setup.rb:14:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      browser_options:,
      ^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:15:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      process_timeout: 60,
      ^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:16:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      timeout: 60,
      ^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:17:7: C: [Corrected] Layout/CommentIndentation: Incorrect indentation detected (column 6 instead of 4).
      # Don't load scripts from external sources, like google maps or stripe
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:18:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      url_whitelist: ["http://localhost", "http://0.0.0.0", "http://127.0.0.1"],
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:19:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      inspector: true,
      ^^^^^^^^^^^^^^^
spec/system/support/cuprite_setup.rb:20:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      headless:,
      ^^^^^^^^^
spec/system/support/cuprite_setup.rb:21:7: C: [Corrected] Layout/HashAlignment: Align the keys of a hash literal if they span more than one line.
      js_errors: true
      ^^^^^^^^^^^^^^^

1509 files inspected, 9 offenses detected, 9 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
c3b4781a28 Safely autocorrect Style/RedundantConstantBase
Inspecting 1509 files
.........................................................................................................C.........................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................CCC........................................C......................................................................................C......................................................................................................................................................................................................

Offenses:

app/controllers/split_checkout_controller.rb:5:33: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class SplitCheckoutController < ::BaseController
                                ^^
app/controllers/webhook_endpoints_controller.rb:3:36: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class WebhookEndpointsController < ::BaseController
                                   ^^
config.ru:5:9: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
require ::File.expand_path('config/environment', __dir__)
        ^^
spec/helpers/checkout_helper_spec.rb:168:68: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
      let!(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: ::Calculator::DefaultTax.new) }
                                                                   ^^
spec/models/spree/order_spec.rb:619:25: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:fee_handler) { ::OrderFeesHandler.new(subject) }
                        ^^
spec/models/spree/payment_method_spec.rb:150:51: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                  ^^
spec/models/spree/payment_method_spec.rb:154:54: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                         calculator: ::Calculator::FlatPercentItemTotal
                                                     ^^
spec/models/spree/payment_spec.rb:429:49: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
            create(:payment_method, calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                ^^
spec/models/spree/payment_spec.rb:1002:11: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
          ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10)
          ^^
spec/models/spree/payment_spec.rb:1039:28: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
        let(:calculator) { ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10) }
                           ^^
spec/queries/complete_visible_orders_spec.rb:12:31: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:order_permissions) { ::Permissions::Order.new(user, filter_canceled) }
                              ^^
spec/services/paypal_items_builder_spec.rb:34:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^
spec/services/paypal_items_builder_spec.rb:38:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^

1509 files inspected, 13 offenses detected, 13 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
ef928aa6fe Safely autocorrect Style/QuotedSymbols
Inspecting 1509 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.................................................................................................................................................................................................................................................................................................................................C............................................................C...........................................................................................................................................................................................................................................................................................................................................C.C.........................................................................................................................................C........................................................................................................................................

Offenses:

app/services/exchange_products_renderer.rb:50:13: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
      where("spree_variants.id": incoming_exchanges_variants)
            ^^^^^^^^^^^^^^^^^^^
lib/stripe/credit_card_cloner.rb:67:50: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
                                   { metadata: { "ofn-clone": true } },
                                                 ^^^^^^^^^^^
spec/controllers/api/v0/exchange_products_controller_spec.rb:59:52: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          Spree::Product.includes(:variants).where("spree_variants.id": exchange.variants.map(&:id))
                                                   ^^^^^^^^^^^^^^^^^^^
spec/requests/api/orders_spec.rb:35:11: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          "application/json": {
          ^^^^^^^^^^^^^^^^^^
spec/requests/api/v1/customers_spec.rb:39:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:186:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:207:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:230:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:239:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:274:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:286:18: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          schema "$ref": "#/components/schemas/error_response"
                 ^^^^^^
spec/requests/api/v1/customers_spec.rb:361:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:427:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:440:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:455:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/support/request/stripe_stubs.rb:72:42: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
    stub = stub.with(body: { metadata: { "ofn-clone": true } })
                                         ^^^^^^^^^^^

1509 files inspected, 16 offenses detected, 16 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
3c7c345534 Safely autocorrect Style/ParenthesesAroundCondition
Inspecting 1509 files
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C..............

Offenses:

spec/system/support/precompile_assets.rb:10:10: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
  next if
         ^
spec/system/support/precompile_assets.rb:10:11: C: [Corrected] Style/ParenthesesAroundCondition: Don't use parentheses around the condition of an if.
  next if ( ...
          ^
spec/system/support/precompile_assets.rb:13:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
spec/system/support/precompile_assets.rb:14:1: C: [Corrected] Layout/EmptyLines: Extra blank line detected.

1509 files inspected, 4 offenses detected, 4 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
69e7419a45 Safely autocorrect Style/NegatedIfElseCondition
Inspecting 1509 files
....................................................................................................................................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................

Offenses:

app/mailers/spree/shipment_mailer.rb:15:25: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the ternary branches.
      default_subject = !@delivery ? t('.picked_up_subject') : default_i18n_subject
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/matchers/table_matchers.rb:34:5: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the if-else branches.
    if rows.count != expected_table.count ...
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1509 files inspected, 2 offenses detected, 2 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
0ec03da30e Regenerate Rubocop's TODO file 2023-11-10 09:13:57 +09:00
David Cook
95028d5347 Merge pull request #11790 from duleorlovic/11783_add_present
Check for .present? for ENV GOOGLE variables
2023-11-10 11:12:57 +11:00
Maikel
72dc00ba5c Merge pull request #11779 from filipefurtad0/stripe_version_in_sync_with_vcr_tests
Stripe version in sync with vcr tests
2023-11-10 10:43:28 +11:00
Ahmed Ejaz
e97676a680 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-09 19:42:21 +05:00
Dusan Orlovic
0f30836c1d Check for .present? for ENV GOOGLE variables 2023-11-09 09:45:19 +01:00
David Cook
f754eac3a0 Add script for preparing translations 2023-11-09 17:42:09 +11:00
Maikel
ec1f23a947 Merge pull request #11781 from openfoodfoundation/dependabot/bundler/datafoodconsortium-connector-1.0.0.pre.alpha.9
chore(deps): bump datafoodconsortium-connector from 1.0.0.pre.alpha.8 to 1.0.0.pre.alpha.9
2023-11-09 16:46:05 +11:00
David Cook
023eb0633d Update all locales with the latest Transifex translations 2023-11-09 16:42:04 +11:00
Maikel Linke
0a88e8b8ac Update API documentation 2023-11-09 16:17:11 +11:00
Maikel Linke
cde57fcfb4 Update specs for changed attribute URI 2023-11-09 16:16:24 +11:00
Maikel Linke
eac632c81e Use new DFC Connector API to add an address 2023-11-09 16:16:24 +11:00
Maikel Linke
8d81802f47 Update DFC SKOS Parser monkey patch with current code 2023-11-09 16:16:24 +11:00
Maikel Linke
5d29dee848 Update DFC Importer to use shortened URIs
The new Connector code uses shortened URIs now.
2023-11-09 16:16:24 +11:00
dependabot[bot]
3ca426945f chore(deps): bump datafoodconsortium-connector
Bumps datafoodconsortium-connector from 1.0.0.pre.alpha.8 to 1.0.0.pre.alpha.9.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-09 15:46:32 +11:00
Maikel Linke
71c50e1fcf Update warning message for item quantity 2023-11-09 10:56:41 +11:00
Maikel Linke
efc338aeeb Don't update order when not enough stock
There's a user-facing change here. When you tried to update the quantity
of a line item beyond available stock, two things used to happen:

1. A warning was displayed.
2. The item's quantity was updated to the highest possible.

Unfortunately, the logic to update the line item was also reloading the
page and the warning message disappeared before it could be
acknowledged. The easiest fix was to skip the update request. And in my
opinion, it's even better to let the user decide if they still want to
update or cancel the update.

Eventually, we want to replace all this custom Javascript logic with
StimulusJS anyway. So let's not put too much effort into this. It was
important though to resolve the flaky spec which made many builds fail.
2023-11-09 10:56:41 +11:00
Maikel Linke
d5dca97438 Spec tiny bug which caused a flaky spec
It still needs solving.
2023-11-09 10:56:41 +11:00
Maikel
4e52fc28ef Merge pull request #11756 from rioug/11712_DFC_add_image_to_product
[DFC API] add image to product
2023-11-09 09:37:06 +11:00
Maikel Linke
4c1334fb69 Record new version of Stripe requests 2023-11-09 08:56:46 +11:00
Maikel Linke
cb57807466 Streamline stripe test recording updates 2023-11-09 08:52:06 +11:00
Ahmed Ejaz
2af678cb28 Merge branch 'master' into task/11067-admin_style_v3-product-clone 2023-11-08 18:41:31 +05:00
Ahmed Ejaz
851ce281ea #11067, implement product clone 2023-11-08 18:36:22 +05:00
Maikel Linke
d0dd6e57ca Replace variable values with fixed values in Swagger doc 2023-11-08 17:12:42 +11:00
Maikel Linke
7dd0d0581c Codify re-recording of Stripe cassettes 2023-11-08 15:05:54 +11:00
filipefurtad0
9d50b11090 Adds re-recorded Stripe cassettes within Stripe gem folder name 2023-11-08 14:25:19 +11:00
filipefurtad0
7dac08a0be Sets flag to create folder with Stripe version 2023-11-08 14:24:19 +11:00
Gaetan Craig-Riou
f76bdf0c6f Fix rubocop warning 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
11ee4b30c2 Update Swagger documentation to include ofn:image 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
7987967824 Check product image url is present on supplied product endpoint 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
12c6257a0f Pass the image url to DfcProvider::SuppliedProduct 2023-11-08 13:57:35 +11:00
Gaetan Craig-Riou
424954ec54 Add ofn:image to SuppliedProduct
Temporary solution as we wait for the DFC connector to be updated
to support "dfc_b:image" for SuppliedProduct
2023-11-08 13:57:35 +11:00
Maikel
cbc2ef54c8 Merge pull request #11778 from openfoodfoundation/dependabot/bundler/bullet-7.1.3
chore(deps-dev): bump bullet from 7.1.2 to 7.1.3
2023-11-08 13:57:04 +11:00
Maikel
13e7448739 Merge pull request #11777 from openfoodfoundation/dependabot/bundler/cuprite-0.15
chore(deps-dev): bump cuprite from 0.14.3 to 0.15
2023-11-08 13:56:28 +11:00
Maikel
3eb9cf994b Merge pull request #11758 from openfoodfoundation/dependabot/bundler/stripe-10.1.0
chore(deps): bump stripe from 10.0.0 to 10.1.0
2023-11-08 13:49:19 +11:00
Maikel
dd1f358d36 Merge pull request #11757 from dacook/buu-disabled-button
[BUU] Grey out disabled button
2023-11-08 13:48:23 +11:00
David Cook
9172c87fce Merge pull request #11701 from macanudo527/remove_bogus_gateways
Remove bogus gateways
2023-11-08 09:36:36 +11:00
Neal Chambers
af764bd38e Move payment_intent to Helper 2023-11-07 16:30:50 +09:00
Neal Chambers
31fda7169d Delete Bogus and BogusSimple Gateways from Locales 2023-11-07 11:19:26 +09:00
Neal Chambers
1456f3b7db Remove Bogus Gateway from Sample Data 2023-11-07 11:19:26 +09:00
Neal Chambers
3ddf3c05ae Remove References to Bogus in Pending Specs 2023-11-07 11:19:26 +09:00
Neal Chambers
6ba8c88ea7 Rewrite Specs to Use Paypal or Stripe Gateway instead of Bogus 2023-11-07 11:19:26 +09:00
Neal Chambers
0663f04535 Remove Simple References to Bogus Gateway 2023-11-07 11:19:26 +09:00
Neal Chambers
74870ff0ad Delete Bogus Gateway Files 2023-11-07 11:19:23 +09:00
dependabot[bot]
1c878e7fa9 chore(deps-dev): bump bullet from 7.1.2 to 7.1.3
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.2 to 7.1.3.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.2...7.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 10:00:55 +00:00
dependabot[bot]
19a385b4eb chore(deps-dev): bump cuprite from 0.14.3 to 0.15
Bumps [cuprite](https://github.com/rubycdp/cuprite) from 0.14.3 to 0.15.
- [Release notes](https://github.com/rubycdp/cuprite/releases)
- [Changelog](https://github.com/rubycdp/cuprite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rubycdp/cuprite/compare/v0.14.3...v0.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 09:56:52 +00:00
Gaetan Craig-Riou
c42d9d7d54 Use type="hidden" to hide input
It looks some CSS we use is breaking the use of "hidden"
2023-11-06 16:54:48 +11:00
Rachel Arnould
1e15d32a24 Merge pull request #11679 from abdellani/new_and_unique_invoice_template
New and unique invoice template
2023-11-03 16:49:19 +01:00
dependabot[bot]
01b24a8383 chore(deps): bump stripe from 10.0.0 to 10.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v10.0.0...v10.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 09:30:15 +00:00
Sigmund Petersen
40c14c6ae3 Merge pull request #11749 from mkllnk/cuprite
Clarify cuprite driver configuration
2023-11-03 09:59:36 +01:00
David Cook
f9fc1657a8 Grey out disabled button
It looks like the disabled-bg colour was being used for pagination, but I can't see where. This way we should be able to apply the styles more consistently in the future.
2023-11-03 17:28:20 +11:00
David Cook
38296eb967 Merge pull request #11755 from mkllnk/cleaning
Remove orphaned JSON data in admin pages
2023-11-03 16:02:10 +11:00
Maikel
eef7df8ce3 Merge pull request #11750 from dacook/buu-editing-part5c-show-summary-11059
[BUU] Showing error summary at top of form
2023-11-03 15:45:24 +11:00
Maikel Linke
f6903518c3 Remove orphaned JSON data in admin pages
This was left over data from commit:

- 79ba223e12
2023-11-03 15:16:22 +11:00
David Cook
7fe6f3fe89 Disable form elements in a disabled-section
I chose to use the 'elements' collection rather than choosing which elements to include (ie this supports inputs, textareas, buttons and anything else I didn't think of). It could be a bit simpler if we assume the element is a form. Even simpler if it's a fieldset (that has a disabled property). But I didn't want to limit it too much.

Unfortunately JS is quite ugly compared to Ruby. And 'prettier' made it uglier in my opinion.
2023-11-03 14:32:58 +11:00
David Cook
f63f37fd3b Wrap form element in a form
This makes it easier to control in the next commit.
2023-11-03 14:32:58 +11:00
David Cook
d0abbc5d2c Ensure error summary always shows when error
Best viewed with whitespace ignored.
2023-11-03 14:32:58 +11:00
David Cook
41cf0bedfc Fix: Handle missing attributes 2023-11-03 14:32:58 +11:00
David Cook
f05d27b58b Show error message summary at top of form 2023-11-03 14:32:58 +11:00
David Cook
a94c50f0c1 Count updated products
Ignoring variants for now.
2023-11-03 14:32:58 +11:00
David Cook
de915e8bd7 Capture variant errors when updating 2023-11-03 14:32:55 +11:00
David Cook
1d5ec6b8d2 Spec for updating products with variants
Trying to cover it more comprehensively, and revealing we have a lot of behaviour to update.
Products and their variants should always get saved (or not saved) together. This is considered the most intuitive behaviour.

There's still duplication with the "variant has error" context, but I try to avoid nesting shared_examples, it starts to get ugly. Happy to discuss though.
2023-11-02 15:42:40 +11:00
Maikel Linke
c4c5c97270 Clarify cuprite driver configuration
Rails is registering a driver called `cuprite`. And when we did that as
well the driver got registered three times somehow. It looked like our
driver options were used in the end but just to clarify I gave it a
unique name.

This was inspired by:

* https://github.com/ViewComponent/view_component/pull/1877

It suggests that it may avoid dead browser errors on CI. We'll see.
2023-11-02 14:07:33 +11:00
David Cook
e651e3cd5e Tiny spec refactor
I found this in my stashes
2023-11-02 11:05:45 +11:00
David Cook
39eeb0e917 Add spec for truthiness
It's generally expected that a #save method will return true on succes, and false on failure.
2023-11-02 11:05:45 +11:00
Ryan Murphy
7e5ad8c8a4 9048: Fix Stripe payment flash rendering issue 2023-11-01 07:33:06 -04:00
Mohamed ABDELLANI
6d0f7d7c81 render null shipment when shipment adjustment doesn't exist 2023-10-30 22:53:19 +01:00
Mohamed ABDELLANI
23a56d35a0 add tax_adjustment total to the invoice 2023-10-30 22:09:22 +01:00
Mohamed ABDELLANI
e16df2777a optimize DataPresenter#checkout_adjustments
reduce the complexity of the method
2023-10-30 21:58:37 +01:00
Mohamed ABDELLANI
c8f69c8778 always render shipment on the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
c513eb5d9d fix existing test 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
15aeb2f8e5 remove legacy template (used when invoice feature enable) 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
da89860f35 fix price per unit 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
c1ed8ed67c update the adjustments rows 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
716cf3e522 reorder the totals section 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
b7f601d140 show tax rate column regardless of the tax amount on the order 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a08a2fd5f6 [skip ci] add terms of service link to the invoice. 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a5fd0608c3 align the columns of the totals rows 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
a8f9b29a6d [skip ci]add the total price columns to the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
30537f7743 add "Weight/VOL." column to the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
b64058a71d swap tax rate with total price (incl tax) 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
1182544c47 update the view used when the invoice feature is enabled 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
4634c2d965 add unit_price_price_and_unit to line_item serializer
*  unit_price_price_and_unit refers UnitPrice which refers to other attributes
that belong to variant and product.
Instead of collecting all the attributes that were using indirectly by the method and adding them to the serializers
I perefered to serialize the result of the method call.
2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
affecf53c6 add order cycle name to the invoice number section 2023-10-30 19:43:57 +01:00
cyrillefr
a764cc0f89 Specs for the new action complete after capture
- In admin dashboard, clicking on capture leads to a completed order
- Modifications of actual specs to take into account new action
2023-10-29 22:05:50 +01:00
cyrillefr
7c89458a95 New locale (tooltip) 2023-10-29 22:05:50 +01:00
cyrillefr
31cc0494c2 Icon for the new action
- Similar to the actual capture action
2023-10-29 22:05:34 +01:00
cyrillefr
e1374d5837 Add Order completion after capturing event
- A new processing method
- Payment means that link to it
- Altering methods that handle next status choice
2023-10-29 21:58:03 +01:00
cyrillefr
d6daf25b98 Spec checking order in confirmation state transition to payment 2023-10-29 21:58:03 +01:00
cyrillefr
cd6c3c45e6 Allow an order in confirmation state to transition to payment 2023-10-29 21:58:03 +01:00
Ahmed Ejaz
df773aaee9 Merge branch 'master' into bugfix/11667-clone-tags-issue-for-OC 2023-10-28 14:57:43 +05:00
Ahmed Ejaz
adf65acee5 #11667, fix existing test case 2023-10-28 14:03:27 +05:00
Ahmed Ejaz
0e0b322707 #11667, assign tag_list to cloned exchange tag_list 2023-10-28 14:02:44 +05:00
2184 changed files with 161202 additions and 44292 deletions

21
.env
View File

@@ -10,10 +10,10 @@ TIMEZONE="Melbourne"
DEFAULT_COUNTRY_CODE="AU"
# Locale for translation.
LOCALE="en"
LOCALE="en_AU"
# For multilingual - ENV doesn't have array so pass it as string with commas
AVAILABLE_LOCALES="en,es"
AVAILABLE_LOCALES="en_AU,es"
# Spree zone.
CHECKOUT_ZONE="Australia"
@@ -42,14 +42,6 @@ SMTP_PASSWORD="f00d"
# Javascript error reporting via Bugsnag.
# BUGSNAG_JS_KEY=""
# SingleSignOn login for Discourse
#
# DISCOURSE_SSO_SECRET should be a random string. It must be the same as provided to your Discourse instance.
# DISCOURSE_SSO_SECRET=""
#
# DISCOURSE_URL must be the URL of your Discourse instance.
# DISCOURSE_URL="https://noticeboard.openfoodnetwork.org.au"
# see="https://developers.google.com/maps/documentation/javascript/get-api-key
# GOOGLE_MAPS_API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# see https://developers.google.com/maps/documentation/javascript/localization#Region
@@ -69,3 +61,12 @@ SMTP_PASSWORD="f00d"
# NEW_RELIC_AGENT_ENABLED=true
# NEW_RELIC_APP_NAME="Open Food Network"
# NEW_RELIC_LICENSE_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Database encryption configuration, required for VINE connected app
# Generate with bin/rails db:encryption:init
# ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# VINE API settings
# VINE_API_URL="https://vine-staging.openfoodnetwork.org.au/api/v1"

View File

@@ -5,17 +5,28 @@
#
# cp .env.development .env.local
# Locale for translation. Using a locale other than `en` tests the
# successful fallback to `en`. To see up-to-date text used in production,
# set another locale in a local env file.
LOCALE="en_TST"
VERBOSE_QUERY_LOGS=true
SECRET_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
OFN_REDIS_URL="redis://localhost:6379/1"
OFN_REDIS_JOBS_URL="redis://localhost:6379/2"
OFN_REDIS_CABLE_URL="redis://localhost:6379/0"
SITE_URL="0.0.0.0:3000"
SITE_URL="localhost:3000"
# Deactivate rack-timeout in development.
# https://github.com/zombocom/rack-timeout#configuring
RACK_TIMEOUT_SERVICE_TIMEOUT="0"
RACK_TIMEOUT_WAIT_TIMEOUT="0"
RACK_TIMEOUT_WAIT_OVERTIME="0"
# Database encryption configuration, required for VINE connected app
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="dev_primary_key"
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="dev_determinnistic_key"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="dev_derivation_salt"

View File

@@ -1,11 +1,29 @@
# ENV vars for the test environment
# Override locally with `.env.test.local`
# Locale for translation. Using a locale other than `en` tests the
# successful fallback to `en`.
LOCALE="en_TST"
OFN_REDIS_JOBS_URL="redis://localhost:6379/2"
SECRET_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
STRIPE_SECRET_TEST_API_KEY="bogus_key"
STRIPE_INSTANCE_SECRET_KEY="bogus_key"
STRIPE_CUSTOMER="bogus_customer"
STRIPE_ACCOUNT="bogus_account"
STRIPE_CLIENT_ID="bogus_client_id"
STRIPE_PUBLIC_TEST_API_KEY="bogus_stripe_publishable_key"
SITE_URL="test.host"
# OIDC Settings for DFC authentication
# Find secrets in BitWarden.
# To get a refresh token: log into the OIDC provider, connect your OFN user to it at /admin/oidc_settings, then copy the token from the database:
# ./bin/rails runner 'puts "OPENID_REFRESH_TOKEN=\"#{OidcAccount.last.refresh_token}\""'
OPENID_APP_ID="test-provider"
OPENID_APP_SECRET="12345"
OPENID_APP_SECRET="dummy-openid-app-secret-token"
OPENID_REFRESH_TOKEN="dummy-refresh-token"
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="test_primary_key"
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="test_deterministic_key"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="test_derivation_salt"

View File

@@ -7,24 +7,16 @@ assignees: ''
---
## 1. Preparation on Thursday
## 1. Drafting on Friday
- [ ] Merge pull requests in the [Ready To Go] column
- [ ] Include translations
<details><summary>Command line instructions:</summary>
<pre>
<code>
git checkout master
git pull upstream master
tx pull --force
git commit -a -m "Update all locales with the latest Transifex translations"
git push upstream master
</code>
</pre>
</details>
- [ ] Create a tag:
- `script/tag_release` will auto increment patch version, otherwise
- `git push upstream HEAD:refs/tags/vX.Y.Z`
- [ ] Include translations: `script/release/update_locales`
- You need the [Transifex Client] installed on your local dev environement to run the script.
- [ ] Increment version number: `git push upstream HEAD:refs/tags/vX.Y.Z`
Check for [minor or major breaking changes]
- Major: if server changes are required (eg. provision with ofn-install)
- Minor: larger change that is irreversible (eg. migration deleting data)
- Patch: all others. Shortcut: `script/release/tag`
- [ ] [Draft new release]. Look at previous [releases] for inspiration.
- Select new release tag
- _Generate release notes_ and check to ensure all items are arranged in the right category.
@@ -35,8 +27,9 @@ assignees: ''
- [ ] Move this issue to Test Ready.
- [ ] Notify `@testers` in [#testing].
- [ ] Test build: [Deploy to Staging] with release tag.
- [ ] Notify a deployer to deploy it
## 3. Finish on Tuesday
## 3. Deployment at beginning of week
- [ ] Publish and notify [#global-community] (this is automatically posted with a plugin)
- [ ] Deploy the new release to all managed instances.
@@ -49,15 +42,19 @@ assignees: ''
</details>
- [ ] Notify [#instance-managers]:
> @instance_managers The new release has been deployed.
- [ ] Nudge next release manager
- [ ] [Create issue] for next release and confirm with next release drafter in [#delivery-circle].
The full process is described at https://github.com/openfoodfoundation/openfoodnetwork/wiki/Releasing.
[Ready To Go]: #zenhub
[Ready To Go]: https://github.com/orgs/openfoodfoundation/projects/8?filterQuery=status%3A%22Ready+to+go+%F0%9F%9A%80%22
[Transifex pull request]: https://github.com/openfoodfoundation/openfoodnetwork/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+head%3Atransifex
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A
[Draft new release]: https://github.com/openfoodfoundation/openfoodnetwork/releases/new?title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A
[releases]: https://github.com/openfoodfoundation/openfoodnetwork/releases
[#instance-managers]: https://app.slack.com/client/T02G54U79/CG7NJ966B
[#testing]: https://openfoodnetwork.slack.com/app_redirect?channel=C02TZ6X00
[Deploy to Staging]: https://github.com/openfoodfoundation/openfoodnetwork/actions/workflows/stage.yml
[#global-community]: https://app.slack.com/client/T02G54U79/C59ADD8F2
[Create issue]: https://github.com/openfoodfoundation/openfoodnetwork/issues/new?assignees=&labels=&projects=&template=release.md&title=Release
[#delivery-circle]: https://openfoodnetwork.slack.com/archives/C01T75H6G0Z
[Transifex Client]: https://developers.transifex.com/docs/cli
[minor or major breaking changes]: https://github.com/openfoodfoundation/openfoodnetwork/pulls?q=label%3A%22breaking+change%22%2C%22major+breaking+change%22

View File

@@ -22,7 +22,7 @@
Changelog Category (reviewers may add a label for the release notes):
- [x] User facing changes
- [ ] User facing changes
- [ ] API changes (V0, V1, DFC or Webhook)
- [ ] Technical changes only
- [ ] Feature toggled

View File

@@ -1,3 +1,8 @@
# Dependabot configuration
#
# The `directory` and `schedule.interval` options are mandatory.
# Most of the configuration here is not used for security updates though.
version: 2
updates:
@@ -5,7 +10,7 @@ updates:
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 10
# Only specific requirements are specified in Gemfile, so don't touch it.
versioning-strategy: lockfile-only
@@ -13,5 +18,6 @@ updates:
directory: "/"
schedule:
interval: "daily"
# All versions are specified in package.json, so please update them.
versioning-strategy: increase

17
.github/release.yml vendored
View File

@@ -1,8 +1,9 @@
changelog:
# Categorise according to what an instance manager needs to know
categories:
# Posted in advance for #instance-managers
- title: "User-facing changes 👀"
# Add the right label if anything appears in here.
# Then re-generate the release notes.
- title: "❓❓❓ Uncategorised ❓❓❓"
labels:
- '*'
exclude:
@@ -11,6 +12,18 @@ changelog:
- dependencies
- feature toggled
- technical changes only
- user facing changes
# These will require a minor or major version increment
- title: "Significant changes 🚀"
labels:
- breaking change
- major breaking change
# Posted in advance for #instance-managers
- title: "User-facing changes 👀"
labels:
- user facing changes
- title: "API changes ⚠️"
labels:

View File

@@ -0,0 +1,14 @@
name: Auto Author Assign
on:
pull_request_target:
types: [opened, reopened]
permissions:
pull-requests: write
jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/auto-author-assign@v2.1.0

View File

@@ -3,7 +3,7 @@ name: Build
on:
workflow_dispatch:
push:
branches-ignore:
branches-ignore:
- 'dependabot/**'
pull_request:
@@ -38,16 +38,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [8]
ci_node_total: [4]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7]
ci_node_index: [0, 1, 2, 3]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -55,17 +55,18 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates containing image urls
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
env:
@@ -80,10 +81,19 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb}"
run: |
git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
bundle exec rake knapsack_pro:rspec
bin/rails assets:precompile knapsack_pro:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-controllers-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
models:
runs-on: ubuntu-22.04
@@ -106,16 +116,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
ci_node_total: [2]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
ci_node_index: [0, 1]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -123,20 +133,11 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 09476e2ce491c12083df62768667c674
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
@@ -149,10 +150,18 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/models/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/models/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
bin/rake knapsack_pro:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-models-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
system_admin:
runs-on: ubuntu-22.04
@@ -175,16 +184,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [13]
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, 10, 11, 12]
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:
with:
redis-version: 6
- name: Set up Ruby
@@ -195,14 +204,14 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
@@ -218,16 +227,25 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
bin/rails assets:precompile knapsack_pro:queue:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-system-admin-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failed-tests-screenshots
name: failed-admin_${{ matrix.ci_node_index }}-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
@@ -253,16 +271,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [12]
ci_node_total: [6]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
ci_node_index: [0, 1, 2, 3, 4, 5]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -273,14 +291,14 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
@@ -296,16 +314,25 @@ jobs:
# RSpec split test files by test examples feature - it's optional
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:queue:rspec
bin/rails assets:precompile knapsack_pro:queue:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-system-consumer-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failed-tests-screenshots
name: failed-consumer_${{ matrix.ci_node_index }}-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
if-no-files-found: ignore
@@ -340,7 +367,7 @@ jobs:
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -348,17 +375,18 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
@@ -377,16 +405,16 @@ jobs:
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/serializers/**/*_spec.rb,engines/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
bin/rails assets:precompile knapsack_pro:rspec
- name: Archive failed tests screenshots
if: failure()
uses: actions/upload-artifact@v3
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: failed-tests-screenshots
path: tmp/capybara/screenshots/*.png
retention-days: 7
name: simplecov-chunk-engines-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
test_the_rest:
runs-on: ubuntu-22.04
@@ -409,16 +437,16 @@ jobs:
# [n] - where the n is a number of parallel jobs you want to run your tests on.
# Use a higher number if you have slow tests to split them between more parallel jobs.
# Remember to update the value of the `ci_node_index` below to (0..n-1).
ci_node_total: [5]
ci_node_total: [3]
# Indexes for parallel jobs (starting from zero).
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
ci_node_index: [0, 1, 2, 3, 4]
ci_node_index: [0, 1, 2]
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
with:
redis-version: 6
- name: Set up Ruby
@@ -426,20 +454,20 @@ jobs:
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
bin/rails db:create db:schema:load
- name: Run tests
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e3b8800198d2d89b70c7edbdd85f8fd8
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
@@ -453,10 +481,17 @@ jobs:
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
KNAPSACK_PRO_TEST_FILE_EXCLUDE_PATTERN: "{engines/**/*_spec.rb,spec/models/**/*_spec.rb,spec/controllers/**/*_spec.rb,spec/serializers/**/*_spec.rb,spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/system/**/*_spec.rb}"
run: |
bundle exec rake knapsack_pro:rspec
bin/rails assets:precompile knapsack_pro:rspec
- name: Save SimpleCov file
uses: actions/upload-artifact@v4
with:
name: simplecov-chunk-the-rest-${{ matrix.ci_node_index }}
path: coverage/*.*
retention-days: 2 # doesn't need to be long, because it's the combined results that matter
if-no-files-found: ignore
include-hidden-files: true
non_knapsack_jest_karma:
runs-on: ubuntu-22.04
@@ -476,11 +511,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Setup redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
# Rails is required for the Karma rake script
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
@@ -489,16 +520,48 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: yarn
- name: Install JS dependencies
run: yarn install --frozen-lockfile
- name: Set up database
run: |
bundle exec rake db:create
bundle exec rake db:schema:load
- name: Run JS tests
run: bundle exec rake karma:run
run: bin/rake karma:run
- name: Run jest tests
run: yarn jest
collate_simplecov_results:
runs-on: ubuntu-22.04
needs:
- controllers
- models
- engines
- system_admin
- system_consumer
- test_the_rest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Download individual results from individual runners
uses: actions/download-artifact@v4
with:
pattern: simplecov-chunk-*
path: tmp/simplecov
- name: collate results from each of the workers
run: bundle exec rake 'simplecov:collate_results[tmp/simplecov]'
- name: Upload collated results
uses: actions/upload-artifact@v4
with:
name: combined-simplecov-report
path: coverage/**/*.*
retention-days: 7
if-no-files-found: ignore
include-hidden-files: true

View File

@@ -7,10 +7,11 @@ jobs:
name: runner / rubocop
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- run: git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
@@ -18,10 +19,12 @@ jobs:
uses: reviewdog/action-rubocop@v2
with:
rubocop_version: gemfile
rubocop_extensions: rubocop-rails:gemfile
rubocop_extensions: rubocop-rails:gemfile rubocop-rspec:gemfile
reporter: github-pr-check
level: error
fail_on_error: true
filter_mode: nofilter
use_bundler: true
fail_level: any
prettier:
name: runner / prettier
runs-on: ubuntu-latest

View File

@@ -14,12 +14,12 @@ jobs:
steps:
- uses: actions/checkout@v3
- run: docker/build
- run: docker-compose up --detach
- run: docker compose up --detach
- run: until curl -f -s http://localhost:3000; do echo "waiting for api server"; sleep 1; done
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="update spree_users set spree_api_key='testing' where login='ofn@example.com'"
- run: docker compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="update spree_users set spree_api_key='testing' where login='ofn@example.com'"
# equivalent to Flipper.enable(:api_v1)
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_features (key, created_at, updated_at) values ('api_v1', localtimestamp, localtimestamp)"
- run: docker-compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_gates (feature_key, key, value, created_at, updated_at) values ('api_v1', 'boolean', 'true', localtimestamp, localtimestamp)"
- run: docker compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_features (key, created_at, updated_at) values ('api_v1', localtimestamp, localtimestamp)"
- run: docker compose exec -T db psql postgresql://ofn:f00d@localhost:5432/open_food_network_dev --command="insert into flipper_gates (feature_key, key, value, created_at, updated_at) values ('api_v1', 'boolean', 'true', localtimestamp, localtimestamp)"
# Run Mayhem for API
- name: Run Mayhem for API

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn pretty-quick --check --staged

View File

@@ -5,6 +5,7 @@
*.yaml
*.json
*.html
**/*.rb
# JS
# Enabled: app/webpacker/controllers/*.js and app/webpacker/packs/*.js
@@ -27,6 +28,5 @@ postcss.config.js
/coverage/
/engines/
/public/
/spec/
/tmp/
/vendor/

1
.rspec Normal file
View File

@@ -0,0 +1 @@
--require base_spec_helper

View File

@@ -4,7 +4,13 @@
#
# The configuration is split into three files. Look into those files for more details.
#
require: rubocop-rails
require:
- rubocop-capybara
- rubocop-factory_bot
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails
inherit_from:
# The automatically generated todo list to ignore all current violations.
@@ -13,9 +19,10 @@ inherit_from:
# The relaxed style rules as a common starting point which we can refine.
- .rubocop_relaxed_styleguide.yml
# Our Open Food Network style guide. If you want to see all violations,
# Our Open Food Network style guides. If you want to see all violations,
# then use only that configuration:
#
# bundle exec rubocop -c .rubocop_styleguide.yml
#
- .rubocop_styleguide.yml
- .rubocop_rspec_styleguide.yml

View File

@@ -0,0 +1,24 @@
# OFN styleguide for rubocop-rspec
# Because there are so many, we will disable by default, and enable rules as needed.
Capybara:
Enabled: false
RSpec:
Enabled: false
FactoryBot:
Enabled: false
# Enabled rules
Capybara/NegationMatcher:
Enabled: true
EnforcedStyle: not_to
RSpec/ExpectChange:
Enabled: true
EnforcedStyle: block
RSpec/NotToNot:
Enabled: true

View File

@@ -3,24 +3,60 @@
# These are the rules we agreed upon and we work towards.
AllCops:
NewCops: enable
SuggestExtensions: false
MigratedSchemaVersion: "20250111000000"
Exclude:
- 'bin/**/*'
- 'db/**/*'
- 'config/**/*'
- 'script/**/*'
- 'vendor/**/*'
- 'node_modules/**/*'
- bin/**/*
- config/**/*
- db/bad_migrations/*
- db/migrate/201*
- db/migrate/202[0-4]*
- db/schema.rb
- script/**/*
- vendor/**/*
- node_modules/**/*
# Excluding: inadequate Naming/FileName rule rejects GemFile name with camelcase
- 'engines/web/Gemfile'
- engines/web/Gemfile
## OFN SETTINGS
#
# Cop settings that have been agreed upon by the OFN community
Bundler/DuplicatedGem:
Enabled: false
Layout/LineLength:
Enabled: true
Max: 100
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
# Don't think this is a big issue, mostly picking up RPSEC scope definitions
# with lamdas and RSpec '.to change{}' blocks
Lint/AmbiguousBlockAssociation:
Enabled: false
Lint/MissingSuper:
Exclude:
- app/components/**/*
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
# Heaps of offences (> 100) in specs, mostly in situations where two or more
# instances of a model are required, but only one is referenced. Difficult to
# fix without making the spec look messy or rewriting it.
# Should definitely fix at some point.
Lint/UselessAssignment:
Exclude:
- spec/**/*
Metrics:
Enabled: true
Metrics/AbcSize:
Max: 30 # default 17
Metrics/BlockLength:
AllowedMethods: [
"class_eval",
@@ -46,13 +82,31 @@ Metrics/BlockLength:
"xdescribe",
]
Metrics/MethodLength:
Enabled: true
Max: 25 # default 10
Metrics/ParameterLists:
CountKeywordArgs: false
Metrics/PerceivedComplexity:
Enabled: true
Max: 14 # default 8
Naming/PredicateName:
Enabled: false
Naming/VariableNumber:
AllowedIdentifiers:
- street_address_1
- street_address_2
AllowedPatterns:
- _v[\d]+
Rails/ApplicationRecord:
Exclude:
# Migrations should not contain application code:
- "db/migrate/*.rb"
- db/migrate/*.rb
# Allow many-to-many associations without explicit model.
# - It avoids the additional code of a model class.
@@ -61,19 +115,42 @@ Rails/ApplicationRecord:
Rails/HasAndBelongsToMany:
Enabled: false
# Cf. conversation https://github.com/openfoodfoundation/openfoodnetwork/pull/13251
Rails/LexicallyScopedActionFilter:
Enabled: false
Rails/OutputSafety:
Exclude:
- spec/**/*
Rails/RedundantActiveRecordAllMethod:
AllowedReceivers:
- ActionMailer::Preview
- ActiveSupport::TimeZone
Rails/SkipsModelValidations:
AllowedMethods:
- "touch"
- "touch_all"
- "update_all"
- "update_attribute"
- "update_column"
- "update_columns"
- touch
- touch_all
- update_all
- update_attribute
- update_column
- update_columns
Rails/UnknownEnv:
Environments:
- development
- production
- staging
- test
Rails/WhereExists:
EnforcedStyle: where # Cf. conversion https://github.com/openfoodfoundation/openfoodnetwork/pull/12363
Style/Documentation:
Enabled: false
Style/StringLiterals:
Style/FormatStringToken:
Enabled: false
Style/HashSyntax:
@@ -83,62 +160,5 @@ Style/HashSyntax:
Style/Send:
Enabled: true
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Layout/LineLength:
Enabled: true
Max: 100
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Naming/VariableNumber:
AllowedIdentifiers:
- street_address_1
- street_address_2
AllowedPatterns:
- _v[\d]+
Bundler/DuplicatedGem:
Enabled: false
## TEMPORARY/CONTESTED SETTINGS
#
# These are still to be decided upon, but recommended for inclusion by
# oeoeaio after scrutinising offenses the codebase
# Don't think this is a big issue, mostly picking up RPSEC scope definitions
# with lamdas and RSpec '.to change{}' blocks
Lint/AmbiguousBlockAssociation:
Enabled: false
# Heaps of offences (> 100) in specs, mostly in situations where two or more
# instances of a model are required, but only one is referenced. Difficult to
# fix without making the spec look messy or rewriting it.
# Should definitely fix at some point.
Lint/UselessAssignment:
Exclude:
- spec/**/*
Lint/MissingSuper:
Exclude:
- 'app/components/**/*'
Metrics/AbcSize:
Max: 30 # default 17
Metrics/MethodLength:
Enabled: true
Max: 25 # default 10
Metrics/PerceivedComplexity:
Enabled: true
Max: 14 # default 8
Naming/PredicateName:
Style/StringLiterals:
Enabled: false

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
#!/bin/env ruby
# frozen_string_literal: true
SimpleCov.start 'rails' do
add_filter '/bin/'
@@ -14,4 +15,6 @@ SimpleCov.start 'rails' do
add_filter '/log'
add_filter '/db'
add_filter '/lib/tasks/sample_data/'
formatter SimpleCov::Formatter::SimpleFormatter
end

View File

@@ -1,92 +1,32 @@
FROM ubuntu:20.04
FROM ruby:3.1.4-alpine3.19 AS base
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
TZ=Europe/London \
RAILS_ROOT=/usr/src/app
RUN apk --no-cache upgrade && \
apk add --no-cache tzdata postgresql-client imagemagick imagemagick-jpeg && \
apk add --no-cache --virtual wkhtmltopdf
ENV TZ Europe/London
WORKDIR $RAILS_ROOT
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Development dependencies
FROM base AS development-base
RUN apk add --no-cache --virtual .build-deps \
build-base postgresql-dev git nodejs yarn && \
apk add --no-cache --virtual .dev-utils \
bash curl less vim chromium-chromedriver zlib-dev openssl-dev \
readline-dev yaml-dev sqlite-dev libxml2-dev libxslt-dev libffi-dev vips-dev && \
curl -o /usr/local/bin/wait-for-it https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh && \
chmod +x /usr/local/bin/wait-for-it
RUN echo "deb http://security.ubuntu.com/ubuntu bionic-security main" >> /etc/apt/sources.list
# Install yarn dependencies separately for caching
FROM development-base AS yarn-dependencies
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
# Install all the requirements
RUN apt-get update && apt-get install -y \
curl \
git \
build-essential \
software-properties-common \
wget \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
wait-for-it \
imagemagick \
unzip \
libjemalloc-dev \
libssl-dev \
ca-certificates \
gnupg
# Setup ENV variables
ENV PATH /usr/local/src/rbenv/shims:/usr/local/src/rbenv/bin:/usr/local/src/nodenv/shims:/usr/local/src/nodenv/bin:$PATH
ENV RBENV_ROOT /usr/local/src/rbenv
ENV NODENV_ROOT /usr/local/src/nodenv
ENV CONFIGURE_OPTS --disable-install-doc
ENV BUNDLE_PATH /bundles
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
WORKDIR /usr/src/app
# trim spaces and line return from .ruby-version file
COPY .ruby-version .ruby-version.raw
RUN cat .ruby-version.raw | tr -d '\r\t ' > .ruby-version
# Install Rbenv & Ruby
RUN git clone --depth 1 https://github.com/rbenv/rbenv.git ${RBENV_ROOT} && \
git clone --depth 1 https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh && \
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install $(cat .ruby-version) && \
rbenv global $(cat .ruby-version)
# Install Postgres
RUN sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main' >> /etc/apt/sources.list.d/pgdg.list" && \
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null && \
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-10 libpq-dev
# trim spaces and line return from .node-version file
COPY .node-version .node-version.raw
RUN cat .node-version.raw | tr -d '\r\t ' > .node-version
# Install Node and Yarn with Nodenv
RUN git clone --depth 1 https://github.com/nodenv/nodenv.git ${NODENV_ROOT} && \
git clone --depth 1 https://github.com/nodenv/node-build.git ${NODENV_ROOT}/plugins/node-build && \
git clone --depth 1 https://github.com/pine/nodenv-yarn-install.git ${NODENV_ROOT}/plugins/nodenv-yarn-install && \
git clone --depth 1 https://github.com/nodenv/nodenv-package-rehash.git ${NODENV_ROOT}/plugins/nodenv-package-rehash && \
echo 'eval "$(nodenv init -)"' >> /etc/profile.d/nodenv.sh && \
nodenv install $(cat .node-version) && \
nodenv global $(cat .node-version)
# Install Chrome
RUN wget --quiet -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
sh -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list" && \
apt-get update && \
apt-get install -fy google-chrome-stable
# Install Chromedriver
RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip && \
unzip chromedriver_linux64.zip -d /usr/bin && \
chmod u+x /usr/bin/chromedriver
# Copy code and install app dependencies
COPY . /usr/src/app/
# Install Bundler
RUN ./script/install-bundler
# Install front-end dependencies
RUN yarn install
# Run bundler install in parallel with the amount of available CPUs
RUN bundle install --jobs="$(nproc)"
# Install Ruby gems
FROM development-base
COPY . $RAILS_ROOT
COPY Gemfile Gemfile.lock ./
RUN bundle install --jobs "$(nproc)"
COPY --from=yarn-dependencies $RAILS_ROOT/node_modules ./node_modules

92
Dockerfile.ubuntu Normal file
View File

@@ -0,0 +1,92 @@
FROM ubuntu:20.04
ENV TZ Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN echo "deb http://security.ubuntu.com/ubuntu bionic-security main" >> /etc/apt/sources.list
# Install all the requirements
RUN apt-get update && apt-get install -y \
curl \
git \
build-essential \
software-properties-common \
wget \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
wait-for-it \
imagemagick \
unzip \
libjemalloc-dev \
libssl-dev \
ca-certificates \
gnupg
# Setup ENV variables
ENV PATH /usr/local/src/rbenv/shims:/usr/local/src/rbenv/bin:/usr/local/src/nodenv/shims:/usr/local/src/nodenv/bin:$PATH
ENV RBENV_ROOT /usr/local/src/rbenv
ENV NODENV_ROOT /usr/local/src/nodenv
ENV CONFIGURE_OPTS --disable-install-doc
ENV BUNDLE_PATH /bundles
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
WORKDIR /usr/src/app
# trim spaces and line return from .ruby-version file
COPY .ruby-version .ruby-version.raw
RUN cat .ruby-version.raw | tr -d '\r\t ' > .ruby-version
# Install Rbenv & Ruby
RUN git clone --depth 1 https://github.com/rbenv/rbenv.git ${RBENV_ROOT} && \
git clone --depth 1 https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh && \
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install $(cat .ruby-version) && \
rbenv global $(cat .ruby-version)
# Install Postgres
RUN sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main' >> /etc/apt/sources.list.d/pgdg.list" && \
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null && \
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-10 libpq-dev
# trim spaces and line return from .node-version file
COPY .node-version .node-version.raw
RUN cat .node-version.raw | tr -d '\r\t ' > .node-version
# Install Node and Yarn with Nodenv
RUN git clone --depth 1 https://github.com/nodenv/nodenv.git ${NODENV_ROOT} && \
git clone --depth 1 https://github.com/nodenv/node-build.git ${NODENV_ROOT}/plugins/node-build && \
git clone --depth 1 https://github.com/pine/nodenv-yarn-install.git ${NODENV_ROOT}/plugins/nodenv-yarn-install && \
git clone --depth 1 https://github.com/nodenv/nodenv-package-rehash.git ${NODENV_ROOT}/plugins/nodenv-package-rehash && \
echo 'eval "$(nodenv init -)"' >> /etc/profile.d/nodenv.sh && \
nodenv install $(cat .node-version) && \
nodenv global $(cat .node-version)
# Install Chrome
RUN wget --quiet -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
sh -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list" && \
apt-get update && \
apt-get install -fy google-chrome-stable
# Install Chromedriver
RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip && \
unzip chromedriver_linux64.zip -d /usr/bin && \
chmod u+x /usr/bin/chromedriver
# Copy code and install app dependencies
COPY . /usr/src/app/
# Install Bundler
RUN ./script/install-bundler
# Install front-end dependencies
RUN yarn install
# Run bundler install in parallel with the amount of available CPUs
RUN bundle install --jobs="$(nproc)"

View File

@@ -6,28 +6,9 @@ This is a general guide to setting up an Open Food Network **development environ
Head to our wiki on [Learning Rails](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Learning-Rails) to find some good starting points.
### Requirements
The fastest way to make it work locally is to use Docker, you only need to setup git, see the [Docker setup guide](docker/README.md).
Otherwise, for a local setup you will need:
* Ruby and bundler (check current Ruby version in [.ruby-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.ruby-version) file)
- To manage versions, it's recommended to use [rbenv](https://github.com/rbenv/rbenv) or [RVM](https://rvm.io/)
* Node and yarn (check current Node version in [.node-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.node-version) file)
- [nodevn](https://github.com/nodenv/nodenv) is recommended.
* PostgreSQL database
* Redis (for background jobs)
* Chrome (for testing)
The following guides will provide OS-specific step-by-step instructions to get these requirements installed:
- [Ubuntu Setup Guide][ubuntu]
- [Debian Setup Guide][debian]
- [OSX Setup Guide][osx]
For those new to Rails, the following tutorial will help get you up to speed with configuring a [Rails environment](http://guides.rubyonrails.org/getting_started.html).
### Get it
So you have set up your local environment according to the requirements listed above. If you're planning on contributing code to the project (which we [LOVE](CONTRIBUTING.md)), it is a good idea to begin by forking this repo using the `Fork` button in the top-right corner of this screen. You should then be able to use `git clone` to copy your fork onto your local machine:
If you're planning on contributing code to the project (which we [LOVE](CONTRIBUTING.md)), it is a good idea to begin by forking this repo using the `Fork` button in the top-right corner of this screen. You should then be able to use `git clone` to copy your fork onto your local machine:
git clone git@github.com:YOUR_GITHUB_USERNAME_HERE/openfoodnetwork.git
@@ -43,6 +24,27 @@ Fetch the latest version of `master` from `upstream` (ie. the main repo):
git fetch upstream master
### Installation
This project needs specific ruby/bundler versions as well as node/yarn specific versions. For a local setup you will need:
* Install or change your Ruby version according to the one specified at [.ruby-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.ruby-version) file.
- To manage versions, it's recommended to use [rbenv](https://github.com/rbenv/rbenv) or [RVM](https://rvm.io/).
* Install [nodenv](https://github.com/nodenv/nodenv) to ensure the correct [.node-version](https://github.com/openfoodfoundation/openfoodnetwork/blob/master/.node-version) is used.
- [nodenv](https://github.com/nodenv/nodenv) is recommended as a node version manager.
* PostgreSQL database
* Redis (for background jobs)
* Chrome (for testing)
The following guides will provide OS-specific step-by-step instructions to get these requirements installed:
- [Ubuntu Setup Guide][ubuntu]
- [Debian Setup Guide][debian]
- [OSX Setup Guide][osx]
For those new to Rails, the following tutorial will help get you up to speed with configuring a [Rails environment](http://guides.rubyonrails.org/getting_started.html).
Another way to make it work locally would be using Docker. See the [Docker setup guide](docker/README.md).
### Get it running
First, you need to create the database user the app will use by manually typing the following in your terminal:
@@ -53,7 +55,8 @@ sudo --login --user=postgres psql -c "CREATE USER ofn WITH SUPERUSER CREATEDB PA
This will create the "ofn" user as superuser and allowing it to create databases. If this command fails, check the [troubleshooting section](#creating-the-database) for an alternative.
Next, it is _strongly recommended_ to run the setup script.
Next, it is _strongly recommended_ to run the setup script:
```sh
./script/setup
```

34
Gemfile
View File

@@ -5,7 +5,7 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" }
ruby File.read('.ruby-version').chomp
gem 'dotenv-rails', require: 'dotenv/rails-now' # Load ENV vars before other gems
gem 'dotenv', require: 'dotenv/load' # Load ENV vars before other gems
gem 'rails'
@@ -16,10 +16,8 @@ gem "image_processing"
gem 'activemerchant', '>= 1.78.0'
gem 'angular-rails-templates', '>= 0.3.0'
gem 'awesome_nested_set'
gem 'ransack', '~> 2.6.0'
gem 'ransack', '~> 4.1.0'
gem 'responders'
gem 'rexml'
gem 'webpacker', '~> 5'
gem 'i18n'
@@ -67,14 +65,14 @@ gem 'oauth2', '~> 1.4.7' # Used for Stripe Connect
gem 'datafoodconsortium-connector'
gem 'jsonapi-serializer'
gem 'pagy', '~> 5.1'
gem 'pagy', '~> 9'
gem 'rswag-api'
gem 'rswag-ui'
gem 'omniauth_openid_connect'
gem 'omniauth-rails_csrf_protection'
gem 'openid_connect', '~> 1.3'
gem 'openid_connect'
gem 'angularjs-rails', '1.8.0'
gem 'bugsnag'
@@ -88,24 +86,26 @@ gem "active_model_serializers", "0.8.4"
gem 'activerecord-session_store'
gem 'acts-as-taggable-on'
gem 'angularjs-file-upload-rails', '~> 2.4.1'
gem 'bigdecimal', '3.0.2'
gem 'bigdecimal'
gem 'bootsnap', require: false
gem 'geocoder'
gem 'gmaps4rails'
gem 'mimemagic', '> 0.3.5'
gem 'paper_trail', '~> 12.1'
gem 'paper_trail'
gem 'rack-rewrite'
gem 'rack-timeout'
gem 'roadie-rails'
gem 'hiredis'
gem 'puma'
gem 'redis', '>= 4.0', require: ['redis', 'redis/connection/hiredis']
gem 'redis'
gem 'sidekiq'
gem 'sidekiq-scheduler'
gem "cable_ready", "5.0.1"
gem "stimulus_reflex", "3.5.0.rc3"
gem "cable_ready"
gem "stimulus_reflex"
gem "turbo_power"
gem "turbo-rails"
gem 'combine_pdf'
gem 'wicked_pdf'
@@ -143,6 +143,8 @@ gem "private_address_check"
gem 'newrelic_rpm'
gem 'invisible_captcha'
group :production, :staging do
gem 'sd_notify' # For better Systemd process management. Used by Puma.
end
@@ -160,9 +162,10 @@ group :test, :development do
gem 'letter_opener', '>= 1.4.1'
gem 'rspec-rails', ">= 3.5.2"
gem 'rspec-retry', require: false
gem 'rswag-specs'
gem 'rspec-sql'
gem 'rswag'
gem 'shoulda-matchers'
gem 'stimulus_reflex_testing'
gem 'stimulus_reflex_testing', github: "podia/stimulus_reflex_testing", branch: :main
gem 'timecop'
end
@@ -179,14 +182,17 @@ end
group :development do
gem 'debugger-linecache'
gem 'foreman'
gem 'i18n-tasks'
gem 'listen'
gem 'pry', '~> 0.13.0'
gem 'query_count'
gem 'rails-erd'
gem 'rubocop'
gem 'rubocop-rails'
gem 'rubocop-rspec'
gem 'spring'
gem 'spring-commands-rspec'
gem 'spring-commands-rubocop'
gem 'web-console'
gem 'rack-mini-profiler', '< 3.0.0'

View File

@@ -17,6 +17,14 @@ GIT
sass-rails
thor (>= 0.14)
GIT
remote: https://github.com/podia/stimulus_reflex_testing.git
revision: abac2ee34de347c589795b4d1a8e83e0baafb201
branch: main
specs:
stimulus_reflex_testing (0.3.1)
stimulus_reflex (>= 3.3.0)
PATH
remote: engines/catalog
specs:
@@ -90,7 +98,7 @@ GEM
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
active_storage_validations (1.1.1)
active_storage_validations (1.1.4)
activejob (>= 5.2.0)
activemodel (>= 5.2.0)
activestorage (>= 5.2.0)
@@ -98,17 +106,18 @@ GEM
activejob (7.0.8)
activesupport (= 7.0.8)
globalid (>= 0.3.6)
activemerchant (1.123.0)
activemerchant (1.133.0)
activesupport (>= 4.2)
builder (>= 2.1.2, < 4.0.0)
i18n (>= 0.6.9)
nokogiri (~> 1.4)
rexml (~> 3.2.5)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activerecord-import (1.5.0)
activerecord-import (1.6.0)
activerecord (>= 4.2)
activerecord-postgresql-adapter (0.0.1)
pg
@@ -135,7 +144,7 @@ GEM
activerecord (>= 6.1, < 7.2)
acts_as_list (1.0.4)
activerecord (>= 4.2)
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0)
afm (0.2.2)
@@ -144,57 +153,57 @@ GEM
sprockets (>= 3.0, < 5)
sprockets-rails
tilt
angular_rails_csrf (5.0.0)
angular_rails_csrf (6.0.0)
railties (>= 3, < 8)
angularjs-file-upload-rails (2.4.1)
angularjs-rails (1.8.0)
arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8)
ast (2.4.2)
attr_required (1.0.1)
awesome_nested_set (3.6.0)
activerecord (>= 4.0.0, < 7.2)
aws-eventstream (1.2.0)
aws-partitions (1.828.0)
aws-sdk-core (3.183.1)
aws-eventstream (~> 1, >= 1.0.2)
attr_required (1.0.2)
aws-eventstream (1.3.0)
aws-partitions (1.929.0)
aws-sdk-core (3.196.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sdk-kms (1.81.0)
aws-sdk-core (~> 3, >= 3.193.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.136.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-s3 (1.151.0)
aws-sdk-core (~> 3, >= 3.194.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.1.1)
bcrypt (3.1.19)
bigdecimal (3.0.2)
bindata (2.4.15)
base64 (0.2.0)
bcp47_spec (0.2.1)
bcrypt (3.1.20)
bigdecimal (3.1.8)
bindata (2.5.0)
bindex (0.8.1)
bootsnap (1.17.0)
bootsnap (1.18.3)
msgpack (~> 1.2)
bugsnag (6.26.0)
bugsnag (6.26.4)
concurrent-ruby (~> 1.0)
builder (3.2.4)
bullet (7.1.2)
bullet (7.1.6)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
cable_ready (5.0.1)
cable_ready (5.0.6)
actionpack (>= 5.2)
actionview (>= 5.2)
activesupport (>= 5.2)
observer (~> 0.1)
railties (>= 5.2)
thread-local (>= 1.1.0)
cancancan (1.15.0)
capybara (3.39.2)
capybara (3.40.0)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
nokogiri (~> 1.11)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
@@ -205,6 +214,7 @@ GEM
nokogiri (~> 1.10, >= 1.10.4)
rubyzip (>= 1.3.0, < 3)
cgi (0.3.6)
childprocess (5.0.0)
choice (0.2.0)
chronic (0.10.2)
coderay (1.1.3)
@@ -215,33 +225,35 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.12.2)
combine_pdf (1.0.24)
combine_pdf (1.0.26)
matrix
ruby-rc4 (>= 0.1.5)
concurrent-ruby (1.2.2)
concurrent-ruby (1.3.1)
connection_pool (2.4.1)
crack (0.4.5)
crack (1.0.0)
bigdecimal
rexml
crass (1.0.6)
css_parser (1.16.0)
css_parser (1.17.1)
addressable
cuprite (0.14.3)
csv (3.3.0)
cuprite (0.15)
capybara (~> 3.0)
ferrum (~> 0.13.0)
ferrum (~> 0.14.0)
database_cleaner (2.0.2)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.1.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
datafoodconsortium-connector (1.0.0.pre.alpha.8)
datafoodconsortium-connector (1.1.0)
virtual_assembly-semantizer (~> 1.0, >= 1.0.5)
date (3.3.3)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
date (3.3.4)
debug (1.9.2)
irb (~> 1.10)
reline (>= 0.3.8)
debugger-linecache (1.2.0)
devise (4.9.3)
devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
@@ -249,17 +261,16 @@ GEM
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-i18n (1.12.0)
devise-i18n (1.12.1)
devise (>= 4.9.0)
devise-token_authenticatable (1.1.0)
devise (>= 4.0.0, < 5.0.0)
diff-lcs (1.5.0)
diff-lcs (1.5.1)
digest (3.1.1)
docile (1.4.0)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
dotenv (3.1.2)
email_validator (2.2.4)
activemodel
erubi (1.12.0)
et-orbi (1.2.7)
tzinfo
@@ -270,30 +281,30 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2)
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.0.2)
ferrum (0.13)
faraday-net_http (3.1.0)
net-http
ferrum (0.14)
addressable (~> 2.5)
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (>= 0.6, < 0.8)
ffaker (2.23.0)
ffi (1.15.5)
flipper (0.26.2)
ffi (1.16.3)
flipper (1.3.0)
concurrent-ruby (< 2)
flipper-active_record (0.26.2)
flipper-active_record (1.3.0)
activerecord (>= 4.2, < 8)
flipper (~> 0.26.2)
flipper-ui (0.26.2)
flipper (~> 1.3.0)
flipper-ui (1.3.0)
erubi (>= 1.0.0, < 2.0.0)
flipper (~> 0.26.2)
rack (>= 1.4, < 3)
rack-protection (>= 1.5.3, <= 4.0.0)
flipper (~> 1.3.0)
rack (>= 1.4, < 4)
rack-protection (>= 1.5.3, < 5.0.0)
rack-session (>= 1.0.2, < 3.0.0)
sanitize (< 7)
fog-aws (2.0.1)
fog-core (~> 1.38)
@@ -310,7 +321,7 @@ GEM
fog-xml (0.1.3)
fog-core
nokogiri (>= 1.5.11, < 2.0.0)
foreman (0.87.2)
foreman (0.88.1)
formatador (0.2.5)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
@@ -318,36 +329,50 @@ GEM
fuubar (2.5.1)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
geocoder (1.8.2)
geocoder (1.8.3)
base64 (>= 0.1.0)
csv (>= 3.0.0)
globalid (1.2.1)
activesupport (>= 6.1)
gmaps4rails (2.1.2)
good_migrations (0.2.1)
activerecord (>= 3.1)
railties (>= 3.1)
haml (5.2.2)
temple (>= 0.8.0)
haml (6.3.0)
temple (>= 0.8.2)
thor
tilt
hashdiff (1.0.1)
hashdiff (1.1.0)
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.14.1)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
i18n-js (3.9.2)
i18n (>= 0.6.6)
i18n-tasks (1.0.14)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
highline (>= 2.0.0)
i18n
parser (>= 3.2.2.1)
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
image_processing (1.12.2)
mini_magick (>= 4.9.5, < 5)
ruby-vips (>= 2.0.17, < 3)
immigrant (0.3.6)
activerecord (>= 3.0)
io-console (0.6.0)
invisible_captcha (2.3.0)
rails (>= 5.2)
io-console (0.7.2)
ipaddress (0.8.3)
irb (1.6.4)
reline (>= 0.3.0)
irb (1.12.0)
rdoc
reline (>= 0.4.2)
jmespath (1.6.2)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
@@ -355,41 +380,45 @@ GEM
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.2.1)
railties (>= 3.2.16)
json (2.6.3)
json-canonicalization (0.3.2)
json-jwt (1.16.3)
json (2.7.2)
json-canonicalization (1.0.0)
json-jwt (1.16.6)
activesupport (>= 4.2)
aes_key_wrap
base64
bindata
faraday (~> 2.0)
faraday-follow_redirects
json-ld (3.2.5)
json-ld (3.3.2)
htmlentities (~> 4.3)
json-canonicalization (~> 0.3, >= 0.3.2)
json-canonicalization (~> 1.0)
link_header (~> 0.0, >= 0.0.8)
multi_json (~> 1.15)
rack (>= 2.2, < 4)
rdf (~> 3.2, >= 3.2.10)
json-schema (3.0.0)
rdf (~> 3.3)
rexml (~> 3.2)
json-schema (4.1.1)
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.7.1)
knapsack_pro (5.7.0)
jwt (2.8.1)
base64
knapsack_pro (8.1.2)
rake
language_server-protocol (3.17.0.3)
launchy (2.5.0)
addressable (~> 2.7)
letter_opener (1.8.1)
launchy (>= 2.2, < 3)
launchy (3.0.0)
addressable (~> 2.8)
childprocess (~> 5.0)
letter_opener (1.10.0)
launchy (>= 2.2, < 4)
link_header (0.0.8)
listen (3.8.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.21.4)
loofah (2.22.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
@@ -397,78 +426,83 @@ GEM
net-imap
net-pop
net-smtp
marcel (1.0.2)
marcel (1.0.4)
matrix (0.4.2)
method_source (1.0.0)
mime-types (3.5.1)
method_source (1.1.0)
mime-types (3.5.2)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
mime-types-data (3.2023.1205)
mimemagic (0.4.3)
nokogiri (~> 1)
rake
mini_magick (4.11.0)
mini_mime (1.1.5)
mini_portile2 (2.8.5)
minitest (5.20.0)
monetize (1.12.0)
mini_portile2 (2.8.6)
minitest (5.23.1)
monetize (1.13.0)
money (~> 6.12)
money (6.16.0)
i18n (>= 0.6.4, <= 2)
msgpack (1.7.2)
multi_json (1.15.0)
multi_xml (0.6.0)
net-imap (0.4.2)
net-http (0.4.1)
uri
net-imap (0.4.10)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
net-protocol (0.2.2)
timeout
net-smtp (0.4.0)
net-smtp (0.5.0)
net-protocol
newrelic_rpm (9.6.0)
base64
nio4r (2.5.9)
nokogiri (1.15.4)
newrelic_rpm (9.9.0)
nio4r (2.7.1)
nokogiri (1.16.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri-html5-inference (0.3.0)
nokogiri (~> 1.14)
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, < 4)
omniauth (2.1.1)
observer (0.1.2)
omniauth (2.1.2)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-rails_csrf_protection (1.0.1)
omniauth-rails_csrf_protection (1.0.2)
actionpack (>= 4.2)
omniauth (~> 2.0)
omniauth_openid_connect (0.6.1)
omniauth_openid_connect (0.7.1)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.1)
openid_connect (1.4.2)
openid_connect (~> 2.2)
openid_connect (2.3.0)
activemodel
attr_required (>= 1.0.0)
json-jwt (>= 1.15.0)
net-smtp
rack-oauth2 (~> 1.21)
swd (~> 1.3)
email_validator
faraday (~> 2.0)
faraday-follow_redirects
json-jwt (>= 1.16)
mail
rack-oauth2 (~> 2.2)
swd (~> 2.0)
tzinfo
validate_email
validate_url
webfinger (~> 1.2)
webfinger (~> 2.0)
orm_adapter (0.5.0)
pagy (5.10.1)
activesupport
paper_trail (12.3.0)
activerecord (>= 5.2)
request_store (~> 1.1)
parallel (1.23.0)
pagy (9.3.4)
paper_trail (15.1.0)
activerecord (>= 6.1)
request_store (~> 1.4)
parallel (1.24.0)
paranoia (2.6.3)
activerecord (>= 5.1, < 7.2)
parser (3.2.2.4)
parser (3.3.2.0)
ast (~> 2.4.1)
racc
paypal-sdk-core (0.3.4)
@@ -476,7 +510,7 @@ GEM
xml-simple
paypal-sdk-merchant (1.117.2)
paypal-sdk-core (~> 0.3.0)
pdf-reader (2.11.0)
pdf-reader (2.12.0)
Ascii85 (~> 1.0)
afm (~> 0.2.1)
hashery (~> 2.0)
@@ -487,31 +521,37 @@ GEM
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.3)
puma (6.4.0)
psych (5.1.2)
stringio
public_suffix (5.0.5)
puma (6.5.0)
nio4r (~> 2.0)
query_count (1.1.1)
activerecord (>= 4.2)
railties (>= 4.2)
raabro (1.4.0)
racc (1.7.1)
rack (2.2.8)
racc (1.8.0)
rack (2.2.11)
rack-mini-profiler (2.3.4)
rack (>= 1.2.0)
rack-oauth2 (1.21.3)
rack-oauth2 (2.2.1)
activesupport
attr_required
httpclient
faraday (~> 2.0)
faraday-follow_redirects
json-jwt (>= 1.11.0)
rack (>= 2.1.0)
rack-protection (3.0.5)
rack
rack-protection (3.2.0)
base64 (>= 0.1.0)
rack (~> 2.2, >= 2.2.4)
rack-proxy (0.7.6)
rack
rack-rewrite (1.5.1)
rack-session (1.0.2)
rack (< 3)
rack-test (2.1.0)
rack (>= 1.3)
rack-timeout (0.6.3)
rack-timeout (0.7.0)
rails (7.0.8)
actioncable (= 7.0.8)
actionmailbox (= 7.0.8)
@@ -542,7 +582,7 @@ GEM
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (7.0.8)
rails-i18n (7.0.9)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
rails_safe_tasks (1.0.0)
@@ -554,102 +594,127 @@ GEM
thor (~> 1.0)
zeitwerk (~> 2.5)
rainbow (3.1.1)
rake (13.1.0)
ransack (2.6.0)
activerecord (>= 6.0.4)
activesupport (>= 6.0.4)
rake (13.2.1)
ransack (4.1.1)
activerecord (>= 6.1.5)
activesupport (>= 6.1.5)
i18n
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rdf (3.2.11)
rdf (3.3.2)
bcp47_spec (~> 0.2)
bigdecimal (~> 3.1, >= 3.1.5)
link_header (~> 0.0, >= 0.0.8)
rdoc (6.6.3.1)
psych (>= 4.0.0)
redcarpet (3.6.0)
redis (4.8.1)
redis-client (0.18.0)
redis (5.2.0)
redis-client (>= 0.22.0)
redis-client (0.22.1)
connection_pool
regexp_parser (2.8.2)
reline (0.3.3)
regexp_parser (2.9.2)
reline (0.5.0)
io-console (~> 0.5)
request_store (1.5.1)
rack (>= 1.4)
responders (3.1.1)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.6)
roadie (5.2.0)
rexml (3.2.9)
strscan
roadie (5.2.1)
css_parser (~> 1.4)
nokogiri (~> 1.15)
roadie-rails (3.1.0)
roadie-rails (3.2.0)
railties (>= 5.1, < 8.0)
roadie (~> 5.0)
rodf (1.2.0)
builder (>= 3.0)
rubyzip (>= 1.0)
roo (2.10.0)
roo (2.10.1)
nokogiri (~> 1)
rubyzip (>= 1.3.0, < 3.0.0)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.3)
rspec-support (~> 3.13.0)
rspec-rails (6.1.2)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.12)
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-core (~> 3.13)
rspec-expectations (~> 3.13)
rspec-mocks (~> 3.13)
rspec-support (~> 3.13)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.12.1)
rswag-api (2.11.0)
railties (>= 3.1, < 7.2)
rswag-specs (2.11.0)
rspec-sql (0.0.3)
activesupport
rspec
rspec-support (3.13.1)
rswag (2.13.0)
rswag-api (= 2.13.0)
rswag-specs (= 2.13.0)
rswag-ui (= 2.13.0)
rswag-api (2.13.0)
activesupport (>= 3.1, < 7.2)
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.2)
rswag-specs (2.13.0)
activesupport (>= 3.1, < 7.2)
json-schema (>= 2.2, < 5.0)
railties (>= 3.1, < 7.2)
rspec-core (>= 2.14)
rswag-ui (2.11.0)
rswag-ui (2.13.0)
actionpack (>= 3.1, < 7.2)
railties (>= 3.1, < 7.2)
rubocop (1.57.2)
rubocop (1.64.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.4)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-rails (2.22.1)
rubocop-ast (1.31.3)
parser (>= 3.3.1.0)
rubocop-capybara (2.20.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.25.1)
rubocop (~> 1.41)
rubocop-rails (2.28.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop (>= 1.52.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (2.29.2)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
rubocop-rspec_rails (~> 2.28)
rubocop-rspec_rails (2.28.3)
rubocop (~> 1.40)
ruby-graphviz (1.2.5)
rexml
ruby-progressbar (1.13.0)
ruby-rc4 (0.1.5)
ruby-vips (2.1.4)
ffi (~> 1.12)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
rufus-scheduler (3.8.2)
fugit (~> 1.1, >= 1.1.6)
sanitize (6.0.2)
sanitize (6.1.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
sass (3.4.25)
@@ -661,13 +726,13 @@ GEM
tilt (>= 1.1, < 3)
sd_notify (0.1.1)
semantic_range (3.0.0)
shoulda-matchers (5.3.0)
shoulda-matchers (6.2.0)
activesupport (>= 5.2.0)
sidekiq (7.2.0)
sidekiq (7.2.4)
concurrent-ruby (< 2)
connection_pool (>= 2.3.0)
rack (>= 2.2.4)
redis-client (>= 0.14.0)
redis-client (>= 0.19.0)
sidekiq-scheduler (5.0.3)
rufus-scheduler (~> 3.2)
sidekiq (>= 6, < 8)
@@ -681,9 +746,11 @@ GEM
spreadsheet_architect (5.0.0)
caxlsx (>= 3.3.0, < 4)
rodf (>= 1.0.0, < 2)
spring (4.1.1)
spring (4.2.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
spring-commands-rubocop (0.4.0)
spring (>= 1.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
@@ -698,48 +765,56 @@ GEM
state_machines-activerecord (0.9.0)
activerecord (>= 6.0)
state_machines-activemodel (>= 0.9.0)
stimulus_reflex (3.5.0.rc3)
actioncable (>= 5.2, < 8)
actionpack (>= 5.2, < 8)
actionview (>= 5.2, < 8)
activesupport (>= 5.2, < 8)
stimulus_reflex (3.5.3)
actioncable (>= 5.2)
actionpack (>= 5.2)
actionview (>= 5.2)
activesupport (>= 5.2)
cable_ready (~> 5.0)
nokogiri (~> 1.0)
nokogiri-html5-inference (~> 0.3)
rack (>= 2, < 4)
railties (>= 5.2, < 8)
railties (>= 5.2)
redis (>= 4.0, < 6.0)
stimulus_reflex_testing (0.3.0)
stimulus_reflex (>= 3.3.0)
stringex (2.8.6)
stripe (10.0.0)
swd (1.3.0)
stringio (3.1.0)
stripe (11.1.0)
strscan (3.1.2)
swd (2.0.3)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
faraday (~> 2.0)
faraday-follow_redirects
temple (0.8.2)
thor (1.3.0)
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
thor (1.3.1)
thread-local (1.1.0)
tilt (2.3.0)
timecop (0.9.8)
timeout (0.4.0)
timeout (0.4.1)
ttfunk (1.7.0)
turbo-rails (2.0.5)
actionpack (>= 6.0.0)
activejob (>= 6.0.0)
railties (>= 6.0.0)
turbo_power (0.6.2)
turbo-rails (>= 1.3.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
uniform_notifier (1.16.0)
valid_email2 (5.1.1)
uri (0.13.0)
valid_email2 (5.2.3)
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
validates_lengths_from_database (0.8.0)
activerecord (>= 4)
vcr (6.2.0)
view_component (3.7.0)
view_component (3.12.1)
activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
@@ -747,7 +822,7 @@ GEM
rails (>= 5.2, < 8.0)
stimulus_reflex (>= 3.5.0.pre2)
view_component (>= 2.28.0)
virtual_assembly-semantizer (1.0.5)
virtual_assembly-semantizer (1.1.1)
json-ld (~> 3.2, >= 3.2.3)
warden (1.2.9)
rack (>= 2.0.9)
@@ -756,10 +831,11 @@ GEM
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
webfinger (1.2.0)
webfinger (2.1.3)
activesupport
httpclient (>= 2.4)
webmock (3.18.1)
faraday (~> 2.0)
faraday-follow_redirects
webmock (3.23.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@@ -768,19 +844,19 @@ GEM
rack-proxy (>= 0.6.1)
railties (>= 5.2)
semantic_range (>= 2.3.0)
webrick (1.7.0)
webrick (1.8.1)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
whenever (1.0.0)
chronic (>= 0.6.3)
wicked_pdf (2.6.3)
wicked_pdf (2.8.1)
activesupport
wkhtmltopdf-binary (0.12.6.6)
wkhtmltopdf-binary (0.12.6.7)
xml-simple (1.1.8)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.12)
zeitwerk (2.6.15)
PLATFORMS
ruby
@@ -800,13 +876,12 @@ DEPENDENCIES
angularjs-file-upload-rails (~> 2.4.1)
angularjs-rails (= 1.8.0)
arel-helpers (~> 2.12)
awesome_nested_set
aws-sdk-s3
bigdecimal (= 3.0.2)
bigdecimal
bootsnap
bugsnag
bullet
cable_ready (= 5.0.1)
cable_ready
cancancan (~> 1.15.0)
capybara
catalog!
@@ -824,7 +899,7 @@ DEPENDENCIES
devise-token_authenticatable
dfc_provider!
digest
dotenv-rails
dotenv
factory_bot_rails (= 6.2.0)
faraday
ffaker
@@ -839,11 +914,12 @@ DEPENDENCIES
good_migrations
haml
highline (= 2.0.3)
hiredis
i18n
i18n-js (~> 3.9.0)
i18n-tasks
image_processing
immigrant
invisible_captcha
jquery-rails (= 4.4.0)
jquery-ui-rails (~> 4.2)
json
@@ -861,10 +937,10 @@ DEPENDENCIES
oauth2 (~> 1.4.7)
omniauth-rails_csrf_protection
omniauth_openid_connect
openid_connect (~> 1.3)
openid_connect
order_management!
pagy (~> 5.1)
paper_trail (~> 12.1)
pagy (~> 9)
paper_trail
paranoia (~> 2.4)
paypal-sdk-merchant (= 1.117.2)
pdf-reader
@@ -881,20 +957,21 @@ DEPENDENCIES
rails-erd
rails-i18n
rails_safe_tasks (~> 1.0)
ransack (~> 2.6.0)
ransack (~> 4.1.0)
redcarpet
redis (>= 4.0)
redis
responders
rexml
roadie-rails
roo
rspec-rails (>= 3.5.2)
rspec-retry
rspec-sql
rswag
rswag-api
rswag-specs
rswag-ui
rubocop
rubocop-rails
rubocop-rspec
sd_notify
select2-rails!
shoulda-matchers
@@ -904,12 +981,15 @@ DEPENDENCIES
spreadsheet_architect
spring
spring-commands-rspec
spring-commands-rubocop
state_machines-activerecord
stimulus_reflex (= 3.5.0.rc3)
stimulus_reflex_testing
stimulus_reflex
stimulus_reflex_testing!
stringex (~> 2.8.5)
stripe
timecop
turbo-rails
turbo_power
valid_email2
validates_lengths_from_database
vcr

5
Procfile.docker Normal file
View File

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

View File

@@ -32,7 +32,7 @@ We also have a [Super Admin Guide][super-admin-guide] to help with configuration
## Testing
If you'd like to help out with testing, please introduce yourself on the #testing channel on [Slack][slack-invite] and download the [ZenHub browser extension][zenhub] to view the development pipeline. Also, do have a look in our [Welcome New QAs board][welcome-qa] for some good first issues, both on manual and automated testing (RSpec/Capybara).
If you'd like to help out with testing, please introduce yourself on the #testing channel on [Slack][slack-invite]. Also, do have a look in our [Welcome New QAs board][welcome-qa] for some good first issues, both on manual and automated testing (RSpec/Capybara).
We use [BrowserStack](https://www.browserstack.com/) as a manual testing tool. BrowserStack provides open source projects with unlimited and free of charge accounts. A big thanks to them!
@@ -44,7 +44,7 @@ We use [KnapsackPro](https://knapsackpro.com/) for optimal parallelisation of ou
## Licence
Copyright (c) 2012 - 2022 Open Food Foundation, released under the AGPL licence.
Copyright (c) 2012 - 2024 Open Food Foundation, released under the AGPL licence.
[survey]: https://docs.google.com/a/eaterprises.com.au/forms/d/1zxR5vSiU9CigJ9cEaC8-eJLgYid8CR8er7PPH9Mc-30/edit#
[slack-invite]: https://join.slack.com/t/openfoodnetwork/shared_invite/zt-9sjkjdlu-r02kUMP1zbrTgUhZhYPF~A
@@ -53,4 +53,3 @@ Copyright (c) 2012 - 2022 Open Food Foundation, released under the AGPL licence.
[super-admin-guide]: https://ofn-user-guide.gitbook.io/ofn-super-admin-guide
[welcome-dev]: https://github.com/orgs/openfoodfoundation/projects/5
[welcome-qa]: https://github.com/orgs/openfoodfoundation/projects/6
[zenhub]: https://www.zenhub.com/extension

View File

@@ -10,11 +10,11 @@
//= require jquery.ui.all
//= require jquery.powertip
//= require jquery.cookie
//= require jquery.jstree/jquery.jstree
//= require jquery.vAlign
//= require angular
//= require angular-resource
//= require angular-animate
//= require angular-sanitize
//= require angularjs-file-upload
//= require ../shared/ng-infinite-scroll.min.js
//= require ../shared/ng-tags-input.min.js
@@ -61,19 +61,11 @@
//= require ./variant_overrides/variant_overrides
// text, dates and translations
//= require textAngular-rangy.min.js
// This replaces angular-sanitize. We should include only one.
// https://github.com/textAngular/textAngular#where-to-get-it
//= require textAngular-sanitize.min.js
//= require textAngular.min.js
//= require i18n/translations
//= require darkswarm/i18n.translate.js
// foundation
//= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js
// LocalStorage
//= require ../shared/angular-local-storage.js
// requires the rest of the JS code in this folder
//= require_tree .

View File

@@ -47,8 +47,8 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
removeClearedValues()
params = {
'q[name_cont]': $scope.q.query,
'q[supplier_id_eq]': $scope.q.producerFilter,
'q[primary_taxon_id_eq]': $scope.q.categoryFilter,
'q[variants_supplier_id_eq]': $scope.q.producerFilter,
'q[variants_primary_taxon_id_eq]': $scope.q.categoryFilter,
'q[s]': $scope.sorting,
import_date: $scope.q.importDateFilter,
page: $scope.page,
@@ -126,8 +126,11 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
DisplayProperties.setShowVariants 0, showVariants
$scope.addVariant = (product) ->
# Set new variant category to same as last product variant category to keep compactibility with deleted variant callback to set new variant category
newVariantId = $scope.nextVariantId();
newVariantCategoryId = product.variants[product.variants.length - 1]?.category_id
product.variants.push
id: $scope.nextVariantId()
id: newVariantId
unit_value: null
unit_description: null
on_demand: false
@@ -136,7 +139,9 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
on_hand: null
price: null
tax_category_id: null
category_id: newVariantCategoryId
DisplayProperties.setShowVariants product.id, true
DirtyProducts.addVariantProperty(product.id, newVariantId, 'category_id', newVariantCategoryId)
$scope.nextVariantId = ->
@@ -182,9 +187,8 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
product.variants.length > 0
$scope.hasUnit = (product) ->
product.variant_unit_with_scale?
$scope.hasUnit = (variant) ->
variant.variant_unit_with_scale?
$scope.variantSaved = (variant) ->
variant.hasOwnProperty('id') && variant.id > 0
@@ -216,8 +220,8 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
products: productsToSubmit
filters:
'q[name_cont]': $scope.q.query
'q[supplier_id_eq]': $scope.q.producerFilter
'q[primary_taxon_id_eq]': $scope.q.categoryFilter
'q[variants_supplier_id_eq]': $scope.q.producerFilter
'q[variants_primary_taxon_id_eq]': $scope.q.categoryFilter
'q[s]': $scope.sorting
import_date: $scope.q.importDateFilter
page: $scope.page
@@ -237,32 +241,28 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$window.location = destination
$scope.packProduct = (product) ->
if product.variant_unit_with_scale
match = product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if match
product.variant_unit = match[1]
product.variant_unit_scale = parseFloat(match[2])
else
product.variant_unit = product.variant_unit_with_scale
product.variant_unit_scale = null
else
product.variant_unit = product.variant_unit_scale = null
if product.variants
for id, variant of product.variants
$scope.packVariant product, variant
$scope.packVariant variant
$scope.packVariant = (product, variant) ->
$scope.packVariant = (variant) ->
if variant.variant_unit_with_scale
match = variant.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if match
variant.variant_unit = match[1]
variant.variant_unit_scale = parseFloat(match[2])
else
variant.variant_unit = variant.variant_unit_with_scale
variant.variant_unit_scale = null
if variant.hasOwnProperty("unit_value_with_description")
match = variant.unit_value_with_description.match(/^([\d\.\,]+(?= |$)|)( |)(.*)$/)
if match
product = BulkProducts.find product.id
variant.unit_value = parseFloat(match[1].replace(",", "."))
variant.unit_value = null if isNaN(variant.unit_value)
if variant.unit_value && product.variant_unit_scale
variant.unit_value = parseFloat(window.bigDecimal.multiply(variant.unit_value, product.variant_unit_scale, 2))
if variant.unit_value && variant.variant_unit_scale
variant.unit_value = parseFloat(window.bigDecimal.multiply(variant.unit_value, variant.variant_unit_scale, 2))
variant.unit_description = match[3]
$scope.incrementLimit = ->
@@ -307,34 +307,18 @@ filterSubmitProducts = (productsToFilter) ->
variantHasUpdatableProperty = result.hasUpdatableProperty
filteredVariants.push filteredVariant if variantHasUpdatableProperty
if product.hasOwnProperty("sku")
filteredProduct.sku = product.sku
hasUpdatableProperty = true
if product.hasOwnProperty("name")
filteredProduct.name = product.name
hasUpdatableProperty = true
if product.hasOwnProperty("producer_id")
filteredProduct.supplier_id = product.producer_id
hasUpdatableProperty = true
if product.hasOwnProperty("price")
filteredProduct.price = product.price
hasUpdatableProperty = true
if product.hasOwnProperty("variant_unit_with_scale")
filteredProduct.variant_unit = product.variant_unit
filteredProduct.variant_unit_scale = product.variant_unit_scale
hasUpdatableProperty = true
if product.hasOwnProperty("variant_unit_name")
filteredProduct.variant_unit_name = product.variant_unit_name
hasUpdatableProperty = true
if product.hasOwnProperty("on_hand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_hand = product.on_hand
hasUpdatableProperty = true
if product.hasOwnProperty("on_demand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_demand = product.on_demand
hasUpdatableProperty = true
if product.hasOwnProperty("category_id")
filteredProduct.primary_taxon_id = product.category_id
hasUpdatableProperty = true
if product.hasOwnProperty("inherits_properties")
filteredProduct.inherits_properties = product.inherits_properties
hasUpdatableProperty = true
@@ -375,9 +359,23 @@ filterSubmitVariant = (variant) ->
if variant.hasOwnProperty("tax_category_id")
filteredVariant.tax_category_id = variant.tax_category_id
hasUpdatableProperty = true
if variant.hasOwnProperty("category_id")
filteredVariant.primary_taxon_id = variant.category_id
hasUpdatableProperty = true
if variant.hasOwnProperty("display_as")
filteredVariant.display_as = variant.display_as
hasUpdatableProperty = true
if variant.hasOwnProperty("producer_id")
filteredVariant.supplier_id = variant.producer_id
hasUpdatableProperty = true
if variant.hasOwnProperty("variant_unit_with_scale")
filteredVariant.variant_unit = variant.variant_unit
filteredVariant.variant_unit_scale = variant.variant_unit_scale
hasUpdatableProperty = true
if variant.hasOwnProperty("variant_unit_name")
filteredVariant.variant_unit_name = variant.variant_unit_name
hasUpdatableProperty = true
{filteredVariant: filteredVariant, hasUpdatableProperty: hasUpdatableProperty}

View File

@@ -4,31 +4,30 @@ angular.module("ofn.admin").directive "ofnDisplayAs", (OptionValueNamer) ->
scope.$watchCollection ->
return [
scope.$eval(attrs.ofnDisplayAs).unit_value_with_description
scope.product.variant_unit_name
scope.product.variant_unit_with_scale
scope.variant.variant_unit_name
scope.variant.variant_unit_with_scale
]
, ->
[variant_unit, variant_unit_scale] = productUnitProperties()
[unit_value, unit_description] = variantUnitProperties(variant_unit_scale)
variant_object =
variant_object =
unit_value: unit_value
unit_description: unit_description
product:
variant_unit_scale: variant_unit_scale
variant_unit: variant_unit
variant_unit_name: scope.product.variant_unit_name
variant_unit_scale: variant_unit_scale
variant_unit: variant_unit
variant_unit_name: scope.variant.variant_unit_name
scope.placeholder_text = new OptionValueNamer(variant_object).name()
productUnitProperties = ->
# get relevant product properties
if scope.product.variant_unit_with_scale?
match = scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if scope.variant.variant_unit_with_scale?
match = scope.variant.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
if match
variant_unit = match[1]
variant_unit_scale = parseFloat(match[2])
else
variant_unit = scope.product.variant_unit_with_scale
variant_unit = scope.variant.variant_unit_with_scale
variant_unit_scale = null
else
variant_unit = variant_unit_scale = null
@@ -45,4 +44,4 @@ angular.module("ofn.admin").directive "ofnDisplayAs", (OptionValueNamer) ->
unit_value = null if isNaN(unit_value)
unit_value *= variant_unit_scale if unit_value && variant_unit_scale
unit_description = match[3]
[unit_value, unit_description]
[unit_value, unit_description]

View File

@@ -1,8 +0,0 @@
angular.module("ofn.admin").directive "ofnMaintainUnitScale", ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
scope.$watch 'product.variant_unit_with_scale', (newValue, oldValue) ->
if not (oldValue == newValue)
# Triggers track-variant directive to track the unit_value, so that changes to the unit are passed to the server
ngModel.$setViewValue ngModel.$viewValue

View File

@@ -1,8 +0,0 @@
angular.module("ofn.admin").directive "ofnTrackMaster", (DirtyProducts) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
ngModel.$parsers.push (viewValue) ->
if ngModel.$dirty
DirtyProducts.addMasterProperty scope.product.id, scope.product.master.id, attrs.ofnTrackMaster, viewValue
scope.displayDirtyProducts()
viewValue

View File

@@ -1 +1 @@
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users", "textAngular"])
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users", "ngSanitize"])

View File

@@ -3,7 +3,6 @@ angular.module("admin.enterprises", [
"admin.utils",
"admin.shippingMethods",
"admin.users",
"textAngular",
"admin.side_menu",
"admin.taxons",
'admin.indexUtils',
@@ -11,16 +10,3 @@ angular.module("admin.enterprises", [
'admin.dropdown',
'ngSanitize']
)
# For more options: https://github.com/textAngular/textAngular/blob/master/src/textAngularSetup.js
.config [
'$provide', ($provide) ->
$provide.decorator 'taTranslations', [
'$delegate'
(taTranslations) ->
taTranslations.insertLink = {
tooltip: t('admin.enterprises.form.shop_preferences.shopfront_message_link_tooltip'),
dialogPrompt: t('admin.enterprises.form.shop_preferences.shopfront_message_link_prompt')
}
taTranslations
]
]

View File

@@ -1,12 +1,16 @@
# Used like a regular angular filter where an object is passed
# Adds the additional special case that a value of 0 for the filter
# acts as a bypass for that particular attribute
# NOTE the name doesn't reflect what the filter does, it only fiters on the variant.producer_id
angular.module("admin.indexUtils").filter "attrFilter", ($filter) ->
return (objects, filters) ->
Object.keys(filters).reduce (filtered, attr) ->
filter = filters[attr]
return filtered if !filter? || filter == 0
return $filter('filter')(filtered, (object) ->
object[attr] == filter
)
, objects
filter = filters["producer_id"]
return objects if !filter? || filter == 0
return $filter('filter')(objects, (product) ->
for variant in product.variants
return true if variant["producer_id"] == filter
false
, true)

View File

@@ -31,7 +31,7 @@ angular.module("admin.indexUtils").factory 'Columns', ($rootScope, $http, $injec
savePreferences: (action_name) =>
$http
method: "PUT"
url: "/admin/column_preferences/bulk_update"
url: "/admin/column_preferences/bulk_update.json"
data:
action_name: action_name
column_preferences: (preference for column_name, preference of @columns)

View File

@@ -24,7 +24,10 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
"order_bill_address_firstname",
"order_bill_address_lastname",
"order_bill_address_full_name",
"variant_product_supplier_name",
"order_bill_address_full_name_reversed",
"order_bill_address_full_name_with_comma",
"order_bill_address_full_name_with_comma_reversed",
"variant_supplier_name",
"order_email",
"order_number",
"product_name"].join("_or_") + "_cont"
@@ -78,7 +81,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
"q[order_shipment_state_not_eq]": "shipped",
"q[order_completed_at_not_null]": "true",
"q[order_distributor_id_eq]": $scope.distributorFilter,
"q[variant_product_supplier_id_eq]": $scope.supplierFilter,
"q[variant_supplier_id_eq]": $scope.supplierFilter,
"q[order_order_cycle_id_eq]": $scope.orderCycleFilter,
"q[order_completed_at_gteq]": if formattedStartDate then formattedStartDate else undefined,
"q[order_completed_at_lt]": if formattedEndDate then formattedEndDate else undefined,
@@ -102,7 +105,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
Dereferencer.dereferenceAttr $scope.line_items, "supplier", Enterprises.byID
$scope.loadOrders()
RequestMonitor.load $q.all([$scope.orders.$promise]).then ->
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
Dereferencer.dereferenceAttr $scope.orders, "distributor", Enterprises.byID
Dereferencer.dereferenceAttr $scope.orders, "order_cycle", OrderCycles.byID
$scope.bulk_order_form.$setPristine()
@@ -130,7 +133,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
return $http(
method: 'GET'
url: "/admin/orders/#{order.number}/fire?e=cancel&send_cancellation_email=#{sendEmailCancellation}&restock_items=#{restock_items}")
$scope.deleteLineItem = (lineItem) ->
if lineItem.order.item_count == 1
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) ->
@@ -164,7 +167,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.cancelOrder(order, sendEmailCancellation, restock_items).then(-> $scope.refreshData())
else
Promise.all(LineItems.delete(item) for item in items).then(-> $scope.refreshData())
, "js.admin.deleting_item_will_cancel_order")
, "js.admin.deleting_item_will_cancel_order")
else
ofnDeleteLineItemsAlert(() ->
Promise.all(LineItems.delete(item) for item in lineItemsToDelete).then(-> $scope.refreshData())
@@ -196,14 +199,14 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.refreshData()
$scope.getLineItemScale = (lineItem) ->
if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume")
lineItem.units_product.variant_unit_scale
if lineItem.units_variant && lineItem.units_variant.variant_unit_scale && (lineItem.units_variant.variant_unit == "weight" || lineItem.units_variant.variant_unit == "volume")
lineItem.units_variant.variant_unit_scale
else
1
$scope.sumUnitValues = ->
sum = $scope.filteredLineItems?.reduce (sum, lineItem) ->
if lineItem.units_product.variant_unit == "items"
if lineItem.units_variant.variant_unit == "items"
sum + lineItem.quantity
else
sum + $scope.roundToThreeDecimals(lineItem.final_weight_volume / $scope.getLineItemScale(lineItem))
@@ -211,7 +214,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.sumMaxUnitValues = ->
sum = $scope.filteredLineItems?.reduce (sum,lineItem) ->
if lineItem.units_product.variant_unit == "items"
if lineItem.units_variant.variant_unit == "items"
sum + lineItem.max_quantity
else
sum + lineItem.max_quantity * $scope.roundToThreeDecimals(lineItem.units_variant.unit_value / $scope.getLineItemScale(lineItem))
@@ -225,39 +228,41 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
return false if !lineItem.hasOwnProperty('final_weight_volume') || !(lineItem.final_weight_volume > 0)
true
$scope.getScale = (unitsProduct, unitsVariant) ->
if unitsProduct.hasOwnProperty("variant_unit") && (unitsProduct.variant_unit == "weight" || unitsProduct.variant_unit == "volume")
unitsProduct.variant_unit_scale
else if unitsProduct.hasOwnProperty("variant_unit") && unitsProduct.variant_unit == "items"
$scope.getScale = (unitsVariant) ->
if unitsVariant.hasOwnProperty("variant_unit") && (unitsVariant.variant_unit == "weight" || unitsVariant.variant_unit == "volume")
unitsVariant.variant_unit_scale
else if unitsVariant.hasOwnProperty("variant_unit") && unitsVariant.variant_unit == "items"
1
else
null
$scope.getFormattedValueWithUnitName = (value, unitsProduct, unitsVariant, scale) ->
unit_name = VariantUnitManager.getUnitName(scale, unitsProduct.variant_unit)
$scope.getFormattedValueWithUnitName = (value, unitsVariant, scale) ->
unit_name = VariantUnitManager.getUnitName(scale, unitsVariant.variant_unit)
$scope.roundToThreeDecimals(value) + " " + unit_name
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
$scope.getGroupBySizeFormattedValueWithUnitName = (value, unitsVariant) ->
scale = $scope.getScale(unitsVariant)
if scale && value
value = value / scale if scale != 28.35 && scale != 1 && scale != 453.6 # divide by scale if not smallest unit
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
$scope.getFormattedValueWithUnitName(value, unitsVariant, scale)
else
''
$scope.formattedValueWithUnitName = (value, unitsProduct, unitsVariant) ->
scale = $scope.getScale(unitsProduct, unitsVariant)
$scope.formattedValueWithUnitName = (value, unitsVariant) ->
scale = $scope.getScale(unitsVariant)
if scale
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
else
$scope.getFormattedValueWithUnitName(value, unitsVariant, scale)
else
''
$scope.fulfilled = (sumOfUnitValues) ->
# A Units Variant is an API object which holds unit properies of a variant
if $scope.selectedUnitsProduct.hasOwnProperty("group_buy_unit_size")&& $scope.selectedUnitsProduct.group_buy_unit_size > 0 &&
$scope.selectedUnitsProduct.hasOwnProperty("variant_unit")
if $scope.selectedUnitsProduct.variant_unit == "weight" || $scope.selectedUnitsProduct.variant_unit == "volume"
scale = $scope.selectedUnitsProduct.variant_unit_scale
if $scope.selectedUnitsProduct.hasOwnProperty("group_buy_unit_size") && $scope.selectedUnitsProduct.group_buy_unit_size > 0 &&
$scope.selectedUnitsVariant.hasOwnProperty("variant_unit")
if $scope.selectedUnitsVariant.variant_unit == "weight" || $scope.selectedUnitsVariant.variant_unit == "volume"
scale = $scope.selectedUnitsVariant.variant_unit_scale
sumOfUnitValues = sumOfUnitValues * scale unless scale == 28.35 || scale == 453.6
$scope.roundToThreeDecimals(sumOfUnitValues / $scope.selectedUnitsProduct.group_buy_unit_size)
else

View File

@@ -3,6 +3,7 @@ angular.module('admin.orderCycles')
$controller('AdminOrderCycleBasicCtrl', {$scope: $scope, ocInstance: ocInstance})
order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1]
$scope.order_cycle_id = order_cycle_id
$scope.order_cycle = OrderCycle.load(order_cycle_id)
$scope.enterprises = Enterprise.index(order_cycle_id: order_cycle_id)
$scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: order_cycle_id)
@@ -18,6 +19,8 @@ angular.module('admin.orderCycles')
$scope.submit = ($event, destination) ->
$event.preventDefault()
$scope.order_cycle?.trigger_action = $($event.target).data('trigger-action');
$scope.order_cycle?.confirm = $($event.target).data('confirm');
StatusMessage.display 'progress', t('js.saving')
OrderCycle.update(destination, $scope.order_cycle_form)
@@ -25,4 +28,4 @@ angular.module('admin.orderCycles')
if $scope.order_cycle_form?.$dirty
t('admin.unsaved_confirm_leave')
NavigationCheck.register(warnAboutUnsavedChanges)
NavigationCheck.register(warnAboutUnsavedChanges)

View File

@@ -1,8 +1,9 @@
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, OrderCycle, ExchangeProduct, ocInstance) ->
angular.module('admin.orderCycles').controller 'AdminOrderCycleIncomingCtrl', ($scope, $rootScope, $controller, $location, Enterprise, EnterpriseFee, OrderCycle, ExchangeProduct, ocInstance) ->
$controller('AdminOrderCycleExchangesCtrl', {$scope: $scope, ocInstance: ocInstance, $location: $location})
$scope.view = 'incoming'
# NB: weirdly at this next line $scope.order_cycle.id comes out undefined so we use $scope.order_cycle_id instead
$scope.enterprise_fees = EnterpriseFee.index(order_cycle_id: $scope.order_cycle_id, per_item: true)
$scope.exchangeTotalVariants = (exchange) ->
return unless $scope.enterprises? && $scope.enterprises[exchange.enterprise_id]?

View File

@@ -1,7 +1,11 @@
angular.module("admin.orderCycles").controller "OrderCyclesCtrl", ($scope, $q, Columns, StatusMessage, RequestMonitor, OrderCycles, Enterprises, Schedules, Dereferencer) ->
$scope.RequestMonitor = RequestMonitor
$scope.columns = Columns.columns
$scope.saveAll = -> OrderCycles.saveChanges($scope.order_cycles_form)
$scope.saveAll = ($event) ->
trigger_action = $($event.target).data('trigger-action')
confirm = $($event.target).data('confirm')
OrderCycles.saveChanges($scope.order_cycles_form, { trigger_action, confirm })
$scope.ordersCloseAtLimit = -31 # days
$scope.resetSelectFilters = ->

View File

@@ -22,6 +22,8 @@ angular.module('admin.orderCycles').controller "AdminSimpleEditOrderCycleCtrl",
$scope.submit = ($event, destination) ->
$event.preventDefault()
$scope.order_cycle?.trigger_action = $($event.target).data('trigger-action');
$scope.order_cycle?.confirm = $($event.target).data('confirm');
StatusMessage.display 'progress', t('js.saving')
OrderCycle.mirrorIncomingToOutgoingProducts()
OrderCycle.update(destination, $scope.order_cycle_form) if OrderCycle.confirmNoDistributors()

View File

@@ -6,6 +6,8 @@ angular.module('admin.orderCycles').factory('EnterpriseFee', ($resource) ->
params:
order_cycle_id: '@order_cycle_id'
coordinator_id: '@coordinator_id'
per_item: '@per_item'
per_order: '@per_order'
})
{

View File

@@ -161,7 +161,11 @@ angular.module('admin.orderCycles').factory 'OrderCycle', ($resource, $window, $
StatusMessage.display('failure', t('js.order_cycles.create_failure'))
update: (destination, form) ->
oc = new OrderCycleResource({order_cycle: this.dataForSubmit()})
oc = new OrderCycleResource({
order_cycle: this.dataForSubmit(),
confirm: this.order_cycle.confirm,
trigger_action: this.order_cycle.trigger_action
})
oc.$update {order_cycle_id: this.order_cycle.id, reloading: (if destination? then 1 else 0)}, (data) =>
form.$setPristine() if form
if destination?
@@ -171,6 +175,8 @@ angular.module('admin.orderCycles').factory 'OrderCycle', ($resource, $window, $
, (response) ->
if response.data.errors?
StatusMessage.display('failure', response.data.errors[0])
else if (response.data.trigger_action)
StatusMessage.display('notice', t('js.order_cycles.unsaved_changes'), response.data.trigger_action)
else
StatusMessage.display('failure', t('js.order_cycles.update_failure'))

View File

@@ -42,8 +42,10 @@ angular.module('admin.payments').factory 'Payment', (AdminStripeElements, curren
submit: =>
munged = @preprocess()
PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status)=>
$window.location.pathname = "/admin/orders/" + munged.order_id + "/payments"
PaymentResource.create({order_id: munged.order_id}, munged, (response, headers, status) ->
rawHtml = Object.values(response).join('').replace('[object Object]true', '')
document.body.innerHTML = rawHtml
$window.history.pushState({}, '', "/admin/orders/" + munged.order_id + "/payments")
, (response) ->
StatusMessage.display 'error', t("spree.admin.payments.source_forms.stripe.error_saving_payment")
)

View File

@@ -1,24 +0,0 @@
angular.module("admin.products").controller "editUnitsCtrl", ($scope, VariantUnitManager) ->
$scope.product =
variant_unit: angular.element('#variant_unit').val()
variant_unit_scale: angular.element('#variant_unit_scale').val()
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
if $scope.product.variant_unit == 'items'
$scope.variant_unit_with_scale = 'items'
else
$scope.variant_unit_with_scale = $scope.product.variant_unit + '_' + $scope.product.variant_unit_scale.replace(/\.0$/, '');
$scope.setFields = ->
if $scope.variant_unit_with_scale == 'items'
variant_unit = 'items'
variant_unit_scale = null
else
options = $scope.variant_unit_with_scale.split('_')
variant_unit = options[0]
variant_unit_scale = options[1]
$scope.product.variant_unit = variant_unit
$scope.product.variant_unit_scale = variant_unit_scale

View File

@@ -1,24 +1,26 @@
# Controller for "New Products" form (spree/admin/products/new)
angular.module("admin.products")
.controller "unitsCtrl", ($scope, VariantUnitManager, OptionValueNamer, UnitPrices, PriceParser) ->
$scope.product = { master: {} }
$scope.product.master.product = $scope.product
$scope.product = {}
$scope.placeholder_text = ""
$scope.$watchCollection '[product.variant_unit_with_scale, product.master.unit_value_with_description, product.price, product.variant_unit_name]', ->
$scope.$watchCollection '[product.variant_unit_with_scale, product.unit_value_with_description, product.price, product.variant_unit_name]', ->
$scope.processVariantUnitWithScale()
$scope.processUnitValueWithDescription()
$scope.processUnitPrice()
$scope.placeholder_text = new OptionValueNamer($scope.product.master).name() if $scope.product.variant_unit_scale
$scope.placeholder_text = new OptionValueNamer($scope.product).name() if $scope.product.variant_unit_scale
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
# Extract variant_unit and variant_unit_scale from dropdown variant_unit_with_scale,
# and update hidden product fields
$scope.processVariantUnitWithScale = ->
if $scope.product.variant_unit_with_scale
match = $scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/)
match = $scope.product.variant_unit_with_scale.match(/^([^_]+)_([\d\.]+)$/) # matches string like "weight_1000"
if match
$scope.product.variant_unit = match[1]
$scope.product.variant_unit_scale = parseFloat(match[2])
else
else # "items"
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit
@@ -32,24 +34,27 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null
# Extract unit_value and unit_description from text field unit_value_with_description,
# and update hidden variant fields
$scope.processUnitValueWithDescription = ->
if $scope.product.master.hasOwnProperty("unit_value_with_description")
match = $scope.product.master.unit_value_with_description.match(/^([\d\.,]+(?= *|$)|)( *)(.*)$/)
if $scope.product.hasOwnProperty("unit_value_with_description")
match = $scope.product.unit_value_with_description.match(/^([\d\.,]+(?= *|$)|)( *)(.*)$/)
if match
$scope.product.master.unit_value = PriceParser.parse(match[1])
$scope.product.master.unit_value = null if isNaN($scope.product.master.unit_value)
$scope.product.master.unit_value = window.bigDecimal.multiply($scope.product.master.unit_value, $scope.product.variant_unit_scale, 2) if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_description = match[3]
$scope.product.unit_value = PriceParser.parse(match[1])
$scope.product.unit_value = null if isNaN($scope.product.unit_value)
$scope.product.unit_value = window.bigDecimal.multiply($scope.product.unit_value, $scope.product.variant_unit_scale, 2) if $scope.product.unit_value && $scope.product.variant_unit_scale
$scope.product.unit_description = match[3]
else
value = $scope.product.master.unit_value
value = window.bigDecimal.divide(value, $scope.product.variant_unit_scale, 2) if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_value_with_description = value + " " + $scope.product.master.unit_description
value = $scope.product.unit_value
value = window.bigDecimal.divide(value, $scope.product.variant_unit_scale, 2) if $scope.product.unit_value && $scope.product.variant_unit_scale
$scope.product.unit_value_with_description = value + " " + $scope.product.unit_description
# Calculate unit price based on product price and variant_unit_scale
$scope.processUnitPrice = ->
price = $scope.product.price
scale = $scope.product.variant_unit_scale
unit_type = $scope.product.variant_unit
unit_value = $scope.product.master.unit_value
unit_value = $scope.product.unit_value
variant_unit_name = $scope.product.variant_unit_name
$scope.unit_price = UnitPrices.displayableUnitPrice(price, scale, unit_type, unit_value, variant_unit_name)

View File

@@ -1,32 +0,0 @@
angular.module("admin.products").controller "variantUnitsCtrl", ($scope, VariantUnitManager, $timeout, UnitPrices, PriceParser) ->
$scope.unitName = (scale, type) ->
VariantUnitManager.getUnitName(scale, type)
$scope.$watchCollection "[unit_value_human, variant.price]", ->
$scope.processUnitPrice()
$scope.processUnitPrice = ->
if ($scope.variant)
price = $scope.variant.price
scale = $scope.scale
unit_type = angular.element("#product_variant_unit").val()
if (unit_type != "items")
$scope.updateValue()
unit_value = $scope.unit_value
else
unit_value = 1
variant_unit_name = angular.element("#product_variant_unit_name").val()
$scope.unit_price = UnitPrices.displayableUnitPrice(price, scale, unit_type, unit_value, variant_unit_name)
$scope.scale = angular.element('#product_variant_unit_scale').val()
$scope.updateValue = ->
unit_value_human = angular.element('#unit_value_human').val()
$scope.unit_value = bigDecimal.multiply(PriceParser.parse(unit_value_human), $scope.scale, 2)
variant_unit_value = angular.element('#variant_unit_value').val()
$scope.unit_value_human = parseFloat(bigDecimal.divide(variant_unit_value, $scope.scale, 2))
$timeout -> $scope.processUnitPrice()
$timeout -> $scope.updateValue()

View File

@@ -1,19 +0,0 @@
angular.module("admin.products").directive "setOnDemand", ->
link: (scope, element, attr) ->
onHand = element.context.querySelector("#variant_on_hand")
onDemand = element.context.querySelector("#variant_on_demand")
disableOnHandIfOnDemand = ->
if onDemand.checked
onHand.disabled = 'disabled'
onHand.dataStock = onHand.value
onHand.value = t('admin.products.variants.infinity')
disableOnHandIfOnDemand()
onDemand.addEventListener 'change', (event) ->
disableOnHandIfOnDemand()
if !onDemand.checked
onHand.removeAttribute('disabled')
onHand.value = onHand.dataStock

View File

@@ -1 +1 @@
angular.module("admin.products", ["textAngular", "admin.utils", "OFNShared"])
angular.module("admin.products", ["ngSanitize", "admin.utils", "OFNShared"])

View File

@@ -1,4 +1,5 @@
angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager) ->
# Javascript clone of VariantUnits::OptionValueNamer, for bulk product editing.
class OptionValueNamer
constructor: (@variant) ->
@@ -12,16 +13,16 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager
name_fields.join ' '
value_scaled: ->
@variant.product.variant_unit_scale?
@variant.variant_unit_scale?
option_value_value_unit: ->
if @variant.unit_value?
if @variant.product.variant_unit in ["weight", "volume"]
if @variant.variant_unit in ["weight", "volume"]
[value, unit_name] = @option_value_value_unit_scaled()
else
value = @variant.unit_value
unit_name = @pluralize(@variant.product.variant_unit_name, value)
unit_name = @pluralize(@variant.variant_unit_name, value)
value = parseInt(value, 10) if value == parseInt(value, 10)
@@ -57,14 +58,13 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager
# to >= 1 when expressed in it.
# If there is none available where this is true, use the smallest
# available unit.
product = @variant.product
scales = VariantUnitManager.compatibleUnitScales(product.variant_unit_scale, product.variant_unit)
scales = VariantUnitManager.compatibleUnitScales(@variant.variant_unit_scale, @variant.variant_unit)
variantUnitValue = @variant.unit_value
# sets largestScale = last element in filtered scales array
[_, ..., largestScale] = (scales.filter (s) -> variantUnitValue / s >= 1)
if (largestScale)
[largestScale, VariantUnitManager.getUnitName(largestScale, product.variant_unit)]
[largestScale, VariantUnitManager.getUnitName(largestScale, @variant.variant_unit)]
else
[scales[0], VariantUnitManager.getUnitName(scales[0], product.variant_unit)]
[scales[0], VariantUnitManager.getUnitName(scales[0], @variant.variant_unit)]

View File

@@ -2,6 +2,9 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
class VariantUnitManager
@units:
'weight':
0.001:
name: 'mg'
system: 'metric'
1.0:
name: 'g'
system: 'metric'
@@ -21,12 +24,21 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
0.001:
name: 'mL'
system: 'metric'
0.01:
name: 'cL'
system: 'metric'
0.1:
name: 'dL'
system: 'metric'
1.0:
name: 'L'
system: 'metric'
1000.0:
name: 'kL'
system: 'metric'
4.54609:
name: 'gal'
system: 'metric'
'items':
1:
name: 'items'
@@ -60,8 +72,13 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
@compatibleUnitScales: (scale, unitType) ->
scaleSystem = @units[unitType][scale]['system']
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem).sort (a, b) ->
a - b
if availableUnits
available = availableUnits.split(",")
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem and available.includes(scaleInfo['name'])).sort (a, b) ->
a - b
else
(parseFloat(scale) for scale, scaleInfo of @units[unitType] when scaleInfo['system'] == scaleSystem).sort (a, b) ->
a - b
@systemOfMeasurement: (scale, unitType) ->
if @units[unitType][scale]

View File

@@ -29,13 +29,13 @@ angular.module("admin.resources").factory 'OrderCycles', ($q, $injector, OrderCy
deferred.reject(response)
deferred.promise
saveChanges: (form) ->
saveChanges: (form, params = {}) ->
changed = {}
for id, orderCycle of @byID when not @saved(orderCycle)
changed[Object.keys(changed).length] = @changesFor(orderCycle)
if Object.keys(changed).length > 0
StatusMessage.display('progress', "Saving...")
OrderCycleResource.bulkUpdate { order_cycle_set: { collection_attributes: changed } }, (data) =>
OrderCycleResource.bulkUpdate { order_cycle_set: { collection_attributes: changed }, confirm: params['confirm'], trigger_action: params['trigger_action'] }, (data) =>
for orderCycle in data
delete orderCycle.coordinator
delete orderCycle.producers
@@ -47,8 +47,10 @@ angular.module("admin.resources").factory 'OrderCycles', ($q, $injector, OrderCy
, (response) =>
if response.data.errors?
StatusMessage.display('failure', response.data.errors[0])
else if (response.data.trigger_action)
StatusMessage.display('notice', t('js.order_cycles.unsaved_changes'), response.data.trigger_action)
else
StatusMessage.display('failure', "Oh no! I was unable to save your changes.")
StatusMessage.display('failure', t('js.order_cycles.bulk_save_error'))
saved: (order_cycle) ->
@diff(order_cycle).length == 0

View File

@@ -19,7 +19,7 @@ angular.module("ofn.admin").factory "BulkProducts", (ProductResource, dataFetche
for server_product in serverProducts
product = @findProductInList(server_product.id, @products)
product.variants = server_product.variants
@loadVariantUnitValues product
@loadVariantUnitValues product.variants
find: (id) ->
@findProductInList id, @products
@@ -38,34 +38,32 @@ angular.module("ofn.admin").factory "BulkProducts", (ProductResource, dataFetche
@products.splice(index + 1, 0, newProduct)
unpackProduct: (product) ->
#$scope.matchProducer product
@loadVariantUnit product
loadVariantUnit: (product) ->
product.variant_unit_with_scale =
if product.variant_unit && product.variant_unit_scale && product.variant_unit != 'items'
"#{product.variant_unit}_#{product.variant_unit_scale}"
else if product.variant_unit
product.variant_unit
@loadVariantUnitValues product.variants if product.variants
loadVariantUnitValues: (variants) ->
for variant in variants
@loadVariantUnitValue variant
loadVariantUnitValue: (variant) ->
variant.variant_unit_with_scale =
if variant.variant_unit && variant.variant_unit_scale && variant.variant_unit != 'items'
"#{variant.variant_unit}_#{variant.variant_unit_scale}"
else if variant.variant_unit
variant.variant_unit
else
null
@loadVariantUnitValues product if product.variants
@loadVariantUnitValue product, product.master if product.master
loadVariantUnitValues: (product) ->
for variant in product.variants
@loadVariantUnitValue product, variant
loadVariantUnitValue: (product, variant) ->
unit_value = @variantUnitValue product, variant
unit_value = @variantUnitValue variant
unit_value = if unit_value? then unit_value else ''
variant.unit_value_with_description = "#{unit_value} #{variant.unit_description || ''}".trim()
variantUnitValue: (product, variant) ->
variantUnitValue: (variant) ->
if variant.unit_value?
if product.variant_unit_scale
variant_unit_value = @divideAsInteger variant.unit_value, product.variant_unit_scale
if variant.variant_unit_scale
variant_unit_value = @divideAsInteger variant.unit_value, variant.variant_unit_scale
parseFloat(window.bigDecimal.round(variant_unit_value, 2))
else
variant.unit_value

View File

@@ -1,29 +0,0 @@
angular.module("admin.indexUtils").factory 'KeyValueMapStore', (localStorageService)->
new class KeyValueMapStore
localStorageKey: ''
storableKeys: []
constructor: ->
localStorageService.setStorageType("sessionStorage")
getStoredKeyValueMap: ->
localStorageService.get(@localStorageKey) || {}
setStoredValues: (source) ->
keyValueMap = {}
for key in @storableKeys
keyValueMap[key] = source[key]
localStorageService.set(@localStorageKey, keyValueMap)
restoreValues: (target) ->
storedKeyValueMap = @getStoredKeyValueMap()
return false if _.isEmpty(storedKeyValueMap)
for k,v of storedKeyValueMap
target[k] = v
return true
clearKeyValueMap: () ->
localStorageService.remove(@localStorageKey)

View File

@@ -32,9 +32,6 @@ jQuery(function($) {
});
}
// Make flash messages dissapear
setTimeout('$(".flash").fadeOut()', 5000);
// Highlight hovered table column
$('table tbody tr td.actions a').hover(function(){
var tr = $(this).closest('tr');

View File

@@ -1,22 +1,6 @@
// Shipments AJAX API
$(document).ready(function() {
handle_ship_click = function(){
var link = $(this);
var shipment_number = link.data('shipment-number');
var url = Spree.url( Spree.routes.orders_api + "/" + order_number + "/shipments/" + shipment_number + "/ship.json");
$.ajax({
type: "PUT",
url: url
}).done(function( msg ) {
window.location.reload();
}).error(function( msg ) {
console.log(msg);
});
}
$('.admin-order-edit-form a.ship').click(handle_ship_click);
//handle shipping method edit click
$('a.edit-method').click(toggleMethodEdit);
$('a.cancel-method').click(toggleMethodEdit);

View File

@@ -50,11 +50,11 @@ $(document).ready(function() {
if (quantity > maxQuantity) {
quantity = maxQuantity;
save.parents('tr').find('input.line_item_quantity').val(maxQuantity);
ofnAlert(t("js.admin.orders.quantity_adjusted"));
ofnAlert(t("js.admin.orders.quantity_unavailable"));
} else {
adjustItems(shipment_number, variant_id, quantity, true);
}
toggleItemEdit();
adjustItems(shipment_number, variant_id, quantity, true);
return false;
}
$('a.save-item').click(handle_save_click);
@@ -187,18 +187,17 @@ addVariantFromStockLocation = function() {
$('#stock_details').hide();
var variant_id = $('input.variant_autocomplete').val();
var stock_location_id = $(this).data('stock-location-id');
var quantity = $("input.quantity[data-stock-location-id='" + stock_location_id + "']").val();
var quantity = $("input.quantity").val();
var shipment = _.find(shipments, function(shipment){
return shipment.stock_location_id == stock_location_id && (shipment.state == 'ready' || shipment.state == 'pending');
return shipment.state == 'ready' || shipment.state == 'pending';
});
if(shipment==undefined){
$.ajax({
type: "POST",
url: Spree.url(Spree.routes.orders_api + "/" + order_number + "/shipments.json"),
data: { variant_id: variant_id, quantity: quantity, stock_location_id: stock_location_id }
data: { variant_id: variant_id, quantity: quantity }
}).done(function( msg ) {
window.location.reload();
}).error(function( msg ) {

View File

@@ -1,21 +0,0 @@
root = exports ? this
root.taxon_tree_menu = (obj, context) ->
base_url = Spree.url(Spree.routes.taxonomy_taxons)
admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons)
edit_url = Spree.url(Spree.routes.admin_taxonomy_taxons + '/' + obj.attr("id") + "/edit");
create:
label: "<i class='icon-plus'></i> " + Spree.translations.add,
action: (obj) -> context.create(obj)
rename:
label: "<i class='icon-pencil'></i> " + Spree.translations.rename,
action: (obj) -> context.rename(obj)
remove:
label: "<i class='icon-trash'></i> " + Spree.translations.remove,
action: (obj) -> context.remove(obj)
edit:
separator_before: true,
label: "<i class='icon-edit'></i> " + Spree.translations.edit,
action: (obj) -> window.location = edit_url.toString()

View File

@@ -1,139 +0,0 @@
handle_ajax_error = (XMLHttpRequest, textStatus, errorThrown) ->
$.jstree.rollback(last_rollback)
$("#ajax_error").show().html("<strong>" + server_error + "</strong><br />" + taxonomy_tree_error)
handle_move = (e, data) ->
last_rollback = data.rlbk
position = data.rslt.cp
node = data.rslt.o
new_parent = data.rslt.np
url = new URL(Spree.routes.admin_taxonomy_taxons)
url.pathname = url.pathname + '/' + node.attr("id")
data = {
_method: "put",
"taxon[position]": position,
"taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined
}
$.ajax
type: "POST",
dataType: "json",
url: url.toString(),
data: data,
error: handle_ajax_error
true
handle_create = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
name = data.rslt.name
position = data.rslt.position
new_parent = data.rslt.parent
data = {
"taxon[name]": name,
"taxon[position]": position
"taxon[parent_id]": if !isNaN(new_parent.attr("id")) then new_parent.attr("id") else undefined
}
$.ajax
type: "POST",
dataType: "json",
url: base_url.toString(),
data: data,
error: handle_ajax_error,
success: (data,result) ->
node.attr('id', data.id)
handle_rename = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
name = data.rslt.new_name
# change the name inside the main input field as well if taxon is the root one
document.getElementById("taxonomy_name").value = name if node.parents("[id]").attr("id") == "taxonomy_tree"
url = new URL(base_url)
url.pathname = url.pathname + '/' + node.attr("id")
$.ajax
type: "POST",
dataType: "json",
url: url.toString(),
data: {_method: "put", "taxon[name]": name },
error: handle_ajax_error
handle_delete = (e, data) ->
last_rollback = data.rlbk
node = data.rslt.obj
delete_url = new URL(base_url)
delete_url.pathname = delete_url.pathname + '/' + node.attr("id")
if confirm(Spree.translations.are_you_sure_delete)
$.ajax
type: "POST",
dataType: "json",
url: delete_url.toString(),
data: {_method: "delete"},
error: handle_ajax_error
else
$.jstree.rollback(last_rollback)
last_rollback = null
root = exports ? this
root.setup_taxonomy_tree = (taxonomy_id) ->
if taxonomy_id != undefined
# this is defined within admin/taxonomies/edit
root.base_url = Spree.url(Spree.routes.taxonomy_taxons)
$.ajax
url: base_url.pathname.replace("/taxons", "/jstree"),
success: (taxonomy) ->
last_rollback = null
conf =
json_data:
data: taxonomy,
ajax:
url: (e) ->
base_url.pathname + '/' + e.attr('id') + '/jstree'
themes:
theme: "apple",
url: "/assets/jquery.jstree/themes/apple/style.css"
strings:
new_node: new_taxon,
loading: Spree.translations.loading + "..."
crrm:
move:
check_move: (m) ->
position = m.cp
node = m.o
new_parent = m.np
# no parent or cant drag and drop
if !new_parent || node.attr("rel") == "root"
return false
# can't drop before root
if new_parent.attr("id") == "taxonomy_tree" && position == 0
return false
true
contextmenu:
items: (obj) ->
taxon_tree_menu(obj, this)
plugins: ["themes", "json_data", "dnd", "crrm", "contextmenu"]
$("#taxonomy_tree").jstree(conf)
.bind("move_node.jstree", handle_move)
.bind("remove.jstree", handle_delete)
.bind("create.jstree", handle_create)
.bind("rename.jstree", handle_rename)
.bind "loaded.jstree", ->
$(this).jstree("core").toggle_node($('.jstree-icon').first())
$("#taxonomy_tree a").on "dblclick", (e) ->
$("#taxonomy_tree").jstree("rename", this)
# surpress form submit on enter/return
$(document).keypress (e) ->
if e.keyCode == 13
e.preventDefault()

View File

@@ -1,6 +0,0 @@
angular.module("admin.utils").directive "textangularLinksTargetBlank", () ->
restrict: 'CA'
link: (scope, element, attrs) ->
setTimeout ->
element.find(".ta-editor").scope().defaultTagAttributes.a.target = '_blank'
, 500

View File

@@ -1,11 +0,0 @@
angular.module("admin.utils").directive "textangularStrip", () ->
restrict: 'CA'
link: (scope, element, attrs) ->
scope.stripFormatting = ($html) ->
element = document.createElement("div")
element.innerHTML = String($html)
allTags = element.getElementsByTagName("*")
for child in allTags
child.removeAttribute("style")
child.removeAttribute("class")
return element.innerHTML

View File

@@ -9,6 +9,7 @@ angular.module("admin.utils")
$window.onbeforeunload = @onBeforeUnloadHandler
$rootScope.$on "$locationChangeStart", @locationChangeStartHandler
$window.onBeforeUnloadHandler = @onBeforeUnloadHandler
# Action for regular browser navigation.
onBeforeUnloadHandler: ($event) =>

View File

@@ -10,7 +10,9 @@ angular.module("admin.utils").factory "StatusMessage", ->
statusMessage:
text: ""
style: {}
style: {},
type: null,
actionName: null
invalidMessage: ""
@@ -23,11 +25,15 @@ angular.module("admin.utils").factory "StatusMessage", ->
active: ->
@statusMessage.text != ''
display: (type, text) ->
display: (type, text, actionName = null) ->
@statusMessage.text = text
@statusMessage.type = type
@statusMessage.actionName = actionName
@statusMessage.style = @types[type].style
null
clear: ->
@statusMessage.text = ''
@statusMessage.style = {}
@statusMessage.type = null
@statusMessage.actionName = null

View File

@@ -2,10 +2,10 @@ angular.module("admin.variantOverrides").directive "trackInheritance", (VariantO
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
# This is a bit hacky, but it allows us to load the inherit property on the VO, but then not submit it
scope.inherit = angular.equals scope.variantOverrides[scope.hub_id][scope.variant.id], VariantOverrides.newFor scope.hub_id, scope.variant.id
scope.inherit = angular.equals scope.variantOverrides[scope.hub_id][scope.variant.id], VariantOverrides.newFor scope.hub_id, scope.variant
ngModel.$parsers.push (viewValue) ->
if ngModel.$dirty && viewValue
DirtyVariantOverrides.inherit scope.hub_id, scope.variant.id, scope.variantOverrides[scope.hub_id][scope.variant.id].id
DirtyVariantOverrides.inherit scope.hub_id, scope.variant, scope.variantOverrides[scope.hub_id][scope.variant.id].id
scope.displayDirty()
viewValue

View File

@@ -2,4 +2,8 @@ angular.module("admin.variantOverrides").filter "hubPermissions", ($filter) ->
return (products, hubPermissions, hub_id) ->
return [] if !hub_id
return [] if !hubPermissions[hub_id]
return $filter('filter')(products, ((product) -> hubPermissions[hub_id].indexOf(product.producer_id) > -1), true)
return $filter('filter')(products, ((product) ->
for variant in product.variants
return hubPermissions[hub_id].indexOf(variant.producer_id) > -1
), true)

View File

@@ -12,11 +12,11 @@ angular.module("admin.variantOverrides").factory "DirtyVariantOverrides", ($http
@add(hub_id, variant_id, vo_id)
@dirtyVariantOverrides[hub_id][variant_id][attr] = value
inherit: (hub_id, variant_id, vo_id) ->
@add(hub_id, variant_id, vo_id)
blankVo = angular.copy(VariantOverrides.inherit(hub_id, variant_id))
inherit: (hub_id, variant, vo_id) ->
@add(hub_id, variant.id, vo_id)
blankVo = angular.copy(VariantOverrides.inherit(hub_id, variant))
delete blankVo[attr] for attr, value of blankVo when attr not in @requiredAttrs()
@dirtyVariantOverrides[hub_id][variant_id] = blankVo
@dirtyVariantOverrides[hub_id][variant.id] = blankVo
count: ->
count = 0

View File

@@ -13,17 +13,18 @@ angular.module("admin.variantOverrides").factory "VariantOverrides", (variantOve
@variantOverrides[hub.id] ||= {}
for product in products
for variant in product.variants
@inherit(hub.id, variant.id) unless @variantOverrides[hub.id][variant.id]
@inherit(hub.id, variant) unless @variantOverrides[hub.id][variant.id]
inherit: (hub_id, variant_id) ->
inherit: (hub_id, variant) ->
# This method is called from the trackInheritance directive, to reinstate inheritance
@variantOverrides[hub_id][variant_id] ||= {}
angular.extend @variantOverrides[hub_id][variant_id], @newFor hub_id, variant_id
@variantOverrides[hub_id][variant.id] ||= {}
angular.extend @variantOverrides[hub_id][variant.id], @newFor(hub_id, variant)
newFor: (hub_id, variant_id) ->
newFor: (hub_id, variant) ->
# These properties need to match those checked in VariantOverrideSet.deletable?
hub_id: hub_id
variant_id: variant_id
variant_id: variant.id
producer_id: variant.producer_id
sku: null
price: null
count_on_hand: null

View File

@@ -17,7 +17,6 @@
#= require angular-google-maps.min.js
#= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js
#= require ../shared/ng-infinite-scroll.min.js
#= require ../shared/angular-local-storage.js
#= require ../shared/angular-slideables.js
#= require ../shared/shared
#= require_tree ../shared/directives

View File

@@ -4,15 +4,18 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.query = ""
$scope.taxonSelectors = FilterSelectorsService.createSelectors()
$scope.propertySelectors = FilterSelectorsService.createSelectors()
$scope.producerPropertySelectors = FilterSelectorsService.createSelectors()
$scope.filtersActive = true
$scope.page = 1
$scope.per_page = 10
$scope.order_cycle = OrderCycle.order_cycle
$scope.supplied_taxons = null
$scope.supplied_properties = null
$scope.supplied_producer_properties = null
$scope.showFilterSidebar = false
$scope.activeTaxons = []
$scope.activeProperties = []
$scope.activeProducerProperties = []
# Update filters after initial load of shop tab
$timeout =>
@@ -45,6 +48,12 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.supplied_properties[property.id] = Properties.properties_by_id[property.id]
)
OrderCycleResource.producerProperties params, (data)=>
$scope.supplied_producer_properties = {}
data.map( (property) ->
$scope.supplied_producer_properties[property.id] = Properties.properties_by_id[property.id]
)
$scope.loadMore = ->
if ($scope.page * $scope.per_page) <= Products.products.length
$scope.loadMoreProducts()
@@ -52,6 +61,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.$watch 'query', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeTaxons', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeProperties', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.$watchCollection 'activeProducerProperties', (newValue, oldValue) -> $scope.loadProducts() if newValue != oldValue
$scope.loadProducts = ->
$scope.page = 1
@@ -66,9 +76,10 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
id: $scope.order_cycle.order_cycle_id,
page: page || $scope.page,
per_page: $scope.per_page,
'q[name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_supplier_name_cont]': $scope.query,
'q[name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_variants_supplier_name_cont]': $scope.query,
'q[with_properties][]': $scope.activeProperties,
'q[primary_taxon_id_in_any][]': $scope.activeTaxons
'q[with_variants_supplier_properties][]': $scope.activeProducerProperties,
'q[variants_primary_taxon_id_in_any][]': $scope.activeTaxons
}
$scope.searchKeypress = (e)->
@@ -86,6 +97,12 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
Properties.properties_by_id[property_id].name
).join($scope.filtersJoinWord()) if $scope.activeProperties?
$scope.appliedProducerPropertiesList = ->
$scope.activeProducerProperties.map( (property_id) ->
Properties.properties_by_id[property_id].name
).join($scope.filtersJoinWord()) if $scope.activeProducerProperties?
$scope.filtersJoinWord = ->
$sce.trustAsHtml(" <span class='join-word'>#{t('products_or')}</span> ")
@@ -99,6 +116,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.clearFilters = ->
$scope.taxonSelectors.clearAll()
$scope.propertySelectors.clearAll()
$scope.producerPropertySelectors.clearAll()
$scope.refreshStaleData = ->
# If the products template has already been loaded but the controller is being initialized
@@ -109,7 +127,7 @@ angular.module('Darkswarm').controller "ProductsCtrl", ($scope, $sce, $filter, $
$scope.loadProducts()
$scope.filtersCount = () ->
$scope.taxonSelectors.totalActive() + $scope.propertySelectors.totalActive()
$scope.taxonSelectors.totalActive() + $scope.propertySelectors.totalActive() + $scope.producerPropertySelectors.totalActive()
$scope.toggleFilterSidebar = ->
$scope.showFilterSidebar = !$scope.showFilterSidebar

View File

@@ -42,8 +42,17 @@ angular.module('Darkswarm').controller "RegistrationCtrl", ($scope, Registration
$scope.toggleAddressConfirmed = ->
$scope.addressConfirmed = !$scope.addressConfirmed
if $scope.addressConfirmed
$scope.setLatLongIfUsingOpenStreetMap()
$scope.enterprise.address.latitude = $scope.latLong.latitude
$scope.enterprise.address.longitude = $scope.latLong.longitude
else
$scope.enterprise.address.latitude = null
$scope.enterprise.address.longitude = null
# When OpenStreetMaps is enabled the latitude and longitude are calculated via a Stimulus
# controller, so they need to be read from data properties to be accessible here.
$scope.setLatLongIfUsingOpenStreetMap = ->
openStreetMap = document.getElementById("open-street-map")
if !$scope.latLong && openStreetMap && openStreetMap.dataset.latitude && openStreetMap.dataset.longitude
$scope.latLong = { latitude: openStreetMap.dataset.latitude, longitude: openStreetMap.dataset.longitude }

View File

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

View File

@@ -1,10 +0,0 @@
angular.module('Darkswarm').directive "ofnDisableScroll", ()->
# Stops scrolling from incrementing or decrementing input value
# Useful for number inputs
restrict: 'A'
link: (scope, element, attrs)->
element.bind 'focus', ->
element.bind 'mousewheel', (e)->
e.preventDefault()
element.bind 'blur', ->
element.unbind 'mousewheel'

View File

@@ -1,5 +0,0 @@
angular.module('Darkswarm').directive "integer", ->
restrict: 'A'
link: (scope, elem, attr) ->
elem.bind 'input', ->
elem.val Math.round(elem.val())

View File

@@ -20,10 +20,13 @@ angular.module('Darkswarm').directive 'mapSearch', ($timeout, Search) ->
$timeout =>
map = ctrl.getMap()
searchBox = scope.createSearchBox map
scope.bindSearchResponse map, searchBox
scope.biasResults map, searchBox
scope.performUrlSearch map
if !map
alert(t('gmap_load_failure'))
else
searchBox = scope.createSearchBox map
scope.bindSearchResponse map, searchBox
scope.biasResults map, searchBox
scope.performUrlSearch map
scope.createSearchBox = (map) ->
map.controls[google.maps.ControlPosition.TOP_LEFT].push scope.input

View File

@@ -13,6 +13,8 @@ angular.module('Darkswarm').directive 'ofnOpenStreetMap', ($window, MapCentreCal
buildMarker = (enterprise, latlng, title) ->
icon = L.icon
iconAnchor: [14, 33]
iconSize: [28, 33]
iconUrl: enterprise.icon
marker = L.marker latlng,
draggable: true,

View File

@@ -1,14 +0,0 @@
angular.module('Darkswarm').directive "renderSvg", ()->
# Magical directive that'll render SVGs from URLs
# If only there were a neater way of doing this
restrict: 'E'
priority: 99
template: "<svg-wrapper></svg-wrapper>"
# Fetch SVG via ajax, inject into page using DOM
link: (scope, elem, attr)->
if /.svg/.test attr.path # Only do this if we've got an svg
$.ajax
url: attr.path
success: (html)->
elem.html($(html).find("svg"))

View File

@@ -1,9 +0,0 @@
angular.module('Darkswarm').directive "ofnScrollTo", ($location, $anchorScroll)->
# Onclick sets $location.hash to attrs.ofnScrollTo
# Then triggers anchorScroll
restrict: 'A'
link: (scope, element, attrs)->
element.bind 'click', (ev)->
ev.stopPropagation()
$location.hash attrs.ofnScrollTo
$anchorScroll()

View File

@@ -1,4 +1,4 @@
angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, localStorageService, Messages) ->
angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, Messages) ->
# Handles syncing of current cart/order state to server
new class Cart
dirty: false
@@ -113,7 +113,6 @@ angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $
clear: ->
@line_items = []
localStorageService.clearAll() # One day this will have to be moar GRANULAR
isOnlyItemInOrder: (id) =>
deletedItem = @line_items_finalised.find((item) -> item.id == id)

View File

@@ -18,4 +18,11 @@ angular.module('Darkswarm').factory 'OrderCycleResource', ($resource) ->
url: '/api/v0/order_cycles/:id/properties.json'
params:
id: '@id'
'producerProperties':
method: 'GET'
isArray: true
url: '/api/v0/order_cycles/:id/producer_properties.json'
params:
id: '@id'
})

View File

@@ -39,7 +39,7 @@ angular.module('Darkswarm').factory 'Products', (OrderCycleResource, OrderCycle,
dereference: ->
for product in @fetched_products
product.supplier = Shopfront.producers_by_id[product.supplier.id]
product.supplier = Shopfront.producers_by_id[product.variants[0].supplier.id]
Dereferencer.dereference product.taxons, Taxons.taxons_by_id
product.properties = angular.copy(product.properties_with_values)

View File

@@ -1,546 +0,0 @@
/**
* An Angular module that gives you access to the browsers local storage
* @version v0.5.0 - 2016-08-29
* @link https://github.com/grevory/angular-local-storage
* @author grevory <greg@gregpike.ca>
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
(function (window, angular) {
var isDefined = angular.isDefined,
isUndefined = angular.isUndefined,
isNumber = angular.isNumber,
isObject = angular.isObject,
isArray = angular.isArray,
extend = angular.extend,
toJson = angular.toJson;
angular
.module('LocalStorageModule', [])
.provider('localStorageService', function() {
// You should set a prefix to avoid overwriting any local storage variables from the rest of your app
// e.g. localStorageServiceProvider.setPrefix('yourAppName');
// With provider you can use config as this:
// myApp.config(function (localStorageServiceProvider) {
// localStorageServiceProvider.prefix = 'yourAppName';
// });
this.prefix = 'ls';
// You could change web storage type localstorage or sessionStorage
this.storageType = 'localStorage';
// Cookie options (usually in case of fallback)
// expiry = Number of days before cookies expire // 0 = Does not expire
// path = The web path the cookie represents
// secure = Wether the cookies should be secure (i.e only sent on HTTPS requests)
this.cookie = {
expiry: 30,
path: '/',
secure: false
};
// Decides wether we should default to cookies if localstorage is not supported.
this.defaultToCookie = true;
// Send signals for each of the following actions?
this.notify = {
setItem: true,
removeItem: false
};
// Setter for the prefix
this.setPrefix = function(prefix) {
this.prefix = prefix;
return this;
};
// Setter for the storageType
this.setStorageType = function(storageType) {
this.storageType = storageType;
return this;
};
// Setter for defaultToCookie value, default is true.
this.setDefaultToCookie = function (shouldDefault) {
this.defaultToCookie = !!shouldDefault; // Double-not to make sure it's a bool value.
return this;
};
// Setter for cookie config
this.setStorageCookie = function(exp, path, secure) {
this.cookie.expiry = exp;
this.cookie.path = path;
this.cookie.secure = secure;
return this;
};
// Setter for cookie domain
this.setStorageCookieDomain = function(domain) {
this.cookie.domain = domain;
return this;
};
// Setter for notification config
// itemSet & itemRemove should be booleans
this.setNotify = function(itemSet, itemRemove) {
this.notify = {
setItem: itemSet,
removeItem: itemRemove
};
return this;
};
this.$get = ['$rootScope', '$window', '$document', '$parse','$timeout', function($rootScope, $window, $document, $parse, $timeout) {
var self = this;
var prefix = self.prefix;
var cookie = self.cookie;
var notify = self.notify;
var storageType = self.storageType;
var webStorage;
// When Angular's $document is not available
if (!$document) {
$document = document;
} else if ($document[0]) {
$document = $document[0];
}
// If there is a prefix set in the config lets use that with an appended period for readability
if (prefix.substr(-1) !== '.') {
prefix = !!prefix ? prefix + '.' : '';
}
var deriveQualifiedKey = function(key) {
return prefix + key;
};
// Removes prefix from the key.
var underiveQualifiedKey = function (key) {
return key.replace(new RegExp('^' + prefix, 'g'), '');
};
// Check if the key is within our prefix namespace.
var isKeyPrefixOurs = function (key) {
return key.indexOf(prefix) === 0;
};
// Checks the browser to see if local storage is supported
var checkSupport = function () {
try {
var supported = (storageType in $window && $window[storageType] !== null);
// When Safari (OS X or iOS) is in private browsing mode, it appears as though localStorage
// is available, but trying to call .setItem throws an exception.
//
// "QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage
// that exceeded the quota."
var key = deriveQualifiedKey('__' + Math.round(Math.random() * 1e7));
if (supported) {
webStorage = $window[storageType];
webStorage.setItem(key, '');
webStorage.removeItem(key);
}
return supported;
} catch (e) {
// Only change storageType to cookies if defaulting is enabled.
if (self.defaultToCookie)
storageType = 'cookie';
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
return false;
}
};
var browserSupportsLocalStorage = checkSupport();
// Directly adds a value to local storage
// If local storage is not available in the browser use cookies
// Example use: localStorageService.add('library','angular');
var addToLocalStorage = function (key, value, type) {
setStorageType(type);
// Let's convert undefined values to null to get the value consistent
if (isUndefined(value)) {
value = null;
} else {
value = toJson(value);
}
// If this browser does not support local storage use cookies
if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') {
if (!browserSupportsLocalStorage) {
$rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED');
}
if (notify.setItem) {
$rootScope.$broadcast('LocalStorageModule.notification.setitem', {key: key, newvalue: value, storageType: 'cookie'});
}
return addToCookies(key, value);
}
try {
if (webStorage) {
webStorage.setItem(deriveQualifiedKey(key), value);
}
if (notify.setItem) {
$rootScope.$broadcast('LocalStorageModule.notification.setitem', {key: key, newvalue: value, storageType: self.storageType});
}
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
return addToCookies(key, value);
}
return true;
};
// Directly get a value from local storage
// Example use: localStorageService.get('library'); // returns 'angular'
var getFromLocalStorage = function (key, type) {
setStorageType(type);
if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') {
if (!browserSupportsLocalStorage) {
$rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED');
}
return getFromCookies(key);
}
var item = webStorage ? webStorage.getItem(deriveQualifiedKey(key)) : null;
// angular.toJson will convert null to 'null', so a proper conversion is needed
// FIXME not a perfect solution, since a valid 'null' string can't be stored
if (!item || item === 'null') {
return null;
}
try {
return JSON.parse(item);
} catch (e) {
return item;
}
};
// Remove an item from local storage
// Example use: localStorageService.remove('library'); // removes the key/value pair of library='angular'
//
// This is var-arg removal, check the last argument to see if it is a storageType
// and set type accordingly before removing.
//
var removeFromLocalStorage = function () {
// can't pop on arguments, so we do this
var consumed = 0;
if (arguments.length >= 1 &&
(arguments[arguments.length - 1] === 'localStorage' ||
arguments[arguments.length - 1] === 'sessionStorage')) {
consumed = 1;
setStorageType(arguments[arguments.length - 1]);
}
var i, key;
for (i = 0; i < arguments.length - consumed; i++) {
key = arguments[i];
if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') {
if (!browserSupportsLocalStorage) {
$rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED');
}
if (notify.removeItem) {
$rootScope.$broadcast('LocalStorageModule.notification.removeitem', {key: key, storageType: 'cookie'});
}
removeFromCookies(key);
}
else {
try {
webStorage.removeItem(deriveQualifiedKey(key));
if (notify.removeItem) {
$rootScope.$broadcast('LocalStorageModule.notification.removeitem', {
key: key,
storageType: self.storageType
});
}
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
removeFromCookies(key);
}
}
}
};
// Return array of keys for local storage
// Example use: var keys = localStorageService.keys()
var getKeysForLocalStorage = function (type) {
setStorageType(type);
if (!browserSupportsLocalStorage) {
$rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED');
return [];
}
var prefixLength = prefix.length;
var keys = [];
for (var key in webStorage) {
// Only return keys that are for this app
if (key.substr(0, prefixLength) === prefix) {
try {
keys.push(key.substr(prefixLength));
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.Description);
return [];
}
}
}
return keys;
};
// Remove all data for this app from local storage
// Also optionally takes a regular expression string and removes the matching key-value pairs
// Example use: localStorageService.clearAll();
// Should be used mostly for development purposes
var clearAllFromLocalStorage = function (regularExpression, type) {
setStorageType(type);
// Setting both regular expressions independently
// Empty strings result in catchall RegExp
var prefixRegex = !!prefix ? new RegExp('^' + prefix) : new RegExp();
var testRegex = !!regularExpression ? new RegExp(regularExpression) : new RegExp();
if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') {
if (!browserSupportsLocalStorage) {
$rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED');
}
return clearAllFromCookies();
}
if (!browserSupportsLocalStorage && !self.defaultToCookie)
return false;
var prefixLength = prefix.length;
for (var key in webStorage) {
// Only remove items that are for this app and match the regular expression
if (prefixRegex.test(key) && testRegex.test(key.substr(prefixLength))) {
try {
removeFromLocalStorage(key.substr(prefixLength));
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
return clearAllFromCookies();
}
}
}
return true;
};
// Checks the browser to see if cookies are supported
var browserSupportsCookies = (function() {
try {
return $window.navigator.cookieEnabled ||
("cookie" in $document && ($document.cookie.length > 0 ||
($document.cookie = "test").indexOf.call($document.cookie, "test") > -1));
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
return false;
}
}());
// Directly adds a value to cookies
// Typically used as a fallback if local storage is not available in the browser
// Example use: localStorageService.cookie.add('library','angular');
var addToCookies = function (key, value, daysToExpiry, secure) {
if (isUndefined(value)) {
return false;
} else if(isArray(value) || isObject(value)) {
value = toJson(value);
}
if (!browserSupportsCookies) {
$rootScope.$broadcast('LocalStorageModule.notification.error', 'COOKIES_NOT_SUPPORTED');
return false;
}
try {
var expiry = '',
expiryDate = new Date(),
cookieDomain = '';
if (value === null) {
// Mark that the cookie has expired one day ago
expiryDate.setTime(expiryDate.getTime() + (-1 * 24 * 60 * 60 * 1000));
expiry = "; expires=" + expiryDate.toGMTString();
value = '';
} else if (isNumber(daysToExpiry) && daysToExpiry !== 0) {
expiryDate.setTime(expiryDate.getTime() + (daysToExpiry * 24 * 60 * 60 * 1000));
expiry = "; expires=" + expiryDate.toGMTString();
} else if (cookie.expiry !== 0) {
expiryDate.setTime(expiryDate.getTime() + (cookie.expiry * 24 * 60 * 60 * 1000));
expiry = "; expires=" + expiryDate.toGMTString();
}
if (!!key) {
var cookiePath = "; path=" + cookie.path;
if (cookie.domain) {
cookieDomain = "; domain=" + cookie.domain;
}
/* Providing the secure parameter always takes precedence over config
* (allows developer to mix and match secure + non-secure) */
if (typeof secure === 'boolean') {
if (secure === true) {
/* We've explicitly specified secure,
* add the secure attribute to the cookie (after domain) */
cookieDomain += "; secure";
}
// else - secure has been supplied but isn't true - so don't set secure flag, regardless of what config says
}
else if (cookie.secure === true) {
// secure parameter wasn't specified, get default from config
cookieDomain += "; secure";
}
$document.cookie = deriveQualifiedKey(key) + "=" + encodeURIComponent(value) + expiry + cookiePath + cookieDomain;
}
} catch (e) {
$rootScope.$broadcast('LocalStorageModule.notification.error', e.message);
return false;
}
return true;
};
// Directly get a value from a cookie
// Example use: localStorageService.cookie.get('library'); // returns 'angular'
var getFromCookies = function (key) {
if (!browserSupportsCookies) {
$rootScope.$broadcast('LocalStorageModule.notification.error', 'COOKIES_NOT_SUPPORTED');
return false;
}
var cookies = $document.cookie && $document.cookie.split(';') || [];
for(var i=0; i < cookies.length; i++) {
var thisCookie = cookies[i];
while (thisCookie.charAt(0) === ' ') {
thisCookie = thisCookie.substring(1,thisCookie.length);
}
if (thisCookie.indexOf(deriveQualifiedKey(key) + '=') === 0) {
var storedValues = decodeURIComponent(thisCookie.substring(prefix.length + key.length + 1, thisCookie.length));
try {
return JSON.parse(storedValues);
} catch(e) {
return storedValues;
}
}
}
return null;
};
var removeFromCookies = function (key) {
addToCookies(key,null);
};
var clearAllFromCookies = function () {
var thisCookie = null;
var prefixLength = prefix.length;
var cookies = $document.cookie.split(';');
for(var i = 0; i < cookies.length; i++) {
thisCookie = cookies[i];
while (thisCookie.charAt(0) === ' ') {
thisCookie = thisCookie.substring(1, thisCookie.length);
}
var key = thisCookie.substring(prefixLength, thisCookie.indexOf('='));
removeFromCookies(key);
}
};
var getStorageType = function() {
return storageType;
};
var setStorageType = function(type) {
if (type && storageType !== type) {
storageType = type;
browserSupportsLocalStorage = checkSupport();
}
return browserSupportsLocalStorage;
};
// Add a listener on scope variable to save its changes to local storage
// Return a function which when called cancels binding
var bindToScope = function(scope, key, def, lsKey, type) {
lsKey = lsKey || key;
var value = getFromLocalStorage(lsKey, type);
if (value === null && isDefined(def)) {
value = def;
} else if (isObject(value) && isObject(def)) {
value = extend(value, def);
}
$parse(key).assign(scope, value);
return scope.$watch(key, function(newVal) {
addToLocalStorage(lsKey, newVal, type);
}, isObject(scope[key]));
};
// Add listener to local storage, for update callbacks.
if (browserSupportsLocalStorage) {
if ($window.addEventListener) {
$window.addEventListener("storage", handleStorageChangeCallback, false);
$rootScope.$on('$destroy', function() {
$window.removeEventListener("storage", handleStorageChangeCallback);
});
} else if($window.attachEvent){
// attachEvent and detachEvent are proprietary to IE v6-10
$window.attachEvent("onstorage", handleStorageChangeCallback);
$rootScope.$on('$destroy', function() {
$window.detachEvent("onstorage", handleStorageChangeCallback);
});
}
}
// Callback handler for storage changed.
function handleStorageChangeCallback(e) {
if (!e) { e = $window.event; }
if (notify.setItem) {
if (isKeyPrefixOurs(e.key)) {
var key = underiveQualifiedKey(e.key);
// Use timeout, to avoid using $rootScope.$apply.
$timeout(function () {
$rootScope.$broadcast('LocalStorageModule.notification.changed', { key: key, newvalue: e.newValue, storageType: self.storageType });
});
}
}
}
// Return localStorageService.length
// ignore keys that not owned
var lengthOfLocalStorage = function(type) {
setStorageType(type);
var count = 0;
var storage = $window[storageType];
for(var i = 0; i < storage.length; i++) {
if(storage.key(i).indexOf(prefix) === 0 ) {
count++;
}
}
return count;
};
return {
isSupported: browserSupportsLocalStorage,
getStorageType: getStorageType,
setStorageType: setStorageType,
set: addToLocalStorage,
add: addToLocalStorage, //DEPRECATED
get: getFromLocalStorage,
keys: getKeysForLocalStorage,
remove: removeFromLocalStorage,
clearAll: clearAllFromLocalStorage,
bind: bindToScope,
deriveKey: deriveQualifiedKey,
underiveKey: underiveQualifiedKey,
length: lengthOfLocalStorage,
defaultToCookie: this.defaultToCookie,
cookie: {
isSupported: browserSupportsCookies,
set: addToCookies,
add: addToCookies, //DEPRECATED
get: getFromCookies,
remove: removeFromCookies,
clearAll: clearAllFromCookies
}
};
}];
});
})(window, window.angular);

View File

@@ -1,5 +1,4 @@
window.OFNShared = angular.module("OFNShared", [
"mm.foundation",
"LocalStorageModule"
]).config ($httpProvider) ->
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"

View File

@@ -1,3 +1,3 @@
%li{ ng: { class: "{active: selector.active}" } }
%a{ "tooltip" => "{{selector.object.value}}", "tooltip-placement" => "bottom",
ng: { transclude: true, class: "{active: selector.active, 'has-tip': selector.object.value}" } }
- # NOTE: make sure that any changes in this template are reflected in app/views/admin/products_v3/product_preview.turbo_stream.haml
%li{ "ng-class": "{active: selector.active}" }
%a{ tooltip: "{{selector.object.value}}", "tooltip-placement": "bottom", "ng-transclude": true, "ng-class": "{active: selector.active, 'has-tip': selector.object.value}" }

View File

@@ -1,8 +1,8 @@
.sixteen.columns.alpha.omega.alert-row{ ng: { show: '!dismissed' } }
.sixteen.columns.alpha.omega.alert-row{ "ng-show": '!dismissed' }
.fifteen.columns.pad.alpha
%span.message.text-big{ ng: { bind: 'message'} }
%span.message.text-big{ "ng-bind": 'message' }
&nbsp;&nbsp;&nbsp;
%input{ type: 'button', ng: { value: "buttonText", show: 'buttonText && buttonAction', click: "buttonAction()" } }
%input{ type: 'button', "ng-value": "buttonText", "ng-show": 'buttonText && buttonAction', "ng-click": "buttonAction()" }
.one.column.omega.pad.text-center
%a.close{ href: "#", ng: { click: "dismiss()" } }
%a.close{ href: "#", "ng-click": "dismiss()" }
&times;

View File

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

View File

@@ -1,8 +1,8 @@
#confirm-dialog{ ng: { class: "dialog_class" } }
#confirm-dialog{ "ng-class": "dialog_class" }
.message.clearfix.margin-bottom-30
.icon.text-center
%i.icon-question-sign
.text{ ng: { bind: "::message" } }
.text{ "ng-bind": "::message" }
.action-buttons.text-center
%button.cancel{ ng: { click: "close()", bind: "::cancelText" } }
%button.confirm.red{ ng: { click: "confirm()", bind: "::confirmText" } }
%button.cancel{ "ng-click": "close()", "ng-bind": "::cancelText" }
%button.confirm.red{ "ng-click": "confirm()", "ng-bind": "::confirmText" }

View File

@@ -1,12 +1,12 @@
#edit-address-dialog
%h2 {{ addressType === 'bill_address' ? "#{t('admin.customers.index.edit_bill_address')}" : "#{t('admin.customers.index.edit_ship_address')}" }}
%form{ name: 'edit_address_form', novalidate: true, ng: { submit: 'updateAddress()'}}
%form{ name: 'edit_address_form', novalidate: true, "ng-submit": 'updateAddress()' }
.row
{{ 'admin.customers.index.required_fileds' | t }}
(
%span.required *
)
.error{ ng: { repeat: "error in errors", bind: "error" } }
.error{ "ng-repeat": "error in errors", "ng-bind": "error" }
%table.no-borders
%tr
@@ -14,61 +14,55 @@
{{ 'first_name' | t }}
%span.required *
%td
%input{ type: 'text', name: 'firstname', required: true, ng: { model: 'address.firstname'} }
%input{ type: 'text', name: 'firstname', required: true, "ng-model": 'address.firstname' }
%tr
%td
{{ 'last_name' | t }}
%span.required *
%td
%input{ type: 'text', name: 'lastname', required: true, ng: { model: 'address.lastname'} }
%input{ type: 'text', name: 'lastname', required: true, "ng-model": 'address.lastname' }
%tr
%td
{{ 'address' | t }}
%span.required *
%td
%input{ type: 'text', name: 'address1', required: true, ng: { model: 'address.address1'} }
%input{ type: 'text', name: 'address1', required: true, "ng-model": 'address.address1' }
%tr
%td
{{ 'address2' | t }}
%td
%input{ type: 'text', name: 'address2', ng: { model: 'address.address2'} }
%input{ type: 'text', name: 'address2', "ng-model": 'address.address2' }
%tr
%td
{{ 'city' | t }}
%span.required *
%td
%input{ type: 'text', name: 'city', required: true, ng: { model: 'address.city'} }
%input{ type: 'text', name: 'city', required: true, "ng-model": 'address.city' }
%tr
%td
{{ 'postcode' | t }}
%span.required *
%td
%input{ type: 'text', name: 'zipcode', required: true, ng: { model: 'address.zipcode'} }
%input{ type: 'text', name: 'zipcode', required: true, "ng-model": 'address.zipcode' }
%tr
%td
{{ 'country' | t }}
%span.required *
%td
%input.ofn-select2.fullwidth#country_id{ type: 'number',
name: 'country_id', required: true,
placeholder: "{{ 'admin.customers.index.select_country' | t }}",
data: 'availableCountries', ng: { model: 'address.country_id' } }
%input.ofn-select2.fullwidth#country_id{ type: 'number', name: 'country_id', required: true, placeholder: "{{ 'admin.customers.index.select_country' | t }}", data: 'availableCountries', "ng-model": 'address.country_id' }
%tr
%td
{{ 'state' | t }}
%span.required *
%td
%input.ofn-select2.fullwidth#state_id{ type: 'number',
name: 'state_id', required: true,
placeholder: "{{ 'admin.customers.index.select_state' | t }}",
data: 'states', ng: { model: 'address.state_id' } }
%input.ofn-select2.fullwidth#state_id{ type: 'number', name: 'state_id', required: true, placeholder: "{{ 'admin.customers.index.select_state' | t }}", data: 'states', "ng-model": 'address.state_id' }
%tr
%td
{{ 'phone' | t }}
%span.required *
%td
%input{ type: 'text', name: 'phone', required: true, ng: { model: 'address.phone'} }
%input{ type: 'text', name: 'phone', required: true, "ng-model": 'address.phone' }
.text-center
%input.button.red.icon-plus{ type: 'submit', value: t('admin.customers.index.update_address')}

View File

@@ -1,9 +1,9 @@
#info-dialog{ ng: { class: "dialog_class" } }
#info-dialog{ "ng-class": "dialog_class" }
.message.clearfix.margin-bottom-30
.icon.text-center
%i{ ng: { class: "icon_class" } }
%i{ "ng-class": "icon_class" }
.text
{{ message }}
.action-buttons.text-center
%button{ ng: { click: "close()" } }
%button{ "ng-click": "close()" }
= t(:ok)

View File

@@ -1,15 +1,15 @@
%h4.modal-title
= t('js.admin.orders.index.compiling_invoices')
%p.message{ ng: { show: 'message' } }
%p.message{ "ng-show": 'message' }
{{message}}
%p.error{ ng: { show: 'error' } }
%p.error{ "ng-show": 'error' }
{{error}}
%img.spinner{ src: image_path("/spinning-circles.svg"), ng: { show: "loading" } }
%p{ ng: { show: "loading" } }
%img.spinner{ src: image_path("/spinning-circles.svg"), "ng-show": "loading" }
%p{ "ng-show": "loading" }
= t('js.admin.orders.index.please_wait')
%a.button{ target: '_blank', ng: { click: 'showBulkInvoice()', href: '/admin/orders/invoices/{{invoice_id}}', show: "!loading && !error" } }
%a.button{ target: '_blank', "ng-click": 'showBulkInvoice()', "ng-href": '/admin/orders/invoices/{{invoice_id}}', "ng-show": "!loading && !error" }
= t('js.admin.orders.index.view_file')

View File

@@ -1,10 +1,10 @@
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.fa.fa-times-circle{'aria-hidden' => "true"}
%form#image_upload{ name: 'form', novalidate: true, enctype: 'multipart/form-data', multipart: true, ng: { controller: "ProductImageCtrl" } }
%div.image-preview
%img.spinner{ src: image_path("/spinning-circles.svg"), ng: { hide: "!imageUploader.isUploading" }}
%img.preview{ng: {src: "{{imagePreview}}", class: "{'faded': imageUploader.isUploading}"}}
%form#image_upload{ name: 'form', novalidate: true, enctype: 'multipart/form-data', multipart: true, "ng-controller": "ProductImageCtrl" }
.image-preview
%img.spinner{ src: image_path("/spinning-circles.svg"), "ng-hide": "!imageUploader.isUploading" }
%img.preview{ "ng-src": "{{imagePreview}}", "ng-class": "{'faded': imageUploader.isUploading}" }
%label{for: 'image-upload', class: 'button'} {{ 'admin.products.index.upload_an_image' | t }}
%input#image-upload{hidden: true, type: 'file', 'nv-file-select' => true, uploader: "imageUploader"}

View File

@@ -2,14 +2,14 @@
.text-normal.margin-bottom-30.text-center
{{ 'js.admin.customers.index.add_a_new_customer_for' | t:{ shop_name: CurrentShop.shop.name } }}
%form{ name: 'new_customer_form', novalidate: true, ng: { submit: "addCustomer()" }}
%form{ name: 'new_customer_form', novalidate: true, "ng-submit": "addCustomer()" }
.text-center.margin-bottom-30
%input.fullwidth{ type: 'email', name: 'email', required: true, placeholder: "{{ 'js.admin.customers.index.customer_placeholder' | t }}", ng: { model: "email" } }
%div{ ng: { show: "submitted && new_customer_form.$pristine" } }
.error{ ng: { show: "(new_customer_form.email.$error.email || new_customer_form.email.$error.required)" } }
%input.fullwidth{ type: 'email', name: 'email', required: true, placeholder: "{{ 'js.admin.customers.index.customer_placeholder' | t }}", "ng-model": "email" }
%div{ "ng-show": "submitted && new_customer_form.$pristine" }
.error{ "ng-show": "(new_customer_form.email.$error.email || new_customer_form.email.$error.required)" }
{{ 'js.admin.customers.index.valid_email_error' | t }}
.error{ ng: { repeat: "error in errors", bind: "error" } }
.error{ "ng-repeat": "error in errors", "ng-bind": "error" }
.text-center
%input.button.red.icon-plus{ type: 'submit', value: "{{ 'js.admin.customers.index.add_customer' | t }}" }

View File

@@ -4,7 +4,7 @@
.text-center.margin-bottom-30
-# %select.fullwidth{ 'select2-min-search' => 5, 'ng-model' => 'newRuleType', 'ng-options' => 'ruleType.id as ruleType.name for ruleType in availableRuleTypes' }
%input.ofn-select2.fullwidth{ :id => 'rule_type_selector', ng: { model: "ruleType" }, data: "ruleTypes", 'min-search' => "5" }
%input.ofn-select2.fullwidth{ id: 'rule_type_selector', data: "ruleTypes", "min-search": "5", "ng-model": "ruleType" }
.text-center
%input.button.red.icon-plus{ type: 'button', value: "{{ 'js.admin.new_tag_rule_dialog.add_rule' | t }}", ng: { click: 'addRule(tagGroup, ruleType)' } }
%input.button.red.icon-plus{ type: 'button', value: "{{ 'js.admin.new_tag_rule_dialog.add_rule' | t }}", "ng-click": 'addRule(tagGroup, ruleType)' }

View File

@@ -3,16 +3,16 @@
%td#available-order-cycles
{{ 'js.admin.order_cycles.schedules.available' | t }}
.order-cycles
.order-cycle{ ng: { repeat: 'orderCycle in orderCycles | available:selectedOrderCycles as availableOrderCycles', click: 'selections.available = orderCycle', dblclick: 'add(orderCycle)', class: '{selected: selections.available == orderCycle}' } }
.order-cycle{ "ng-repeat": 'orderCycle in orderCycles | available:selectedOrderCycles as availableOrderCycles', "ng-click": 'selections.available = orderCycle', "ng-dblclick": 'add(orderCycle)', "ng-class": '{selected: selections.available == orderCycle}' }
{{ orderCycle.name }}
%td#add-remove-buttons
%a.add.button{ href: 'javascript:void(0)', ng: { click: 'add()' } }
%a.add.button{ href: 'javascript:void(0)', "ng-click": 'add()' }
%i.icon-chevron-right
%a.remove.button{ href: 'javascript:void(0)', ng: { click: 'remove()' } }
%a.remove.button{ href: 'javascript:void(0)', "ng-click": 'remove()' }
%i.icon-chevron-left
%td#selected-order-cycles
{{ 'js.admin.order_cycles.schedules.selected' | t }}
.order-cycles
.order-cycle{ ng: { repeat: 'orderCycle in selectedOrderCycles', click: 'selections.selected = orderCycle', dblclick: 'remove(orderCycle)', class: '{selected: selections.selected == orderCycle}' } }
.order-cycle{ "ng-repeat": 'orderCycle in selectedOrderCycles', "ng-click": 'selections.selected = orderCycle', "ng-dblclick": 'remove(orderCycle)', "ng-class": '{selected: selections.selected == orderCycle}' }
{{ orderCycle.name }}
.error{ ng: { repeat: "error in errors", bind: "error" } }
.error{ "ng-repeat": "error in errors", "ng-bind": "error" }

View File

@@ -1,2 +1,2 @@
%td{ colspan: "{{columnCount}}", ng: { if: "template" } }
.panel{ ng: { include: "template" } }
%td{ colspan: "{{columnCount}}", "ng-if": "template" }
.panel{ "ng-include": "template" }

View File

@@ -1,7 +1,7 @@
.row.enterprise_package_panel{ ng: { controller: 'indexPackagePanelCtrl' } }
.row.enterprise_package_panel{ "ng-controller": 'indexPackagePanelCtrl' }
.alpha.eight.columns
%div{ ng: { if: "!enterprise.is_primary_producer", switch: "enterprise.sells" } }
.info{ ng: { switch: { when: "none" } } }
%div{ "ng-if": "!enterprise.is_primary_producer", "ng-switch": "enterprise.sells" }
.info{ "ng-switch-when": "none" }
%h3
{{ 'js.admin.panels.enterprise_package.hub_profile' | t }}
@@ -15,7 +15,7 @@
%p
{{ 'js.admin.panels.enterprise_package.hub_profile_text2' | t }}
.info{ ng: { switch: { when: "any" } } }
.info{ "ng-switch-when": "any" }
%h3
{{ 'js.admin.panels.enterprise_package.hub_shop' | t }}
@@ -28,7 +28,7 @@
%p
{{ 'js.admin.panels.enterprise_package.hub_shop_text3' | t }}
.info{ ng: { switch: { default: true } } }
.info{ "ng-switch-default": true }
%h3
{{ 'js.admin.panels.enterprise_package.choose_package' | t }}
%i.icon-arrow-right
@@ -40,8 +40,8 @@
%p
{{ 'js.admin.panels.enterprise_package.choose_package_text2' | t }}
%div{ ng: { if: "enterprise.is_primary_producer", switch: "enterprise.sells" } }
.info{ ng: { switch: { when: "none" } } }
%div{ "ng-if": "enterprise.is_primary_producer", "ng-switch": "enterprise.sells" }
.info{ "ng-switch-when": "none" }
%h3
{{ 'js.admin.panels.enterprise_package.profile_only' | t }}
@@ -58,7 +58,7 @@
%p
{{ 'js.admin.panels.enterprise_package.profile_only_text3' | t }}
.info{ ng: { switch: { when: "own" } } }
.info{ "ng-switch-when": "own" }
%h3
{{ 'js.admin.panels.enterprise_package.producer_shop' | t }}
@@ -68,7 +68,7 @@
%p
{{ 'js.admin.panels.enterprise_package.producer_shop_text2' | t }}
.info{ ng: { switch: { when: "any" } } }
.info{ "ng-switch-when": "any" }
%h3
{{ 'js.admin.panels.enterprise_package.producer_hub' | t }}
@@ -81,7 +81,7 @@
%p
{{ 'js.admin.panels.enterprise_package.producer_hub_text3' | t }}
.info{ ng: { switch: { default: true } } }
.info{ "ng-switch-default": true }
%h3
{{ 'js.admin.panels.enterprise_package.choose_package' | t }}
%i.icon-arrow-right
@@ -93,9 +93,9 @@
%p
{{ 'js.admin.panels.enterprise_package.choose_package_text2' | t }}
.omega.eight.columns{ ng: { switch: "enterprise.is_primary_producer" } }
%div{ ng: { switch: { when: "false" } } }
%a.button.selector.hub-profile{ ng: { click: "enterprise.owned && (enterprise.sells='none')", class: "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" } }
.omega.eight.columns{ "ng-switch": "enterprise.is_primary_producer" }
%div{ "ng-switch-when": "false" }
%a.button.selector.hub-profile{ "ng-click": "enterprise.owned && (enterprise.sells='none')", "ng-class": "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_package.profile_only' | t }}
@@ -103,15 +103,15 @@
{{ 'js.admin.panels.enterprise_package.get_listing' | t }}
.bottom
{{ 'js.admin.panels.enterprise_package.always_free' | t }}
%a.button.selector.hub{ ng: { click: "enterprise.owned && (enterprise.sells='any')", class: "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" } }
%a.button.selector.hub{ "ng-click": "enterprise.owned && (enterprise.sells='any')", "ng-class": "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_package.hub_shop' | t }}
%p
{{ 'js.admin.panels.enterprise_package.sell_produce_others' | t }}
%div{ ng: { switch: { when: "true" } } }
%a.button.selector.producer-profile{ ng: { click: "enterprise.owned && (enterprise.sells='none')", class: "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" } }
%div{ "ng-switch-when": "true" }
%a.button.selector.producer-profile{ "ng-click": "enterprise.owned && (enterprise.sells='none')", "ng-class": "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_package.profile_only' | t }}
@@ -119,27 +119,27 @@
{{ 'js.admin.panels.enterprise_package.get_listing' | t }}
.bottom
{{ 'js.admin.panels.enterprise_package.always_free' | t }}
%a.button.selector.producer-shop{ ng: { click: "enterprise.owned && (enterprise.sells='own')", class: "{selected: enterprise.sells=='own', disabled: !enterprise.owned}" } }
%a.button.selector.producer-shop{ "ng-click": "enterprise.owned && (enterprise.sells='own')", "ng-class": "{selected: enterprise.sells=='own', disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_package.producer_shop' | t }}
%p
{{ 'js.admin.panels.enterprise_package.sell_own_produce' | t }}
%a.button.selector.producer-hub{ ng: { click: "enterprise.owned && (enterprise.sells='any')", class: "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" } }
%a.button.selector.producer-hub{ "ng-click": "enterprise.owned && (enterprise.sells='any')", "ng-class": "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_package.producer_hub' | t }}
%p
{{ 'js.admin.panels.enterprise_package.sell_both' | t }}
%a.button.update.fullwidth{ ng: { show: "enterprise.owned", class: "{disabled: saved() && !saving, saving: saving}", click: "save()" } }
%span{ ng: {hide: "saved() || saving" } }
%a.button.update.fullwidth{ "ng-show": "enterprise.owned", "ng-class": "{disabled: saved() && !saving, saving: saving}", "ng-click": "save()" }
%span{ "ng-hide": "saved() || saving" }
{{ 'js.admin.panels.save' | t }}
%i.icon-save
%span{ ng: {show: "saved() && !saving" } }
%span{ "ng-show": "saved() && !saving" }
{{ 'js.admin.panels.saved' | t }}
%i.icon-ok-sign
%span{ ng: {show: "saving" } }
%span{ "ng-show": "saving" }
{{ 'js.admin.panels.saving' | t }}
%i.icon-refresh

View File

@@ -1,6 +1,6 @@
.row.enterprise_producer_panel{ ng: { controller: 'indexProducerPanelCtrl' } }
.row.enterprise_producer_panel{ "ng-controller": 'indexProducerPanelCtrl' }
.alpha.eight.columns
.info{ ng: { show: "enterprise.is_primary_producer==true" } }
.info{ "ng-show": "enterprise.is_primary_producer==true" }
%h3
{{ 'js.admin.panels.enterprise_producer.producer' | t }}
%p
@@ -8,7 +8,7 @@
%p
{{ 'js.admin.panels.enterprise_producer.producer_text2' | t }}
.info{ ng: { show: "enterprise.is_primary_producer==false" } }
.info{ "ng-show": "enterprise.is_primary_producer==false" }
%h3
{{ 'js.admin.panels.enterprise_producer.non_producer' | t }}
%p
@@ -17,7 +17,7 @@
{{ 'js.admin.panels.enterprise_producer.non_producer_text2' | t }}
.omega.eight.columns
%a.button.selector.producer{ ng: { click: 'enterprise.owned && changeToProducer()', class: "{selected: enterprise.is_primary_producer==true, disabled: !enterprise.owned}" } }
%a.button.selector.producer{ "ng-click": 'enterprise.owned && changeToProducer()', "ng-class": "{selected: enterprise.is_primary_producer==true, disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_producer.producer' | t }}
@@ -26,7 +26,7 @@
.bottom
{{ 'js.admin.panels.enterprise_producer.producer_example' | t }}
%a.button.selector.non-producer{ ng: { click: 'enterprise.owned && changeToNonProducer()', class: "{selected: enterprise.is_primary_producer==false, disabled: !enterprise.owned}" } }
%a.button.selector.non-producer{ "ng-click": 'enterprise.owned && changeToNonProducer()', "ng-class": "{selected: enterprise.is_primary_producer==false, disabled: !enterprise.owned}" }
.top
%h3
{{ 'js.admin.panels.enterprise_producer.non_producer' | t }}
@@ -35,13 +35,13 @@
.bottom
{{ 'js.admin.panels.enterprise_producer.non_producer_example' | t }}
%a.button.update.fullwidth{ ng: { show: "enterprise.owned", class: "{disabled: saved() && !saving, saving: saving}", click: "save()" } }
%span{ ng: {hide: "saved() || saving" } }
%a.button.update.fullwidth{ "ng-show": "enterprise.owned", "ng-class": "{disabled: saved() && !saving, saving: saving}", "ng-click": "save()" }
%span{ "ng-hide": "saved() || saving" }
{{ 'js.admin.panels.save' | t }}
%i.icon-save
%span{ ng: {show: "saved() && !saving" } }
%span{ "ng-show": "saved() && !saving" }
{{ 'js.admin.panels.saved' | t }}
%i.icon-ok-sign
%span{ ng: {show: "saving" } }
%span{ "ng-show": "saving" }
{{ 'js.admin.panels.saving' | t }}
%i.icon-refresh

View File

@@ -1,10 +1,10 @@
.row.enterprise_status_panel{ ng: { controller: 'indexStatusPanelCtrl' } }
.row.enterprise_status_panel{ "ng-controller": 'indexStatusPanelCtrl' }
.alpha.omega.sixteen.columns
%h4.status-ok.text-center{ ng: { show: "issues.length == 0 && warnings.length == 0" } }
%h4.status-ok.text-center{ "ng-show": "issues.length == 0 && warnings.length == 0" }
%i.icon-ok-sign
{{ 'js.admin.panels.enterprise_status.status_title' | t:{ name: object.name } }}
%table{ ng: { show: "issues.length > 0 || warnings.length > 0" } }
%table{ "ng-show": "issues.length > 0 || warnings.length > 0" }
%thead
%th.severity
{{ 'js.admin.panels.enterprise_status.severity' | t }}
@@ -12,17 +12,17 @@
{{ 'js.admin.panels.enterprise_status.description' | t }}
%th.resolve
{{ 'js.admin.panels.enterprise_status.resolve' | t }}
%tr{ ng: { repeat: "issue in issues"} }
%tr{ "ng-repeat": "issue in issues" }
%td.severity
%i.icon-warning-sign.issue
%td.description
%span{ ng: { bind: "::issue.description" } }
%span{ "ng-bind": "::issue.description" }
%td.resolve
%div{ ng: { bind: { html: "issue.link" } } }
%tr{ ng: { repeat: "warning in warnings"} }
%div{ "ng-bind-html": "issue.link" }
%tr{ "ng-repeat": "warning in warnings" }
%td.severity
%i.icon-warning-sign.warning
%td.description
%span{ ng: { bind: "::warning.description" } }
%span{ "ng-bind": "::warning.description" }
%td.resolve
%div{ ng: { bind: { html: "warning.link" } } }
%div{ "ng-bind-html": "warning.link" }

View File

@@ -15,7 +15,7 @@
.exchange-product{'ng-repeat' => 'product in enterprises[exchange.enterprise_id].supplied_products | filter:visibleProducts:exchange:order_cycle.visible_variants_for_outgoing_exchanges' }
.exchange-product-details
%label
%img{'ng-src' => '{{ product.image_url }}'}
%img{'ng-src' => '{{ product.image_url }}'}
.name {{ product.name }}
.supplier {{ product.supplier_name }}

View File

@@ -1,9 +1,9 @@
#save-bar.animate-show{ ng: { show: 'dirty || persist || StatusMessage.active()' } }
#save-bar.animate-show{ "ng-show": 'dirty || persist || StatusMessage.active()' }
.container
.seven.columns.alpha
%h5#status-message{ ng: { show: "StatusMessage.invalidMessage == ''", style: 'StatusMessage.statusMessage.style' } }
%h5#status-message{ "ng-show": "StatusMessage.invalidMessage == ''", "ng-style": 'StatusMessage.statusMessage.style', data: { 'order-cycle-form-target': 'statusMessage' }, "ng-attr-data-type": "{{StatusMessage.statusMessage.type}}", "ng-attr-data-action-name": "{{StatusMessage.statusMessage.actionName}}" }
{{ StatusMessage.statusMessage.text || "&nbsp;" }}
%h5#status-message{ ng: { show: "StatusMessage.invalidMessage !== ''" }, style: 'color: #C85136' }
%h5#status-message{ style: 'color: #C85136', "ng-show": "StatusMessage.invalidMessage !== ''" }
{{ StatusMessage.invalidMessage || "&nbsp;" }}
.nine.columns.omega.text-right{ ng: { transclude: true } }
.nine.columns.omega.text-right{ "ng-transclude": true }

View File

@@ -1,24 +1,24 @@
#schedule-dialog
.text-normal.margin-bottom-30.text-center
%span{ ng: { hide: 'schedule.id' } }
%span{ "ng-hide": 'schedule.id' }
{{ 'js.admin.order_cycles.schedules.adding_a_new_schedule' | t }}
%span{ ng: { show: 'schedule.id' } }
%span{ "ng-show": 'schedule.id' }
{{ 'js.admin.order_cycles.schedules.updating_a_schedule' | t }}
%form{ name: 'schedule_form', novalidate: true, ng: { submit: "submit()" }}
%form{ name: 'schedule_form', novalidate: true, "ng-submit": "submit()" }
.text-center.margin-bottom-20
%input.fullwidth{ type: 'text', name: 'name', required: true, placeholder: "{{ 'js.admin.order_cycles.schedules.schedule_name_placeholder' | t }}", ng: { model: "schedule.name" } }
%div{ ng: { show: "submitted && schedule_form.$pristine" } }
.error{ ng: { show: "(schedule_form.name.$error.required)" } }
%input.fullwidth{ type: 'text', name: 'name', required: true, placeholder: "{{ 'js.admin.order_cycles.schedules.schedule_name_placeholder' | t }}", "ng-model": "schedule.name" }
%div{ "ng-show": "submitted && schedule_form.$pristine" }
.error{ "ng-show": "(schedule_form.name.$error.required)" }
{{ 'js.admin.order_cycles.schedules.name_required_error' | t }}
.order-cycles-selector.text-center.margin-bottom-30
.text-center
%input.button{ type: 'submit', value: "{{ 'js.admin.order_cycles.schedules.create_schedule' | t }}", ng: { hide: 'schedule.id' } }
%input.button{ type: 'submit', value: "{{ 'js.admin.order_cycles.schedules.update_schedule' | t }}", ng: { show: 'schedule.id' } }
%span{ ng: { show: 'schedule.id' } } or
%input.button.red{ type: 'button', value: "{{ 'js.admin.order_cycles.schedules.delete_schedule' | t }}", ng: { show: 'schedule.id', click: 'delete()'} }
%input.button{ type: 'button', value: "{{ 'actions.cancel' | t }}", ng: { click: 'close()' } }
%input.button{ type: 'submit', value: "{{ 'js.admin.order_cycles.schedules.create_schedule' | t }}", "ng-hide": 'schedule.id' }
%input.button{ type: 'submit', value: "{{ 'js.admin.order_cycles.schedules.update_schedule' | t }}", "ng-show": 'schedule.id' }
%span{ "ng-show": 'schedule.id' } or
%input.button.red{ type: 'button', value: "{{ 'js.admin.order_cycles.schedules.delete_schedule' | t }}", "ng-show": 'schedule.id', "ng-click": 'delete()' }
%input.button{ type: 'button', value: "{{ 'actions.cancel' | t }}", "ng-click": 'close()' }

View File

@@ -1,8 +1,8 @@
.tag-template
%div
%span.tag-with-rules{ ng: { if: "data.rules" }, "ofn-with-tip" => "{{ 'admin.tag_has_rules' | t:{num: data.rules} }}" }
%span.tag-with-rules{ "ofn-with-tip": "{{ 'admin.tag_has_rules' | t:{num: data.rules} }}", "ng-if": "data.rules" }
{{$getDisplayText()}}
%span{ ng: { if: "!data.rules" } }
%span{ "ng-if": "!data.rules" }
{{$getDisplayText()}}
%a.remove-button{ ng: {click: "$removeTag()"} }
%a.remove-button{ "ng-click": "$removeTag()" }
&#10006;

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