Compare commits

...

1668 Commits

Author SHA1 Message Date
Andy Brett
2d636c8272 Merge pull request #6546 from andrewpbrett/sca-backend
Fix #6543
2020-12-17 14:00:36 -08:00
Andy Brett
13d6d2c978 separate conditionals 🤦 2020-12-17 13:23:14 -08:00
Matt-Yorkley
1269e5f2e9 Merge pull request #6533 from andrewpbrett/sca-backend
Patch #6469: use `purchase` to charge offline for Stripe Connect
2020-12-17 17:17:14 +01:00
Andy Brett
7fc9cc9f31 test that purchase is called by SCA and Connect providers 2020-12-16 11:09:15 -08:00
Andy Brett
934f4f278e add spec to subscription confirm job 2020-12-15 12:24:38 -08:00
Andy Brett
484576d1ac add unit test for stripe connect 2020-12-15 10:30:05 -08:00
Andy Brett
cb29d05069 use purchase to charge offline for Stripe Connect 2020-12-14 11:54:03 -08:00
Pau Pérez Fabregat
c79baead84 Merge pull request #6524 from ankis17/DatePickerTranslation
Fixed Translation for DatePicker
2020-12-14 16:41:51 +01:00
Pau Pérez Fabregat
f26507b897 Merge pull request #6454 from arku/fix/signup-route
Remove /signup routes
2020-12-14 16:38:23 +01:00
Pau Pérez Fabregat
d4fc3f2118 Merge pull request #6516 from coopdevs/per-user-feature-toggles
Refactor FeatureToggle to toggle depending on user
2020-12-14 16:03:05 +01:00
Pau Pérez Fabregat
fa812364ff Merge pull request #6453 from andrewpbrett/fix-void-payment-error
fix #5829 (Voiding an initial payment (i.e. a full refund) after partially refunding the order is not possible with Stripe-SCA)
2020-12-14 09:48:41 +01:00
Pau Pérez Fabregat
9f517e1931 Merge pull request #6455 from arku/fix/tabs
Fix tab toggle
2020-12-14 09:34:05 +01:00
Luis Ramos
997b9b9a2e Merge pull request #6526 from openfoodfoundation/dependabot/bundler/combine_pdf-1.0.21
Bump combine_pdf from 1.0.16 to 1.0.21
2020-12-13 22:40:55 +00:00
dependabot[bot]
6f763e1216 Bump combine_pdf from 1.0.16 to 1.0.21
Bumps [combine_pdf](https://github.com/boazsegev/combine_pdf) from 1.0.16 to 1.0.21.
- [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.16...v1.0.21)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-12 21:17:26 +00:00
Andy Brett
92aeab2ec3 Merge pull request #6490 from openfoodfoundation/dependabot/bundler/capybara-3.15.1
Bump capybara from 2.18.0 to 3.15.1
2020-12-12 13:16:04 -08:00
Andy Brett
94d10a45a7 Merge pull request #6486 from openfoodfoundation/dependabot/bundler/factory_bot_rails-5.2.0
Bump factory_bot_rails from 4.10.0 to 5.2.0
2020-12-12 08:58:53 -08:00
Ankita Satyavarapu
377febd8d7 Fixed Translation for DatePicker 2020-12-11 22:52:22 -05:00
Luis Ramos
1ea775cffb Keep factory bot v4 behaviour
In v5 the default value is true, that means that all parent objects (for example the order od a line item) will be built using the same strategy as the object (build or create), in v4 and now with this config, the parent is always created

We can revert this and use the default value but that will require some adaptions, quite a lot of specs are broken with that behaviour activated
2020-12-12 00:23:24 +00:00
Luis Ramos
367622cea8 Capybara v3 is not cleaning up the html into text so the permissions that are inside html li elements are not matched with the matcher have_table_row when there are multiple permissions. So, in this case, we need to do the work ourselves: looking up the correct row and then asserting the permissions are the ones required 2020-12-12 00:07:33 +00:00
Luis Ramos
ada25fa2b2 Improve stripe spec
I am not sure why this was passing without these stubbed requests for
the second order, but now they were correctly failing. This commit fixes
the spec.
2020-12-11 23:15:08 +00:00
Luis Ramos
480dfdf961 Handle redirect case
For some reason the process is now working correctly, the authorization step succeeds and a redirect link is stored in the payment with state pending. The payment state is correctly left at pending. Here we add a check for the redirect path sent by stripe and fail the authorization if there is one (it means the payment would need an extra auth step only available in the frontoffice now and probably through email to customer at some point in the future). For some reason the flash with the authorization failure message is not showing up for the user
2020-12-11 23:14:23 +00:00
Andy Brett
a745fceb53 Merge pull request #6469 from andrewpbrett/sca-backend
Allow SCA cards to be setup and charged offline for subscriptions
2020-12-11 14:23:12 -08:00
Pau Perez
182f0f66b6 Refactor FeatureToggle to toggle depending on user
This enables showing features to individual users only, which enables us
to deploy features that are not yet released to gather feedback from
product and testing, while no users have access to it.
2020-12-11 09:13:07 +01:00
Luis Ramos
62715a8060 Adapt matcher to capybara v3 2020-12-11 00:21:46 +00:00
Luis Ramos
26165cc08d Adapt matcher to capybara v3 2020-12-11 00:20:58 +00:00
Luis Ramos
f19946af8d Remove unnecessary test step that is breaking in capybara v3 2020-12-11 00:16:31 +00:00
Luis Ramos
c92e8de51f Adapt matchers to capybara v3 2020-12-11 00:13:46 +00:00
Luis Ramos
ed4a7bd361 Adapt matchers to capybara v3 2020-12-11 00:09:34 +00:00
Luis Ramos
6d37a15488 Adapt matchers to capybara v3 2020-12-11 00:02:22 +00:00
Luis Ramos
79c538fad9 Fix syntax for nil property 2020-12-10 23:44:24 +00:00
Luis Ramos
b287d67f6b Adapt matchers to capybara v3 2020-12-10 23:36:40 +00:00
Luis Ramos
5ae955c27f Adapt matchers to capybara v3 2020-12-10 23:35:34 +00:00
Luis Ramos
fd5adab0d5 Adapt matchers to capybara v3 2020-12-10 23:27:56 +00:00
Luis Ramos
773f733c8e Adapt matchers to capybara v3 2020-12-10 23:05:15 +00:00
Luis Ramos
80e59a920e Adpat matcher to capybara v3 2020-12-10 23:01:01 +00:00
Luis Ramos
b58fddf098 Adapt matcher to capybara v3 2020-12-10 22:59:37 +00:00
Luis Ramos
bcf7cc1013 Replace ignore with transient according to changes in factory bot v5 2020-12-10 22:16:17 +00:00
Andy Brett
3b7313f7e3 add spec for deleting the default card 2020-12-10 12:31:58 -08:00
Andy Brett
3daccb6420 update specs with new method signature 2020-12-10 12:17:55 -08:00
Andy Brett
655512adab add missing require statements 2020-12-10 12:17:42 -08:00
Andy Brett
f50577b489 refactor cloner to use ivars 2020-12-10 11:42:28 -08:00
Andy Brett
a1f6fe5522 remove unused method now that we use autopaging 2020-12-10 11:22:14 -08:00
Andy Brett
8c747e4812 refactor destroy_clones to separate class 2020-12-10 11:22:02 -08:00
Andy Brett
4c25edd91c refactor find_cloned_card to separate class 2020-12-10 11:04:27 -08:00
Andy Brett
0ac248f03a refactor offline payment methods 2020-12-10 10:26:38 -08:00
Andy Brett
13b95f41bb use built-in auto_paging_each with stripe 2020-12-10 08:19:41 -08:00
Andy Brett
50e87a023b rename method to validate! since it can raise an error 2020-12-10 07:45:07 -08:00
Pau Pérez Fabregat
b4b4d38d3b Merge pull request #6509 from mkllnk/image-tweaks
Image code tweaks
2020-12-10 12:50:18 +01:00
Pau Pérez Fabregat
3bf58b5b7c Merge pull request #6503 from openfoodfoundation/dependabot/bundler/delayed_job_active_record-4.1.5
Bump delayed_job_active_record from 4.1.4 to 4.1.5
2020-12-10 12:33:41 +01:00
Maikel Linke
3f6288d5c7 Load rake task under test for all its specs
If you ran only the second spec without the first, the rake file wasn't
loaded and the test failed.
2020-12-10 15:35:05 +11:00
Maikel Linke
6bf041aa74 Reduce complexity 2020-12-10 15:33:34 +11:00
Maikel Linke
e6c411684f Don't fail on missing images when resizing
The changed code obtains the image dimensions when you first upload an
image. Unfortunately it's also triggered when thumbnails are refreshed.
That doesn't change the size of the original image though.
2020-12-10 15:32:43 +11:00
Luis Ramos
465d2d2f1c Remove unused dependency 2020-12-09 18:35:44 -08:00
Maikel Linke
edf9dd7921 Update translations from Transifex 2020-12-10 13:34:05 +11:00
Maikel
5ca10d5cd1 Merge pull request #6465 from openfoodfoundation/transifex
Transifex
2020-12-10 13:29:12 +11:00
Maikel
33d220e777 Merge pull request #6291 from luisramos0/subs_tasks
Add tasks to help manually test subscriptions
2020-12-10 12:55:59 +11:00
Luis Ramos
9728b088f9 Fix syntax for nil properties 2020-12-09 23:38:16 +00:00
dependabot[bot]
c033fe70e7 Bump delayed_job_active_record from 4.1.4 to 4.1.5
Bumps [delayed_job_active_record](https://github.com/collectiveidea/delayed_job_active_record) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/collectiveidea/delayed_job_active_record/releases)
- [Commits](https://github.com/collectiveidea/delayed_job_active_record/compare/v4.1.4...v4.1.5)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-09 23:28:46 +00:00
Luis Ramos
c17998774e Adapt factories to factory_bot_rails v5 syntax 2020-12-09 23:09:33 +00:00
Andy Brett
de786982dd bump karma coffee preprocessor 2020-12-09 12:31:36 -08:00
dependabot[bot]
9b6702946c Bump moment from 2.28.0 to 2.29.1
Bumps [moment](https://github.com/moment/moment) from 2.28.0 to 2.29.1.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.28.0...2.29.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-09 11:40:06 -08:00
Transifex-Openfoodnetwork
7c6621a49b Updating translations for config/locales/en_FR.yml 2020-12-10 00:36:39 +11:00
Transifex-Openfoodnetwork
134c63f353 Updating translations for config/locales/en_FR.yml 2020-12-10 00:33:37 +11:00
Transifex-Openfoodnetwork
1d64230d4b Updating translations for config/locales/fr.yml 2020-12-10 00:31:44 +11:00
Transifex-Openfoodnetwork
8f796de35b Updating translations for config/locales/ar.yml 2020-12-10 00:03:43 +11:00
Transifex-Openfoodnetwork
b4a43e0554 Updating translations for config/locales/ar.yml 2020-12-10 00:00:34 +11:00
dependabot[bot]
f2c37ef64d Bump karma-chrome-launcher from 2.2.0 to 3.1.0
Bumps [karma-chrome-launcher](https://github.com/karma-runner/karma-chrome-launcher) from 2.2.0 to 3.1.0.
- [Release notes](https://github.com/karma-runner/karma-chrome-launcher/releases)
- [Changelog](https://github.com/karma-runner/karma-chrome-launcher/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma-chrome-launcher/compare/v2.2.0...v3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 17:58:00 -08:00
dependabot[bot]
f45d348dd7 Bump ddtrace from 0.42.0 to 0.43.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.42.0 to 0.43.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 17:56:37 -08:00
dependabot-preview[bot]
351d694c13 Bump haml from 5.2.0 to 5.2.1
Bumps [haml](https://github.com/haml/haml) from 5.2.0 to 5.2.1.
- [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.0...5.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 17:53:03 -08:00
Andy Brett
22ef9a0fef fix long line 2020-12-08 14:37:16 -08:00
Andy Brett
7a03882314 re-refactor cart_service 2020-12-08 14:37:16 -08:00
Andy Brett
b713bd7aa7 spec updates 2020-12-08 14:37:16 -08:00
Andy Brett
c70ea44091 show specific error message when add-to-cart fails 2020-12-08 14:37:16 -08:00
Luis Ramos
7a27741cf5 Remove unnecessary capybara version control in Gemfile 2020-12-08 22:15:54 +00:00
dependabot[bot]
2a3176f7f5 Bump capybara from 2.18.0 to 3.15.1
Bumps [capybara](https://github.com/teamcapybara/capybara) from 2.18.0 to 3.15.1.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/2.18.0...3.15.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 21:24:15 +00:00
dependabot[bot]
5c65f9bf55 Bump factory_bot_rails from 4.10.0 to 5.2.0
Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 4.10.0 to 5.2.0.
- [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases)
- [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/master/NEWS.md)
- [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v4.10.0...v5.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-08 20:24:41 +00:00
Luis Ramos
0824f12472 Merge pull request #6472 from luisramos0/depen
Fix dependabot config
2020-12-08 20:02:26 +00:00
Luis Ramos
ab6f6c463a Fix problem in dependabot config, yarn is not a valid package-ecosystem, we can try npm 2020-12-08 20:00:19 +00:00
Luis Ramos
e2181960bc Merge pull request #6450 from openfoodfoundation/dependabot/bundler/knapsack-1.20.0
Bump knapsack from 1.19.0 to 1.20.0
2020-12-08 19:39:13 +00:00
Luis Ramos
e8ba16cb3e Merge pull request #6457 from openfoodfoundation/dependabot/bundler/spring-2.0.2
Bump spring from 1.7.2 to 2.0.2
2020-12-08 19:38:55 +00:00
Luis Ramos
c233052ec6 Merge pull request #6438 from luisramos0/devise4
Upgrade to devise 4.7
2020-12-08 17:19:13 +00:00
Andy Brett
d55343da1a only return gateway payment info if set on customer 2020-12-08 07:52:42 -08:00
Andy Brett
eddf8da107 update subscription spec with new method name 2020-12-08 07:52:42 -08:00
Andy Brett
3a8203094a refactor to remove boolean flag param 2020-12-08 07:52:42 -08:00
Andy Brett
f1d439870e use a named argument for offline param 2020-12-08 07:52:42 -08:00
Andy Brett
103366ea97 add request limits to credit card cloner 2020-12-08 07:52:42 -08:00
Andy Brett
9c544ef2f4 remove cloned cards after removing the platform card 2020-12-08 07:52:42 -08:00
Andy Brett
bc3fd8c50c remove unused method 2020-12-08 07:52:42 -08:00
Andy Brett
277d7f44b7 refactor api customers controller; resolve merge conflict 2020-12-08 07:52:42 -08:00
Andy Brett
a466886a32 fix rubocop warnings 2020-12-08 07:52:42 -08:00
Andy Brett
3d47ad7e33 add stubs for stripe requests 2020-12-08 07:52:42 -08:00
Andy Brett
fea7576ac1 update CreditCardCloner to find existing clone 2020-12-08 07:52:42 -08:00
Andy Brett
13ab25ac45 separate method for charging offline 2020-12-08 07:52:41 -08:00
Andy Brett
cad8a018f9 put SetupIntent on the connected Stripe account 2020-12-08 07:52:41 -08:00
Andy Brett
215d1bbe20 create js setup intent when authing shop 2020-12-08 07:52:41 -08:00
Andy Brett
b517d2f0c7 guard against a stripe customer already being deleted 2020-12-08 07:52:41 -08:00
Andy Brett
cc00f24569 add spec for clearing authorizations to credit_card_controller_spec 2020-12-08 07:46:10 -08:00
Andy Brett
d0098e190f close #4175 2020-12-08 07:46:10 -08:00
Andy Brett
1f8b4e05bb allow charges in subscriptions spec 2020-12-08 07:46:10 -08:00
Andy Brett
f875e406a8 update karma specs for setting default card 2020-12-08 07:46:10 -08:00
Andy Brett
3b44c8e7e2 update UI after changing default card 2020-12-08 07:46:10 -08:00
Andy Brett
6fdcd6218d add remove_shop_authorizations method to controller 2020-12-08 07:46:10 -08:00
Andy Brett
c60dcc75cd confirm changes to default card 2020-12-08 07:46:10 -08:00
Andy Brett
4cdc1993b8 add more specific copy on cc authorization 2020-12-08 07:46:10 -08:00
Andy Brett
747345ece9 only show authorized shops if there is a default card 2020-12-08 07:46:10 -08:00
Maikel Linke
84730577da Fail with better message when giving wrong OC id
The script was failing with:

  NoMethodError: undefined method `update!' for nil:NilClass

Now it's failing with:

  ActiveRecord::RecordNotFound: Couldn't find OrderCycle with id=1
2020-12-08 11:48:34 +11:00
Maikel Linke
906dbffb29 Fail loudly when task doesn't work 2020-12-08 11:43:21 +11:00
Maikel Linke
aa8df639c4 Style to avoid indent changes with context changes
When the indent of arguments is aligned with the method brackets, it
needs to be changed when the method changes. Putting all arguments on
their own line makes diffs of method changes or argument changes
clearer. See the next commit.
2020-12-08 11:38:50 +11:00
Maikel Linke
70d1888cc2 Ease reading of times 2020-12-08 11:36:15 +11:00
Maikel Linke
feb0ad452d Safeguard production env from test script 2020-12-08 11:33:37 +11:00
Andy Brett
e866e983f6 add spec for partially refunded SCA orders 2020-12-07 14:51:47 -08:00
Transifex-Openfoodnetwork
33916cfff3 Updating translations for config/locales/nb.yml 2020-12-08 08:21:50 +11:00
Transifex-Openfoodnetwork
9333a6385e Updating translations for config/locales/nb.yml 2020-12-08 08:00:43 +11:00
Transifex-Openfoodnetwork
c37bd8e911 Updating translations for config/locales/nb.yml 2020-12-08 07:40:37 +11:00
Andy Brett
96462325d2 fix #5829 2020-12-04 18:13:43 -08:00
dependabot-preview[bot]
567e489716 Bump spring from 1.7.2 to 2.0.2
Bumps [spring](https://github.com/rails/spring) from 1.7.2 to 2.0.2.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v1.7.2...v2.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-04 19:14:16 +00:00
Arun Kumar Mohan
868a19df6e Fix tab toggle 2020-12-03 21:03:44 -05:00
Arun Kumar Mohan
81b03906f9 Remove /signup routes 2020-12-03 20:43:28 -05:00
Luis Ramos
acddb496b7 Remove spree_i18n dependency 2020-12-03 15:34:46 -08:00
dependabot-preview[bot]
d29773d297 [Security] Bump jquery-rails from 3.1.5 to 4.4.0
Bumps [jquery-rails](https://github.com/rails/jquery-rails) from 3.1.5 to 4.4.0. **This update includes a security fix.**
- [Release notes](https://github.com/rails/jquery-rails/releases)
- [Changelog](https://github.com/rails/jquery-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/jquery-rails/compare/v3.1.5...v4.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-03 15:33:41 -08:00
Luis Ramos
0f27f57cbb Use new Admin::ResourceController 2020-12-03 15:32:20 -08:00
Luis Ramos
1d327a61a6 Fix rubocop issue and adapt rubocop exceptions 2020-12-03 15:32:20 -08:00
Luis Ramos
0fb9f44dda Make all controllers use new Admin::ResourceController 2020-12-03 15:32:20 -08:00
Luis Ramos
c63d99dd20 Remove Spree namespace from controller 2020-12-03 15:32:20 -08:00
Luis Ramos
99fd99cd33 Move spree admin resource controller to admin resource controller 2020-12-03 15:32:20 -08:00
Luis Ramos
1d075bbc90 Remove empty resource controller 2020-12-03 15:32:20 -08:00
Luis Ramos
6e08fccbbe Merge resource_controller url helpers with parent version 2020-12-03 15:32:20 -08:00
Luis Ramos
fc4cf6a9a7 Merge resource_controller model_class method with parent version 2020-12-03 15:32:20 -08:00
dependabot-preview[bot]
abc58f5bb4 Bump acts_as_list from 0.3.0 to 0.9.19
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 0.3.0 to 0.9.19.
- [Release notes](https://github.com/brendon/acts_as_list/releases)
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/0.3.0...v0.9.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-03 15:30:24 -08:00
Matt-Yorkley
0ceba7c0a8 Update orders closing message 2020-12-03 15:29:14 -08:00
Luis Ramos
f71de8123a Dont show 'closing in' message when oc closes in more than 3 months 2020-12-03 15:29:14 -08:00
Luis Ramos
a51d01efac Merge pull request #6452 from luisramos0/dep
Move dependabot file to correct location
2020-12-03 21:35:49 +00:00
Luis Ramos
7a35fabb22 Move dependendabot config file to .github 2020-12-03 21:32:57 +00:00
dependabot-preview[bot]
67ee8c3500 Bump knapsack from 1.19.0 to 1.20.0
Bumps [knapsack](https://github.com/ArturT/knapsack) from 1.19.0 to 1.20.0.
- [Release notes](https://github.com/ArturT/knapsack/releases)
- [Changelog](https://github.com/ArturT/knapsack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ArturT/knapsack/compare/v1.19.0...v1.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-03 19:14:05 +00:00
Luis Ramos
5b00868c6f Allow mutable strings in some specs 2020-12-03 06:38:24 -08:00
Luis Ramos
bfd4adbcee Adapt code to work with frozen strings 2020-12-03 06:38:24 -08:00
Luis Ramos
611de912a8 Switch frozen_string_literal to false so that price code keeps working 2020-12-03 06:38:24 -08:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00
Luis Ramos
de19efca64 Fix rubocop issue and add missing exceptions to manual_todo to get a green rubocop run 2020-12-03 06:38:24 -08:00
Luis Ramos
6c9e12b4ea Update rubocop exceptions file after bye bye spree 2020-12-03 06:38:24 -08:00
Andy Brett
dfabc5fa06 Update all locales with the latest Transifex translations 2020-12-02 21:41:18 -08:00
Luis Ramos
7a5a4f956a Replace use of Faker with FFaker 2020-12-02 11:40:50 -08:00
Luis Ramos
720edb4b05 Relax ffaker version requirement so that upgrades come as possible 2020-12-02 11:40:50 -08:00
dependabot-preview[bot]
3ec1af104f Bump ffaker from 1.32.1 to 2.11.0
Bumps [ffaker](https://github.com/ffaker/ffaker) from 1.32.1 to 2.11.0.
- [Release notes](https://github.com/ffaker/ffaker/releases)
- [Changelog](https://github.com/ffaker/ffaker/blob/master/Changelog.md)
- [Commits](https://github.com/ffaker/ffaker/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 11:40:50 -08:00
dependabot-preview[bot]
80d034706c Bump test-unit from 3.3.6 to 3.3.7
Bumps [test-unit](https://github.com/test-unit/test-unit) from 3.3.6 to 3.3.7.
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](https://github.com/test-unit/test-unit/compare/3.3.6...3.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 11:40:04 -08:00
Andy Brett
902f8caea9 direct specifically to shop tab 2020-12-02 11:39:02 -08:00
Andy Brett
14091cd106 fix #6415 2020-12-02 11:39:02 -08:00
Andy Brett
936f5c1a0c remove extraneous page call 2020-12-02 11:38:10 -08:00
Andy Brett
8963a787d6 only validate unit_value presence if "items" is not chosen 2020-12-02 11:38:10 -08:00
Andy Brett
59cab902f0 add numericality validation 2020-12-02 11:38:10 -08:00
Andy Brett
4d2c93930b resolve merge conflict 2020-12-02 11:38:10 -08:00
Tsara Sudrajat
fb769d37f9 Fix error when setting stock for new product 2020-12-02 11:38:10 -08:00
Andy Brett
65f6f1febf rearrange css 2020-12-02 11:37:25 -08:00
Andy Brett
99b5d9e0c5 use white-space: nowrap on variant prices 2020-12-02 11:37:25 -08:00
Andy Brett
c4cd574242 fix currency spec 2020-12-02 11:37:25 -08:00
Andy Brett
a3a6205343 fix #6252 2020-12-02 11:37:25 -08:00
Maikel
25c363feba Merge pull request #6356 from openfoodfoundation/dependabot/bundler/stringex-2.8.5
Bump stringex from 1.5.1 to 2.8.5
2020-12-02 16:39:00 +11:00
Luis Ramos
839278fc75 Add dependendabot config to increase limit to 10 PRs 2020-12-01 12:40:24 -08:00
Luis Ramos
3162cf9abf Add gem to make tests work with devise callbacks
This is noted in the devise 4.1 release notes: https://github.com/heartcombo/devise/blob/master/CHANGELOG.md#410
2020-12-01 17:19:07 +00:00
Luis Ramos
9abdcd88e5 Move confirmable config together with other devise configs in user model 2020-12-01 17:06:39 +00:00
Luis Ramos
bd6b1dbfed Upgrade to devise 4.7 2020-12-01 11:59:41 +00:00
Matt-Yorkley
1cab9e473b Merge pull request #6378 from openfoodfoundation/dependabot/bundler/webmock-3.10.0
Bump webmock from 3.9.5 to 3.10.0
2020-12-01 11:58:01 +01:00
dependabot-preview[bot]
93a73b4823 Bump stringex from 1.5.1 to 2.8.5
Bumps [stringex](https://github.com/rsl/stringex) from 1.5.1 to 2.8.5.
- [Release notes](https://github.com/rsl/stringex/releases)
- [Commits](https://github.com/rsl/stringex/compare/v1.5.1...v2.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 09:58:08 +00:00
Matt-Yorkley
7408c45980 Merge pull request #6297 from openfoodfoundation/rails-4-1
[Rails 4.1] Merge Rails 4.1 branch into master
2020-12-01 10:56:08 +01:00
Matt-Yorkley
fe4b20dd7b Merge pull request #6354 from openfoodfoundation/rails-4-2-rebased
Rails 4.2 upgrade
2020-12-01 10:55:25 +01:00
Pau Pérez Fabregat
3c71b7f6be Merge pull request #6428 from coopdevs/upgrade-brakeman-dependencies
Upgrade Ruby and Ubuntu to latest in GH action
2020-11-30 21:13:25 +01:00
Transifex-Openfoodnetwork
ea148d7f51 Updating translations for config/locales/en_US.yml 2020-12-01 00:15:59 +11:00
Transifex-Openfoodnetwork
a5761707d5 Updating translations for config/locales/en_US.yml 2020-12-01 00:12:50 +11:00
Pau Perez
259e139c47 Update all locales with the latest Transifex translations 2020-11-30 09:21:13 +01:00
Pau Perez
8c1e222788 Upgrade Ruby and Ubuntu to latest in GH action
It was asked for in
https://github.com/openfoodfoundation/openfoodnetwork/pull/6163/ to use
the latest stable Ruby version. It's also better to use Ubuntu's latest
as well.
2020-11-30 09:11:41 +01:00
Pau Pérez Fabregat
4ca930bdad Merge pull request #6163 from openfoodfoundation/luisramos0-patch-2
Add brakeman config
2020-11-30 09:08:32 +01:00
Pau Pérez Fabregat
f0a052b65b Merge pull request #6357 from Matt-Yorkley/secret-key-base
Update secret key base
2020-11-27 17:32:14 +01:00
Pau Pérez Fabregat
07a72eccd4 Merge pull request #6391 from Matt-Yorkley/paypal-stock-clashes
Paypal stock clashes
2020-11-27 17:08:15 +01:00
Matt-Yorkley
b04a76e8bf Update payments_report totals 2020-11-27 14:00:29 +00:00
Matt-Yorkley
1ceb6ac916 Update orders_and_fulfilment report totals 2020-11-27 14:00:29 +00:00
Andy Brett
049f66c2aa address #6411 2020-11-27 14:00:29 +00:00
Matt-Yorkley
9c41c296e4 Remove default comments from ApplicationResponder 2020-11-27 14:00:29 +00:00
Matt-Yorkley
d299c8cf01 Update test setup in Packer spec.
This is the correct way to set a variant's weight.
2020-11-27 14:00:29 +00:00
Matt-Yorkley
2b2f1ac0cd Improve specificity of expectation in reset password email test 2020-11-27 14:00:29 +00:00
Matt-Yorkley
d2998f1190 Remove spaces in payments report 2020-11-27 14:00:29 +00:00
Matt-Yorkley
c6c20dc0f6 Add ActionController::ConditionalGet to Api::BaseController
This was added in Spree around the time of Rails 4.2 and seems to fix some of the response errors around the `responders` gem.
2020-11-27 14:00:29 +00:00
Matt-Yorkley
60aaf8100a Fix some Rubocop offences 2020-11-27 14:00:29 +00:00
Matt-Yorkley
98f42a1f81 Fix output of Package#inspect 2020-11-27 14:00:29 +00:00
Matt-Yorkley
f589d278cf Add failing spec for Package#inspect 2020-11-27 14:00:29 +00:00
Matt-Yorkley
2b884be8dd Update specs to work with ActionMailer::DeliveryJob 2020-11-27 14:00:29 +00:00
Matt-Yorkley
64153c5072 Remove #handle_asyncronously and update to recommended asyncronous devise mail method 2020-11-27 14:00:29 +00:00
Matt-Yorkley
9de3370a8a Fix precision in adjustment form display
The tests here were looking for values with a format like "10.00" but the output had changed to "10.0"
2020-11-27 14:00:29 +00:00
Matt-Yorkley
63fb46f440 Delete some dead code
There are some really weird issues in the spec here, and this module is not in use anywhere.
2020-11-27 14:00:29 +00:00
Matt-Yorkley
aa718824d8 Fix touch spec
The behavior in #change blocks ironically seems to have changed
2020-11-27 14:00:29 +00:00
Matt-Yorkley
4394d2fe43 Fix tag_rules ForbiddenAttributes errors
Example error:
Tag Rules creating allows creation of rules of each type
     Failure/Error: expect(tag_rule.preferred_shipping_method_tags).to eq "volunteers-only"

       expected: "volunteers-only"
            got: ""

       (compared using ==)
     # ./spec/features/admin/tag_rules_spec.rb:81:in `block (3 levels) in <top (required)>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
ea5c7c5990 Fix broken redirect after bulk product update
Error:
As an Administrator
  I want to be able to manage products in bulk
 updating when a filter has been applied
     Failure/Error: expect(page.find("#status-message")).to have_content "Changes saved."
       expected to find text "Changes saved." in "Saving.."
     # ./spec/features/admin/bulk_product_update_spec.rb:451:in `block (2 levels) in <top (required)>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
2905267142 Fix broken variant weight assignment in spec
OrderManagement::Stock::Packer builds a package with all the items
     Failure/Error: expect(package.weight).to be_positive
       expected `0.0 (#<BigDecimal:7f156c99fda8,'0.0',9(18)>).positive?` to be truthy, got false
     # ./engines/order_management/spec/services/order_management/stock/packer_spec.rb:19:in `block (2 levels) in <module:Stock>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
71c6cee94c Fix "modifying frozen string" error in Package#inspect 2020-11-27 14:00:29 +00:00
Matt-Yorkley
7ef0056225 Fix invoice rendering issue
Setting `locals: { :@order => order }` no longer works; `@order` is not set as expected in the partial. Fixes various errors eg:

Failure/Error: = "#{@order.number}"

     ActionView::Template::Error:
       undefined method `number' for nil:NilClass
     # ./app/views/spree/admin/orders/invoice.html.haml:14:in `_app_views_spree_admin_orders_invoice_html_haml__1740595365701113578_70025078036080'
     # ./app/services/invoice_renderer.rb:3:in `render_to_string'
     # ./app/controllers/spree/admin/orders_controller.rb:89:in `invoice'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
b512d3ce21 Fix column preferences spec
Failure/Error: expect(preferences.map(&:column_name)).to eq [:col1, :col2, :col3]

        expected: [:col1, :col2, :col3]
             got: ["col1", "col2", "col3"]

        (compared using ==)

        Diff:
        @@ -1 +1 @@
        -[:col1, :col2, :col3]
        +["col1", "col2", "col3"]

      # ./spec/models/column_preference_spec.rb:56:in `block (4 levels) in <top (required)>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
98c99de835 Use ActiveJob::Testhelper where needed 2020-11-27 14:00:29 +00:00
Matt-Yorkley
1aa2b7274b Fix test mailer delivery 2020-11-27 14:00:29 +00:00
Matt-Yorkley
ae33df946e Fix StateMachine specs 2020-11-27 14:00:29 +00:00
Matt-Yorkley
54ad90e071 Replace deprecated ActiveRecord::ConnectionAdapters::Column#value_to_boolean
This method has been removed in Rails 4.2
2020-11-27 14:00:29 +00:00
Matt-Yorkley
e1c1574931 Refactor BulkInvoiceService to use ActiveJob
Removes use of #handle_asynchronously, which we need to do elsewhere. Fixes:
BulkInvoiceService#start_pdf_job starts a background process to create a pdf with multiple invoices
      Failure/Error:
        expect do
          service.start_pdf_job [1, 2]
        end.to enqueue_job Delayed::PerformableMethod

        expected to enqueue exactly 1 jobs, but enqueued 0
      # ./spec/services/bulk_invoice_service_spec.rb:8:in `block (3 levels) in <top (required)>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
8f8973b6f9 Call #deliver in user_mailer_spec so mail is sent 2020-11-27 14:00:29 +00:00
Matt-Yorkley
3c74541145 Fix misbehaving params in Api::ProductsController
In some cases the given params were being deleted here.
2020-11-27 14:00:29 +00:00
Matt-Yorkley
1ab62fddcb Patch Paranoia#delete to resolve ActiveRecord::ConnectionAdapters::NullTransaction errors
Patches Paranoia gem to fix a conflict with transactions in Rspec: https://github.com/rubysherpas/paranoia/issues/274

Example error:
```
Failure/Error: order.line_items.first.variant.tap(&:delete)
NoMethodError:
       undefined method `state' for #<ActiveRecord::ConnectionAdapters::NullTransaction:0x0000564117dddd18>
```
2020-11-27 14:00:29 +00:00
Matt-Yorkley
1e8d400534 Add Paranoia#delete (original) 2020-11-27 14:00:29 +00:00
Matt-Yorkley
1a4e292178 Fix json "empty body" expectations 2020-11-27 14:00:29 +00:00
Matt-Yorkley
49081e171e Fix PG::UndefinedTable errors
The logic of #includes has changed slightly in Rails 4.2 and now usually needs the #references method as well.

PG::UndefinedTable:
     #   ERROR:  missing FROM-clause entry for table "enterprises"
     #   LINE 1: SELECT "spree_users".* FROM "spree_users" WHERE (enterprises...
     #                                                            ^
     #   ./spec/models/spree/user_spec.rb:125:in `block (4 levels) in <top (required)>'
2020-11-27 14:00:29 +00:00
Matt-Yorkley
a5472d6b64 Convert ConfirmSignupJob to ActiveJob 2020-11-27 14:00:29 +00:00
Matt-Yorkley
62b80043ba Fix mailer specs
These methods are not actually called now until the email is being delivered.
2020-11-27 14:00:29 +00:00
Matt-Yorkley
eb040de422 Fix expectation in base_helper_spec
The attribute on this element are now rendered in alphabetical order
2020-11-27 14:00:29 +00:00
Matt-Yorkley
b36b0eddee Fix Rubocop issues 2020-11-27 14:00:29 +00:00
Matt-Yorkley
aaf7a90f8b Convert OrderCycleNotificationJob to ActiveJob 2020-11-27 14:00:29 +00:00
Matt-Yorkley
9e334a4c1e Convert ConfirmOrderJob to ActiveJob 2020-11-27 14:00:29 +00:00
Matt-Yorkley
56f2d38714 Use "raise_in_transactional_callbacks"
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#error-handling-in-transaction-callbacks
2020-11-27 14:00:29 +00:00
Matt-Yorkley
6b3da4ac89 Fix "PG::ProtocolViolation: ERROR: bind message supplies 0 parameters" errors 2020-11-27 14:00:28 +00:00
Matt-Yorkley
31415d00e6 TEMP - Fix deprecated cache store naming 2020-11-27 14:00:28 +00:00
Matt-Yorkley
e155b00ab9 Fix undefined constant Spree::Responder 2020-11-27 14:00:28 +00:00
Matt-Yorkley
3c0172c507 Fix Spree::Preferences cache issue
In some cases this method was trying to delete a Rails.cache entry with `nil` as the key, leading to lots of errors.
2020-11-27 14:00:28 +00:00
Matt-Yorkley
3cba9a16aa Use ActionController::Base for Api::BaseController
It looks like ActionController::Metal does not play nicely with the big changes to controller responders: https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#responders
2020-11-27 14:00:28 +00:00
Matt-Yorkley
58350ed338 Set ActiveJob configs and convert WelcomeEnterpriseJob to new format
This needs to be done for all jobs.

Docs: https://guides.rubyonrails.org/v4.2/active_job_basics.html
2020-11-27 14:00:28 +00:00
Matt-Yorkley
54a4952dc5 Fix ForbiddenAttributesError on tag rules 2020-11-27 14:00:28 +00:00
Matt-Yorkley
34bfd877cc Fix #bulk_update in EnterprisesController 2020-11-27 14:00:28 +00:00
Matt-Yorkley
16cc0afe8f Replace removed method #retrieve_collector_from_mimes
https://apidock.com/rails/v4.1.8/ActionController/MimeResponds/retrieve_collector_from_mimes
2020-11-27 14:00:28 +00:00
Matt-Yorkley
ccaff08928 Re-add ForbiddenAttributesError debugging helper 2020-11-27 14:00:28 +00:00
Matt-Yorkley
91908a0e4c Switch from state_machine to state_machines gem
The old version is completely unmaintained and does not work with Rails 4.2
2020-11-27 14:00:28 +00:00
Matt-Yorkley
6b45208cf1 Define Capybara server
The server type now has to be set explicitly for Capybara
2020-11-27 14:00:28 +00:00
Matt-Yorkley
fb333c37e7 Fix Api controller setup for responders gem 2020-11-27 14:00:28 +00:00
Matt-Yorkley
3090cfa909 Add setup for responders gem 2020-11-27 14:00:28 +00:00
Matt-Yorkley
9205c85d4d Run rake db:migrate 2020-11-27 14:00:28 +00:00
Matt-Yorkley
ff9f6c3317 Remove foreigner gem
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#foreign-key-support
2020-11-27 14:00:28 +00:00
Matt-Yorkley
25dd47e511 Add responders gem
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#responders
2020-11-27 14:00:28 +00:00
Matt-Yorkley
ece3e7aa69 Update gems to Rails 4.2 2020-11-27 14:00:28 +00:00
Luis Ramos
ff8d935699 Fix problem in enterprises controller 2020-11-27 13:59:46 +00:00
Luis Ramos
1d32ecab98 Fix spec by adding necessary references statement 2020-11-27 13:59:46 +00:00
Luis Ramos
ff17ced101 Fix enterprises spec by adding needed references statement 2020-11-27 13:59:46 +00:00
Luis Ramos
fa6cf0f281 Fix prod importer spec in rails 4.1 2020-11-27 13:59:46 +00:00
Luis Ramos
7e39d78733 Fix Long Method rubocop issue 2020-11-27 13:59:46 +00:00
Luis Ramos
0152b4da55 Fix rubocop issues 2020-11-27 13:59:46 +00:00
Luis Ramos
2a03e42f2a Update deep_munge patch to rails 4.1 where the code is now in ActionDispatch::Request::Utils 2020-11-27 13:59:46 +00:00
Matt-Yorkley
01a726d9bd Fix stubbing of stock totals
Recent changes to the way count_on_hand is summed in Spree::Stock::Quantifier mean the old method here will not work. Error:
```
  2) Spree::Variant#in_stock? when stock_items are not backorderable when stock_items out of stock return false if stock_items out of stock
     Failure/Error: expect(variant.in_stock?).to be_falsy

       expected: falsey value
            got: true
     # ./spec/models/spree/variant_spec.rb:241:in `block (5 levels) in <module:Spree>'
  ```
2020-11-27 13:59:46 +00:00
Matt-Yorkley
93fe8dbc5f Replace #scoped, which is now deprecated and removed in Rails 4.1 2020-11-27 13:59:46 +00:00
Matt-Yorkley
5c5a6361bf Fix nasty json encoding issue
The enterprise id returned by these json endpoints was being returned in *unicode* format, so where Angular was expecting a simple integer it was instead getting strings like: "\u0017"
2020-11-27 13:59:46 +00:00
Matt-Yorkley
0f2cbe8a52 Fix API exception response handling
For some reason when using `render text:` instead of `render json:` for this response, the status code being returned was 200 instead of the clearly explicitly defined 422 (:unprocessable_entity). I absolutely have no idea why!
2020-11-27 13:59:46 +00:00
Matt-Yorkley
f1002b953d Disable Javascript CSRF protection on EnterprisesController#check_permalink route
This route checks if an enterprise permalink is taken or not. Allowing the route to be accessed via Javascript without strict CSRF protection is reasonable. Fixes the following errors:

ActionController::InvalidCrossOriginRequest: Security warning: an embedded <script> tag on another site requested protected JavaScript. If you know what you're doing, go ahead and disable forgery protection on this action to permit cross-origin JavaScript embedding.
2020-11-27 13:59:46 +00:00
Luis Ramos
3ebc8145df Avoid calling update with nil values 2020-11-27 13:59:46 +00:00
Luis Ramos
edc1773676 Fix some calls to sum in reports code 2020-11-27 13:59:46 +00:00
Luis Ramos
6814eb663f Fix respond_with error 2020-11-27 13:59:46 +00:00
Luis Ramos
78cfcd905f Adapt more & and no & when using sum 2020-11-27 13:59:46 +00:00
Luis Ramos
9bbef16804 Converting all calls to ActiveRelation#sum to use a symbol with &
This is only applicable to database columns, if we are summing using a method in the model than the & is required!
2020-11-27 13:59:46 +00:00
Luis Ramos
974240fd4b Fix two sum calls in checkout helper 2020-11-27 13:59:46 +00:00
Luis Ramos
7472b7cc27 Fix sum call in quantifier 2020-11-27 13:59:46 +00:00
Eduardo
a8a933d73a change from render json to render plain due to template missing issue 2020-11-27 13:59:46 +00:00
Luis Ramos
bcd07e1791 Upgrade to rails 4.1 2020-11-27 13:59:46 +00:00
Luis Ramos
ecb29ec830 Add state machine patch to fix error with state machine
See here for details: https://github.com/pluginaweek/state_machine/issues/251#issuecomment-32133267
2020-11-27 13:59:46 +00:00
Luis Ramos
202aa3e5b7 Use reflections instead of, now gone, reflections 2020-11-27 13:59:46 +00:00
Luis Ramos
a05f43000a ActionView was extracted from ActionPack in rails 4.1 so we need to use ActionView 2020-11-27 13:59:46 +00:00
Luis Ramos
61708e5deb AbstractController::ViewPaths was moved to ActionView::ViewPaths in rails 4.1 2020-11-27 13:59:46 +00:00
Matt-Yorkley
27586d072d Merge pull request #6423 from openfoodfoundation/revert-6277-controllers
Revert "Move Spree::Admin::BaseController to Admin::BaseController"
2020-11-27 14:29:15 +01:00
Matt-Yorkley
3bfa903912 Revert "Move Spree::Admin::BaseController to Admin::BaseController" 2020-11-27 14:11:57 +01:00
Matt-Yorkley
0ba670b180 Ensure order is cleanly reset to cart state when redirecting to cart 2020-11-27 11:42:46 +00:00
Matt-Yorkley
c4cfc1dc05 Improve order test in paypal controller spec 2020-11-27 11:42:06 +00:00
Pau Pérez Fabregat
17957ed6c0 Merge pull request #6408 from openfoodfoundation/transifex
Transifex
2020-11-27 10:31:56 +01:00
Pau Pérez Fabregat
8b6a08457a Merge pull request #6293 from luisramos0/subs_debug
Add task to print Subscriptions debug info
2020-11-27 10:17:57 +01:00
Maikel
9e2a3d6973 Merge pull request #6277 from luisramos0/controllers
Move Spree::Admin::BaseController to Admin::BaseController
2020-11-27 16:13:55 +11:00
Icker
55b21310e4 Added introductory information for testing. 2020-11-25 09:44:02 -08:00
Transifex-Openfoodnetwork
1266a37ac5 Updating translations for config/locales/en_NZ.yml 2020-11-25 05:39:17 +11:00
Transifex-Openfoodnetwork
54feb2f57d Updating translations for config/locales/en_AU.yml 2020-11-24 07:31:32 +11:00
Transifex-Openfoodnetwork
e9eb90507e Updating translations for config/locales/ca.yml 2020-11-24 07:22:28 +11:00
Transifex-Openfoodnetwork
ee44159c83 Updating translations for config/locales/es.yml 2020-11-24 07:19:47 +11:00
Transifex-Openfoodnetwork
8861f5c6aa Updating translations for config/locales/ca.yml 2020-11-24 07:19:18 +11:00
Matt-Yorkley
b089404891 Merge pull request #6362 from coopdevs/remove-unused-truncate-html-gem
Remove unused truncate_html gem
2020-11-23 00:49:34 +01:00
Matt-Yorkley
2fa2a30c67 Add spec coverage, refactor, avoid double-render errors
👍
2020-11-22 18:37:31 +00:00
Matt-Yorkley
cabec7e73f Fix Rubocop warnings and tidy up 2020-11-22 18:02:54 +00:00
Matt-Yorkley
87df44764f Extract stock-check logic to controller concern and inject prior to final Paypal payment confirmation. 2020-11-22 18:02:52 +00:00
Andy Brett
8f25568530 Merge pull request #6390 from jhsu802701/qtest
SIMPLE: added scripts for running test suite in quiet mode
2020-11-20 12:15:04 -08:00
Andy Brett
b1b422b90e fix/silence rubocop styles 2020-11-20 10:41:31 -08:00
Andy Brett
cd94b23277 fix rubocop styles 2020-11-20 10:35:02 -08:00
Andy Brett
4e155641fc fix nil error if no proxy orders found 2020-11-20 10:32:48 -08:00
Andy Brett
85d99f3bf2 Merge branch 'master' into controllers 2020-11-20 08:12:03 -08:00
Andy Brett
c6b3a615f1 Merge pull request #6385 from jhsu802701/update_db_schema
SIMPLE: updated db/schema.rb with 'bundle exec rake db:migrate'
2020-11-20 08:03:27 -08:00
Matt-Yorkley
5429bd8d7a Update all locales with the latest Transifex translations 2020-11-19 23:13:09 +00:00
Matt-Yorkley
300e87648b Merge pull request #6394 from openfoodfoundation/transifex
Transifex
2020-11-20 00:11:03 +01:00
Matt-Yorkley
4a9ac62d91 Merge branch 'master' into transifex 2020-11-20 00:10:48 +01:00
Luis Ramos
d7a1d7769c Merge pull request #6258 from luisramos0/s3_with_region
Upgrade aws-sdk and switch to S3 virtual host style URLs
2020-11-19 22:59:57 +00:00
Transifex-Openfoodnetwork
cd20d2612d Updating translations for config/locales/cy.yml 2020-11-19 22:09:04 +11:00
Transifex-Openfoodnetwork
446007e283 Updating translations for config/locales/cy.yml 2020-11-19 22:05:56 +11:00
Transifex-Openfoodnetwork
7bc59512fd Updating translations for config/locales/cy.yml 2020-11-19 22:02:49 +11:00
Pau Pérez Fabregat
8c9960854f Merge pull request #6343 from Matt-Yorkley/api-controllers
API controllers: strong paramaters
2020-11-19 09:04:16 +01:00
Matt-Yorkley
242c1a2715 Add new Paypal feature spec 2020-11-19 01:44:53 +00:00
Matt-Yorkley
21d67a0723 Extract some more paypal-specific test code to new helper 2020-11-19 01:44:38 +00:00
Jason Hsu
59b3bfa161 Added scripts for running test suite in quiet mode and updated docker/README.md 2020-11-18 16:25:03 -06:00
Transifex-Openfoodnetwork
9fc3ff0250 Updating translations for config/locales/en_GB.yml 2020-11-19 05:14:36 +11:00
Transifex-Openfoodnetwork
7ddbc10c19 Updating translations for config/locales/en_GB.yml 2020-11-19 05:11:27 +11:00
Matt-Yorkley
41a5787830 Extract paypal response stubbing to helper 2020-11-18 15:39:01 +00:00
Matt-Yorkley
010c1c799d Add some notes on paypal checkout flow 2020-11-18 14:55:29 +00:00
Matt-Yorkley
2faea65f82 Bring in Spree::PaypalController#confirm method
Original method from the gem. This handles the post-payment response from paypal.
2020-11-18 14:51:23 +00:00
Matt-Yorkley
dd8f139c1b Memoize Spree::PaypalController#payment_method
This gets called 4 or 5 times in a single request just to read basic attributes from the object. The query doesn't need to be repeated each time
2020-11-18 13:45:14 +00:00
Matt-Yorkley
6d0d4b5096 Bring in Spree::PaypalController#payment_method
Original method from the gem. Modified in preceding commit.
2020-11-18 13:45:13 +00:00
Matt-Yorkley
b0a70f0ba3 Improve TaxonController strong params handling 2020-11-17 19:48:27 +00:00
Matt-Yorkley
0b18b0dc0a Include Calculator attributes in PaymentMethod nested attributes and DRY repeated code 2020-11-17 19:04:26 +00:00
Matt-Yorkley
d225294b6b Extract to PermittedAttributes::Calculator 2020-11-17 18:51:48 +00:00
Matt-Yorkley
3547b9fe56 Add missing calculator params 2020-11-17 18:51:48 +00:00
Matt-Yorkley
1766f33d46 Use ActionController::Metal and include StrongParameters 2020-11-17 18:51:48 +00:00
Matt-Yorkley
cbdb6126a6 Fix strong_params in API enterprises_controller 2020-11-17 18:51:48 +00:00
Matt-Yorkley
6a26c9da8c Fix strong_params in API products_controller 2020-11-17 18:51:48 +00:00
Matt-Yorkley
36f4f40e84 Refactor and fix PaymentMethod strong params 2020-11-17 18:51:48 +00:00
Matt-Yorkley
787f29105c Fix ForbiddenAttribute errors for bulk update of enterprise fees and order cycles
Example error:
As an administrator
    I want to manage simple order cycles
 updating many order cycle opening/closing times at once
     Failure/Error: raise ActiveModel::ForbiddenAttributesError, params.to_s

     ActiveModel::ForbiddenAttributesError:
       {"order_cycle_set"=>{"collection_attributes"=>{"0"=>{"id"=>62, "name"=>"Updated Order Cycle 1", "orders_open_at"=>"2040-12-01 12:00:00", "orders_close_at"=>"2040-12-01 12:00:01"}, "1"=>{"id"=>63, "name"=>"Updated Order Cycle 2", "orders_open_at"=>"2040-12-01 12:00:02", "orders_close_at"=>"2040-12-01 12:00:03"}, "2"=>{"id"=>64, "name"=>"Updated Order Cycle 3", "orders_open_at"=>"2040-12-01 12:00:04", "orders_close_at"=>"2040-12-01 12:00:05"}}}, "controller"=>"admin/order_cycles", "action"=>"bulk_update", "format"=>"json", "order_cycle"=>{}}
     # ./app/controllers/application_controller.rb:20:in `print_params'
     # ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
     # ------------------
     # --- Caused by: ---
     # ActiveModel::ForbiddenAttributesError:
     #   ActiveModel::ForbiddenAttributesError
     #   ./app/models/model_set.rb:29:in `block in collection_attributes='
2020-11-17 18:51:48 +00:00
Matt-Yorkley
642a294844 Fix broken order edit shipment
As an administrator
    I want to create and edit orders
 as an enterprise manager viewing the edit page with different shipping methods can edit shipping method
     Failure/Error: expect(page).to have_content "Shipping: #{different_shipping_method_for_distributor1.name}"
       expected to find text "Shipping: Different" in "Logged in as : owen@romaguera.ca Account Logout Store DASHBOARD PRODUCTS ORDER CYCLES ORDERS REPORTS ENTERPRISES CUSTOMERS Order # R813516688 CANCEL ACTIONS BACK TO ORDER LIST John Doe - ADD PRODUCT NAME OR SKU (ENTER AT LEAST FIRST 4 CHARACTERS OF PRODUCT NAME) Select a variant 100 - PENDING ITEM DESCRIPTION PRICE QUANTITY TOTAL Product #3 - 9924 - 1g, S $10.00 1 x none $10.00 Product #4 - 5548 - 1g, S $10.00 1 x none $10.00 Product #5 - 8080 - 1g, S $10.00 1 x none $10.00 Product #6 - 3591 - 1g, S $10.00 1 x none $10.00 Product #7 - 6461 - 1g, S $10.00 1 x none $10.00 Product #8 - 4071 - 1g, S $110.00 1 x none $110.00 SHIPPING METHOD Different $0.00 Normal $0.00 Different $0.00 Tracking: U10000 LINE ITEM ADJUSTMENTS NAME AMOUNT Tax 1 10.0%: $10.00 ORDER ADJUSTMENTS NAME AMOUNT Transaction fee: $0.00 ORDER TOTAL $160.00 DISTRIBUTION Distributor: Enterprise 4 Order cycle: Order Cycle 2 UPDATE AND RECALCULATE FEES or BACK ORDER INFORMATION STATUS COMPLETE TOTAL : $160.00 SHIPMENT : PENDING PAYMENT : BALANCE DUE DATE COMPLETED : November 08, 2020 1:51 AM ORDER DETAILS CUSTOMER DETAILS ADJUSTMENTS PAYMENTS RETURN AUTHORIZATIONS"
     # ./spec/features/admin/order_spec.rb:291:in `block (5 levels) in <top (required)>'
2020-11-17 18:51:48 +00:00
Matt-Yorkley
7401e34c52 Fix credit cards strong params 2020-11-17 18:51:48 +00:00
Matt-Yorkley
ca41bbcee7 Fix Api::VariantsController ForbiddenAttributesError 2020-11-17 18:51:48 +00:00
Matt-Yorkley
c374bf5e49 Fix strong_params in API taxons_controller 2020-11-17 18:51:48 +00:00
Matt-Yorkley
417c4d9aea Inherit from ActionController::Base in API Controllers 2020-11-17 18:51:48 +00:00
Jason Hsu
b85f8d4b45 Updated db/schema.rb with 'bundle exec rake db:migrate' 2020-11-16 18:23:00 -06:00
Maikel Linke
315a5f0fd9 Update translations 2020-11-17 10:17:08 +11:00
Transifex-Openfoodnetwork
4ca8c220e9 Updating translations for config/locales/fr_CA.yml 2020-11-17 09:06:27 +11:00
Transifex-Openfoodnetwork
442dbaa7d7 Updating translations for config/locales/en_CA.yml 2020-11-17 08:49:15 +11:00
Matt-Yorkley
c080c1f1d6 Merge pull request #6382 from Matt-Yorkley/menu-fix
Fix the user menu
2020-11-16 22:20:12 +01:00
Matt-Yorkley
3b92df42c3 Fix the menu!
🙈
2020-11-16 19:05:08 +00:00
Matt-Yorkley
e2dbb150e5 Update all locales with the latest Transifex translations 2020-11-16 16:02:40 +00:00
Luis Ramos
ca29604ff8 Merge pull request #6377 from luisramos0/repeat_calculator_migrations
Repeat calculator migrations to clean up existing data
2020-11-16 10:46:42 +00:00
Transifex-Openfoodnetwork
57bc146de9 Updating translations for config/locales/it.yml 2020-11-14 21:08:20 +11:00
dependabot-preview[bot]
66799bad46 Bump webmock from 3.9.5 to 3.10.0
Bumps [webmock](https://github.com/bblimke/webmock) from 3.9.5 to 3.10.0.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.9.5...v3.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-13 19:16:37 +00:00
Luis Ramos
e5b7c036d5 Repeat calculator migrations to clean up existing data 2020-11-13 16:35:22 +00:00
Pau Pérez Fabregat
6f1d8664ac Merge pull request #6355 from coopdevs/install-gems-on-docker-boot
Install any missing gems when booting docker
2020-11-13 13:32:27 +01:00
Pau Pérez Fabregat
8d5e90e40f Merge pull request #6365 from Matt-Yorkley/mail-settings
Allow mail_auth_type to be set
2020-11-13 13:30:17 +01:00
Pau Pérez Fabregat
6db80e837b Merge pull request #6361 from andrewpbrett/fix-gateway-error-error
move gateway_error require to lib/spree/core.rb
2020-11-13 13:15:13 +01:00
Matt-Yorkley
cec295a113 Merge pull request #6373 from andrewpbrett/fix-admin-users
specify Spree routes for pagination, fix 500 on admin/users
2020-11-13 11:30:16 +01:00
Maikel Linke
a553547403 Update translations 2020-11-13 14:15:45 +11:00
Maikel
1e4edc671a Merge pull request #6364 from openfoodfoundation/transifex
Transifex
2020-11-13 14:05:12 +11:00
Maikel
b2113c96a2 Merge pull request #6317 from openfoodfoundation/dependabot/bundler/kaminari-0.17.0
Bump kaminari from 0.14.1 to 0.17.0
2020-11-13 13:58:25 +11:00
Maikel
408103516e Merge pull request #6321 from openfoodfoundation/dependabot/bundler/awesome_nested_set-3.2.1
Bump awesome_nested_set from 3.0.3 to 3.2.1
2020-11-13 13:30:18 +11:00
Maikel
d96216b8d7 Merge pull request #6268 from yihyang/master-yy-added-product-sorting
Sort products alphabetically in OC edit/create page
2020-11-13 13:29:54 +11:00
Maikel
d4ff9055c0 Merge pull request #6351 from efgalvao/issue#6249
Fixes Issue#6249
2020-11-13 13:28:55 +11:00
Maikel
591ba34eb6 Merge pull request #6335 from cillian/reset-on-demand-on-inventory-import
When resetting stock to 0 on absent products in inventory import also reset the on demand setting
2020-11-13 13:28:17 +11:00
Andy Brett
8dfd3f624d paginate zones using spree routes as well 2020-11-12 14:24:04 -08:00
Andy Brett
9cf30b431a specify Spree routes for pagination 2020-11-12 14:09:59 -08:00
Pau Pérez Fabregat
777cedd90d Merge pull request #6305 from efgalvao/issue#6292
Fixed issue #6292.
2020-11-12 17:42:42 +01:00
Transifex-Openfoodnetwork
b80d15b672 Updating translations for config/locales/pt_BR.yml 2020-11-13 02:43:56 +11:00
Transifex-Openfoodnetwork
228c7cc13a Updating translations for config/locales/pt_BR.yml 2020-11-13 02:40:55 +11:00
Pau Pérez Fabregat
7c4691ab33 Merge pull request #6339 from andrewpbrett/fix-instance-unit-picker
Fix #6304 (Product edit: Cannot change Variant unit scale of an existing product)
2020-11-12 16:15:00 +01:00
Pau Pérez Fabregat
692adb0113 Merge pull request #6336 from coopdevs/fix-shop-layout
Fix .top-bar-section not to wrap the icons-menu
2020-11-11 17:29:53 +01:00
Matt-Yorkley
58e34b5ad6 Allow mail_auth_type to be set 2020-11-11 15:51:08 +00:00
Transifex-Openfoodnetwork
694bc6a598 Updating translations for config/locales/ar.yml 2020-11-12 02:18:05 +11:00
Transifex-Openfoodnetwork
e06b82f335 Updating translations for config/locales/ar.yml 2020-11-12 02:14:55 +11:00
Pau Perez
f9869d4360 Remove unused truncate_html gem
It seems that we don't use this gem in OFN. It was used in Spree in
https://github.com/openfoodfoundation/spree/blob/2-1-0-stable/core/app/helpers/spree/orders_helper.rb
to truncate the product description. We don't because we show it in
the product modal, and there's no trace of that helper method in our
codebase nor I see the gem used at all.
2020-11-11 13:18:23 +01:00
Matt-Yorkley
1cad631bdb Replace secret_token and update comments
`secret_token` is apparently still called directly in other places...
2020-11-11 01:30:52 +00:00
Andy Brett
17202ff39c move gateway_error require to lib/spree/core.rb 2020-11-10 14:55:56 -08:00
Luis Ramos
5d93180081 Move subs tasks into subs:test namespace 2020-11-10 22:03:36 +00:00
Luis Ramos
fdfc0b330f Remove some duplicated code 2020-11-10 22:03:36 +00:00
Luis Ramos
63d62d7ce4 Improve subs task by making it handle open and close times of the Order Cycle being tested 2020-11-10 22:03:36 +00:00
Luis Ramos
51451292bd Add task to closse OC and confirm orders 2020-11-10 22:03:36 +00:00
Luis Ramos
2bb22fb7f4 Add task to reset Orders inside a specific Order Cycle by repeating the
placement job
2020-11-10 22:03:36 +00:00
Luis Ramos
5289a5b381 Add namespace to all sample data factories
These factories are not used in testing and this way we avoid collisions on the root namespace as it was happening already with OrderFactory
2020-11-10 22:03:36 +00:00
Matt-Yorkley
03d49c7987 Update secret key base
`secret_token` is no longer used in Rails 4+
2020-11-10 20:46:15 +00:00
Andy Brett
d5037abbe7 add specs for new/edit product pages 2020-11-10 10:49:14 -08:00
Pau Perez
5ddfc54b2b Install any missing gems when booting docker
This runs `bundle install` if there are any missing gems when booting
the containers. `bundle check` ensures we don't unnecessarily run
`bundle install`, which is rather slow.

This avoids having to build the entire image (painfully slow) or having
to bring up a container just to install the gems. I used to do this
with `docker-compose run --rm web bundle install`.
2020-11-10 18:08:34 +01:00
Pau Pérez Fabregat
bea8982085 Merge pull request #6329 from openfoodfoundation/transifex
Transifex
2020-11-10 17:37:00 +01:00
Pau Pérez Fabregat
fc06cc242b Merge pull request #6210 from ipalo/feature/update-docker-image-to-ubuntu-20-04
Update the base Ubuntu Docker image from 18.04 to 20.04
2020-11-10 17:30:03 +01:00
Pau Pérez Fabregat
b70c349b05 Merge pull request #6352 from openfoodfoundation/dependabot/bundler/webmock-3.9.5
Bump webmock from 3.9.4 to 3.9.5
2020-11-10 16:47:44 +01:00
Pau Perez
634ab5ca6a Don't scale logo image
The trick using `width: 100%` and a set `max-width` doesn't work if we
can't know the image width as it can be uploaded by superadmins. There's
no need though because the media query breakpoint triggers just before that.
2020-11-10 09:51:41 +01:00
Matt-Yorkley
a802fe29be Fix typo in initializer 2020-11-10 00:07:06 +00:00
Luis Ramos
88ac5dc955 Fix rubocop issues by refactoring code 2020-11-10 00:03:34 +00:00
Luis Ramos
e879aa1bed Switch to s3_alias_url that enabble virtual host type of path 2020-11-10 00:03:33 +00:00
Luis Ramos
94a815a9ef Upgrade aws-sdk and set s3 host name using the provided url config.
This will enable us to set hostnames with the s3 region defined and that
will make our image upload work for all s3 regions.
2020-11-10 00:03:33 +00:00
Luis Ramos
c7c5a95407 Merge pull request #6345 from Matt-Yorkley/flaky-oc-spec
Improve flaky order cycle spec
2020-11-09 21:59:41 +00:00
dependabot-preview[bot]
1825c90a5f Bump webmock from 3.9.4 to 3.9.5
Bumps [webmock](https://github.com/bblimke/webmock) from 3.9.4 to 3.9.5.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.9.4...v3.9.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 19:14:30 +00:00
efgalvao
307b1ca9f9 Fixes Issue#6249 2020-11-09 14:06:37 -03:00
Pau Perez
17abb3e345 Fix feature specs
The underlying markup and CSS changed but the tests did not.
2020-11-09 15:43:54 +01:00
Pau Perez
1903c575ff Reorder properties alphabetically
As Hound demands.
2020-11-09 15:40:25 +01:00
Pau Perez
9a885173b9 Remove element from class selector
Fixes Hound error `Avoid qualifying class selectors with an element.`.
2020-11-09 15:39:09 +01:00
Transifex-Openfoodnetwork
3167e5ae2b Updating translations for config/locales/ru.yml 2020-11-10 01:29:44 +11:00
Transifex-Openfoodnetwork
7f968b2b10 Updating translations for config/locales/ru.yml 2020-11-10 01:26:34 +11:00
Transifex-Openfoodnetwork
b08299e83a Updating translations for config/locales/ru.yml 2020-11-10 01:23:23 +11:00
Matt-Yorkley
d9e2a80a4f Improve flaky order cycle spec
There are various points in this spec where content is dynamically added to the DOM, but Capybara is jumping ahead to start interacting with it before it as actually finished loading.
2020-11-09 11:26:12 +00:00
dependabot-preview[bot]
863702ed4b Bump awesome_nested_set from 3.0.3 to 3.2.1
Bumps [awesome_nested_set](https://github.com/collectiveidea/awesome_nested_set) from 3.0.3 to 3.2.1.
- [Release notes](https://github.com/collectiveidea/awesome_nested_set/releases)
- [Changelog](https://github.com/collectiveidea/awesome_nested_set/blob/master/CHANGELOG)
- [Commits](https://github.com/collectiveidea/awesome_nested_set/commits/v3.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-07 08:58:44 +00:00
Luis Ramos
6114dfb4ef Merge pull request #6337 from openfoodfoundation/dependabot/bundler/webmock-3.9.4
Bump webmock from 3.9.3 to 3.9.4
2020-11-07 08:57:13 +00:00
Luis Ramos
f39008f3d3 Merge pull request #6338 from openfoodfoundation/dependabot/bundler/highline-2.0.3
Bump highline from 1.6.18 to 2.0.3
2020-11-07 08:57:02 +00:00
Andy Brett
99301e1fb2 fix #6304 2020-11-06 12:49:07 -08:00
dependabot-preview[bot]
cb0b7ed030 Bump highline from 1.6.18 to 2.0.3
Bumps [highline](https://github.com/JEG2/highline) from 1.6.18 to 2.0.3.
- [Release notes](https://github.com/JEG2/highline/releases)
- [Changelog](https://github.com/JEG2/highline/blob/master/Changelog.md)
- [Commits](https://github.com/JEG2/highline/commits/v2.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 19:17:11 +00:00
dependabot-preview[bot]
7d9948f5b6 Bump webmock from 3.9.3 to 3.9.4
Bumps [webmock](https://github.com/bblimke/webmock) from 3.9.3 to 3.9.4.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.9.3...v3.9.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 19:14:43 +00:00
Transifex-Openfoodnetwork
18a7bdc631 Updating translations for config/locales/de_DE.yml 2020-11-07 05:32:48 +11:00
Transifex-Openfoodnetwork
6083d61ba7 Updating translations for config/locales/de_DE.yml 2020-11-07 05:29:38 +11:00
Transifex-Openfoodnetwork
9e2054dcd4 Updating translations for config/locales/de_DE.yml 2020-11-07 05:26:28 +11:00
Pau Perez
b5f27d48df Fix .top-bar-section not to wrap the icons-menu
This line-wrap makes the icons-menu overlap the OC selector. The menu's
background is transparent, what makes it look even more broken.

The fix involves refactoring the `.top-bar-section` into using flexbox
instead of this highly coupled CSS and floats. With flexbox it becomes
as easy as telling the browser to space the three sections evenly
filling-up the window, while scaling down the logo if there's not enough
room.

The root cause is that every instance uses a custom logo, which wasn't
the one we used while designing and implementing. This is why using
fixed-sizes in pixels won't work.
2020-11-06 17:35:24 +01:00
Cillian O'Ruanaidh
89d63dfbb9 When resetting stock to 0 on absent products in inventory import also reset the on demand setting
Before when you imported inventory and clicked the 'Set stock to zero for all existing products not present in the file' option it would set the on hand stock to 0 but if the variant override was also set to be on demand the inventory would still be available for sale. This change makes sure the on demand setting is turned off too.

Fixes #6289.
2020-11-06 14:57:31 +00:00
Matt-Yorkley
73995d1aff Merge pull request #6334 from Matt-Yorkley/hound2
Switch to rubocop_styleguide.yml as style source
2020-11-06 12:55:23 +01:00
Matt-Yorkley
f5a9c6f3f4 Switch to rubocop_styleguide.yml as style source 2020-11-06 11:53:56 +00:00
Matt-Yorkley
f6aeb04b14 Merge pull request #6322 from Matt-Yorkley/hound
Add HoundCI config
2020-11-06 12:20:03 +01:00
Matt-Yorkley
00320e4387 Use .scss-lint.yml with HoundCI 2020-11-06 10:18:35 +00:00
Matt-Yorkley
ebd7409f70 Add scss-lint configs to .scss-lint.yml 2020-11-06 10:18:34 +00:00
Transifex-Openfoodnetwork
e86d84e10f Updating translations for config/locales/en_FR.yml 2020-11-06 19:26:16 +11:00
Transifex-Openfoodnetwork
b7a503a848 Updating translations for config/locales/fr.yml 2020-11-06 19:26:04 +11:00
Luis Ramos
28570cded2 Update all locales with the latest Transifex translations 2020-11-06 04:20:08 +00:00
Luis Ramos
c0bb9aad5e Merge pull request #6286 from openfoodfoundation/transifex
Transifex
2020-11-06 04:18:56 +00:00
Luis Ramos
b281e7e9e5 Merge pull request #6312 from mkllnk/variant-override-loading
Avoid loading variant overrides for no reason
2020-11-06 03:59:33 +00:00
Matt-Yorkley
3011bdb87d Add HoundCI config 2020-11-06 00:27:32 +00:00
Matt-Yorkley
66b531ddf6 Merge pull request #6310 from luisramos0/acts_as_list
Bump acts_as_list to 0.3.0
2020-11-05 23:03:02 +01:00
Transifex-Openfoodnetwork
213f3cf072 Updating translations for config/locales/ar.yml 2020-11-06 07:43:38 +11:00
Transifex-Openfoodnetwork
e1962419c2 Updating translations for config/locales/ar.yml 2020-11-06 07:40:32 +11:00
Transifex-Openfoodnetwork
bb6f5cb3a7 Updating translations for config/locales/en_US.yml 2020-11-06 07:06:15 +11:00
dependabot-preview[bot]
2d90fa4723 Bump kaminari from 0.14.1 to 0.17.0
Bumps [kaminari](https://github.com/kaminari/kaminari) from 0.14.1 to 0.17.0.
- [Release notes](https://github.com/kaminari/kaminari/releases)
- [Changelog](https://github.com/kaminari/kaminari/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kaminari/kaminari/compare/v0.14.1...v0.17.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 19:15:53 +00:00
Matt-Yorkley
db3576f469 Merge pull request #6308 from luisramos0/translations
Fix some missing translations in orders edit page
2020-11-05 18:33:51 +01:00
Matt-Yorkley
c2362921fa Merge pull request #6272 from tsara27/fix-alignment-order
Align center order adjustment and order total title
2020-11-05 18:33:08 +01:00
Matt-Yorkley
0668dd2591 Merge pull request #6307 from efgalvao/issue#6262
Fixes issue #6262.
2020-11-05 18:31:49 +01:00
Matt-Yorkley
d8f9dead8b Merge pull request #6270 from Matt-Yorkley/paperclip-handlers
Remove Paperclip URL handlers
2020-11-05 18:29:20 +01:00
Matt-Yorkley
bc96ad9515 Merge pull request #6299 from Matt-Yorkley/admin-image-edit
Fix display issue in product image edit page
2020-11-05 18:28:10 +01:00
Luis Ramos
bd4da3b5ce Merge pull request #6247 from cillian/deep-munge-issue
Patch Rails :deep_munge issue so empty array parameters don't get converted to nil
2020-11-05 13:25:39 +00:00
Pau Pérez Fabregat
8e3f0d2152 Merge pull request #6134 from Matt-Yorkley/webmock-helper
Improve Webmock debugging
2020-11-05 13:11:02 +01:00
Pau Pérez Fabregat
1ea503ed5d Merge pull request #6306 from SerenaWhite/update-handbook-reference
Update reference to OFN Handbook in README.md
2020-11-05 13:05:39 +01:00
Transifex-Openfoodnetwork
719007ecb4 Updating translations for config/locales/es.yml 2020-11-05 22:57:29 +11:00
Transifex-Openfoodnetwork
bd06f898a3 Updating translations for config/locales/ca.yml 2020-11-05 22:55:21 +11:00
Transifex-Openfoodnetwork
246a1f368b Updating translations for config/locales/de_DE.yml 2020-11-05 21:59:09 +11:00
Transifex-Openfoodnetwork
f6443f00e5 Updating translations for config/locales/en_FR.yml 2020-11-05 19:23:26 +11:00
Transifex-Openfoodnetwork
fd52800d2c Updating translations for config/locales/fr.yml 2020-11-05 19:21:40 +11:00
Maikel Linke
4b1f5ae060 Avoid loading variant overrides for no reason 2020-11-05 14:31:19 +11:00
Transifex-Openfoodnetwork
31a34fc9d2 Updating translations for config/locales/en_NZ.yml 2020-11-05 10:00:28 +11:00
Transifex-Openfoodnetwork
3fc0d1bcb9 Updating translations for config/locales/en_NZ.yml 2020-11-05 09:57:27 +11:00
Luis Ramos
bb89557beb Bump acts_as_list to 0.3.0 2020-11-04 22:13:24 +00:00
Luis Ramos
0ae3bf985a Fix some missing translations in orders edit page 2020-11-04 21:54:27 +00:00
Luis Ramos
387326b9b4 Merge pull request #5978 from luisramos0/bye_bye_spree
Bye bye spree - final PR 🎉
2020-11-04 21:27:28 +00:00
Luis Ramos
cb80f67dc6 Merge pull request #5885 from luisramos0/variants
[Bye bye Spree] Bring models product, variant, price from spree_core
2020-11-04 21:26:07 +00:00
efgalvao
5260c01f16 Update registration.html.haml
Removed spaces.
2020-11-04 17:37:11 -03:00
Matt-Yorkley
3170db9532 Remove Paperclip URL handlers
See ofn-security issue #33 for details.
2020-11-04 16:49:01 +00:00
efgalvao
42d5f377e0 Fixes issue #6262. 2020-11-04 13:11:37 -03:00
Ren White
f513d888a3 Update reference to OFN handbook in README.md 2020-11-04 06:57:06 -07:00
Luis Ramos
5cde085241 Fix a number of spree translations 2020-11-04 13:55:36 +00:00
Luis Ramos
23956726e9 Add missing translation 2020-11-04 12:37:55 +00:00
efgalvao
1f1da3eb6d Fixed issue #6292. 2020-11-04 09:37:51 -03:00
Luis Ramos
f6d0905517 Add s3_support require to image.rb 2020-11-04 12:15:45 +00:00
Luis Ramos
c2591104ee Fix typo in application setup
This was forcing env test in all environments breaking payment methods that are activated by environment
2020-11-04 12:15:45 +00:00
Luis Ramos
3beea43143 Switch to a version of better_paypal_express that does not define
routes and define those routes on the OFN side
2020-11-04 12:15:45 +00:00
Luis Ramos
8f2d52b9e3 Revert "Do not reload routes and make spree routes append instead of draw in"
This reverts commit cdf4c795c7c7ae18006eb24af9336941361b6b81.
2020-11-04 12:15:45 +00:00
Luis Ramos
eada388534 Add handle_extensions to get Spree.translations (archaic spree js translations) in handlebars templates
This is all legacy from spree that can be cleaned up at some point, we only have two handlebars templates in OFN
2020-11-04 12:15:45 +00:00
Luis Ramos
f6f4faf146 Move test setup to application.rb
Without spree_core, the test environment file loads before the Spree engine is loaded
2020-11-04 12:15:45 +00:00
Luis Ramos
5c4ea1a6be Fix tax rates spec 2020-11-04 12:15:45 +00:00
Luis Ramos
72c454a211 Fix reference to Spree bug 2020-11-04 12:15:45 +00:00
Luis Ramos
543a9592c7 Adapt spec to routes without spree 2020-11-04 12:15:45 +00:00
Luis Ramos
2ce96f4bbe Registration path is working correctly again without spree 2020-11-04 12:15:45 +00:00
Luis Ramos
00d121ebfc Add misssing translation 2020-11-04 12:15:45 +00:00
Luis Ramos
c785d0d1d7 Make engine's routes append to main app instead of prepend 2020-11-04 12:15:45 +00:00
Luis Ramos
80cbe6b30f Add route helper to call to sort_link so that it can find the necessary routes 2020-11-04 12:15:45 +00:00
Luis Ramos
09aef524f3 Make route helpers use spree helper 2020-11-04 12:15:45 +00:00
Luis Ramos
805b4d243e Fix missing translations 2020-11-04 12:15:45 +00:00
Luis Ramos
a07029f660 Add require so that model is available when needed 2020-11-04 12:15:45 +00:00
Luis Ramos
ccab133d63 Make sample data use OFN's calculators 2020-11-04 12:15:45 +00:00
Luis Ramos
a51645f316 Remove deleted file 2020-11-04 12:15:45 +00:00
Luis Ramos
4125fe1690 Fix problem with string matchers 2020-11-04 12:15:45 +00:00
Luis Ramos
6950d7717f Add missing translation 2020-11-04 12:15:45 +00:00
Luis Ramos
ab53db0c61 Merge ability and ability decorator 2020-11-04 12:15:45 +00:00
Luis Ramos
1b4a4a8113 Bring code from spree_paypal_express to make it use spree url_helper 2020-11-04 12:15:45 +00:00
Luis Ramos
66fb3a9cf3 Remove code related to spree promotions 2020-11-04 12:15:45 +00:00
Luis Ramos
79a7cf9b39 Add default spree logo 2020-11-04 12:15:45 +00:00
Luis Ramos
a18a198812 Fix locations of requires in admin js all.js 2020-11-04 12:15:45 +00:00
Luis Ramos
0ca71ce0a9 Do not reload routes and make spree routes append instead of draw in
case thee routes are already defined elsewhere, for example, by the
paypal express gem
2020-11-04 12:15:45 +00:00
Luis Ramos
b7aa04353c Fix requires of product duplicator 2020-11-04 12:15:45 +00:00
Luis Ramos
bfeebccbc5 Load Spree engine before configuring it 2020-11-04 12:15:45 +00:00
Luis Ramos
4b21667974 Move initializers from Spree engine to the OFN application 2020-11-04 12:15:45 +00:00
Luis Ramos
9bbeec5031 Require code from spree/core explicitly 2020-11-04 12:15:45 +00:00
Luis Ramos
af3057f55f Remove spree requires that are not needed in OFN 2020-11-04 12:15:45 +00:00
Luis Ramos
e8381304f9 Remove spree_core dependency 2020-11-04 12:15:45 +00:00
Luis Ramos
58a476751b Remove code from the spree engine that is not needed in OFN 2020-11-04 12:15:45 +00:00
Luis Ramos
3320a3f0bc Fix some more rubocop issues 2020-11-04 12:15:45 +00:00
Luis Ramos
4c6708267a Run rubocop -a 2020-11-04 12:15:45 +00:00
Luis Ramos
2f0d61d54f Bring Spree engine.rb from spree_core 2020-11-04 12:15:45 +00:00
Luis Ramos
451d8488d9 Run rubocop -a 2020-11-04 12:15:45 +00:00
Luis Ramos
bcca2eee9d Bring user and ability related files from spree_core 2020-11-04 12:15:45 +00:00
Luis Ramos
1bce516a45 Make specs load product duplicator
This makes the ofn version of the product duplicator be used instead of the spree one
2020-11-04 12:15:45 +00:00
Luis Ramos
f6195f1159 Remove duplicate_extra logic from ProductDuplicator 2020-11-04 12:15:23 +00:00
Luis Ramos
503c17f896 Move Spree::ProductDuplicator to Spree::Core namespace 2020-11-04 12:15:23 +00:00
Luis Ramos
795b7101ab Remove spree requires that are not needed in OFN 2020-11-04 12:15:23 +00:00
Luis Ramos
9d4a15b0e0 Add required product scopes from spree_core product_scopes 2020-11-04 12:15:23 +00:00
Luis Ramos
459959c068 Remove code related to spree promotions 2020-11-04 12:15:23 +00:00
Luis Ramos
ba16de6627 Move product duplicator to lib/spree/core, it's where spree_core is currently loading it from 2020-11-04 12:15:23 +00:00
Luis Ramos
72a39fdf54 Add required factory from spree_core 2020-11-04 12:15:23 +00:00
Luis Ramos
4b8515358c Remove reference to FactoryGirl, it's FactoryBot that is used in OFN 2020-11-04 12:15:23 +00:00
Luis Ramos
cf7d8067df Fix easy rubocop issues 2020-11-04 12:15:23 +00:00
Luis Ramos
d4e4669e49 Run transpec 2020-11-04 12:15:23 +00:00
Luis Ramos
e9f76cb339 Remove some dead code (Config.track_inventory_levels), remove variant.cost_price= so that localized number is seen, and fix specs 2020-11-04 12:15:23 +00:00
Luis Ramos
b68c5ee0f9 Remove dead code (prototypes) and fix specs 2020-11-04 12:15:23 +00:00
Luis Ramos
072cd2bd54 Run rubocop autocorrect in specs 2020-11-04 12:15:23 +00:00
Luis Ramos
2f8198eecc Fix some easy rubocop issues 2020-11-04 12:15:23 +00:00
Luis Ramos
f85044e035 Run rubocop autocorrect 2020-11-04 12:15:23 +00:00
Luis Ramos
751beceb34 Merge decorators with original spree files 2020-11-04 12:15:23 +00:00
Luis Ramos
8cb75fc6d8 Bring models from spree_core: Spree::Product and Spree::Variant!
EPIC COMMIT ALERT :-)
2020-11-04 12:15:23 +00:00
Matt-Yorkley
d147996af6 Fix display issue in product image edit page 2020-11-03 18:41:09 +00:00
Transifex-Openfoodnetwork
daff0a250c Updating translations for config/locales/pt_BR.yml 2020-11-04 03:32:20 +11:00
Transifex-Openfoodnetwork
65bccb9236 Updating translations for config/locales/ru.yml 2020-11-03 20:36:52 +11:00
Transifex-Openfoodnetwork
efe5a4700a Updating translations for config/locales/en_FR.yml 2020-11-03 19:13:11 +11:00
Transifex-Openfoodnetwork
0103cc3a2f Updating translations for config/locales/fr.yml 2020-11-03 19:13:06 +11:00
Transifex-Openfoodnetwork
2a2c7bdc4e Updating translations for config/locales/es.yml 2020-11-03 08:49:53 +11:00
Transifex-Openfoodnetwork
ad76f3e91e Updating translations for config/locales/ca.yml 2020-11-03 08:48:11 +11:00
Pau Pérez Fabregat
201c9c109d Merge pull request #6281 from Matt-Yorkley/missing-translation-ordering
Add missing translation key for enterprise taxon ordering
2020-11-02 22:15:43 +01:00
Pau Pérez Fabregat
4911bb6613 Merge pull request #6274 from luisramos0/rubocop
Use rubocop auto correct to fix a number of issues
2020-11-02 22:13:36 +01:00
Luis Ramos
c07215552e Add log entries to log 2020-11-02 20:59:57 +00:00
Luis Ramos
2b01c80c54 Add subs debug task that prints out basic info about a specific Order Cycle 2020-11-02 20:59:57 +00:00
Pau Pérez Fabregat
9de74500cd Merge pull request #6288 from andrewpbrett/fix-cookies-banner
update template path for cookies banner, fix #6284
2020-11-02 20:52:46 +01:00
Andy Brett
04f5249176 update template path for cookies banner, fix #6284 2020-11-02 07:45:30 -08:00
Transifex-Openfoodnetwork
5c81f645c9 Updating translations for config/locales/fr.yml 2020-11-02 20:38:38 +11:00
Transifex-Openfoodnetwork
6ff8cadb26 Updating translations for config/locales/en_FR.yml 2020-11-02 20:27:13 +11:00
Transifex-Openfoodnetwork
04358dfa39 Updating translations for config/locales/en_FR.yml 2020-11-02 20:24:09 +11:00
Transifex-Openfoodnetwork
b23d6674b5 Updating translations for config/locales/ru.yml 2020-11-02 18:59:12 +11:00
Transifex-Openfoodnetwork
8904273bea Updating translations for config/locales/ru.yml 2020-11-02 18:56:03 +11:00
Luis Ramos
1bb7fd9ec8 Merge pull request #6280 from Matt-Yorkley/eastern-slavic-plurals
Add missing translation keys for Eastern Slavic plurals
2020-10-31 23:13:54 +00:00
Matt-Yorkley
0af20e48b0 Add missing translation key for enterprise taxon ordering 2020-10-31 19:17:19 +00:00
Matt-Yorkley
bc40088eaf Add missing translation keys for Eastern Slavic plurals
There are multiple forms of pluralisation here, with different translations for each.

перевод сложен !
2020-10-31 16:58:15 +00:00
Luis Ramos
fa77204e14 Adapt spec to the move of the controller, in prod the call to request.env['PATH_INFO'] will work correctly 2020-10-31 10:44:19 +00:00
Luis Ramos
af713385d8 Add frozen string literal 2020-10-31 10:16:37 +00:00
Luis Ramos
c9972189d0 Change usage of Spree::Admin::BaseController to Admin::BaseController 2020-10-31 09:56:59 +00:00
Luis Ramos
eb07a91acb Adapt code from Spree::Admin::BaseController to Admin::BaseController 2020-10-31 09:52:34 +00:00
Luis Ramos
66ba9ff73d Move Spree::Admin::BaseController to Admin::BaseController 2020-10-31 09:51:37 +00:00
Pau Perez
1abdd0112e Update all locales with the latest Transifex translations 2020-10-31 10:46:12 +01:00
Pau Pérez Fabregat
bc6ffe3b0c Merge pull request #6242 from openfoodfoundation/transifex
Transifex
2020-10-31 10:36:12 +01:00
Luis Ramos
eea73aa989 Merge pull request #5919 from luisramos0/injector_refactor_for_rails41
[Rails 4.1, works in master] Convert relations with to_a so that they work in rails 4.1
2020-10-31 09:33:27 +00:00
Pau Pérez Fabregat
03b0ce430d Merge branch 'master' into transifex 2020-10-31 10:05:27 +01:00
Luis Ramos
bfce012a4b Update manual rubocop todo 2020-10-30 17:56:13 +00:00
Luis Ramos
fb3dd0aa18 Update rubocop manual list for MethodLength and AbcSize cops 2020-10-30 17:46:49 +00:00
Luis Ramos
01320105ea Update rubocop_todo 2020-10-30 17:32:47 +00:00
Luis Ramos
c2c12b34f9 Fix more rubocop issues with auto correct 2020-10-30 17:10:23 +00:00
Luis Ramos
c71ebc38bb Fix Layout/ArgumentAlignment 2020-10-30 17:06:08 +00:00
Luis Ramos
4b03dec119 Update manual todo for Line Length 2020-10-30 17:01:38 +00:00
Luis Ramos
ca1373a366 Fix Style/RescueStandardError and Style/RegexpLiteral 2020-10-30 16:50:37 +00:00
Luis Ramos
b0e889be2a Fix Style/RandomWithOffset 2020-10-30 16:50:37 +00:00
Luis Ramos
b3196295e6 Fix Style/RaiseArgs 2020-10-30 16:50:37 +00:00
Luis Ramos
75cec3b606 Fix issue Style/HashSyntax 2020-10-30 16:50:37 +00:00
Luis Ramos
92417d849c Fix rubocop issue Rails/DynamicFindBy 2020-10-30 16:50:37 +00:00
Luis Ramos
bf5fcde885 Fix Lint/UnusedMethodArgument 2020-10-30 16:50:37 +00:00
Luis Ramos
40f8c785a2 Fix Lint/UnusedBlockArgument 2020-10-30 16:50:37 +00:00
Luis Ramos
403384dbb1 Fix rubocop isssues, trailing whitespaces and empty lines 2020-10-30 16:50:37 +00:00
Luis Ramos
c30cba8bfe Fix issue Layout/SpaceInsideHashLiteralBraces 2020-10-30 16:50:37 +00:00
Luis Ramos
e8138e8c23 Fix rubocop issues in models/payment_spec 2020-10-30 16:50:37 +00:00
Luis Ramos
4845cde20f Fix rubocop issue Layout/HashAlignment 2020-10-30 16:50:37 +00:00
Luis Ramos
a8265aff89 Fix rubocop issue Layout/FirstHashElementIndentation 2020-10-30 16:50:37 +00:00
Luis Ramos
9cb3b0b14a Fix rubocop issue Layout/FirstArrayElementIndentation 2020-10-30 16:50:37 +00:00
Luis Ramos
06433b1be3 Fix rubocop issue Layout/ExtraSpacing 2020-10-30 16:50:37 +00:00
Luis Ramos
d4c52ce122 Fix rubocop issue Layout/EmptyLinesAroundBlockBody 2020-10-30 16:50:37 +00:00
Luis Ramos
eb4e732c1a Fix rubocop issue Layout/EmptyLines 2020-10-30 16:50:37 +00:00
Luis Ramos
3fe2684270 Fix rubocop issue Layout/BlockAlignment 2020-10-30 16:50:37 +00:00
Luis Ramos
3e6e338e3d Fix rubocop issue Layout/ArgumentAlignment 2020-10-30 16:50:37 +00:00
Luis Ramos
ad14f7f9b0 Merge pull request #6203 from luisramos0/rubocop_fix
Fix ~80 rubocop issues in serializers/api/admin
2020-10-30 16:48:22 +00:00
Luis Ramos
7cc7c62232 Fix long lines 2020-10-30 16:14:39 +00:00
Luis Ramos
b6dc46a911 Fix rubocop issue by nesting module and class declarations
No file contents changed
2020-10-30 16:14:34 +00:00
Luis Ramos
0b70c67908 Merge pull request #5994 from openfoodfoundation/tcs_checkbox
Terms and Conditions checkbox on checkout
2020-10-30 15:10:06 +00:00
Luis Ramos
71a181341b Fix bug in terms_and_conditions_helper related to guest checkout where current_user is nil and T&Cs must be shown all the time 2020-10-30 15:09:13 +00:00
Luis Ramos
cf3f511f4d Add directive spec to validate the dialog template is loaded on element click 2020-10-30 15:09:13 +00:00
Luis Ramos
1d1067ebc1 Add coverage to T&Cs file opening on a new tab and also for the upload timestamp now displayed in the page 2020-10-30 15:09:13 +00:00
Luis Ramos
bd4d0ba5d3 Make the warning message work for first upload and for changes 2020-10-30 15:09:13 +00:00
Luis Ramos
3b682bc47f Add warning when uploading a file 2020-10-30 15:09:13 +00:00
Luis Ramos
be35f97622 Add tooltip icon to terms and conditions 2020-10-30 15:09:13 +00:00
Luis Ramos
ca79270ba3 Show T&Cs warning when uploading a new file 2020-10-30 15:09:13 +00:00
Luis Ramos
2cf7b1b36c Make label translatable 2020-10-30 15:09:13 +00:00
Luis Ramos
f7c07f492c Make TCs file input onoy accept pdf files 2020-10-30 15:09:13 +00:00
Luis Ramos
9f17e4fd8f Add upload timestamp to TCs upload form in enterprise business details 2020-10-30 15:09:13 +00:00
Luis Ramos
c980d22826 Make TCs link open in a new tab in the backoffice 2020-10-30 15:09:13 +00:00
Luis Ramos
ceee89fad0 Make Checkout form submit read terms_and_conditions_accepted from the checkout form checkbox 2020-10-30 15:09:13 +00:00
Luis Ramos
a942218708 Fix post checkout actions spec 2020-10-30 15:09:13 +00:00
Luis Ramos
26946ec102 Fix edge case and some specs in post checkout actions 2020-10-30 15:09:13 +00:00
Luis Ramos
dd31cbe014 Cover case where enterprise uploads new T&Cs file and customer has already accepted before 2020-10-30 15:09:13 +00:00
Luis Ramos
46733d0c0d Add feature spec to cover T&Cs ticked by default if customer has already accepted them 2020-10-30 15:09:13 +00:00
Luis Ramos
57a9d6e1e2 Make customer terms_and_conditions_accepted_at be set to current time
after a successful checkout
2020-10-30 15:09:13 +00:00
Luis Ramos
ad592785cf Rename methods to follwo ruby convention and improve readability 2020-10-30 15:09:13 +00:00
Luis Ramos
f3ba0ebdbb Move code to a new helper 2020-10-30 15:09:13 +00:00
Luis Ramos
4d64bf6ece Add column to customers table to register last time enterprise terms and
conditions were accepted so customer doesnt have to accept terms on all
checkouts but only when the enterprise updates the terms file
2020-10-30 15:09:13 +00:00
Luis Ramos
3c9c5862d1 Verify terms and conditions updated_at timestamp is touched every time the file name changes.
We will need this to check if user already accepted the terms and
conditions of this enterprise.
2020-10-30 15:08:26 +00:00
Luis Ramos
78a8f53d8d Change default translations to what's been requested on the issue 2020-10-30 15:08:26 +00:00
Luis Ramos
806c8b943d Move small class to label so that rule is actually applied 2020-10-30 15:08:26 +00:00
Luis Ramos
85096a997f Add a checkbox to checkout to tick for Terms and Conditions
Checkout button should be disabled if checkbox is not ticked
2020-10-30 15:08:26 +00:00
Transifex-Openfoodnetwork
19b6cb13f1 Updating translations for config/locales/pt_BR.yml 2020-10-31 01:36:45 +11:00
Transifex-Openfoodnetwork
dd228cc750 Updating translations for config/locales/ar.yml 2020-10-30 22:39:44 +11:00
Cillian O'Ruanaidh
5aa8c783b1 Use Rspec syntax instead of Test::Unit in ActionDispatch::Request spec. 2020-10-30 11:12:36 +00:00
Cillian O'Ruanaidh
5a66c855bc Add :frozen_string_literal magic comment and underscore prefix to unused block argument for Rubocop 2020-10-30 11:12:36 +00:00
Cillian O'Ruanaidh
ea3c456d3b Patch Rails :deep_munge issue so empty array parameters don't get converted to nil
Before people were unable to remove coordinator fees from an order cycle because Rails was converting the empty :coordinator_fee_ids array paramter into nil. This issue was introduced to Rails in v4.0.0.beta1 and isn't fixed until v5.0.0.beta1

Another way to fix this could be to do something like 'params[:coordinator_fee_ids] ||= []' but it seems like this issue could problems in other parts of the app so a more general fix might be better.

Fixes #6224
2020-10-30 11:12:36 +00:00
Luis Ramos
586e8a9abe Fix some more rubocop issues 2020-10-30 10:13:16 +00:00
Luis Ramos
1847b62cf4 Fix some rubocop issues 2020-10-30 10:12:56 +00:00
Luis Ramos
0618c9e4dd Fix line_items_decorator spec 2020-10-30 10:12:56 +00:00
Luis Ramos
d15301021a Rename inject_json_list to inject_json_array 2020-10-30 10:12:56 +00:00
Luis Ramos
55e8dace44 Fix sort_by issue on relation by calling to_a 2020-10-30 10:12:56 +00:00
Luis Ramos
9a9b455e66 Fix problem in default_tax related to sum in active record 2020-10-30 10:12:56 +00:00
Luis Ramos
399fe2c01b Make code work for relations and arrays 2020-10-30 10:12:56 +00:00
Luis Ramos
3aeb87debc Make it work with both relations and arrays 2020-10-30 10:12:56 +00:00
Luis Ramos
7b06fdd943 Convert to array before using sort_by! 2020-10-30 10:12:56 +00:00
Luis Ramos
6755354196 Convert relation to_a to be able to use sum 2020-10-30 10:12:56 +00:00
Luis Ramos
440e69e156 Convert relation to array to be able to use sum 2020-10-30 10:12:47 +00:00
Luis Ramos
a53223aefc Convert relation to array before using array only method sort_by! 2020-10-30 10:10:54 +00:00
Luis Ramos
cc1b4123b7 Make model_set handle collections that are relations and not arrays 2020-10-30 10:10:54 +00:00
Luis Ramos
65ce183830 Make checkout_adjustments_for handle adjustments if a relation is given 2020-10-30 10:10:54 +00:00
Luis Ramos
7e606471e4 Make tag_rulee_applicator and available_payment_methods_filter handle case where a relation is given instead of an array 2020-10-30 10:10:54 +00:00
Luis Ramos
1dace1f0e3 Make quantifier use stock_items relation and not an array because sum will behave differently with an array in rails 4.1 2020-10-30 10:10:54 +00:00
Luis Ramos
08d26102d2 Separate injection methods so that we can have a separate behaviour for lists without having to check their types
This change is required for rails 4.1 where the relations api changed
2020-10-30 10:10:54 +00:00
Transifex-Openfoodnetwork
35790b3cca Updating translations for config/locales/en_FR.yml 2020-10-30 19:29:20 +11:00
Transifex-Openfoodnetwork
2ce05d48bf Updating translations for config/locales/fr.yml 2020-10-30 19:29:05 +11:00
Tsara Sudrajat
f4c7a0b2a2 Align center order adjustment and order total title 2020-10-30 11:29:38 +07:00
Luis Ramos
6b826423c1 Merge pull request #6145 from andrewpbrett/instance-unit-picker
Allow instances to choose available units for products/variants
2020-10-29 22:22:33 +00:00
Luis Ramos
412457bb19 Merge pull request #6122 from luisramos0/customer_total
Add Customer balance to customer list
2020-10-29 22:06:05 +00:00
Andy Brett
2605b9cdf0 refactor unitScales function 2020-10-29 09:18:24 -07:00
Andy Brett
867947f6b2 refactor availableUnitScales into unitScales 2020-10-29 09:18:24 -07:00
Andy Brett
8d9b33abe8 update spec with new param structure 2020-10-29 09:18:24 -07:00
Andy Brett
57fe1db10e guard against nil params[:available_units] 2020-10-29 09:18:24 -07:00
Andy Brett
18d2599075 indicate block argument is unused 2020-10-29 09:18:24 -07:00
Andy Brett
292b33b4ea simplify available units params (and remove regex!) 2020-10-29 09:18:24 -07:00
Andy Brett
8591934c19 extract availableUnits to separate method 2020-10-29 09:18:24 -07:00
Andy Brett
9bf84bd5a8 provide default availableUnits to specs 2020-10-29 09:18:24 -07:00
Andy Brett
67a603f77f inject available_units for new variant creation 2020-10-29 09:18:24 -07:00
Andy Brett
331ac28b71 inject available units to edit variants page 2020-10-29 09:18:24 -07:00
Andy Brett
3ead050a56 provide availableUnits to VariantUnitManager spec 2020-10-29 09:18:24 -07:00
Andy Brett
23dd09eaad remove extra debugger statement 🤦 2020-10-29 09:18:23 -07:00
Andy Brett
8585e6c7f0 add available units injection to BOM page 2020-10-29 09:18:19 -07:00
Andy Brett
866452383d rubocop fix 2020-10-29 09:17:49 -07:00
Andy Brett
402fc902ff remove non-default units from expected options array 2020-10-29 09:17:49 -07:00
Andy Brett
8f21b66b96 add controller spec for updating available units 2020-10-29 09:17:49 -07:00
Andy Brett
c9b540677c refactor general settings controller to handle available_units params 2020-10-29 09:17:49 -07:00
Andy Brett
4f579facfe move all_units to admin helper 2020-10-29 09:17:49 -07:00
Andy Brett
fa62ec0bff only show available units for products 2020-10-29 09:17:49 -07:00
Andy Brett
cb3ea133e9 add available units to instance prefs page 2020-10-29 09:17:31 -07:00
Luis Ramos
10490536e2 Merge pull request #6244 from cillian/configurable-geocoder-service
Allow Geocoder to be configured to use different APIs
2020-10-29 16:12:52 +00:00
Yih Yang
b477ed4a0a added products variable 2020-10-29 23:37:56 +08:00
Yih Yang
f7ee08855a updated implementation 2020-10-29 22:07:11 +08:00
Yih Yang
e3d1f5256b added product sorting 2020-10-29 22:06:35 +08:00
Luis Ramos
a43737af8b Merge pull request #6266 from jhsu802701/rubocop_web_helper
Exempted spec/support/request/web_helper.rb from Metrics/AbcSize
2020-10-29 13:52:15 +00:00
Luis Ramos
0138f04506 Add spec to cover new customer balances on customers list 2020-10-29 13:38:36 +00:00
Luis Ramos
4a2684e3d9 Fix rubocop issues 2020-10-29 13:38:36 +00:00
Luis Ramos
e860e2ca57 Add label to customer balance so it's clear to the manager what's the balance status: credit owed or balance due 2020-10-29 13:38:36 +00:00
Luis Ramos
da69dca471 Make customer balance serialize with the currency 2020-10-29 13:38:36 +00:00
Luis Ramos
e4f3aae7c0 Add customer balance to customer list 2020-10-29 13:38:36 +00:00
Luis Ramos
72ae7ea8a2 Merge pull request #6267 from jhsu802701/rubocop_shopworkflow_2
Removed variant argument from click_add_bulk_max_to_cart
2020-10-29 13:36:58 +00:00
Jason Hsu
8f95de10bc Removed variant argument from click_add_bulk_max_to_cart; updated spec/features/consumer/shopping/shopping_spec.rb to reflect this 2020-10-29 00:35:49 -05:00
Jason Hsu
cbe1b53189 Exempted spec/support/request/web_helper.rb from Metrics/AbcSize; reduces the number of offenses from 122 to 121 2020-10-29 00:23:30 -05:00
Transifex-Openfoodnetwork
9c30c3c0ed Updating translations for config/locales/ar.yml 2020-10-29 11:15:12 +11:00
Luis Ramos
9a03428412 Merge pull request #6197 from cillian/reset-on-demand-on-absent-products
When resetting stock to 0 on absent products in product import also reset the on demand setting
2020-10-29 00:09:49 +00:00
Luis Ramos
76afc0b407 Merge pull request #6202 from cillian/sort-admin-products-by-name-fix
Fix sorting of admin products by name
2020-10-29 00:09:31 +00:00
Luis Ramos
200e9c5078 Merge pull request #6246 from tsara27/fix-shipping-method-translation
Add new translation for shipping method
2020-10-29 00:09:14 +00:00
Luis Ramos
caea5b2aa8 Merge pull request #6264 from openfoodfoundation/dependabot/bundler/bugsnag-6.18.0
Bump bugsnag from 6.17.0 to 6.18.0
2020-10-28 21:11:15 +00:00
Luis Ramos
3730d76b44 Merge pull request #6155 from arku/perf/model-specs
Improve model specs' performance
2020-10-28 21:06:10 +00:00
Transifex-Openfoodnetwork
28c25cff2c Updating translations for config/locales/en_IE.yml 2020-10-29 07:08:18 +11:00
Pau Pérez Fabregat
20edcfab26 Merge pull request #6217 from santakadev/docker-open-db-port
Open PostgreSQL port in docker-compose
2020-10-28 17:56:49 +01:00
Pau Pérez Fabregat
642787b95a Merge branch 'master' into reset-on-demand-on-absent-products 2020-10-28 17:28:53 +01:00
Transifex-Openfoodnetwork
a1438d3b2e Updating translations for config/locales/ru.yml 2020-10-29 02:23:55 +11:00
dependabot-preview[bot]
fc8e3d1ece Bump bugsnag from 6.17.0 to 6.18.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.17.0...v6.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-27 17:41:49 +00:00
Transifex-Openfoodnetwork
21991515df Updating translations for config/locales/ar.yml 2020-10-27 22:56:03 +11:00
Luis Ramos
3534559fbf Merge pull request #6235 from Matt-Yorkley/flaky-tag-rules
[Flaky Specs] Fix tag_rules and select2 issues
2020-10-27 11:40:04 +00:00
Matt-Yorkley
f1373b902c Merge pull request #6256 from luisramos0/rubocop_specs
Relax ModuleLength rubocop rule for specs
2020-10-26 22:41:30 +01:00
Luis Ramos
e5e67fbdf0 Merge pull request #6255 from jhsu802701/fix_docker_up
Added yarn install to docker-compose up
2020-10-26 21:16:09 +00:00
Transifex-Openfoodnetwork
f1e80e92de Updating translations for config/locales/it.yml 2020-10-27 07:18:57 +11:00
Luis Ramos
c5186c2412 Fix rubocop_specs file path 2020-10-26 17:27:38 +00:00
Luis Ramos
52f56baa8c Remove specs with more than 100 lines but less than 300 from rubocop exceptions list 2020-10-26 17:03:54 +00:00
Luis Ramos
0b51d8b297 Add rubocop config to allow specs to be 300 lines long 2020-10-26 17:03:50 +00:00
Luis Ramos
0f5aa11f05 Nest spec in module declaration 2020-10-26 16:50:29 +00:00
Jason Hsu
00624d1b96 Added yarn install to docker-compose up; allows the app to work properly in the Docker environment 2020-10-26 11:07:01 -05:00
Transifex-Openfoodnetwork
7e8aaaa5f9 Updating translations for config/locales/fr.yml 2020-10-27 01:27:40 +11:00
Transifex-Openfoodnetwork
49b8dcb880 Updating translations for config/locales/en_FR.yml 2020-10-27 01:24:49 +11:00
Transifex-Openfoodnetwork
479520bf97 Updating translations for config/locales/fr.yml 2020-10-27 01:24:35 +11:00
Luis Ramos
b66b50cd56 Merge pull request #6125 from tsara27/fix-translation
Fix translation for password reset instruction mailer subject
2020-10-26 12:01:47 +00:00
Matt-Yorkley
a296710f78 Update all locales *again* with the latest translations, before publishing 2020-10-26 10:55:17 +00:00
Transifex-Openfoodnetwork
50cbc971a1 Updating translations for config/locales/pt_BR.yml 2020-10-26 10:13:53 +11:00
Transifex-Openfoodnetwork
7178a69a54 Updating translations for config/locales/pt_BR.yml 2020-10-26 10:10:47 +11:00
Luis Ramos
ebd7e9599b Merge pull request #6248 from Matt-Yorkley/s3-credentials
Fix #s3_credentials
2020-10-25 19:47:57 +00:00
Matt-Yorkley
df3ac0394c Fix #s3_credentials 2020-10-25 14:04:33 +00:00
Matt-Yorkley
822c82fa9d Merge pull request #6204 from jhsu802701/remove_docker_md
Removed DOCKER.md (redundant)
2020-10-25 13:20:35 +01:00
Matt-Yorkley
e06e8fc460 Improve flaky form interaction process in #fill_in_tag 2020-10-25 10:17:16 +00:00
Matt-Yorkley
ee402db734 Refactor and DRY tag-rule-filling-in to #fill_in_tag method 2020-10-25 09:01:04 +00:00
Matt-Yorkley
3f1e496731 Fix select2 capybara issues 2020-10-24 23:53:02 +01:00
Matt-Yorkley
f22c7fcdfb Merge pull request #6151 from luisramos0/stripe_save_cards
Stripe Feature Tests: checkout with saved a card
2020-10-24 23:29:29 +02:00
Transifex-Openfoodnetwork
494f0d8ff6 Updating translations for config/locales/ru.yml 2020-10-24 23:18:00 +11:00
Transifex-Openfoodnetwork
15715f9bb4 Updating translations for config/locales/it.yml 2020-10-24 22:28:59 +11:00
Tsara Sudrajat
4baf53a0a9 Add new translation for shipping method 2020-10-24 17:06:19 +07:00
Transifex-Openfoodnetwork
8041111886 Updating translations for config/locales/ar.yml 2020-10-24 07:34:19 +11:00
Transifex-Openfoodnetwork
adc2bcb442 Updating translations for config/locales/es.yml 2020-10-24 01:40:48 +11:00
Transifex-Openfoodnetwork
8a51c5cb5d Updating translations for config/locales/es.yml 2020-10-24 01:37:39 +11:00
Transifex-Openfoodnetwork
e114d58ff2 Updating translations for config/locales/ca.yml 2020-10-24 01:36:14 +11:00
Transifex-Openfoodnetwork
b7fc3df86a Updating translations for config/locales/fr_CA.yml 2020-10-23 23:18:11 +11:00
Transifex-Openfoodnetwork
01fe12e72b Updating translations for config/locales/fr_CA.yml 2020-10-23 23:15:02 +11:00
Cillian O'Ruanaidh
c5e125747f Allow Geocoder to be configured to use different APIs.
This gives instances the option to use other geocoding services, for example MapBox because instances may not have a Google Maps API key if they are using Open Street Map for their map instead of Google.
2020-10-23 13:09:59 +01:00
Transifex-Openfoodnetwork
3baaa5cc40 Updating translations for config/locales/en_CA.yml 2020-10-23 23:06:57 +11:00
Cillian O'Ruanaidh
e29d6048c2 Add a test for sorting admin products by name 2020-10-23 10:53:30 +01:00
Matt-Yorkley
9b72f7e45c Merge pull request #6234 from Matt-Yorkley/fix-ordercyle-layout
Fix minor ordercyle selector layout regression
2020-10-23 10:52:25 +02:00
Transifex-Openfoodnetwork
c4ba8db7ed Updating translations for config/locales/en_FR.yml 2020-10-23 19:12:20 +11:00
Transifex-Openfoodnetwork
764169c9ca Updating translations for config/locales/fr.yml 2020-10-23 19:12:17 +11:00
Transifex-Openfoodnetwork
30a1832302 Updating translations for config/locales/en_FR.yml 2020-10-23 19:09:10 +11:00
Transifex-Openfoodnetwork
a07f64f8a8 Updating translations for config/locales/fr.yml 2020-10-23 19:09:07 +11:00
Matt-Yorkley
21a48f14f4 Update all locales with the latest Transifex translations 2020-10-22 21:03:11 +01:00
Matt-Yorkley
7d604884bf Merge pull request #6201 from openfoodfoundation/transifex
Transifex
2020-10-22 22:01:20 +02:00
Matt-Yorkley
5edd562691 Merge pull request #6238 from openfoodfoundation/mobile-5-product-listings
Merge Product Listings to master
2020-10-22 21:55:42 +02:00
Transifex-Openfoodnetwork
ec1b5c228d Updating translations for config/locales/nb.yml 2020-10-23 05:58:25 +11:00
Matt-Yorkley
176021b201 Fix minor ordercyle selector layout regression 2020-10-22 19:57:32 +01:00
Transifex-Openfoodnetwork
828df9fd43 Updating translations for config/locales/ar.yml 2020-10-23 03:14:52 +11:00
Matt-Yorkley
28590fdad4 Merge pull request #6223 from luisramos0/image_default_styles
Update image default styles
2020-10-22 17:54:32 +02:00
Luis Ramos
61cfdb4038 Merge pull request #6114 from mbudm/issue/6031
Add matomo tag to admin pages
2020-10-22 15:24:34 +01:00
Matt-Yorkley
489529d30e Merge pull request #5729 from luisramos0/image_settings
Remove Image settings page and standardise Paperclip styles
2020-10-22 15:58:14 +02:00
Luis Ramos
a4f21be99a Merge pull request #6237 from openfoodfoundation/dependabot/bundler/ddtrace-0.42.0
Bump ddtrace from 0.41.0 to 0.42.0
2020-10-22 13:48:15 +01:00
Matt-Yorkley
4dbe966fcf Add subtle hover effect on clickable image 2020-10-22 10:37:11 +01:00
Matt-Yorkley
857ecaf680 Update "noimage" placeholder for :small size to 227x227px 2020-10-22 10:02:59 +01:00
Matt-Yorkley
01adf459b1 Replace top padding on product list 2020-10-22 09:59:16 +01:00
Matt-Yorkley
fb482fc1c7 Quickfix: unwanted border-right on bulk buy buttons 2020-10-22 15:46:49 +11:00
Maikel Linke
db53848092 Enable switching language of "Price breakdown"
And move translation to its own context.
2020-10-22 15:46:49 +11:00
Maikel Linke
2887751098 Move translation to its own section 2020-10-22 15:46:49 +11:00
Maikel Linke
e0a7f50626 Standardise new grey colour 2020-10-22 15:46:49 +11:00
Maikel Linke
db321da02a Fade "From" producer label 2020-10-22 15:46:49 +11:00
Maikel Linke
d5f0fb10f4 Distinguish unit size more from variant name 2020-10-22 15:46:49 +11:00
Maikel Linke
f6f029666a Remove gaps in multi-line variant name 2020-10-22 15:46:49 +11:00
Maikel Linke
23454ba3bf Show product property description nub on mobile 2020-10-22 15:46:49 +11:00
Maikel Linke
a3e83f2f70 Grey out disabled bulk quantity buttons
Since they are further away from each other, the colour difference has
to be stronger to be recognised.
2020-10-22 15:46:49 +11:00
Maikel Linke
ec1887544e Reduce bulk input modal size
This brings the related elements closer together.
2020-10-22 15:46:49 +11:00
Maikel Linke
e37fedc435 Add bulk ribbon to bulk products 2020-10-22 15:46:49 +11:00
Maikel Linke
ed902e7489 Reduce price breakdown size
It doesn't need as much space. This brings related text closer together
and hides less of the page, e.g. the add-to-cart button.
2020-10-22 15:46:49 +11:00
Maikel Linke
68777039bf Adjust padding in the price breakdown modal 2020-10-22 15:46:48 +11:00
Maikel Linke
bbe2ce9cba Add "Price breakdown" heading to pop-up
The translation key was already present even though it was unused.
2020-10-22 15:46:48 +11:00
Maikel Linke
450e5cc5e3 Remove indent of product description on iPhone
Our HTML formatting plugin for product descriptions adds whitespace to
the beginning of the description text. While that shouldn't be rendered
in HTML, Safari on iPhone was showing a whitespace and therefore moving
the text a bit to the right.
2020-10-22 15:46:48 +11:00
Maikel Linke
36ead3fdba Remove margin between products and search bar on mobile 2020-10-22 15:46:48 +11:00
Maikel Linke
30bfb1a7bd Fix clickable area when opening price breakdown
Once a price breakdown has been opened, the nub was over the bottom half
of the pie button. It made half of the pie unclickable.

And when you closed the breakdown, it became invisible but stayed
present, absorbing all clicks in that area. So other pie buttons were
unclickable as well.
2020-10-22 15:46:48 +11:00
Maikel Linke
0268782b5e Align price pie with product name
Moving it a bit to the right on mobile.
And giving the variant name a bit more space.
2020-10-22 15:46:48 +11:00
Maikel Linke
152835335d Pre-calculate product image size in layout
Giving a percentage is simpler than the whole formula.
2020-10-22 15:46:48 +11:00
Maikel Linke
fd14d61213 Adjust product separator color
The original design contains grey-100: e6e6e6

Also removed not needed comment.
2020-10-22 15:46:48 +11:00
Maikel Linke
05add9e530 Enlarge product pictures flexibly for devices
This change will need a change of the `small` image size. The new format
should be `227x227#`. The `#` crops the center of an image to make it
square if necessary. All old images should then be regenerated:

  rake paperclip:refresh:thumbnails CLASS=Spree::Image
2020-10-22 15:46:48 +11:00
Maikel Linke
de9b10b227 Darken add-button on hover 2020-10-22 15:46:48 +11:00
Maikel Linke
41ab84c8f9 Add padding to product tags 2020-10-22 15:46:48 +11:00
Maikel Linke
cb5089a69a Increase space for variant name on mobile 2020-10-22 15:46:48 +11:00
Maikel Linke
15c7dad5f2 Left-align prices on mobile 2020-10-22 15:46:48 +11:00
Maikel Linke
b57c912aa0 Add space between products and filters 2020-10-22 15:46:48 +11:00
Maikel Linke
66d5f8d5c1 Align first product flush to the search bar 2020-10-22 15:46:47 +11:00
Maikel Linke
1e3ff141f0 Reduce margin below product description 2020-10-22 15:46:47 +11:00
Maikel Linke
c053ae951b Style product header
Reduce font size.
Adjust margins.
2020-10-22 15:46:47 +11:00
Maikel Linke
3a3ec4e45e Close price breakdown on click outside 2020-10-22 15:46:47 +11:00
Maikel Linke
6bb48c0954 Adjust active colour of price breakdown button 2020-10-22 15:46:47 +11:00
Maikel Linke
1fd4dc471a Position the price breakdown below the button 2020-10-22 15:46:47 +11:00
Maikel Linke
2ce65472ec Remove obsolete styles
I think that this was overlooked when replacing the cart code in
be8c0f3600.
2020-10-22 15:46:47 +11:00
Maikel Linke
230d3e76a1 Label plus and minus symbols as special 2020-10-22 15:46:47 +11:00
Maikel Linke
650686c262 Adjust alignment of variant name with unit 2020-10-22 15:46:47 +11:00
Maikel Linke
cdbbcfd1fe Better naming for translation keys 2020-10-22 15:46:47 +11:00
Maikel Linke
e45941276e Better naming of translation keys
Also splitting one key for two different uses.
2020-10-22 15:46:47 +11:00
Maikel Linke
d2600b1d40 Avoid translation errors by hardcoding symbols
The fullwidth plus and minus signs are well understood in all countries
(that participate in the development of OFN). It's more likely that a
translator enters a normal plus or minus than that they want to change
the symbol. A normal + or - sign doesn't fill a whole character space
and is therefore not well aligned in the design.
2020-10-22 15:46:47 +11:00
Matt-Yorkley
b79d9bd75b Fix screen-width bug for desktop down
The width of these elements was ~105% of total screen width, adding horizontal scrollbars and whitespace on the left hand side
2020-10-22 15:46:47 +11:00
Matt-Yorkley
6bcf11e308 Adjust layout of variant rows for better use of vertical space 2020-10-22 15:46:47 +11:00
Matt-Yorkley
e39a15ed30 Remove margin-bottom with !important from product 2020-10-22 15:46:46 +11:00
Matt-Yorkley
98e581c059 Remove pad-top class from products from to match alignment with filter sidebar 2020-10-22 15:46:46 +11:00
Matt-Yorkley
e968a091f9 Match right and left row padding on phablet down 2020-10-22 15:46:46 +11:00
Matt-Yorkley
a2f710db1e Improve vertical alignment of variant form elements 2020-10-22 15:46:46 +11:00
Matt-Yorkley
898492c409 Remove borders from graph button 2020-10-22 15:46:46 +11:00
Matt-Yorkley
a89c81a033 Hide description paragraph if product has no description
Improves the appearance of the layout when no description is present
2020-10-22 15:46:46 +11:00
Maikel Linke
9da91576ac Fix height of invisible "in cart" text
While the text "x in cart" isn't visible, the item quantity is not set.
A missing variable leads to longer text that is taken up more space. In
this case it was two lines instead of one line. The resulting extra line
of margin disappeared when adding to the cart and the rest of the page
jumped up.
2020-10-22 15:46:46 +11:00
Maikel Linke
57178659c3 Remove bulk icon as per design 2020-10-22 15:46:46 +11:00
Maikel Linke
81cc951ed4 Name symbols on quantity buttons in specs 2020-10-22 15:46:46 +11:00
Maikel Linke
d337561ea8 Move ShopVariantCtrl to own file and spec it 2020-10-22 15:46:46 +11:00
Maikel Linke
755773e5ad Style code 2020-10-22 15:46:46 +11:00
Maikel Linke
58f4d7393c Make quantity labels translatable 2020-10-22 15:46:46 +11:00
Maikel Linke
01c4882759 Replace bulk buy inputs with add-remove-buttons 2020-10-22 15:46:46 +11:00
Maikel Linke
59c13b97ea Replace quantity input with add-remove buttons
The new mobile friendly design contains a nice "Add" button to add
variants to your cart. Once you have the variant in you cart, it's
replaced by plus and minus buttons to adjust the quantity.

Other languages have longer words than "Add" which need to fit on the
button. Since the add button and the +/- buttons should have the same
width, I widened them a little bit so that they fit the longest words
Aggiungi and Добавить.
2020-10-22 15:46:46 +11:00
Maikel Linke
35747dc2b1 Emphasize first identifying name of a variant
That can be a variant name or the unit if the name is missing. Putting
the second and third element in the background consistently.
2020-10-22 15:46:45 +11:00
Maikel Linke
7660116792 Display variant name only when set
The previous method was falling back to the product name which is
displayed already.
2020-10-22 15:46:45 +11:00
Maikel Linke
8734fb1776 Override *active* states for product properties w/o tooltip 2020-10-22 15:46:45 +11:00
Maikel Linke
9379e21bca Increase margin between product summary and variants 2020-10-22 15:46:45 +11:00
Maikel Linke
4ab2375832 Reduce margin on the right of product listing 2020-10-22 15:46:45 +11:00
Maikel Linke
1fb544b803 Remove margin of product listing on mobile and tablet 2020-10-22 15:46:45 +11:00
Maikel Linke
96cd5ca1fe Fix "Place price-breakdown and price in the middle" 2020-10-22 15:46:45 +11:00
Maikel Linke
e1a3c351e5 Fix "Removal of category icon" 2020-10-22 15:46:45 +11:00
Maikel Linke
4f6e900327 Fix "Remove background and border colors from product list" 2020-10-22 15:46:45 +11:00
Maikel Linke
615678db56 Align inline graph vertically 2020-10-22 15:46:45 +11:00
Maikel Linke
526d4f53ad Remove red overlay and icon on product image hover 2020-10-22 15:46:45 +11:00
Maikel Linke
ca1cb50314 Adjust margins 2020-10-22 15:46:45 +11:00
Maikel Linke
8006870b66 Adjust column widths 2020-10-22 15:46:45 +11:00
Maikel Linke
d02ab109f2 Show product images on mobile 2020-10-22 15:46:45 +11:00
Maikel Linke
fe1618cada Add description to product listing
It's truncated to one line and a click reveals the modal.
2020-10-22 15:46:45 +11:00
Maikel Linke
afed46531c Remove second line between products, leave one 2020-10-22 15:46:44 +11:00
Maikel Linke
893b6660fc Change price-breakdown colour to grey 2020-10-22 15:46:44 +11:00
Maikel Linke
3e789fdb84 Show only tabular price breakdown, no graph 2020-10-22 15:46:44 +11:00
Maikel Linke
065314f0e4 Revert "Remove popover indicator"
This reverts commit 0bef97a46710c50b8519752009ca9e8c811f8326.
2020-10-22 15:46:44 +11:00
Maikel Linke
952c39f736 Remove popover indicator 2020-10-22 15:46:44 +11:00
Maikel Linke
2b982cfc2e Show price breakdown on all screens 2020-10-22 15:46:44 +11:00
Maikel Linke
e29be51c45 Place price-breakdown and price in the middle 2020-10-22 15:46:44 +11:00
Maikel Linke
c15828061f Move unit under name 2020-10-22 15:46:44 +11:00
Maikel Linke
52c8c19dfc Remove black background from variant name on mobile
table-cell gave it a black background.
Also display it on the same line as the quantity input.
2020-10-22 15:46:44 +11:00
Maikel Linke
61d55ff16f Remove per-variant subtotal from mobile view 2020-10-22 15:46:44 +11:00
Maikel Linke
25e309b8cc Update link colors to orange and teal 2020-10-22 15:46:44 +11:00
Maikel Linke
9f5cec6d08 Remove tractor in front of producer name 2020-10-22 15:46:44 +11:00
Maikel Linke
03d8ccfe2e Remove modal open indicator 2020-10-22 15:46:44 +11:00
Maikel Linke
f05563b30f Removal of category icon 2020-10-22 15:46:44 +11:00
Maikel Linke
b34449832b Remove background and border colors from product list 2020-10-22 15:46:43 +11:00
Maikel Linke
0febc9e8c2 Remove unused mixin styles 2020-10-22 15:46:43 +11:00
dependabot-preview[bot]
20777bb80f Bump ddtrace from 0.41.0 to 0.42.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...v0.42.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 01:14:35 +00:00
Luis Ramos
032075c04a Merge pull request #6119 from arku/chore/fire-event-removal
Remove fire_event method usage
2020-10-21 21:21:35 +01:00
Transifex-Openfoodnetwork
6e6dd233e8 Updating translations for config/locales/ru.yml 2020-10-22 02:30:07 +11:00
Matt-Yorkley
eb026f2e22 Use "sRBG" colourspace.
This seems to be the correct setting, and fixes a bug with the colouring of uploaded images. Further details:
https://imagemagick.org/script/color-management.php
https://www.imagemagick.org/discourse-server/viewtopic.php?t=20501
2020-10-21 14:26:26 +01:00
Matt-Yorkley
92d6168a14 Don't restrict image filetypes to JPG 2020-10-21 13:42:07 +01:00
Luis Ramos
78651012bb Merge pull request #6177 from santakadev/fix-docker-setup
Fix docker local environment setup
2020-10-21 08:45:07 +01:00
Luis Ramos
d01f9b7aa1 Merge pull request #6227 from jhsu802701/fix_docker_scripts
docker-compose run --rm web -> docker-compose run web
2020-10-21 08:44:37 +01:00
Transifex-Openfoodnetwork
af9aa6a8db Updating translations for config/locales/en_FR.yml 2020-10-21 18:35:58 +11:00
Transifex-Openfoodnetwork
2539507df9 Updating translations for config/locales/en_FR.yml 2020-10-21 18:32:58 +11:00
Transifex-Openfoodnetwork
d8b36c5966 Updating translations for config/locales/fr.yml 2020-10-21 18:30:35 +11:00
Jason Hsu
a9feb53294 docker-compose run --rm web -> docker-compose run web 2020-10-20 17:48:46 -05:00
Matt-Yorkley
f5ce0d501d Merge pull request #5870 from luisramos0/prefs
[Bye bye Spree] Bring models app_configuration and preference from spree_core
2020-10-20 21:12:54 +02:00
Luis Ramos
b267f542d1 Merge pull request #5980 from luisramos0/spree_clean_up
[Bye bye spree] Some clean up fixes to make it all work without spree
2020-10-20 18:52:54 +01:00
Luis Ramos
9f568c1e9d Merge pull request #5928 from luisramos0/spree_core_js
[Bye bye spree] Bring final bits of js and css from spree_core
2020-10-20 13:20:41 +01:00
Luis Ramos
3dc3e0970e Update image default styles 2020-10-20 11:31:01 +01:00
Luis Ramos
10ed1f04c1 Revert default styles to what they were before, we can do this in a separate PR 2020-10-20 11:25:55 +01:00
Luis Ramos
16f9ef4ace Simplify method 2020-10-20 11:20:37 +01:00
Luis Ramos
f4d8bdc17e Fix easy rubocop issues 2020-10-20 11:20:37 +01:00
Luis Ramos
f3490e5668 Replace Spree::Image with self 2020-10-20 11:20:37 +01:00
Luis Ramos
7cf6518175 Set default values for styles directly in the attachment property without using Spree::Config
Only use ENV vars for attachment path and url coming from ofn-install
2020-10-20 11:20:37 +01:00
Luis Ramos
d15abe14d1 Join reformat styles and set attachement definitions and explain why we need to run them every time Spree::Image is loaded although this is also done in the spree initializer 2020-10-20 11:20:37 +01:00
Luis Ramos
6151c7420b Move S3 attachment definitions to Spree::Image 2020-10-20 11:20:37 +01:00
Luis Ramos
fdd7049857 Reuse Spree::Image.set_attachment_definitions 2020-10-20 11:20:37 +01:00
Luis Ramos
b66ad71017 Move image settings config out of Spree::config initialization 2020-10-20 11:20:37 +01:00
Luis Ramos
98c5fdcf26 Reuse some code from Spree::Image in the spree initializer and extract some code to a class method so we can reuse afterwards 2020-10-20 11:20:37 +01:00
Luis Ramos
25ab5f7f24 Move reformat_styles to initializer, it's the only place where it is used 2020-10-20 11:20:37 +01:00
Luis Ramos
a5a55b3c10 Add settings initialization from previous image settings controller to spree initializer 2020-10-20 11:20:37 +01:00
Luis Ramos
0f06195baa Remove Image settings page, these settings will come from ofn-install now 2020-10-20 11:20:37 +01:00
Luis Ramos
bebffcc90f Set new S3 and attachments configs from ofn-install 2020-10-20 11:20:37 +01:00
Luis Ramos
c291639962 Merge pull request #6156 from razanjoshi/add_simplecov
Add coverage threshold for simplecov.
2020-10-20 09:40:07 +01:00
Transifex-Openfoodnetwork
de4aab6cf7 Updating translations for config/locales/en_US.yml 2020-10-20 02:03:21 +11:00
Luis Ramos
c0880a1b9a Merge pull request #6191 from mkllnk/draft-release
Add script to draft release notes
2020-10-19 12:22:24 +01:00
Arun Kumar Mohan
b0fa1464f8 Remove fire_event method usage 2020-10-18 20:36:38 -05:00
Luis Ramos
e6baca37c4 Merge pull request #6215 from Matt-Yorkley/states-filepath
Fix deployments
2020-10-18 23:16:53 +01:00
Matt-Yorkley
58c0d90575 Fix error in countries.rb 2020-10-18 19:49:48 +01:00
Matt-Yorkley
dc06f60d2c Merge pull request #6211 from openfoodfoundation/dependabot/bundler/webmock-3.9.3
Bump webmock from 3.9.2 to 3.9.3
2020-10-18 12:22:07 +02:00
Daniel Santamaría
ca2d66eacf Open PostgreSQL port in docker-compose 2020-10-18 08:45:08 +02:00
Arun Kumar Mohan
c65108731c Define supplier_ids in inventory_reset_strategy specs for clarity 2020-10-17 20:12:14 -05:00
Arun Kumar Mohan
5928eba767 Use build to validate objects from the shipping method factory 2020-10-17 19:59:21 -05:00
Arun Kumar Mohan
874d33caaa Convert multiline blocks to single-line ones 2020-10-17 19:44:57 -05:00
Matt-Yorkley
4cd645b60e Merge pull request #6150 from openfoodfoundation/luisramos0-patch-1
Make the release notes intructions a bit more clear so new contributors make them short
2020-10-18 00:44:06 +02:00
Matt-Yorkley
961fbd22cf Merge pull request #6183 from openfoodfoundation/dependabot/bundler/activerecord-import-1.0.7
Bump activerecord-import from 1.0.6 to 1.0.7
2020-10-18 00:42:17 +02:00
Matt-Yorkley
b7c8bae9e8 Merge pull request #6185 from openfoodfoundation/dependabot/bundler/i18n-js-3.8.0
Bump i18n-js from 3.7.1 to 3.8.0
2020-10-18 00:41:09 +02:00
Matt-Yorkley
3612386463 Make loading of Zones in db:seed idempotent (and avoid fatal errors if run twice) 2020-10-17 18:08:28 +01:00
Matt-Yorkley
e9e7bdc6cd Set Spree::Config[:default_country_id]` from ENV vars if default country specified. 2020-10-17 17:54:48 +01:00
Matt-Yorkley
d1c066d360 Move states.yml back to it's former filepath 2020-10-17 17:14:26 +01:00
Rajan Joshi
13fe8b6198 Add more directories to filter. 2020-10-17 15:55:22 +01:00
Tsara Sudrajat
66be86cca9 Fix translation on reset password mailer 2020-10-17 17:59:54 +07:00
dependabot-preview[bot]
b2e14b36dd Bump webmock from 3.9.2 to 3.9.3
Bumps [webmock](https://github.com/bblimke/webmock) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.9.2...v3.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 07:47:24 +00:00
Jason Hsu
f9f054c611 Removed DOCKER.md (redundant) 2020-10-16 11:31:48 -05:00
Paolo Rossi
4a60d7ef0e Update the base Ubuntu Docker image from 18.04 to 20.04 2020-10-16 17:26:08 +02:00
Transifex-Openfoodnetwork
9445093ea8 Updating translations for config/locales/en_FR.yml 2020-10-17 01:26:13 +11:00
Transifex-Openfoodnetwork
a4f00f0152 Updating translations for config/locales/fr.yml 2020-10-17 01:25:38 +11:00
Cillian O'Ruanaidh
35110eaf4a Make sure :sorting parameter is nested inside the :q parameter to fix sorting of admin products
Fixes #6105.
2020-10-16 15:21:15 +01:00
Luis Ramos
2711139420 Re-use existing stripe stub 2020-10-16 12:37:44 +01:00
Luis Ramos
cf319d3f05 Extract customers stripe stub to StripeStubs helper 2020-10-16 12:37:44 +01:00
Luis Ramos
f5f9a733fb Fix rubocop issue, long module, by extracting StripeStubs to a separate helper module 2020-10-16 12:37:42 +01:00
Cillian O'Ruanaidh
c62f1bd550 Exclude products_reset_strategy_spec.rb from Rubocop's Metrics/ModuleLength check 2020-10-16 12:13:55 +01:00
Luis Ramos
05bb75db00 Merge pull request #6089 from luisramos0/seed_data
[Bye bye spree] Prepare seed data for bye bye spree
2020-10-16 11:55:27 +01:00
Cillian O'Ruanaidh
2cc751cb30 When resetting stock to 0 on absent products in product import also reset the on demand setting
Before when you imported products and clicked the 'Set stock to zero for all existing products not present in the file' option it would set the on hand stock to 0 but if the variant was also set to be on demand the product would still be available for sale. This change makes sure the on demand setting is turned off too.

Fixes #6064.
2020-10-16 11:38:49 +01:00
Luis Ramos
487aaf4862 Extract stub to StripeHelper 2020-10-16 11:12:44 +01:00
Luis Ramos
f13ebf8f21 DRY StripeHelper 2020-10-16 11:09:52 +01:00
Luis Ramos
7e80ddf1e5 Add step to checkout with the previously saved card 2020-10-16 10:24:49 +01:00
Luis Ramos
7efc52075e First attempt at adding a spec to checkout and save a credit card 2020-10-16 09:26:19 +01:00
Luis Ramos
22bd0f3a52 Merge pull request #6187 from jhsu802701/spec_support_request_stripe_helper
Updated RuboCop (spec/support/request/stripe_helper.rb)
2020-10-16 08:49:17 +01:00
Luis Ramos
94713522e5 Merge pull request #6189 from jhsu802701/update_db_schema
Updated db/schema.rb by running database migrations
2020-10-16 08:40:18 +01:00
Luis Ramos
49947614b3 Merge pull request #6190 from jhsu802701/rubocop_calculator_factory
Updated spec/factories/calculator_factory.rb for RuboCop
2020-10-16 08:36:53 +01:00
Jason Hsu
c39e238e83 Updated spec/factories/calculator_factory.rb to remove unnecessary space; reduces number of RuboCop offenses from 91 to 90 2020-10-16 00:08:19 -05:00
Maikel Linke
6c1139c296 Add script to draft release notes 2020-10-16 16:03:26 +11:00
Jason Hsu
0119d9d0eb Updated db/schema.rb by running bundle exec rake db:migrate 2020-10-15 23:56:43 -05:00
Maikel Linke
3679e0fac9 Copy all translations from Transifex 2020-10-16 15:34:24 +11:00
Maikel
960da1e7e9 Merge pull request #6179 from openfoodfoundation/transifex
Transifex
2020-10-16 15:33:11 +11:00
Maikel
8c65498661 Merge pull request #5998 from andrewpbrett/shipping-per-pound
Per-pound shipping calculator
2020-10-16 15:27:57 +11:00
Maikel
07780c5663 Merge pull request #6146 from openfoodfoundation/dependabot/bundler/geocoder-1.6.4
Bump geocoder from 1.6.3 to 1.6.4
2020-10-16 15:26:41 +11:00
Jason Hsu
bdf0cb1364 Exclude spec/support/request/stripe_helper.rb from Metrics/ModuleLength cop; reduces number of offenses from 90 to 89 2020-10-15 23:25:32 -05:00
Matt-Yorkley
f260a2d114 Merge pull request #6141 from Matt-Yorkley/mobile-shops-list
Make shops index page usable on mobile
2020-10-16 03:21:32 +02:00
Matt-Yorkley
25ee38cb9a Merge pull request #6128 from luisramos0/stripe_bo
Add feature specs to stripe payments in the BackOffice
2020-10-16 02:53:42 +02:00
Matt-Yorkley
248633e14f Merge pull request #6161 from Matt-Yorkley/add-polish-momentjs
Add polish translations with momentjs
2020-10-16 01:49:51 +02:00
dependabot-preview[bot]
66cde06cf8 Bump i18n-js from 3.7.1 to 3.8.0
Bumps [i18n-js](https://github.com/fnando/i18n-js) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/fnando/i18n-js/releases)
- [Changelog](https://github.com/fnando/i18n-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fnando/i18n-js/compare/v3.7.1...v3.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 23:24:41 +00:00
dependabot-preview[bot]
4fa6070353 Bump activerecord-import from 1.0.6 to 1.0.7
Bumps [activerecord-import](https://github.com/zdennis/activerecord-import) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/zdennis/activerecord-import/releases)
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v1.0.6...v1.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 23:14:21 +00:00
Luis Ramos
6bacc2f627 Fix group_buy_report_spec by avoiding orders with duplicate line items 2020-10-15 18:33:56 +01:00
Luis Ramos
4c9e4ee926 Fix problem in calculator spec
I am not sure why this started failing on this branch only and not in master but this fix is correct because line_items are created with order defined already, an order.reload is enough to load them into the order
2020-10-15 17:19:39 +01:00
Matt-Yorkley
7de98e74b8 Use #setup_stripe helper in tests to ensure Stripe keys are present 2020-10-15 17:09:24 +01:00
Luis Ramos
5141723b21 Re-add restart checkout specs
These were breaking because of the class_evals on the checkout_spec
2020-10-15 16:06:27 +01:00
Luis Ramos
fb3f35100f Remove specs related to subsclassing the order class
This is not something we will  do
2020-10-15 16:06:27 +01:00
Luis Ramos
249b4d124f Remove more specs related to dynamic order checkout workflow 2020-10-15 16:06:27 +01:00
Luis Ramos
07b3c100e8 Remove code and specs related to dynamic checkout workflow, we have a static workflow defines in the Order class 2020-10-15 16:06:27 +01:00
Andy Brett
ca24068d37 use case-insensitive sql query 2020-10-15 07:55:19 -07:00
Transifex-Openfoodnetwork
5bd7000f58 Updating translations for config/locales/en_US.yml 2020-10-16 01:19:20 +11:00
Transifex-Openfoodnetwork
d9c107f282 Updating translations for config/locales/en_US.yml 2020-10-16 01:16:13 +11:00
Luis Ramos
6046b0f6e4 Fix typo 2020-10-15 14:54:42 +01:00
Luis Ramos
62a54e5f17 Add spec to cover stripe SCA refunds in the backoffice 2020-10-15 14:54:42 +01:00
Luis Ramos
bce81d27dd Move spec to end of file so we can extend this case with refunds and cancelations 2020-10-15 14:54:42 +01:00
Luis Ramos
a6ed003cb9 Extract redirect stub to stripe_helper 2020-10-15 14:54:42 +01:00
Luis Ramos
b341f593e7 Improve method names 2020-10-15 14:54:42 +01:00
Luis Ramos
59b4e425b6 Fix some rubocop issues 2020-10-15 14:54:42 +01:00
Luis Ramos
4ab2a8ddd1 Add spec to cover stripe payment that fails on card registration with a request/redirect for extra SCA authorization 2020-10-15 14:54:42 +01:00
Luis Ramos
a5dbdaf228 Add spec to cover stripe payment that fails on capture 2020-10-15 14:54:42 +01:00
Luis Ramos
76a9271d9e Add spec to cover payments in the backoffice for an order in the payment state 2020-10-15 14:54:42 +01:00
Luis Ramos
0178d3f1e6 Add spec that takes a stripe payment in the BO 2020-10-15 14:54:42 +01:00
Luis Ramos
cfed6a7048 Split payments_spec so that we can add more stripe specific specs 2020-10-15 14:54:42 +01:00
Luis Ramos
c664181266 Update PULL_REQUEST_TEMPLATE.md 2020-10-15 14:39:20 +01:00
Luis Ramos
945ea476fc Merge pull request #6176 from openfoodfoundation/dependabot/bundler/timecop-0.9.2
Bump timecop from 0.9.1 to 0.9.2
2020-10-15 13:50:53 +01:00
Luis Ramos
9e4e72bec3 Merge pull request #6167 from jhsu802701/rubocop_spec_support_request
Updated files in the spec/support/request directory for RuboCop compliance
2020-10-15 13:48:12 +01:00
Daniel Santamaría
3fe7638dd6 Fix docker local environment setup 2020-10-15 12:28:07 +02:00
Pau Pérez Fabregat
981c17b6a5 Merge pull request #6169 from luisramos0/rubocop_refresh
Refresh Rubocop exception files
2020-10-15 12:06:41 +02:00
Pau Pérez Fabregat
55b6e7fa89 Merge pull request #6164 from openfoodfoundation/dependabot/bundler/webmock-3.9.2
Bump webmock from 3.9.1 to 3.9.2
2020-10-15 10:23:46 +02:00
Luis Ramos
d54ddacc05 Merge pull request #5887 from luisramos0/orders
[Bye bye Spree] Bring models order, line_item and other related from spree_core
2020-10-15 08:49:05 +01:00
dependabot-preview[bot]
b009c8675b Bump timecop from 0.9.1 to 0.9.2
Bumps [timecop](https://github.com/travisjeffery/timecop) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/travisjeffery/timecop/releases)
- [Changelog](https://github.com/travisjeffery/timecop/blob/master/History.md)
- [Commits](https://github.com/travisjeffery/timecop/compare/v0.9.1...v0.9.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 17:34:03 +00:00
Luis Ramos
2b6b2c1b65 Update rubocop manual according to latest state of the codebase 2020-10-14 10:11:56 +01:00
Luis Ramos
6ea021a561 Update rubocop_todo.yml 2020-10-14 09:59:08 +01:00
Jason Hsu
a8eaabc5da Used guard clause in spec/support/request/checkout_helper.rb instead of an if statement with two actions; reduces the number of RuboCop offenses from 108 to 107 2020-10-13 12:14:15 -05:00
Jason Hsu
0d051b7c7d Added '# frozen_string_literal: true' to spec/support/request/checkout_helper.rb; reduces number of RuboCop offenses from 109 to 108 2020-10-13 12:05:50 -05:00
Jason Hsu
c6d6b6f65a Removed empty trailing line in spec/support/request/stripe_helper.rb; reduces RuboCop offenses from 110 to 109 2020-10-13 12:01:11 -05:00
Luis Ramos
dbd41e9d31 Use ruby 2.4 as github actions do not support ruby 2.3. 2020-10-13 10:31:26 +01:00
Luis Ramos
87327dcf57 Add brakeman config 2020-10-13 10:31:13 +01:00
dependabot-preview[bot]
7c3da77ad6 Bump webmock from 3.9.1 to 3.9.2
Bumps [webmock](https://github.com/bblimke/webmock) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.9.1...v3.9.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-13 09:07:36 +00:00
Pau Pérez Fabregat
f1e2040ce3 Merge pull request #6061 from arku/fix/sleep-removal
Remove sleep calls from select2 helper
2020-10-13 09:42:25 +02:00
Pau Pérez Fabregat
536f54d6a7 Merge pull request #6092 from jhsu802701/docker_scripts
Added Docker scripts in the new Docker directory
2020-10-13 09:36:12 +02:00
Arun Kumar Mohan
2ec35b6306 Remove unnecessary let declaration 2020-10-13 01:22:11 -05:00
Arun Kumar Mohan
e963ab4bd4 Replace FactoryBot.create with create 2020-10-13 01:21:47 -05:00
Matt-Yorkley
32999e6be4 Add polish translations with momentjs 2020-10-12 23:05:43 +01:00
Jason Hsu
03b33e99cf Merge branch 'master' into docker_scripts 2020-10-12 11:36:49 -05:00
Luis Ramos
9545c57969 Merge pull request #6049 from luisramos0/momentjs
Use yarn and move Momentjs from gemfile to yarn
2020-10-12 15:28:23 +01:00
Luis Ramos
9288250194 Merge pull request #5981 from luisramos0/spree_ability
[Bye bye spree] Bring classes related to abilities to OFN
2020-10-12 15:26:30 +01:00
Rajan Joshi
8b64fbe80e Reduce coverage threshold to 54 inorder to pass CI. 2020-10-11 19:18:24 +01:00
Rajan Joshi
fbadf25043 Add coverage threshold for simplecov. 2020-10-11 17:18:50 +01:00
Arun Kumar Mohan
14eee1c9e4 Improve product specs' performance 2020-10-11 01:10:11 -05:00
Arun Kumar Mohan
ff049d33e7 Improve variant stock specs' performance 2020-10-10 00:43:27 -05:00
Arun Kumar Mohan
b02e25af0e Improve shipment specs' performance 2020-10-09 23:28:32 -05:00
Arun Kumar Mohan
76293c335b Improve payment specs' performance 2020-10-09 23:05:14 -05:00
Arun Kumar Mohan
01d2c3cb9e Improve variant specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
80c76606df Improve line items specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
b07fbec8c6 Improve credit card specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
c4205fce34 Improve enterprise specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
a959f8e745 Improve inventory reset strategy specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
437c39f795 Improve taxon specs' performance 2020-10-09 22:11:34 -05:00
Arun Kumar Mohan
27f1aeb803 Improve shipping method specs' performance 2020-10-09 22:11:31 -05:00
Jason Hsu
c53d4cf8ea Corrected typos in docker/seed 2020-10-08 23:24:54 -05:00
Jason Hsu
e5d97e37f1 Moved docker network prune -f command from docker/nukec to docker/nuke 2020-10-08 14:46:12 -05:00
Jason Hsu
71ad109f78 Changed docker/exec to docker/run; updated docker/README.md to reflect this 2020-10-08 14:43:30 -05:00
Jason Hsu
d9476ec87d Corrected the docker-compose commands in docker/cop, docker/seed, and docker/test-log 2020-10-08 14:38:49 -05:00
Jason Hsu
74980401b5 Synced to master; moved section about troubleshooting Docker in Windows to docker/README.md 2020-10-08 14:06:54 -05:00
Arun Kumar Mohan
1c4ef87654 Fix product import date filter spec
The spec was failing because the date in the spec had a couple of
spaces after the month name (October  9, 2020) but in the filter,
the two spaces were converted to a single space (October 9, 2020)
and the select2 helper wasn't able to select the option.
2020-10-08 13:29:23 -05:00
Luis Ramos
559af5076d Make the release notes intructions a bit more clear so new contributors make them short 2020-10-08 10:37:39 +01:00
Luis Ramos
6806035a45 Update all locales with the latest Transifex translations 2020-10-08 10:15:26 +01:00
Luis Ramos
b1dbf4fe0e Merge pull request #6147 from openfoodfoundation/transifex
Transifex
2020-10-08 10:13:00 +01:00
Luis Ramos
0829eaf0fb Merge pull request #6148 from openfoodfoundation/luisramos0-patch-1
Add break line troubleshooting to docker guide
2020-10-08 09:24:27 +01:00
Luis Ramos
da2e3c7cd1 Merge pull request #6144 from arku/fix/adjustment-metadata-spec
Fix adjustment metadata spec
2020-10-08 08:59:52 +01:00
Luis Ramos
d5f793f451 Add break line troubleshooting to docker guide 2020-10-08 08:40:14 +01:00
Transifex-Openfoodnetwork
8269665a7c Updating translations for config/locales/en_NZ.yml 2020-10-08 16:53:14 +11:00
Arun Kumar Mohan
4b7d4ad960 Refactor select2 specs 2020-10-07 21:56:43 -05:00
Arun Kumar Mohan
ead1419583 Remove sleep calls from select2 helper 2020-10-07 21:56:43 -05:00
Luis Ramos
1e7a3d7f46 Merge pull request #6123 from openfoodfoundation/mkllnk-patch-1
Create an initial Code of Conduct placeholder file
2020-10-07 23:36:59 +01:00
dependabot-preview[bot]
4ecfeaee4c Bump geocoder from 1.6.3 to 1.6.4
Bumps [geocoder](https://github.com/alexreisner/geocoder) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/alexreisner/geocoder/releases)
- [Changelog](https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alexreisner/geocoder/compare/v1.6.3...v1.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 22:03:07 +00:00
Luis Ramos
6c95444339 Merge pull request #6020 from andresgutgon/fix/admin-menu-in-multiple-lines
Fixed admin header buttons dropping multiple lines.
2020-10-07 21:24:48 +01:00
Luis Ramos
48ea804615 Merge pull request #6121 from cillian/fix-shop-variant-search
When searching for shop products check the variant :display_name and :display_as fields too
2020-10-07 21:22:46 +01:00
Luis Ramos
8626e7b433 Merge pull request #6094 from andrewpbrett/fix-inventory-import
Fix #6090 (Inventory import fails for products with units other than "g")
2020-10-07 21:21:40 +01:00
Luis Ramos
88b17372af Merge pull request #6131 from Snick555/issue-6118
Show product description in creation form after errors appeared
2020-10-07 21:21:13 +01:00
Luis Ramos
961e559a31 Merge pull request #6083 from luisramos0/shop_tabs_style
Make shop tabs black and capitalized in smaller screens
2020-10-07 14:39:23 +01:00
Pau Pérez Fabregat
85cee9e8cb Merge pull request #6091 from luisramos0/vat_rates_cache
Delete dead code brought from spree
2020-10-07 11:58:26 +02:00
Pau Pérez Fabregat
1e6fa1666c Merge pull request #6113 from openfoodfoundation/dependabot/bundler/knapsack-1.19.0
Bump knapsack from 1.18.0 to 1.19.0
2020-10-07 11:57:12 +02:00
Pau Pérez Fabregat
ce856750aa Merge pull request #6116 from openfoodfoundation/dependabot/bundler/ddtrace-0.41.0
Bump ddtrace from 0.40.0 to 0.41.0
2020-10-07 11:56:45 +02:00
Pau Pérez Fabregat
07e625ec32 Merge pull request #6104 from openfoodfoundation/dependabot/bundler/haml-5.2.0
Bump haml from 5.1.2 to 5.2.0
2020-10-07 11:56:12 +02:00
Arun Kumar Mohan
a20762a1f2 Fix adjustment metadata spec 2020-10-06 19:02:59 -05:00
Andy Brett
0edd341d46 add unit test for inventory import entry_validation 2020-10-06 10:17:30 -07:00
Luis Ramos
c31380cd1d Merge pull request #6132 from Matt-Yorkley/stripe-multiple-payments-spec
Stripe Tests: multiple attempted payments
2020-10-06 17:17:25 +01:00
Jason Hsu
3985e0e4bc Merge branch 'master' into docker_scripts 2020-10-06 10:53:33 -05:00
Matt-Yorkley
a04c2ccd6e Make producers and groups pages usable on mobile 2020-10-06 14:18:41 +01:00
Matt-Yorkley
469e4a4c87 Make shops index page usable on mobile 2020-10-06 14:18:39 +01:00
Luis Ramos
a4c8380d7e Remove removal of transition to confirm as confirm does not exist anymore 2020-10-06 13:00:43 +01:00
Matt-Yorkley
0c109d6384 Merge pull request #6103 from openfoodfoundation/dependabot/bundler/dalli-2.7.11
Bump dalli from 2.7.10 to 2.7.11
2020-10-06 11:15:37 +02:00
Pau Pérez Fabregat
427d1aaeff Merge pull request #6079 from arku/perf/test-prof-setup
Set up test_prof gem
2020-10-06 10:30:43 +02:00
Matt-Yorkley
6d169c1b08 Improve Webmock debugging 2020-10-05 17:11:34 +01:00
Matt-Yorkley
3b130327a5 DRY error_message variable used multiple times 2020-10-05 00:51:01 +01:00
Matt-Yorkley
ced5329835 Add Stripe spec for multiple attempted payments at checkout 2020-10-05 00:50:59 +01:00
dependabot-preview[bot]
ee6f0f7951 Bump ddtrace from 0.40.0 to 0.41.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.40.0 to 0.41.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-04 19:18:47 +00:00
dependabot-preview[bot]
6149a79038 Bump knapsack from 1.18.0 to 1.19.0
Bumps [knapsack](https://github.com/ArturT/knapsack) from 1.18.0 to 1.19.0.
- [Release notes](https://github.com/ArturT/knapsack/releases)
- [Changelog](https://github.com/ArturT/knapsack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ArturT/knapsack/compare/v1.18.0...v1.19.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-04 19:15:57 +00:00
ivoloshy
7321e4ef89 show product description in creation form after errors appeared 2020-10-04 20:44:57 +03:00
Matt-Yorkley
76def3a74f Merge pull request #6124 from luisramos0/stripe_specs
Add more checkout feature specs covering stripe SCA cases
2020-10-03 18:24:06 +02:00
Luis Ramos
a5309627b7 Fix a typo 2020-10-03 15:46:29 +01:00
Luis Ramos
80ea80f26e DRY stripe spec 2020-10-03 11:50:04 +01:00
Luis Ramos
14f5ecfe0b Add spec to cover StripeSCA extra auth with redirect and failed auth 2020-10-03 11:39:56 +01:00
Luis Ramos
df4ec67974 Add feature spec that covers stripe_sca redirect case 2020-10-03 11:09:24 +01:00
Maikel
4b1e1afa69 Create an initial Code of Conduct placeholder file 2020-10-03 08:48:15 +10:00
Luis Ramos
ef70c1fc5c Make helper more flexible and use it in a spec 2020-10-02 19:20:32 +01:00
Luis Ramos
83456f94e3 Simplify test by re-using helper stripe mock 2020-10-02 19:12:56 +01:00
Luis Ramos
ff9f374950 Merge pull request #6050 from Matt-Yorkley/stripe-checkout-spec
Stripe checkout spec
2020-10-02 18:57:22 +01:00
Cillian O'Ruanaidh
6c22ee43a7 When searching for shop products check the variant :display_name and :display_as fields too.
Fixes #5757
2020-10-02 16:05:48 +01:00
Luis Ramos
6a2e49b9e7 Update all locales with the latest Transifex translations 2020-10-02 12:54:45 +01:00
Luis Ramos
ab0ecfb203 Merge pull request #6106 from openfoodfoundation/transifex
Transifex
2020-10-02 12:46:56 +01:00
Luis Ramos
db2e760c4c Merge pull request #6120 from luisramos0/restart_checkout
Comment 2 broken specs until we manage to fix them
2020-10-02 12:39:04 +01:00
Luis Ramos
da82df39c2 Comment 2 broken specs until we manage to fix them 2020-10-02 11:59:38 +01:00
Luis Ramos
98fb60a5e0 Merge pull request #6110 from filipefurtad0/content_spec.rb
content_spec.rb improvement
2020-10-01 23:22:04 +01:00
Andy Brett
854916907e add feature spec for inventory import in kg 2020-10-01 13:27:57 -07:00
Matt-Yorkley
1cc950a4d9 DRY StripeHelper methods 2020-10-01 15:54:16 +01:00
Steve Roberts
8679e438e8 Add matomo tag to admin pages 2020-10-01 21:37:05 +10:00
Arun Kumar Mohan
4858f5fb80 Improve order specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
350a3c0e1e Improve order checkout specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
b850f10d2e Improve classification specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
362ab8a605 Improve variant override specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
f5985de802 Improve order cycle specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
6c27ac5f99 Improve filter shipping methods tag rule specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
bb38523767 Improve filter products tag rule specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
e109ed6be7 Improve filter payment methods tag rule specs' performance 2020-10-01 01:43:08 -05:00
Arun Kumar Mohan
780f31f98e Improve filter order cycles tag rule specs' performance 2020-10-01 01:43:05 -05:00
François Turbelin
eda904337b Merge pull request #5810 from pacodelaluna/improve-dfc-standard-integration
Improve DFC Provider engine to support version 1.3
2020-09-30 11:13:03 +02:00
filipefurtad0
a85e500bb1 moves content_spec.rb into /configuration and adds an href string, incresing Redcarpet test coverage 2020-09-29 22:39:05 +01:00
Transifex-Openfoodnetwork
8480e16cac Updating translations for config/locales/tr.yml 2020-09-29 22:33:21 +10:00
Transifex-Openfoodnetwork
2eeba0483c Updating translations for config/locales/tr.yml 2020-09-29 22:30:18 +10:00
Transifex-Openfoodnetwork
e2ae566e88 Updating translations for config/locales/pl.yml 2020-09-29 22:08:01 +10:00
Transifex-Openfoodnetwork
01c6d5bc9c Updating translations for config/locales/ru.yml 2020-09-29 20:47:26 +10:00
Transifex-Openfoodnetwork
856ad24c6f Updating translations for config/locales/ru.yml 2020-09-29 20:44:21 +10:00
dependabot-preview[bot]
678e7acde0 Bump haml from 5.1.2 to 5.2.0
Bumps [haml](https://github.com/haml/haml) from 5.1.2 to 5.2.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.1.2...v5.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 09:32:15 +00:00
dependabot-preview[bot]
4914a0d3a8 Bump dalli from 2.7.10 to 2.7.11
Bumps [dalli](https://github.com/petergoldstein/dalli) from 2.7.10 to 2.7.11.
- [Release notes](https://github.com/petergoldstein/dalli/releases)
- [Changelog](https://github.com/petergoldstein/dalli/blob/master/History.md)
- [Commits](https://github.com/petergoldstein/dalli/compare/v2.7.10...v2.7.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 09:29:14 +00:00
Pau Pérez Fabregat
e79187c1df Merge pull request #6097 from openfoodfoundation/transifex
Transifex
2020-09-29 09:22:59 +02:00
Matt-Yorkley
c518e7e0dd Extract Stripe credit card form filling 2020-09-28 19:59:26 +01:00
Matt-Yorkley
2babfa9a7b Add rejected card test 2020-09-28 19:55:52 +01:00
Transifex-Openfoodnetwork
c7d6b2782c Updating translations for config/locales/nb.yml 2020-09-28 22:29:05 +10:00
Transifex-Openfoodnetwork
3d71c2c0b8 Updating translations for config/locales/en_GB.yml 2020-09-28 21:31:02 +10:00
Pau Pérez Fabregat
807f91b0b8 Merge pull request #6093 from openfoodfoundation/RachL-patch-1
Hacktoberfest
2020-09-28 12:04:55 +02:00
Jason Hsu
881ace6a85 Merge branch 'master' into docker_scripts 2020-09-27 13:39:40 -05:00
Arun Kumar Mohan
6a722f2bbd Set up test-prof gem 2020-09-26 15:22:43 -05:00
Luis Ramos
d5ab3b47eb Merge pull request #6065 from arku/perf/address-specs
Replace `create` with `build_stubbed` in address model specs
2020-09-26 21:19:28 +01:00
Luis Ramos
0100963a39 Delete dead code brought from spree 2020-09-26 21:16:27 +01:00
Arun Kumar Mohan
06a3e55348 Replace create with build_stubbed in address model specs 2020-09-25 22:54:58 -05:00
Jason Hsu
ea9d5f7c5a Removed testc and testm; made the requested changes to the order of the scripts in the summary section 2020-09-25 20:35:24 -05:00
Luis Ramos
bbef0bac5f Make font size 1em for larger screens 2020-09-25 21:28:22 +01:00
Rachel Arnould
dbe6c316f8 Change typo
"participating in" instead of "participating to"
2020-09-25 19:07:33 +02:00
Rachel Arnould
21eef7187b Hacktoberfest
A proposal for the banner on Hacktoberfest.
2020-09-25 18:13:00 +02:00
Andy Brett
4f942db0ba convert entry's unscaled_units to a float
This was coming in as a string, e.g. "1", so when we did "1" * 1000 it returned "11111111111111....." :)
2020-09-25 09:12:19 -07:00
Jason Hsu
2b5a875bac Added script summary to docker/README.md 2020-09-25 11:00:54 -05:00
Jason Hsu
d2523abe34 Moved contents of DOCKER.md to docker/README.md; removed DOCKER.md; updated link to Docker page in GETTING_STARTED.md 2020-09-25 00:49:44 -05:00
Jason Hsu
97a38865a2 Added docker/testm 2020-09-25 00:30:20 -05:00
Jason Hsu
a46683ef01 Added docker/testc 2020-09-25 00:24:24 -05:00
Jason Hsu
2a902f29bb Added comments to scripts 2020-09-25 00:12:27 -05:00
Jason Hsu
dff6e5ce38 Merge branch 'master' into docker_scripts 2020-09-24 23:43:28 -05:00
Jason Hsu
423a766463 Added docker/exec 2020-09-24 23:42:00 -05:00
Luis Ramos
9b5bd7bb1c Merge pull request #6066 from arku/perf/variant-override-specs
Replace `create` with `build_stubbed` in variant override model specs
2020-09-24 18:47:08 +01:00
Luis Ramos
c377e316d5 Merge pull request #6068 from arku/perf/coordinator-specs
Replace `create` with `build_stubbed` in coordinator model specs
2020-09-24 18:46:45 +01:00
Luis Ramos
aa74b58810 Merge pull request #6067 from arku/perf/tag-rule-specs
Remove unnecessary create call in tag rule model specs
2020-09-24 18:45:18 +01:00
Luis Ramos
8919adb6bf Merge pull request #6074 from arku/perf/shipping-rate-specs
Replace `create` with `build_stubbed` in shipping rate model specs
2020-09-24 18:42:30 +01:00
Luis Ramos
e04b85e900 Merge pull request #6078 from arku/perf/per-item-flexi-rate-specs
Replace `build` with `build_stubbed` in flexi rate and per item model specs
2020-09-24 18:41:29 +01:00
Luis Ramos
b8fae8e3a3 Merge pull request #6077 from arku/perf/calculator-price-sack-specs
Replace `build` with `build_stubbed` in price sack model specs
2020-09-24 18:41:19 +01:00
Luis Ramos
01fdee9dba Merge pull request #6076 from arku/perf/calculator-flat-percent-item-total-specs
Replace `build` with `build_stubbed` in flat percent item total specs
2020-09-24 18:40:55 +01:00
Luis Ramos
dfd54c1cbc Merge pull request #6075 from arku/perf/calculator-weight-specs
Replace `create` with `build_stubbed` in calculator weight model specs
2020-09-24 18:40:31 +01:00
Andy Brett
84eb8e964d add specs for weight calculators using lbs 2020-09-24 07:03:57 -07:00
Luis Ramos
74161267fd Prepare seed data for bye bye spree 2020-09-24 12:54:43 +01:00
Jason Hsu
5ced17a94e Added docker/test and docker/test-log 2020-09-23 23:36:13 -05:00
Jason Hsu
c6fbc1e136 Added docker/cop 2020-09-23 23:27:51 -05:00
Jason Hsu
792127745a Added docker/server scripts 2020-09-23 23:22:38 -05:00
Jason Hsu
8125a860ea Merge branch 'master' into docker_scripts 2020-09-23 23:09:26 -05:00
Luis Ramos
1b4e19b32d Remore preferences not used in OFN 2020-09-23 22:16:56 +01:00
Luis Ramos
3074d3a17a Customize some defaults to OFN 2020-09-23 22:13:36 +01:00
Luis Ramos
5bf91cb140 Remove unused spree code 2020-09-23 22:13:36 +01:00
Luis Ramos
ce2f0a5b9e Transpec specs 2020-09-23 22:13:36 +01:00
Luis Ramos
d6862cdbce Revert rubocop autocorrect change, it breaks some of the tests 2020-09-23 22:13:36 +01:00
Luis Ramos
b9319239d5 Remove configurations that are no longer used as we have moved the code to OFN and fix specs 2020-09-23 22:13:36 +01:00
Luis Ramos
9ebb689370 Fix easy rubocop issues 2020-09-23 22:13:36 +01:00
Luis Ramos
024a64b73a Fix single rubocop rule: Use nested module definitions instead of compact style 2020-09-23 22:13:36 +01:00
Luis Ramos
25e61897aa Run rubocop autocorrect 2020-09-23 22:13:36 +01:00
Luis Ramos
ed81ceaffe Merge decorator with original file 2020-09-23 22:13:36 +01:00
Luis Ramos
8b42543ca3 Bring configuration and preferences code from spree_core 2020-09-23 22:13:36 +01:00
Pau Pérez Fabregat
54a51a4995 Merge pull request #5988 from openfoodfoundation/dependabot/bundler/stripe-5.25.0
Bump stripe from 5.22.0 to 5.25.0
2020-09-23 21:14:32 +02:00
Pau Perez
37d113ed78 Update all locales with the latest Transifex translations 2020-09-23 21:09:49 +02:00
Pau Pérez Fabregat
8f6e527f8a Merge pull request #6044 from openfoodfoundation/transifex
Transifex
2020-09-23 21:06:44 +02:00
Jason Hsu
6a6f9be18e Added build and seeding scripts 2020-09-23 13:55:58 -05:00
Pau Pérez Fabregat
0d259b217e Merge pull request #6017 from Matt-Yorkley/tidyup
Remove old code
2020-09-23 20:47:33 +02:00
Pau Pérez Fabregat
2e5b5eaac5 Merge pull request #6043 from andrewpbrett/imperial-units-product-import
Add oz and lb as allowed units in product import
2020-09-23 20:46:54 +02:00
Pau Pérez Fabregat
faaf391892 Merge pull request #6051 from luisramos0/russian
Adding the russian language to github
2020-09-23 20:43:22 +02:00
Transifex-Openfoodnetwork
feed9376dd Updating translations for config/locales/es.yml 2020-09-24 04:36:06 +10:00
Transifex-Openfoodnetwork
b829fea0c2 Updating translations for config/locales/ca.yml 2020-09-24 04:36:01 +10:00
Jason Hsu
06d54a3f4d Added docker directory and scripts for resetting Docker 2020-09-23 12:46:08 -05:00
Luis Ramos
fb9bcdee7c Load spree js on OFN side, not the one on Spree's side 2020-09-23 12:45:30 +01:00
Luis Ramos
3af5482960 Make date picker work with karma tests where the old Spree.translations js translations object is not defined 2020-09-23 12:45:30 +01:00
Luis Ramos
bfd4164c0b Remove handlebar extensions and some dead translations
This is not needed, these translations are always used through Spree.translations and this system is deprecated anyway
2020-09-23 12:45:30 +01:00
Luis Ramos
d5d2ae3ce0 Remove some dead code and broken links from comments 2020-09-23 12:45:29 +01:00
Luis Ramos
496f9c106e Bring the very last bits of js and css from spree_core 2020-09-23 12:45:29 +01:00
Luis Ramos
a2610279d9 Merge pull request #5976 from luisramos0/address_form
Fix address state selector and "use billing address" checkbox in order customer details page
2020-09-23 12:42:37 +01:00
Luis Ramos
2234ea6f5a Make shop tabs black and capitalized 2020-09-22 16:59:42 +01:00
Matt-Yorkley
25a8c44c22 Merge pull request #6018 from Matt-Yorkley/tax-display
Tax display
2020-09-22 17:53:04 +02:00
Luis Ramos
7ebdc1d0da Merge pull request #6059 from andresgutgon/fix/sticky-search-bar-disapears-when-cart-is-open
Fix sticky search bar disappearing when cart is open.
2020-09-22 10:52:33 +01:00
Arun Kumar Mohan
bc77b8bcb2 Replace build with build_stubbed in per item model specs 2020-09-21 21:24:38 -05:00
Arun Kumar Mohan
38ab95a9a4 Replace build with build_stubbed in flexi rate model specs 2020-09-21 21:22:59 -05:00
Arun Kumar Mohan
698d8b35fa Replace build with build_stubbed in price sack model specs 2020-09-21 21:18:36 -05:00
Arun Kumar Mohan
a257a9e9d2 Replace build with build_stubbed in calculator weight model specs 2020-09-21 21:12:30 -05:00
Arun Kumar Mohan
231fbcd11a Replace build with build_stubbed in flat percent item total specs 2020-09-21 21:04:16 -05:00
Arun Kumar Mohan
c098ba0ce3 Replace create with build_stubbed in calculator weight model specs 2020-09-21 20:46:50 -05:00
Arun Kumar Mohan
f7a9cc63a7 Replace create with build_stubbed in shipping rate model specs 2020-09-21 20:37:35 -05:00
Andy Brett
9ef706a201 update styles on enterprise fee UI 2020-09-21 15:21:18 -07:00
Luis Ramos
5c25d92354 Merge pull request #6069 from arku/perf/adjustment-metadata-specs
Replace `create` with `build` in adjustment metadata model specs
2020-09-21 12:22:24 +01:00
Arun Kumar Mohan
0aa5ee081e Replace create with build in adjustment metadata model specs 2020-09-21 01:54:46 -05:00
Arun Kumar Mohan
317618595c Replace create with build_stubbed in coordinator model specs 2020-09-21 01:47:19 -05:00
Arun Kumar Mohan
289fd09e20 Remove unnecessary create call in tag rule model specs 2020-09-21 01:09:14 -05:00
Arun Kumar Mohan
239b6e7577 Replace create with build_stubbed in variant override model specs 2020-09-21 00:45:35 -05:00
Matt-Yorkley
5bca561c4a Refactor Stripe request stubbing to helper 2020-09-20 17:06:03 +01:00
Transifex-Openfoodnetwork
82cf2afec9 Updating translations for config/locales/en_CA.yml 2020-09-20 23:27:52 +10:00
Transifex-Openfoodnetwork
8ea7614353 Updating translations for config/locales/fr_CA.yml 2020-09-20 23:25:11 +10:00
Luis Ramos
714bfafede Merge pull request #6037 from arku/fix/hash-diff-deprecation
Remove Hash#diff from cancan helper
2020-09-19 20:21:24 +01:00
Luis Ramos
8f98fb830a Merge pull request #6053 from jhsu802701/bundler_1_17_3
Upgraded the bundler version in the Dockerfile
2020-09-19 19:33:48 +01:00
Matt-Yorkley
6737270ab7 Rename partial 2020-09-19 15:49:14 +01:00
Matt-Yorkley
70bd2161ba Rename Stripe Connect factory for clarity 2020-09-19 12:55:31 +01:00
Matt-Yorkley
1d01fc955d Include StripeJS fixture and refactor to partial 2020-09-19 12:20:55 +01:00
Matt-Yorkley
4080e7daa4 Add comments in StripeJS mock 2020-09-19 12:20:55 +01:00
Matt-Yorkley
cca8f9faf6 Add missing behaviour in StripeJS mock 2020-09-19 12:20:55 +01:00
andresgutgon
636da229ad Fix sticky search bar disappearing when cart is open.
So I think the issue is that all the HTML is wrapped on an
`off-canvas-wrap` class that is used for doing the sidebar car open over
main content. The problem is that when this car sidebar is open body of
HTML overflow is changed to `overflow: hidden` and search bar use CSS
`position: sticky;` which doesn't work  when its parent has overflow
hidden. The issue was that `off-canvas-wrap` had an `overflow: inherit`
which means when body is set to overflow hidden this div inherits it and
break search bar position sticky when cart sidebar is opened. The
solution is to use `position: initial` which means use what a div has as
default value for `overflow` which I think it's `visible`. This class is
overriding the same class that comes from Foundation Framework that set
this div to be `overflow: hidden`. The override was added when [we added
search sticky](ff69389bb0)

More info about the problem with [position:sticky and its parent having
overflow hidden](https://css-tricks.com/dealing-with-overflow-and-position-sticky/) also info about [position initial vs inherit](https://stackoverflow.com/a/29661356)
2020-09-19 12:21:24 +02:00
andresgutgon
ef85ac3e27 Fixed admin header buttons dropping multiple lines. 2020-09-19 11:37:09 +02:00
Matt-Yorkley
368772dad2 Add another missing method to StripeJS mock
Our Angular code calls this method in some tests and expects a Promise object with a hash describing a payment method.
2020-09-19 00:39:39 +01:00
Matt-Yorkley
857f4e3a37 Add missing method to StripeJS mock
Our Angular code calls this method for interacting with live form validations and messages. We don't really need to use in tests, it just needs to exist otherwise the specs fail.
2020-09-19 00:39:39 +01:00
Matt-Yorkley
67d136548f Update form elements to more accurately reflect actual Stripe form
These attributes more closely reflect the actual form injected by Stripe. The additional attributes are also useful for selecting elements in tests
2020-09-19 00:39:39 +01:00
Matt-Yorkley
4c77c41533 Remove unused postal field from form 2020-09-19 00:39:39 +01:00
Matt-Yorkley
49bd9bd778 Import StripeJS mock from fake_stripe gem
This is the original from https://github.com/thoughtbot/fake_stripe/blob/v0.3.0/lib/fake_stripe/assets/v3.js
2020-09-19 00:39:39 +01:00
Matt-Yorkley
0ba3977422 Add new Stripe checkout spec 2020-09-19 00:39:32 +01:00
Andy Brett
edefe1d4bc use correct cache key for old preference 2020-09-18 14:35:51 -07:00
Matt-Yorkley
4ed34bb942 Add javascript debug option to test suite 2020-09-18 21:20:47 +01:00
Jason Hsu
560577827f Upgraded the bundler version in the Dockerfile to be consistent with that specified in Gemfile.lock 2020-09-18 15:07:44 -05:00
Andy Brett
b9ee945062 fix nomethod error by interpolating integer inside string 2020-09-18 10:10:27 -07:00
Andy Brett
dc7b9ed8fa use sql query to update weight calculator prefs 2020-09-18 09:55:29 -07:00
Luis Ramos
9c1a7c13dc Adding the russian language 2020-09-18 16:43:57 +01:00
Luis Ramos
fe7d7b54d1 Make version number 1.0.0 as we dont want to mantain the app version here and update AGPL to v3 2020-09-18 16:20:09 +01:00
Luis Ramos
2fae7e0df3 Use moment js min and locale files from node_modules
In this commit fil and nl-be are also added

We could use moment/min/locales.min.js but that would add all locales available in moment which would be a move in size from current 30k in moment locales to 300k
2020-09-18 16:18:24 +01:00
Luis Ramos
d4c4bcaa50 Make node_modules available for code in app/assets 2020-09-18 15:53:34 +01:00
Luis Ramos
5b3f700fb4 Move momentjs from a Gemfile dependeny to a package.jons dependency and upgrade it from 2.20.1 to 2.28.0 2020-09-18 15:29:38 +01:00
Luis Ramos
a872667912 Add yarn.lock after yarn was added in ofn-install and installed in all servers, every ofn deploy will run yarn install now 2020-09-18 15:28:43 +01:00
Transifex-Openfoodnetwork
9cb7275250 Updating translations for config/locales/ar.yml 2020-09-18 19:49:55 +10:00
Transifex-Openfoodnetwork
3bf98e295d Updating translations for config/locales/en_FR.yml 2020-09-18 17:36:38 +10:00
Transifex-Openfoodnetwork
678e0be0a5 Updating translations for config/locales/fr.yml 2020-09-18 17:36:29 +10:00
Andy Brett
843f43eb78 delete cached per_kg preference for all weight calculators 2020-09-17 17:30:43 -07:00
Andy Brett
96fb65600e refactor views to oneliners without single letter variable names 2020-09-17 16:45:55 -07:00
Andy Brett
fdb1019ee2 fix styles per rubocop 2020-09-17 16:41:49 -07:00
Andy Brett
0ef4dec15e specs for product import using pounds and ounces 2020-09-17 09:34:22 -07:00
Andy Brett
bd25e8b40d Revert "schema update"
This reverts commit 73149dc695.
2020-09-17 08:46:03 -07:00
Andy Brett
66099239aa add translation for calculator preferred unit error 2020-09-17 08:42:08 -07:00
Andy Brett
988abf7a8c update preference field interface to be more clear 2020-09-17 08:27:45 -07:00
Transifex-Openfoodnetwork
880ef9cf4f Updating translations for config/locales/es.yml 2020-09-18 01:01:34 +10:00
Transifex-Openfoodnetwork
095633f21e Updating translations for config/locales/ca.yml 2020-09-18 00:59:40 +10:00
Pau Pérez Fabregat
3a894a1cdb Merge pull request #6002 from openfoodfoundation/dependabot/bundler/unicorn-5.7.0
Bump unicorn from 5.6.0 to 5.7.0
2020-09-17 16:57:16 +02:00
Transifex-Openfoodnetwork
ee862891c1 Updating translations for config/locales/en_FR.yml 2020-09-18 00:51:30 +10:00
Transifex-Openfoodnetwork
9dccb641c7 Updating translations for config/locales/fr.yml 2020-09-18 00:50:02 +10:00
Andy Brett
73149dc695 schema update 2020-09-17 07:36:38 -07:00
Andy Brett
977e4e46f3 remove explicit raise from convert_weight 2020-09-17 07:36:28 -07:00
Andy Brett
6466829bdc fix typo in weight calculator migration 2020-09-17 07:17:25 -07:00
Andy Brett
d1a87f7ba0 add oz and lb as allowed units in product import 2020-09-17 06:34:07 -07:00
Luis Ramos
455111093d Fix easy rubocop issues 2020-09-17 14:18:51 +01:00
Luis Ramos
ecdba1fa4e For some reason the factory create(:admin_user) is not working here, this new version works 2020-09-17 14:18:51 +01:00
Luis Ramos
8234ad0906 Ensure test order cycle coordinator is really an enterprise not managed by the user instead of relying on the factory logic 2020-09-17 14:18:51 +01:00
Luis Ramos
60ef32300b No need to test code with different ability setup, this was a good spec for spree, in ofn we use and test the static auth config in Ability 2020-09-17 14:18:51 +01:00
Luis Ramos
405b317726 Merge ability and ability decorator 2020-09-17 14:18:45 +01:00
Luis Ramos
22eac6200c Add needed fake ability 2020-09-17 14:10:37 +01:00
Luis Ramos
32649cb25a Transpec ability_spec 2020-09-17 14:10:37 +01:00
Luis Ramos
895ab62ba9 Bring ability helpers from spree_core and fix ability_spec 2020-09-17 14:10:37 +01:00
Luis Ramos
37c7d254e1 Fix rubocop issues 2020-09-17 14:10:37 +01:00
Luis Ramos
051ee0fd14 Run rubocop -a 2020-09-17 14:10:37 +01:00
Luis Ramos
c00c03737e Bring user and ability related files from spree_core 2020-09-17 14:10:37 +01:00
Luis Ramos
a16dc4d720 Move ability decorator specs to specific file 2020-09-17 14:10:36 +01:00
Luis Ramos
4b597ada12 Fix easy rubocop issues 2020-09-17 14:06:51 +01:00
Luis Ramos
fe7cf0cf44 Remove reference to FactoryGirl 2020-09-17 14:06:51 +01:00
Luis Ramos
f81d4596aa Use correct updater 2020-09-17 14:06:51 +01:00
Luis Ramos
e0d731b92b Remove unused email validator 2020-09-17 14:06:51 +01:00
Luis Ramos
a5ff4d6853 Remove unneeded setup code and remove unnecessary reference to FactoryGirl 2020-09-17 14:06:51 +01:00
Luis Ramos
03419bbc35 Remove all and use find_each instead! 2020-09-17 14:06:51 +01:00
Luis Ramos
c49dbec85a Adapt order_spec to new updater code 2020-09-17 14:06:51 +01:00
Luis Ramos
7884dbfeb1 Revert rubocop autocorrect, each is needed here for find_each is not available for Arrays 2020-09-17 14:06:51 +01:00
Luis Ramos
4215dcb927 Run transpec on the new specs from spree_core 2020-09-17 14:06:50 +01:00
Luis Ramos
31f9cd3caf Fix spec/models/spree/order specs 2020-09-17 14:06:50 +01:00
Luis Ramos
8643cbd8ce Delete unused order.merge! and fix specs 2020-09-17 14:06:50 +01:00
Luis Ramos
2753e86325 Run rubocop autocorrect 2020-09-17 14:06:50 +01:00
Luis Ramos
2cd066237d Fix easy rubocop issues 2020-09-17 14:06:50 +01:00
Luis Ramos
94ad02abbe Run rubocop autocorrect 2020-09-17 14:06:50 +01:00
Luis Ramos
3c5a35df27 Remove original email validator and keep only previous OFN validator 2020-09-17 14:06:50 +01:00
Luis Ramos
82a116a92f We always define Spree.user_class 2020-09-17 14:06:50 +01:00
Luis Ramos
cc87e8c9a2 Remove code related to promotions 2020-09-17 14:06:50 +01:00
Luis Ramos
2a6d83b4dd Remove confirm checkout step and it's additional removal 2020-09-17 14:06:50 +01:00
Luis Ramos
6900f7a46f Merge decorators with original files from spree_core
EPIC COMMIT ALERT :-)
2020-09-17 14:06:50 +01:00
Luis Ramos
47d2f698ef Bring models related to Order from spree_core
EPIC COMMIT ALERT :-)
2020-09-17 14:05:29 +01:00
Matt-Yorkley
77eaebc2a7 Merge pull request #5888 from andrewpbrett/imperial-auto-units
Allow US units on products/variants
2020-09-17 15:04:15 +02:00
Luis Ramos
1a513567f2 Fix easy rubocop issues 2020-09-17 13:59:41 +01:00
Luis Ramos
1df7890a0d Use spree url_helpers 2020-09-17 13:59:41 +01:00
Luis Ramos
a2435d29af Add missing translation 2020-09-17 13:59:41 +01:00
Luis Ramos
d5d62894a5 Use spree url helpers 2020-09-17 13:59:41 +01:00
Luis Ramos
da19fa5f80 Add missing translations 2020-09-17 13:59:41 +01:00
Luis Ramos
a34c18451c Add spree helper 2020-09-17 13:59:41 +01:00
Luis Ramos
27fa04114e Add require for gateway error 2020-09-17 13:59:41 +01:00
Luis Ramos
ec8dfd668d Use ofn's calculator in all tests and add missing translation 2020-09-17 13:59:41 +01:00
Luis Ramos
bec6e8e604 Add missing translation 2020-09-17 13:59:41 +01:00
Luis Ramos
66f27aad32 Explicitly use spree url helpers for spree routes 2020-09-17 13:59:41 +01:00
Luis Ramos
739917ca46 Add require for spree responder 2020-09-17 13:58:45 +01:00
Luis Ramos
e0cb7a29bf Add helper prefix to helper calls 2020-09-17 13:58:45 +01:00
Luis Ramos
b6a374ab66 Remove spree require that is not needed in OFN 2020-09-17 13:58:10 +01:00
Luis Ramos
37f3861233 Remove require of a file no longer needed 2020-09-17 13:58:10 +01:00
Luis Ramos
a5dd1526f7 Delete dead code ProductFilters 2020-09-17 13:58:10 +01:00
Luis Ramos
8707f51214 Remove unused helper 2020-09-17 13:58:10 +01:00
Luis Ramos
b84212023b Require code from spree/core explicitly 2020-09-17 13:58:10 +01:00
Luis Ramos
01daf63fc6 Fix some problems with code that was relying on spree code 2020-09-17 13:57:05 +01:00
Matt-Yorkley
3ececb04c5 Update all locales with the latest Transifex translations 2020-09-17 13:33:53 +01:00
Matt-Yorkley
0aa515101b Merge pull request #6015 from openfoodfoundation/transifex
Transifex
2020-09-17 14:31:41 +02:00
Luis Ramos
c6139a975a Merge pull request #6028 from openfoodfoundation/dependabot/bundler/webmock-3.9.1
Bump webmock from 3.8.3 to 3.9.1
2020-09-17 12:19:08 +01:00
Luis Ramos
212820b3da Merge pull request #5912 from luisramos0/tcs
Terms and Conditions - upload PDF in the Enterprise Business Details and read them on Checkout
2020-09-17 12:01:45 +01:00
Luis Ramos
f1358dfa9a Merge pull request #5722 from rioug/4206-back-from-Edit-Product-removed-filters-products-page
4206 back from edit product removed filters products page
2020-09-17 11:51:58 +01:00
Luis Ramos
f061545a92 Merge pull request #5995 from andresgutgon/fix/datetime-picker-ui-pick-the-right-translations-on-order-cycles
Fix date time picker translations on Order cycles screen
2020-09-17 11:50:37 +01:00
Luis Ramos
e99fdeb972 Merge pull request #5996 from andresgutgon/fix/iframe-shop-failing-because-jquery-is-not-loaded
Fix embedded shops failing javascript because jQuery is try to be accessed before being loaded
2020-09-17 11:32:08 +01:00
Transifex-Openfoodnetwork
875eb292be Updating translations for config/locales/ar.yml 2020-09-17 08:42:12 +10:00
Arun Kumar Mohan
08604ae8fd Remove Hash#diff usage from cancan helper 2020-09-16 12:14:37 -05:00
Luis Ramos
87d6a73e54 Merge pull request #5878 from luisramos0/shipping
[Bye bye Spree] Bring models shipping_method, shipping_rates, address and shipping_category from spree_core
2020-09-16 14:58:39 +01:00
Luis Ramos
f566c2127d Merge pull request #5924 from luisramos0/basic_spree_core
[Bye bye spree] Bring base_helper and log_entry from spree core
2020-09-16 14:57:41 +01:00
Transifex-Openfoodnetwork
2573e3b7c5 Updating translations for config/locales/es_CO.yml 2020-09-16 23:24:39 +10:00
Transifex-Openfoodnetwork
7fe876266e Updating translations for config/locales/es_CO.yml 2020-09-16 23:21:34 +10:00
Luis Ramos
8d5ed630d6 Merge pull request #6035 from arku/fix/adjustment-metadata-spec
Fix uninitialized constant error when running model specs
2020-09-16 10:15:46 +01:00
Luis Ramos
66d206ecb3 Merge pull request #6036 from arku/fix/pr-template
Fix typo in the PR template
2020-09-16 10:15:00 +01:00
Arun Kumar Mohan
fd0a7971e9 Fix typo in the PR template 2020-09-15 20:30:23 -05:00
Arun Kumar Mohan
ed3cb56c11 Fix uninitialized constant error when running model specs 2020-09-15 20:23:05 -05:00
Transifex-Openfoodnetwork
a367c3720c Updating translations for config/locales/en_US.yml 2020-09-16 10:21:50 +10:00
Luis Ramos
6eb43053e9 Merge pull request #5925 from luisramos0/spree_core_user
[Bye bye spree] Bring classes related to users to OFN
2020-09-15 17:13:27 +01:00
Pau Pérez Fabregat
7006b0af4c Merge pull request #6021 from Matt-Yorkley/concerns
Move concern to concerns directory
2020-09-15 17:45:24 +02:00
Transifex-Openfoodnetwork
d86b879972 Updating translations for config/locales/nb.yml 2020-09-15 20:46:33 +10:00
Transifex-Openfoodnetwork
fd339488e6 Updating translations for config/locales/es.yml 2020-09-15 20:38:08 +10:00
Transifex-Openfoodnetwork
b6f5eab6e1 Updating translations for config/locales/ca.yml 2020-09-15 20:37:51 +10:00
dependabot-preview[bot]
ced29c1f3d Bump webmock from 3.8.3 to 3.9.1
Bumps [webmock](https://github.com/bblimke/webmock) from 3.8.3 to 3.9.1.
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.8.3...v3.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 09:49:14 +00:00
Pau Pérez Fabregat
27ffe9edb2 Merge pull request #5971 from luisramos0/testing
Remove some old spree test helpers that are not needed
2020-09-15 09:13:20 +02:00
Luis Ramos
0d7b5cd32c Merge pull request #5868 from luisramos0/taxonomies
[Bye bye Spree] Bring models taxon and taxonomy from spree_core
2020-09-14 20:45:04 +01:00
Matt-Yorkley
276fea6942 Fix rubocop offenses 2020-09-14 15:14:16 +01:00
Matt-Yorkley
c45dcad975 Move concern to concerns directory 2020-09-14 13:23:21 +01:00
Andy Brett
246934d8ba update preference name in factor and specs 2020-09-12 14:49:42 -07:00
Andy Brett
37cfe65688 migrate existing weight calculators 2020-09-12 12:32:06 -07:00
Andy Brett
4123eb7c10 update specs; add specs to validate weight calculator preference is kg or lb 2020-09-12 11:53:45 -07:00
Transifex-Openfoodnetwork
f32d8e2678 Updating translations for config/locales/en_GB.yml 2020-09-13 04:29:16 +10:00
Andy Brett
d32ed6b48f improve styling on calculators UI 2020-09-12 10:43:14 -07:00
Transifex-Openfoodnetwork
a9a05debba Updating translations for config/locales/en_CA.yml 2020-09-13 02:30:11 +10:00
Matt-Yorkley
9481876595 Fix line_item tax sum in OrderTaxAdjustmentsFetcher 2020-09-12 15:41:29 +01:00
Matt-Yorkley
cdf4e88e21 Add failing spec for OrderTaxAdjustmentsFetcher with multiple line items 2020-09-12 15:40:06 +01:00
Matt-Yorkley
7ddc53bb5b Remove temporary debugging helpers added during the Rails 4 upgrade. 2020-09-12 12:25:43 +01:00
Transifex-Openfoodnetwork
b9f6dc6de5 Updating translations for config/locales/en_FR.yml 2020-09-12 00:25:49 +10:00
Transifex-Openfoodnetwork
811985cf0f Updating translations for config/locales/fr.yml 2020-09-12 00:25:36 +10:00
Luis Ramos
175b78b51f Merge pull request #5827 from jeduardo824/bug/remove-environment-column-when-user-is-not-super-admin
Bug/4592 - Hide Environment column on Payment Methods page when user is not admin
2020-09-11 10:47:10 +01:00
Maikel Linke
e82aa0c89a Update translations 2020-09-11 15:25:52 +10:00
Maikel Linke
8be05e94bd Update release issue template 2020-09-11 15:25:24 +10:00
Maikel
7317347fd6 Merge pull request #6012 from openfoodfoundation/transifex
Transifex
2020-09-11 15:25:04 +10:00
Maikel
c5c542069f Merge pull request #5951 from mkllnk/5785-js-error-reporting
5785 Notify Bugsnag when sending card to Stripe fails during checkout
2020-09-11 15:12:47 +10:00
Maikel
dc9e3aa1a0 Merge pull request #6010 from mkllnk/fix-module-declaration
Fix module declaration
2020-09-11 09:12:08 +10:00
Luis Ramos
a48b57f7a7 Merge pull request #5883 from luisramos0/taxs
[Bye bye Spree] Bring models tax_rate, tax_categories, adjustments and calculator from spree_core
2020-09-10 23:10:26 +01:00
Luis Ramos
6f59158153 Remove useless TODOs 2020-09-10 17:36:25 +01:00
Transifex-Openfoodnetwork
f501d48caa Updating translations for config/locales/fr.yml 2020-09-11 01:54:06 +10:00
Pau Pérez Fabregat
2429b186ce Merge pull request #6008 from openfoodfoundation/dependabot/bundler/ddtrace-0.40.0
Bump ddtrace from 0.39.0 to 0.40.0
2020-09-10 17:10:56 +02:00
Pau Pérez Fabregat
7df2759475 Merge pull request #5907 from Matt-Yorkley/data-cleanup
Data cleanup
2020-09-10 17:06:20 +02:00
Pau Pérez Fabregat
681cb34c48 Merge pull request #6009 from openfoodfoundation/transifex
Transifex
2020-09-10 14:01:49 +02:00
Maikel Linke
94b903179e Fix module declaration
Running script/prepare_imported_db.rb failed because
Spree::PaymentMethodDistributors couldn't be found. This problem is
described in the Rubocop docs:
https://rubystyle.guide/#namespace-definition
2020-09-10 16:12:17 +10:00
Maikel Linke
59070712d9 Update rubocop todo list 2020-09-10 16:08:18 +10:00
Transifex-Openfoodnetwork
76aebf329e Updating translations for config/locales/ar.yml 2020-09-10 02:13:08 +10:00
dependabot-preview[bot]
b2b5606f2e Bump ddtrace from 0.39.0 to 0.40.0
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.39.0 to 0.40.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 15:32:14 +00:00
Pau Perez
f890c4a31d Fix LogEntry spec 2020-09-08 14:12:17 +02:00
Pau Pérez Fabregat
b087f8da19 Merge pull request #6001 from openfoodfoundation/transifex
Transifex
2020-09-08 13:19:28 +02:00
Pau Perez
e3c1159c17 Start with 6 months data retention
As discussed in code review.
2020-09-08 12:49:58 +02:00
Pau Perez
14054f0e70 Move retention period to constant
There's no need to reevaluate the date 3 times, potentially leading to
edge cases.
2020-09-08 12:48:30 +02:00
Pau Perez
d525ddfe14 Move missing statements to where + delete_all
And fix the specs
2020-09-08 12:47:42 +02:00
Pau Pérez Fabregat
df0b997258 Use where + delete_all to increase readability
Co-authored-by: Maikel <maikel@email.org.au>
2020-09-08 12:26:47 +02:00
Pau Pérez Fabregat
ffbb0d26a4 Unhardcode class name 2020-09-08 12:26:21 +02:00
dependabot-preview[bot]
5eb64f431a Bump unicorn from 5.6.0 to 5.7.0
Bumps [unicorn](https://yhbt.net/unicorn/) from 5.6.0 to 5.7.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 09:20:12 +00:00
Andy Brett
c618ba3b2c style fixes 2020-09-07 13:44:42 -07:00
Andy Brett
5a5cbbd318 add drop down list for unit preference 2020-09-07 13:26:09 -07:00
Transifex-Openfoodnetwork
3da14233bf Updating translations for config/locales/en_US.yml 2020-09-08 02:55:31 +10:00
Pau Pérez Fabregat
940c067b60 Merge pull request #5992 from openfoodfoundation/transifex
Transifex
2020-09-07 18:46:48 +02:00
Andy Brett
adb29a9c8f add preferred_unit to weight shipping calculator 2020-09-07 08:41:48 -07:00
Andy Brett
5793f0103d Revert "Add a per-pound calculator and a spec for it"
This reverts commit e8eadcbf39.
2020-09-07 07:50:59 -07:00
Andy Brett
e8eadcbf39 Add a per-pound calculator and a spec for it 2020-09-06 09:03:06 -07:00
andresgutgon
2297e20c78 Fix embedded shops failing javascript because jQuery is try to be
accessed before being loaded
Show we check for $.ready when jQuery is not downloaded yet in the
browser. The solution is to check if document is ready with plain DOM
javascript event `DOMContentLoaded`
2020-09-06 15:24:22 +02:00
andresgutgon
d1331ac78a Fix datetime picker translations on Order cycles screen
So the thing is we initialize jQuery plugin on `admin/util.js.erb` but
then we override those defaults on order_cycles.js.erb.coffe. Now both
plugin initializations use the same defaults. Also added 3 missing
translations for `Done`, `Now` and `Time` copies on that timepicker popover
2020-09-06 13:43:35 +02:00
Luis Ramos
6e8fe080cb Fix easy rubocop issues 2020-09-05 18:39:56 +01:00
Luis Ramos
5521b4bb04 Remove unused product filters 2020-09-05 16:43:27 +01:00
Luis Ramos
4183dda27e Fix long line 2020-09-05 16:43:27 +01:00
Luis Ramos
fcbb883244 Transpec taxon_spec 2020-09-05 16:43:27 +01:00
Luis Ramos
c35b330d25 Fix taxon_spec 2020-09-05 16:43:27 +01:00
Luis Ramos
57e74a4980 Fix rubocop issues 2020-09-05 16:43:27 +01:00
Luis Ramos
a1b64fe27b Rubocop auto-correct 2020-09-05 16:43:27 +01:00
Luis Ramos
49060892e8 Merge decorators into original files from spree_core 2020-09-05 16:43:27 +01:00
Luis Ramos
9175504bc1 Bring taxon, taxonomy and classification from spree_core 2020-09-05 16:43:27 +01:00
Luis Ramos
8867ec977c Bring missing factory from spree_core and use ofn's calculator 2020-09-05 16:38:37 +01:00
Luis Ramos
4931edc67c Remove code related to promotions, we dont have promotions in OFN 2020-09-05 16:38:37 +01:00
Luis Ramos
51ed9a6b78 Fix comment and point out that it's a fix to a spree issue 2020-09-05 16:38:36 +01:00
Luis Ramos
e96428e7e2 Transpec adjustment_spec 2020-09-05 16:38:36 +01:00
Luis Ramos
b629a4f912 Make new specs pass 2020-09-05 16:38:36 +01:00
Luis Ramos
967380c542 Fix easy rubocop issues 2020-09-05 16:38:36 +01:00
Luis Ramos
ff0aa377a1 Run rubocop autocorrect 2020-09-05 16:38:36 +01:00
Luis Ramos
da683e3ecf Merge decorators with original code from spree_core 2020-09-05 16:38:36 +01:00
Luis Ramos
aa46a4b5da Bring models related to taxes and adjustments from spree_core 2020-09-05 16:38:36 +01:00
Transifex-Openfoodnetwork
61dad61ef7 Updating translations for config/locales/en_GB.yml 2020-09-05 02:37:15 +10:00
Luis Ramos
60e241b2c8 Merge pull request #5984 from openfoodfoundation/transifex
Transifex
2020-09-04 17:19:37 +01:00
Luis Ramos
d8165aeec1 Merge pull request #5987 from luisramos0/spree_core_without_ctrl_hlpers
Depend on version of spree without controller helpers
2020-09-04 17:18:17 +01:00
Pau Pérez Fabregat
c7bcd61755 Merge pull request #5990 from coopdevs/dont-require-overrides
Do not require view overrides
2020-09-04 17:20:04 +02:00
Luis Ramos
9c0c324835 Add some requires now required as spree does not contain controller helpers 2020-09-04 14:30:17 +01:00
Luis Ramos
874cb78809 Depend on version of spree without controller helpers, which are already on OFN side. This way we avoid conflicts 2020-09-04 12:48:22 +01:00
Eduardo
71876ca23a change spec to use new authentication helper and user factory 2020-09-04 08:48:16 -03:00
Eduardo
07e5f8ed8d fix typo on title of specs 2020-09-04 08:45:58 -03:00
Eduardo
11684dae65 hide environment on payment methods when user is not admin 2020-09-04 08:45:57 -03:00
Pau Perez
4499bc7313 Do not require view overrides
View overrides were removed long ago, so no need to require an empty
list.

The next step will be class decorators.
2020-09-04 13:27:38 +02:00
Luis Ramos
e44efd3db2 Change test of attachment from present? to file? 2020-09-04 10:06:41 +01:00
Luis Ramos
4fe24da3ec Merge pull request #5748 from mbudm/issue/5072
Add redirect to shop on order cycle change
2020-09-04 10:03:07 +01:00
dependabot-preview[bot]
cb61c83688 Bump stripe from 5.22.0 to 5.25.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.22.0 to 5.25.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/v5.22.0...v5.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-03 17:49:28 +00:00
Luis Ramos
d80a44ade0 Merge pull request #5867 from luisramos0/stock
[Bye bye Spree] Bring models stock_location and stock_movement from spree_core
2020-09-03 18:35:55 +01:00
Transifex-Openfoodnetwork
42d90465b1 Updating translations for config/locales/fr_CA.yml 2020-09-04 03:21:50 +10:00
Transifex-Openfoodnetwork
457dfdd18a Updating translations for config/locales/en_CA.yml 2020-09-04 03:13:22 +10:00
Luis Ramos
e413920335 Move both OptionValueNamer and VariantAndLineItemNaming to app/services/variant_units 2020-09-03 09:11:00 -07:00
Luis Ramos
83ae13d7c7 Extract method to make code easier to read 2020-09-03 09:11:00 -07:00
Luis Ramos
9204687e4d Fix rubocop issues 2020-09-03 09:11:00 -07:00
Luis Ramos
c6741dda36 Fix rubocop complexity issues by making code easier to read 2020-09-03 09:11:00 -07:00
Andy Brett
55f9fef2c3 denote that weight is in grams on the bulk order management page 2020-09-03 09:11:00 -07:00
Andy Brett
4bc3101f4d Add specs for shipping weight calculations using lbs and oz 2020-09-03 09:11:00 -07:00
Andy Brett
404d7bbc43 add test for options_text using g/lb 2020-09-03 09:11:00 -07:00
Andy Brett
55e448897f use fewer sigfigs for ounces; add spec to option_value_namer 2020-09-03 09:11:00 -07:00
Andy Brett
2fe9f4abc8 style updates for rubocop 2020-09-03 09:11:00 -07:00
Andy Brett
d7a8873ee9 return empty string for unitName if no scale matches 2020-09-03 09:11:00 -07:00
Andy Brett
a2993652c1 get only compatible scales in option_value_namer.js.coffee 2020-09-03 09:11:00 -07:00
Andy Brett
08e6e5a459 add compatibleUnitScales function and spec 2020-09-03 09:11:00 -07:00
Andy Brett
0018ef6eb4 refactor variant_unit_manager.coffee and add systems to scales 2020-09-03 09:11:00 -07:00
Andy Brett
9b9b6ded09 add each scales system in option_value_namer.rb 2020-09-03 09:11:00 -07:00
Andy Brett
e5e7e12a32 green tests for sorted scales 2020-09-03 09:11:00 -07:00
Andy Brett
2f216039ac update variantunitmanager test expectation 2020-09-03 09:11:00 -07:00
Andy Brett
e99799bca2 add ounces and round up for lbs 2020-09-03 09:11:00 -07:00
Zee Spencer
f5e300a5de Presenting a line item or variants options_text uses overriden values
This changes how we display the description of weight, but it doesn't
change the `Spree::OptionValue`s that are being created when someone
adds a product to their cart.

This takes us closer by making the UI look more correct; but it feels
odd compared to settiong the `Spree::OptionValue` to the correct
unit on creation.

But on the other hand, that could possibly make things worse for the
shipping calculation bits.
2020-09-03 09:10:59 -07:00
Zee Spencer
ae0b76e610 Support imperial units when scaling the unit value
We are pretty sure this is not the correct final implementation, but
we wanted to get some tests failing so we can start to fix them.
2020-09-03 09:10:59 -07:00
Zee Spencer
cb09c935dc WIP: Products may be created with pounds for their weight unit_converter
See: https://community.openfoodnetwork.org/t/hubs-managers-can-choose-the-adapted-weight-and-measure-units-for-their-shops-given-their-own-local-situation/1289/11

We're not entirely sure what needs to be changed in order for this to
accurately work with shipping and other parts of the eCommerce platform.

We are assuming that so long as we canonically store the weight scale
in grams, that the shipping calculation will be able to do what it needs
to. So if we put in values for "oz" as grams, we may not need to do
much else in order to let product(s) be sold by the pound (or ounce).

Next steps appear to be:

- [ ] When looking at an order as a customer, do we want to show pounds
      instead of grams? (See: http://localhost:3000/orders/R125684626)
- [ ] Compile a list of tests that are worth writing (because we have
      no confidence that we know what we are supposed to be doing in
      order for this feature to be "ready" to be used by people.)
- [ ] Write a test that demonstrates when we create a product with a
      variant in pound that the product's shipping weight is correctly
      calculated?
- [ ] Do we want to think about i18n?
2020-09-03 09:10:59 -07:00
Transifex-Openfoodnetwork
8f896a806a Updating translations for config/locales/es.yml 2020-09-03 23:36:07 +10:00
Transifex-Openfoodnetwork
71b1c5a3b3 Updating translations for config/locales/ca.yml 2020-09-03 23:35:02 +10:00
Luis Ramos
8256a20aea Update all locales with the latest Transifex translations 2020-09-03 13:27:16 +01:00
Luis Ramos
07e17d7931 Merge pull request #5979 from mkllnk/fix-locale-for-transifex
Add required plural form to locale
2020-09-03 13:21:13 +01:00
Luis Ramos
e177ba5e29 Merge pull request #5977 from openfoodfoundation/transifex
Transifex
2020-09-03 13:19:33 +01:00
Transifex-Openfoodnetwork
d3f48bf684 Updating translations for config/locales/nb.yml 2020-09-03 22:16:04 +10:00
Transifex-Openfoodnetwork
63a6ceede3 Updating translations for config/locales/en_NZ.yml 2020-09-03 19:57:50 +10:00
François Turbelin
52d82d0a96 Use not found instead of 404 for spec descriptions 2020-09-03 00:59:21 +02:00
François Turbelin
d11d67561f Remove extra delegation in serializers 2020-09-03 00:58:54 +02:00
François Turbelin
d2c147109d Use Persons instead of People 2020-09-03 00:56:42 +02:00
Luis Ramos
185c246a83 Merge pull request #5965 from coopdevs/ignore-pyenv-file
Gitignore pyenv's Python version file
2020-09-02 23:50:42 +01:00
François Turbelin
b60c1c9003 Dry current_enterprise emtod with enterprise_id_param_name 2020-09-03 00:50:23 +02:00
Luis Ramos
83361255aa Merge pull request #5969 from luisramos0/fungi
Replace beef with fungi in sample data 🐮
2020-09-02 23:47:43 +01:00
Luis Ramos
f28241cc5e Merge duplicate Spree::User#superadmin? into existing Spree::admin? 2020-09-02 22:41:42 +01:00
Luis Ramos
ebf4175662 MErge user class extensions into the User class 2020-09-02 22:41:39 +01:00
Luis Ramos
737fc699ed Fix rubocop issues 2020-09-02 22:40:46 +01:00
Luis Ramos
caf61e3a7e Run rubocop -a 2020-09-02 22:40:28 +01:00
Luis Ramos
dfa00a770a Bring user and ability related files from spree_core 2020-09-02 22:37:27 +01:00
François Turbelin
59fb2abc5d Fix inheritance issue with specs on Semaphore 2020-09-02 23:08:47 +02:00
François Turbelin
6508897e3d Introduce current_enterprise with memoization 2020-09-02 22:28:12 +02:00
François Turbelin
1baba5b61c Introduce current_user with memoization 2020-09-02 22:18:56 +02:00
François Turbelin
4f2b7094d0 Use before_action instead of before_filter 2020-09-02 21:48:13 +02:00
Luis Ramos
b4759ff869 Merge pull request #5869 from luisramos0/images
[Bye bye Spree] Bring models image and asset from spree_core
2020-09-02 19:44:40 +01:00
Transifex-Openfoodnetwork
5bc0eca493 Updating translations for config/locales/en_FR.yml 2020-09-02 23:08:34 +10:00
Transifex-Openfoodnetwork
f6eb05a6f1 Updating translations for config/locales/fr.yml 2020-09-02 23:07:46 +10:00
Maikel Linke
cd940bd140 Rewrite error message for failed credit card sending 2020-09-02 15:22:23 +10:00
Maikel Linke
09f0035bbd Add required plural form to locale
Transifex complained:

> Key 'spree.activerecord.models.spree/payment' has the wrong number of plurals

While our application may not need that translation, Transifex won't
accept the source file and our updates were broken.
2020-09-02 15:06:15 +10:00
Luis Ramos
2cb6124b7a Use existing product factory, the custom product is not needed here 2020-09-01 17:13:07 +01:00
Luis Ramos
653b71dbd4 Remove duplicated spec 2020-09-01 17:10:51 +01:00
Luis Ramos
b36d0bc4f3 Fix easy rubocop isssues 2020-09-01 17:09:22 +01:00
Luis Ramos
b2cf414fb8 Use exiting translation 2020-09-01 17:09:22 +01:00
Luis Ramos
5958c2f68c Rubocop autocorrect 2020-09-01 17:09:22 +01:00
Luis Ramos
13f0a46bc2 Merge decorator with original file from spree 2020-09-01 17:09:22 +01:00
Luis Ramos
b9f7a98c46 Bring image, asset and images_helper from spree_core 2020-09-01 17:09:22 +01:00
Transifex-Openfoodnetwork
a65bd8edac Updating translations for config/locales/en_US.yml 2020-09-02 01:28:57 +10:00
Luis Ramos
ea053552b9 Merge pull request #5938 from cillian/bulk-coop-report-filter-fixes
Fix the bulk coop report date and distributor filters.
2020-09-01 16:21:31 +01:00
Luis Ramos
52fb3c92f0 Merge pull request #5954 from romale/patch-10
Missing translation key en.credit_owed and en.new_adjustment
2020-09-01 16:21:22 +01:00
Luis Ramos
ffac38d934 Remove option to enter state_name for countries without states
Thisis not supported in OFN
2020-09-01 16:06:49 +01:00
Luis Ramos
5716ea8611 Fix rubocop issue 2020-09-01 15:55:46 +01:00
Luis Ramos
88d90a37e8 Run transpec 2020-09-01 15:53:18 +01:00
Luis Ramos
ed114f4c4c Fix rubocop issues 2020-09-01 15:52:36 +01:00
Luis Ramos
ffa0d202be Add states api endpoint to support existing code on the customer details page when user changes country 2020-09-01 15:46:22 +01:00
Luis Ramos
41d797489d Make onchange code simpler 2020-09-01 14:52:18 +01:00
Luis Ramos
46623242f7 Make use_billing checkbox work again, missign js code from spree 2020-09-01 14:28:45 +01:00
Luis Ramos
1a39a55009 Fix problem of converting from erb to haml 2020-09-01 14:09:06 +01:00
Luis Ramos
56fb09c006 Remove unused class 2020-09-01 14:03:20 +01:00
Luis Ramos
e4dee8a2fb Replace hash rockets 2020-09-01 13:57:57 +01:00
Luis Ramos
04f9c5ec5e Convert address form from erb to haml 2020-09-01 13:53:19 +01:00
Luis Ramos
8c322c1a0f Move shared address_form partial to the only place where it is used, order customer_details 2020-09-01 13:49:17 +01:00
Luis Ramos
5e49e03477 Merge pull request #5964 from coopdevs/fix-flaky-product-update-spec
Check taxon's attribute instead of object identity
2020-09-01 12:06:02 +01:00
Luis Ramos
b35d579f64 Bring stock_movement factory from spree_core 2020-09-01 10:20:51 +01:00
Luis Ramos
3198bbd3cb Bring required factory from spree_core 2020-09-01 10:17:45 +01:00
Luis Ramos
865a4b3063 Fix base helper spec 2020-09-01 09:46:41 +01:00
Luis Ramos
b413f856a5 Clarify that it's a Spree issue number 2020-09-01 09:46:41 +01:00
Luis Ramos
2f93a06dd5 Run rubocop -a on files brought from spree_core 2020-09-01 09:46:41 +01:00
Luis Ramos
c151195e3a Merge decorator with original class and delete dead code 2020-09-01 09:46:41 +01:00
Luis Ramos
7ec00cf40a Bring base files from spree_core 2020-09-01 09:45:11 +01:00
Luis Ramos
bf81b5a305 Remove unnecessary setup code in spec, propagate_all_variants is always true in OFN 2020-09-01 09:42:24 +01:00
Luis Ramos
d87d5d3537 Fix stock_movement and stock_location specs brought from spree_core
propagate_all_variants is always true in OFN
2020-09-01 09:42:24 +01:00
Luis Ramos
e0ea25b7a3 track_inventory_levels is always true in OFN 2020-09-01 09:42:24 +01:00
Luis Ramos
8f19ad0646 Delete dead code 2020-09-01 09:42:24 +01:00
Luis Ramos
e89eb8f76c Fix simepl rubocop issues 2020-09-01 09:42:24 +01:00
Luis Ramos
0b053c18af Merge decoorator with original file from spree 2020-09-01 09:42:24 +01:00
Luis Ramos
d13bd86e4c Bring stocck movement and stock location from spree 2020-09-01 09:42:24 +01:00
Pau Pérez Fabregat
c56962b949 Merge pull request #5966 from openfoodfoundation/dependabot/bundler/bugsnag-6.17.0
Bump bugsnag from 6.16.0 to 6.17.0
2020-09-01 09:55:11 +02:00
Luis Ramos
208be3ede6 Fix rubocop issues 2020-08-31 20:00:08 +01:00
Luis Ramos
de061b4c54 Make it a keyword argument so it's easier to read 2020-08-31 18:47:24 +01:00
Luis Ramos
c7a5dd65cf Ensure all specs that change stripe_connect_enable set the value back to what it was before, which should be the default value false
This will speed up specs as it ensures the stripe is always disabled and its JS script is not loaded
2020-08-31 18:38:50 +01:00
Luis Ramos
d9a228e5ec Replace before and after hook with an around hook 2020-08-31 17:47:41 +01:00
Luis Ramos
8a75fe777c Refactor enterprises controller to reduce code duplication 2020-08-31 17:40:34 +01:00
Luis Ramos
66587ccc00 Allow user to remove terms and conditions file 2020-08-31 17:40:34 +01:00
Luis Ramos
24cdd0c467 Refactor enterprise controller to reduce code duplication 2020-08-31 17:40:34 +01:00
Luis Ramos
a3e9226878 Add option to remove existing terms and conditions file 2020-08-31 17:40:34 +01:00
Luis Ramos
0974c4b2ac Move enterprise images translations to the correct place using lazylookup on the server and to main js: namespace for js translations 2020-08-31 17:40:34 +01:00
Luis Ramos
5a10a2861e Reduce the size of the terms and conditions message on the checkout page 2020-08-31 17:40:34 +01:00
Luis Ramos
aedc12e0e3 Add top padding to terms file upload input in enterprises form 2020-08-31 17:40:34 +01:00
Luis Ramos
fc4cc65e07 Merge typography files in css admin 2020-08-31 17:40:34 +01:00
Luis Ramos
07cee32f04 Move enterprisse_console to pages/enterprise_form 2020-08-31 17:40:34 +01:00
Luis Ramos
42d5344179 Fix checkout spec by fixing wrong default value 2020-08-31 17:40:34 +01:00
Luis Ramos
12d18b2825 Add specs to checkout_spec to validate terms and conditions link 2020-08-31 17:40:34 +01:00
Luis Ramos
ad111e837e Add spec to test terms and conditions link on checkout page 2020-08-31 17:40:34 +01:00
Luis Ramos
746533d3f6 Improve spec titles 2020-08-31 17:40:34 +01:00
Luis Ramos
4ef4a58532 Merge two describe sections with same before method and call it what it is: guest checkout 2020-08-31 17:40:34 +01:00
Luis Ramos
685a5465f1 Simplify checkout stripe spec 2020-08-31 17:40:34 +01:00
Luis Ramos
70e9ef93bb Extract stripe spec from checkout spec so we can expand stripe tests in checkout 2020-08-31 17:40:34 +01:00
Luis Ramos
86ad31eb5c Reuse checkout form filling code from CheckoutHelper in checkout paypal spec 2020-08-31 17:40:34 +01:00
Luis Ramos
edfd0fd95c Move checkout helpers to checkout_helper 2020-08-31 17:40:34 +01:00
Luis Ramos
d1f5828d13 Rename checkout_workflow to checkout_helper 2020-08-31 17:40:34 +01:00
Luis Ramos
785f8ada4d Refactor checkout_spec by removing unnecessary initial describe section 2020-08-31 17:40:34 +01:00
Luis Ramos
b9511d4f07 Show terms and conditions on checkout if enterprise has an associated PDF file 2020-08-31 17:40:34 +01:00
Luis Ramos
16a475d8af Fix some rubocop issues 2020-08-31 17:40:34 +01:00
Luis Ramos
1a734aacf8 Allow user to upload terms and conditions PDF file to an enterprise 2020-08-31 17:40:34 +01:00
Luis Ramos
cfdfd82d9a Replace api controller test helpers with easier existing alternatives 2020-08-31 17:05:51 +01:00
Luis Ramos
b872bf49c5 Replace usage of helper method with a more simple approach 2020-08-31 16:56:48 +01:00
Luis Ramos
3df5a0644f Make sample data vegetarian 2020-08-31 10:57:07 +01:00
Pau Perez
6bb37a3942 Check taxon's attribute instead of object identity
We don't care about the Ruby object instance but the actual DB record it
represents.
2020-08-31 11:05:12 +02:00
Maikel
a029a86f0d Merge pull request #5893 from arku/chore/resend-button-removal
Remove resend button on the orders edit page
2020-08-31 11:18:05 +10:00
François Turbelin
d5800642e7 Map DFC SuppliedProduct with OFN Variant 2020-08-30 23:11:59 +02:00
Luis Ramos
c9758b8b0b Merge pull request #5957 from coopdevs/improve-stripe-connection-spec
Improve StripeAccountsController#connect spec
2020-08-30 22:02:22 +01:00
Arun Kumar Mohan
bf07da6267 Fix the order resend message translation 2020-08-29 20:47:28 -05:00
Arun Kumar Mohan
bb9ab57699 Remove resend button on the orders edit page 2020-08-29 20:47:28 -05:00
dependabot-preview[bot]
7e274868fa Bump bugsnag from 6.16.0 to 6.17.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.16.0 to 6.17.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.16.0...v6.17.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-28 15:16:12 +00:00
Pau Pérez Fabregat
7cb49ac9a8 Merge pull request #5866 from luisramos0/ctry_zone
[Bye bye Spree] Bring models country, zone and zone_member from spree_core
2020-08-28 13:23:59 +02:00
Cillian O'Ruanaidh
9efee1b0be In bulk coop report service spec just check array has the same elements but don't check the order.
The #table_items methos seems to return line items in different order sometimes making this test a bit flaky. The test passed on Semaphore previously and is passing in development. I don't think the order matters so using :match_array instead of :eq.
2020-08-28 12:20:47 +01:00
Pau Perez
defb6e4fa4 Update all locales with the latest Transifex translations 2020-08-28 13:19:39 +02:00
Pau Perez
96cd40e446 Gitignore pyenv's Python version file
I use pyenv to manage the Python version to run the Transifex client.
That's the only bit of Python I use in this repo.

Without this I have to select the version each time and remove the file
after preparing the release. Annoying.
2020-08-28 12:56:17 +02:00
Pau Perez
37bfdf69a9 Bring required state factory
It was removed from master in
2abbfad18c
but it's still required by the zone_specs and the address factory.
2020-08-28 12:44:30 +02:00
Cillian O'Ruanaidh
a441979649 Pass in :report_type parameter correctly to bulk coop report so different report types are generated
Also add tests for each of the different report types. I didn't make these JavaScript tests because not sure that is necessary and they would be slower.
2020-08-28 11:09:34 +01:00
Pau Pérez Fabregat
62339de603 Merge pull request #5963 from coopdevs/fix-payment-translation
Fix payment translation
2020-08-28 11:20:24 +02:00
Pau Perez
9b2cb1c3ef Fix payment translation
One in the i18n key refers to singular/plural not the copy itself. Now
we see `Order #R587218174 -> Payment -> Cash on collection` instead of
`Order #R587218174 -> One -> Cash on collection`.
2020-08-28 10:06:19 +02:00
Pau Perez
58c0b1e0fd Update all locales with the latest Transifex translations 2020-08-28 09:51:53 +02:00
Pau Pérez Fabregat
4984cc9758 Merge branch 'master' into ctry_zone 2020-08-28 09:21:57 +02:00
Maikel
2a71af7c6b Merge pull request #5944 from romale/patch-9
Missing translation key en.spree.activerecord.models.spree/payment.one
2020-08-28 09:48:46 +10:00
Maikel
819a445547 Merge pull request #5712 from mbudm/issue/5208
Add payment details to invoice
2020-08-28 09:46:49 +10:00
Maikel
d57f20a542 Merge pull request #4925 from luisramos0/finders
Adapt remaining AR finders to rails 4
2020-08-28 09:46:20 +10:00
Matt-Yorkley
28651bbecf Merge pull request #5941 from luisramos0/no_spree_specs
[Bye bye Spree] Make OFN independent of spec helpers under core/lib/testing_support
2020-08-27 17:05:45 +02:00
Pau Pérez Fabregat
06b41a8236 Merge pull request #5908 from Matt-Yorkley/subs-logging
Improve subs logging
2020-08-27 16:23:15 +02:00
Pau Pérez Fabregat
2fa8cd54fd Merge pull request #5769 from Matt-Yorkley/customer-names
Customer names in reports
2020-08-27 15:39:47 +02:00
Pau Pérez Fabregat
043e175fa1 Merge pull request #5952 from openfoodfoundation/transifex
Transifex
2020-08-27 13:51:31 +02:00
Pau Pérez Fabregat
a1b4c7fdf2 Merge pull request #5923 from openfoodfoundation/dependabot/bundler/jwt-2.2.2
Bump jwt from 2.2.1 to 2.2.2
2020-08-27 13:50:44 +02:00
Pau Perez
6e3cfe9c54 Improve StripeAccountsController#connect spec
We are manually testing this while this is already covering the
connection of a Stripe account to an OFN instance. This makes it a bit
more comprehensive.
2020-08-27 13:43:54 +02:00
romale
8583ac5573 Update en.yml 2020-08-27 14:38:10 +03:00
Pau Pérez Fabregat
300e12371a Merge pull request #5918 from luisramos0/stripe_disabled
Do not add stripe JS code to layout if stripe is disabled at instance level
2020-08-27 13:27:40 +02:00
romale
8f59b048f3 Update en.yml 2020-08-27 13:53:13 +03:00
Transifex-Openfoodnetwork
8290acfd91 Updating translations for config/locales/es.yml 2020-08-27 18:15:46 +10:00
Transifex-Openfoodnetwork
a8bfedd847 Updating translations for config/locales/ca.yml 2020-08-27 18:15:32 +10:00
Steve Roberts
ef0038a661 Change trigger to update filters after ProductsCtrl is loaded. 2020-08-27 18:02:01 +10:00
Pau Pérez Fabregat
6f33ae586e Merge pull request #5943 from luisramos0/spree_factories
[Bye bye Spree] Make OFN independent of all spree spec factories
2020-08-27 08:54:20 +02:00
Steve Roberts
4e635e114c Merge branch 'master' of https://github.com/openfoodfoundation/openfoodnetwork into issue/5072 2020-08-27 14:48:51 +10:00
Maikel Linke
5d48da72c7 Notify Bugsnag on Stripe payment errors 2020-08-27 11:09:16 +10:00
Maikel Linke
9d07295480 DRY error reporting during payment 2020-08-27 11:03:13 +10:00
Maikel Linke
f435039061 Simplify using loading and flash messages together 2020-08-27 11:03:13 +10:00
Maikel
da1569abda Merge pull request #5914 from romale/patch-8
Missing translation key 'listing_reports'
2020-08-27 11:02:40 +10:00
Maikel
7ce9a3f988 Merge pull request #5894 from julesemmac/places-error
adding required argument to resolve Places error
2020-08-27 11:01:19 +10:00
Maikel
7a0b036edd Merge pull request #5899 from andrewpbrett/dashboard-link
Update dashboard link to point to enterprise shop
2020-08-27 10:53:43 +10:00
Maikel
d81ed36eef Merge pull request #5892 from arku/fix/price-i18n
Fix price translation in Bulk Order Management
2020-08-27 10:31:38 +10:00
Luis Ramos
5b3e350204 Rename zone.country_list to zone.countries 2020-08-26 23:12:48 +01:00
Luis Ramos
53de04121c Fix rubocop issue 2020-08-26 23:09:41 +01:00
Luis Ramos
23c86a1937 Replace select2_search usages with faster targetted_select2_search and remove select2_search and dependent code 2020-08-26 23:06:25 +01:00
Luis Ramos
fb88cfedcf Remove unused helpers 2020-08-26 22:49:52 +01:00
Luis Ramos
94d1d5f3ae Run rubocop -a on spec/factories 2020-08-26 22:18:40 +01:00
Luis Ramos
f9aac02e13 Run rubocop -a 2020-08-26 22:16:02 +01:00
Luis Ramos
274cdefa26 Remove commented code 2020-08-26 22:14:24 +01:00
Luis Ramos
9264badaaf Merge pull request #5879 from luisramos0/payments
[Bye bye Spree] Bring models payment_method, credit_card and gateway from spree_core
2020-08-26 22:09:16 +01:00
Pau Pérez Fabregat
152eb11913 Merge pull request #5940 from openfoodfoundation/transifex
Transifex
2020-08-26 09:12:58 +02:00
Pau Pérez Fabregat
0421d23e7b Merge pull request #5851 from cillian/osm-tile-provider-updates
Open Street Map tile provider updates
2020-08-25 10:51:55 +02:00
Transifex-Openfoodnetwork
5ce51a4abb Updating translations for config/locales/nb.yml 2020-08-25 18:23:24 +10:00
Transifex-Openfoodnetwork
1c7ce9997a Updating translations for config/locales/es.yml 2020-08-25 18:21:19 +10:00
Transifex-Openfoodnetwork
489665f3f9 Updating translations for config/locales/ca.yml 2020-08-25 18:21:04 +10:00
Maikel
cad79d74c8 Merge pull request #5696 from jeduardo824/enhancement/5210-action-buttons-on-all-tabs
Enhancement/5210 - Add Actions dropdown menu to all pages of Order Details menu
2020-08-25 15:39:50 +10:00
Transifex-Openfoodnetwork
f9e29c5aa7 Updating translations for config/locales/ar.yml 2020-08-25 07:24:29 +10:00
romale
ad9d9afd6a Update en.yml 2020-08-24 17:51:06 +03:00
Luis Ramos
41d67d8b2e Fix estimator spec 2020-08-23 18:07:01 +01:00
Luis Ramos
5568fd5826 Fix problem in order factory
We dont need the global zone
2020-08-23 17:40:54 +01:00
Luis Ramos
f6277416ce Simplify stock location factory and fix related issues in several factories 2020-08-23 17:34:02 +01:00
Luis Ramos
4de4cc642d Fix stock location factory 2020-08-23 17:34:02 +01:00
Luis Ramos
cd22361d13 Fix shipping category factory 2020-08-23 17:34:02 +01:00
Luis Ramos
1ddda92f4d Move factories from generic factories file to their respective factory file 2020-08-23 14:55:45 +01:00
Luis Ramos
4048957e2e Bring the final batch of factories from spree_core 2020-08-23 14:51:15 +01:00
Luis Ramos
2abbfad18c Remove the need to import both :role and :state factory to OFN 2020-08-23 14:47:30 +01:00
Luis Ramos
292199441a Fix problem with shipment's stock location creation 2020-08-23 14:35:59 +01:00
Luis Ramos
f56fa0b7a5 Bring calculator factories from spree_core 2020-08-23 14:35:59 +01:00
Luis Ramos
a432bbf789 Fix problem with shipping method's shipping category creation 2020-08-23 14:35:59 +01:00
Luis Ramos
6d9250c014 Bring tax category factory from spree_core and fix a problem with the stock location of the product factory 2020-08-23 14:35:59 +01:00
Luis Ramos
6d05de742e Fix problem with product shipping category factory 2020-08-23 14:35:59 +01:00
Luis Ramos
aa00756f9c Bring product factory from spree_core and merge with modification 2020-08-23 14:35:59 +01:00
Luis Ramos
ee65b4ba27 Bring taxon and taxonomy factories from spree_core 2020-08-23 14:35:59 +01:00
Luis Ramos
e2a865476d Bring adjustment factory from spree_core 2020-08-23 14:35:59 +01:00
Luis Ramos
9e7e63cc94 Bring line_item factory from spree_core 2020-08-23 14:35:59 +01:00
Luis Ramos
4dd1a52f8e Bring random_email and random description from spree_core factories 2020-08-23 14:35:59 +01:00
Luis Ramos
f6f6d9b46f Bring variant factory from spree_core and merge with modification 2020-08-23 14:35:59 +01:00
Luis Ramos
204e3979d9 Bring user factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
ad8c41e0ad Bring shipping_method factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
acb1c41461 Bring shipment factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
859d34c235 Remove nice trick to reuse traits by copy pasting the traits to each of
the 3 factories

I cannot figure out out to make this work again...
2020-08-23 14:35:58 +01:00
Luis Ramos
8d74c69402 Bring order factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
4ac6664502 Replace FactoryGirl with FactoryBot weverywhere 2020-08-23 14:35:58 +01:00
Luis Ramos
53a8fec181 Bring shipping_category factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
313e6e2b45 Bring stock_location factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
6819042489 Bring options factories from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
e1fb13b491 Bring payment method factory from spree_core and merge with modification 2020-08-23 14:35:58 +01:00
Luis Ramos
aa9054659e Bring payment factory from spree_core and merge with modification 2020-08-23 14:35:56 +01:00
Luis Ramos
172a12d7d9 Bring credit_card factory from spree_core and merge with modification 2020-08-23 13:13:50 +01:00
Luis Ramos
e561bcc895 Bring address factory from spree_core and merge with modification 2020-08-23 13:13:11 +01:00
Luis Ramos
9390fd6ccb Remove all factories from spree so we can see exactly what factories we need to bring from spree_core 2020-08-23 13:10:00 +01:00
Luis Ramos
b227c78aeb Fix rubocop issues 2020-08-22 18:14:53 +01:00
Luis Ramos
a44d0f7af6 Add WebHelper where necessary 2020-08-22 18:14:53 +01:00
Luis Ramos
41a7e26fcd Remove unused helper 2020-08-22 18:14:53 +01:00
Luis Ramos
5cd40cb19f Remove dependency to Spree::TestingSupport code 2020-08-22 18:14:53 +01:00
Luis Ramos
907afe3131 Remove dependency to BarAbility from spree_core 2020-08-22 18:14:53 +01:00
Luis Ramos
261269bd57 Bring core/lib/spree/testing_support/i18n from spree_core to ofn as i18n_translations_checker 2020-08-22 18:14:53 +01:00
Luis Ramos
d0c07b931a Bring Spree::TestingSupport::Preferences from spree_core to ofn as PreferencesHelper 2020-08-22 16:50:12 +01:00
Luis Ramos
b6adef38e5 Remove unused auth helpers 2020-08-22 16:50:12 +01:00
Luis Ramos
0ca4d0842a Remove capybara_ext from spree and bring its helpers that are required in ofn 2020-08-22 16:50:12 +01:00
Transifex-Openfoodnetwork
e5395709cc Updating translations for config/locales/en_NZ.yml 2020-08-22 21:18:58 +10:00
Transifex-Openfoodnetwork
2515b1ae2c Updating translations for config/locales/en_IE.yml 2020-08-22 00:58:13 +10:00
Cillian O'Ruanaidh
cdd09e8f97 Fix the bulk coop report date and distributor filters.
Before the date and distributor filters would have no effect. This is because the BulkCoopReport is still generated using an older style method, and isn't generated using the newer method like in the EnterpriseFeeSummaryReport. This older style report expects to receive a :q parameter but it actually received the newer style :report parameter so the filters were not being applied.

This keeps the newer style report params but converts them, after they are authorised as safe, into the older style in the controller.
2020-08-21 15:08:58 +01:00
Luis Ramos
9fd8613107 Update all locales with the latest Transifex translations 2020-08-21 14:56:26 +01:00
Luis Ramos
bea8c2035f Merge pull request #5909 from openfoodfoundation/transifex
Transifex
2020-08-21 14:54:49 +01:00
Luis Ramos
e616e32bbc Merge pull request #5931 from Matt-Yorkley/customer-totals-fees
Customer totals fee calculations
2020-08-21 14:09:00 +01:00
Luis Ramos
19b5a004dd Merge pull request #5877 from Matt-Yorkley/bugsnagger
BugsnagJS checkout errors
2020-08-21 14:01:48 +01:00
Luis Ramos
4a5a6a2242 Merge pull request #5906 from Matt-Yorkley/checkout_flash_errors
Fix flash error issues in checkout requests
2020-08-21 13:03:30 +01:00
Luis Ramos
d1b60e3778 Merge pull request #5905 from mkllnk/lost-decorators
Load previously lost decorator code and don't delete orders
2020-08-21 12:34:37 +01:00
Matt-Yorkley
2f1fdc5852 Simplify conditional statement 2020-08-21 12:12:30 +01:00
Maikel
31fe8850b5 Merge pull request #5913 from openfoodfoundation/luisramos0-patch-1
Remove spree upgrade section from the PR template ❤️
2020-08-21 16:35:09 +10:00
Maikel
0309a20cb1 Merge pull request #5904 from Matt-Yorkley/favicon
Fix broken favicon path
2020-08-21 14:05:00 +10:00
Gaetan Riou
6564ea7b00 rename ProductFiltersService to ProductFiltersUrl 2020-08-21 12:13:16 +10:00
Gaetan Riou
f71013c514 rename query filter where it was missed, fix bulk_update_product spec 2020-08-21 11:46:36 +10:00
Gaetan Riou
44487af2c8 remove dead filter code 2020-08-21 11:40:48 +10:00
Gaetan Riou
c3279941f5 Remove product filter helper spec as it's not needed anymore 2020-08-21 10:42:02 +10:00
Gaetan Riou
7356d0fe77 move url filter functionality to service ProductFiltersService 2020-08-21 10:42:02 +10:00
Gaetan Riou
bba683469b add product filter parameters on the group buy options and search pages, so that the bulk import product page filters can be preserved 2020-08-21 10:39:43 +10:00
Gaetan Riou
c6e1f458cc add product filter parameters on the various product properties pages, so that the bulk import product page filters can be preserved 2020-08-21 10:39:43 +10:00
Gaetan Riou
9bc928fd48 update product variants feature test to use ulr helpers 2020-08-21 10:39:43 +10:00
Gaetan Riou
a6444e76a5 add product filter parameters on the various product image pages, so that the bulk import product page filters can be preserved 2020-08-21 10:29:07 +10:00
Gaetan Riou
9b26ff2fa4 move product filter helper to a service 2020-08-21 10:29:07 +10:00
Gaetan Riou
684ae2ca22 update product feature test to use ulr helpers 2020-08-21 10:29:07 +10:00
Gaetan Riou
459708dbc8 add product filter parameters on the various product variants pages, so that the bulk import product page filters can be preserved 2020-08-21 10:29:07 +10:00
Gaetan Riou
f75aaf0b45 extract product filter functionality to a helper 2020-08-21 10:19:53 +10:00
Gaetan Riou
1a186affcf refactor create and update to get rid of respond_override 2020-08-21 10:19:53 +10:00
Gaetan Riou
6e5c168d3b add filter parameters to link leading back to bulk import product page and preserve filter parameters when updating product 2020-08-21 10:19:53 +10:00
Gaetan Riou
39564e612f on admin product page, add selected filter to url and apply filter from url on page load 2020-08-21 10:19:53 +10:00
Matt-Yorkley
07b819ab4b Adjust payment state conditional
The `Spree::Order#paid?` method actually includes orders with `payment_state == "credit_owed"`, which was breaking the desired display logic here.
2020-08-20 17:16:20 +01:00
Steve Roberts
50fd3656ef Fix tests - the move of payments to shared has wider impact than first thought (yay tests) 2020-08-20 17:16:20 +01:00
Steve Roberts
4243ff293f Update invoice2 to also use the shared payment partial 2020-08-20 17:16:20 +01:00
Steve Roberts
c79f2326fc Fix some more issues raised by semaphore 2020-08-20 17:16:20 +01:00
Steve Roberts
ac69bef459 Fix issues raised by linter 2020-08-20 17:16:20 +01:00
Steve Roberts
debbf9b361 Modify payment_list partial to be shared
- Partial is used by both the invoice pdf and the order confirmation email
- separate scss file for new payment list table
- extracted outstanding balance logic (also changed in payments view.. admin/orders/RXXX/payments)
- translations in shared.payments_list and lazy loaded
2020-08-20 17:16:20 +01:00
Steve Roberts
1f470830c8 add vars to email.scss 2020-08-20 17:16:20 +01:00
Steve Roberts
a00e964eb6 Clean up scss - picked up by codeclimate 2020-08-20 17:16:20 +01:00
Steve Roberts
8e5cfdeb97 Add more details on payments to invoice. 2020-08-20 17:16:20 +01:00
Matt-Yorkley
9d772dbcc9 Merge pull request #5935 from luisramos0/fix_build
Fix master build - fix mail interceptor spec
2020-08-20 18:15:37 +02:00
Luis Ramos
0abcbc7b8f Fix specs in mail interceptor spec
This was due to an incompatibility between two recent PRs: 5763 and
5733. PR 5733 did not take into account 5763 (the confirm email method was removed) and so the specs introduced
were broken.
2020-08-20 12:52:54 +01:00
Matt-Yorkley
3badaa07d2 Fix adjustment calculations; only "eligible" adjustments should be regarded as applied to an order.
When an order is submitted and the payment fails, the failed payment's adjustments (payment fees) are set to `eligible: false` to indicate they do not apply. These should not be counted as being included in an order's adjustments.
2020-08-19 22:50:37 +01:00
Matt-Yorkley
977ab26b00 Add failing spec for payment fee calculation in customer totals report 2020-08-19 22:50:35 +01:00
Luis Ramos
d6160b5759 Merge pull request #5758 from luisramos0/order_updater
Bring Order Updater from spree_core
2020-08-19 20:47:27 +01:00
Luis Ramos
40d4ed2c95 Merge pull request #5733 from luisramos0/base_ctrl
Move lib/spree to OFN
2020-08-19 18:35:17 +01:00
Luis Ramos
72f5b1b251 Revert "Remove unreachable order recovery code"
This reverts commit 355c5f5c55.

This code is necessary to preserver cart contents across logins on
different browser sessions.
2020-08-19 17:36:36 +01:00
Luis Ramos
eb2d8e65ed Merge pull request #5910 from Matt-Yorkley/silky-mooth-sidebar-scrolling-for-danni
Add scrolling animate on sidebar hide
2020-08-19 11:47:39 +01:00
Maikel Linke
355c5f5c55 Remove unreachable order recovery code
Every page load creates a cart order if none is present. So when a user
logs in, they always have an order stored in their session. And
therefore, we never got to recover an old order.

We could have fixed the code to restore old orders. But as far as I can
tell, order recovery hasn't been working for years and I couldn't find
any issue requesting this feature.

If we wanted to implement order recovery, it should probably be designed
more carefully and included in the `current_order` method.
2020-08-19 12:06:58 +10:00
dependabot-preview[bot]
eb420d9eed Bump jwt from 2.2.1 to 2.2.2
Bumps [jwt](https://github.com/jwt/ruby-jwt) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/jwt/ruby-jwt/releases)
- [Changelog](https://github.com/jwt/ruby-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jwt/ruby-jwt/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-19 00:52:03 +00:00
Maikel Linke
bb3f958dd2 Remove redundant includes 2020-08-19 10:37:18 +10:00
Luis Ramos
d1ef0e0a0b Do not add stripe JS code to layout if stripe is disabled at instance level 2020-08-18 16:41:29 +01:00
romale
0efcf1536f Update en.yml 2020-08-17 23:10:43 +03:00
Luis Ramos
b367d4328e Remove spree upgrade section from the PR template ❤️ 2020-08-17 18:28:23 +01:00
Matt-Yorkley
ed346b3b54 Add scrolling animate on sidebar hide 2020-08-17 13:41:06 +01:00
Matt-Yorkley
290120d015 Fix broken favicon path
Ensures the non-fingerprinted version of the favicon will be used directly from `/public/favicon.ico`. Needed after recent changes to the Rails asset pipeline.
2020-08-17 11:59:22 +01:00
Matt-Yorkley
0fd163602d Rename method for clarity 2020-08-17 11:17:42 +01:00
Transifex-Openfoodnetwork
4c3a3d5d1a Updating translations for config/locales/en_GB.yml 2020-08-17 18:19:09 +10:00
Luis Ramos
f8146fb946 Adapt finders to rails 4 2020-08-16 16:50:54 +01:00
Luis Ramos
9771fd7f13 Merge pull request #5902 from openfoodfoundation/dependabot/bundler/bugsnag-6.16.0
Bump bugsnag from 6.15.0 to 6.16.0
2020-08-16 16:19:36 +01:00
Luis Ramos
6a61bf7656 Merge pull request #5898 from mkllnk/remove-diffy
Remove unused dependency diffy
2020-08-16 16:04:42 +01:00
Luis Ramos
9754d8d754 Merge pull request #5616 from openfoodfoundation/dependabot/bundler/paper_trail-7.1.3
Bump paper_trail from 5.2.3 to 7.1.3
2020-08-15 21:53:33 +01:00
Matt-Yorkley
91789494b0 Fix error: Unpermitted attribute: order_cycle_ids 2020-08-15 17:03:19 +01:00
Matt-Yorkley
2eda8789d1 Add user id logging to OrderCycle an Schedule PaperTrail entries 2020-08-15 14:49:08 +01:00
Matt-Yorkley
67a00173f8 Replace one-letter-variables in old spec and wrap long lines 2020-08-15 12:26:59 +01:00
Matt-Yorkley
5f8fc64b31 Move layout adjustment from view to CSS 2020-08-15 12:18:41 +01:00
Matt-Yorkley
97ae4def98 Schedule cleanup task to run once per month 2020-08-15 11:39:55 +01:00
Matt-Yorkley
91501f05f2 DRY date usage 2020-08-15 11:19:24 +01:00
Matt-Yorkley
93601ca556 Extract #remove_transient_data from TruncateData 2020-08-15 11:19:24 +01:00
Matt-Yorkley
2f5efc86ee Add missing include 2020-08-14 20:48:33 +01:00
Matt-Yorkley
102df28e97 Extract data masking to service 2020-08-14 20:48:33 +01:00
Matt-Yorkley
0b91991919 Add explanatory user message for viewing customer names 2020-08-14 20:48:33 +01:00
Matt-Yorkley
9a9538dace Don't hide customer names if enterprise has enabled :allow_customer_names perference 2020-08-14 20:48:33 +01:00
Matt-Yorkley
23bb72faa6 Add Enterprise shop preference to allow customer names in reports 2020-08-14 20:48:32 +01:00
Matt-Yorkley
ce5bcaaa20 Explicitly notify Bugsnag on checkout failure 2020-08-14 18:06:30 +01:00
Matt-Yorkley
de22ad0000 Fix flash error issues in checkout requests 2020-08-14 12:41:56 +01:00
Maikel Linke
23706ec1d6 Load our version of the Spree environment
We didn't actually change any logic in our version of the Spree
environment file but if we do that in the future, we want to be sure
that it takes effect. Our file was ignored and not loaded before.
2020-08-14 15:38:10 +10:00
Maikel Linke
c3e0f45f1a Remove unused Report class from lib
Also removing related unused classes and their specs.
2020-08-14 15:38:10 +10:00
Maikel Linke
0a1947ae34 Remove unused module from lib
I was looking for library files that may be used but are not loaded.
I would then add the missing `require` statements. But I found that this
module isn't used any more.

Usage removed in:
310d1b3726
2020-08-14 15:38:10 +10:00
Maikel Linke
b79c568b08 Load our spree overrides instead of the originals
We changed some of Spree's logic and want to use that. And once we
remove the spree_core gem, we need to load those files before using
them.
2020-08-14 15:38:00 +10:00
Maikel Linke
e8139d3948 Keep old incomplete (cart) orders
We used to delete old cart orders so that they wouldn't re-appear after
a successful checkout of another order. Keeping them ensures that we
don't remove an order that is still used by another device. It also
makes sure that we keep references of failed payments.
2020-08-14 10:02:48 +10:00
François Turbelin
c3cf08156d Add People controller 2020-08-13 11:49:45 +02:00
François Turbelin
8d4587506b Add SuppliedProducts controller 2020-08-13 11:46:48 +02:00
François Turbelin
99e905c768 Simplify enterprise check logic 2020-08-13 11:02:31 +02:00
Maikel Linke
5761014205 Restore Spree customisations for controllers 2020-08-13 16:59:15 +10:00
Maikel Linke
90bf4f312b Document and spec current controller behaviour
When we imported and merged Spree's controller modules with our
decorators, Rails started using Spree's original code again.

This was first included in v3.2.0 and deployed on 28 July 2020.
2020-08-13 16:59:15 +10:00
Maikel Linke
63a9765fea Update rubocop todo lists 2020-08-13 16:33:47 +10:00
dependabot-preview[bot]
5c6cb4840e Bump bugsnag from 6.15.0 to 6.16.0
Bumps [bugsnag](https://github.com/bugsnag/bugsnag-ruby) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/bugsnag/bugsnag-ruby/releases)
- [Changelog](https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bugsnag/bugsnag-ruby/compare/v6.15.0...v6.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-13 01:56:14 +00:00
Andy Brett
7c223a43fc remove unused key from en.yml 2020-08-12 12:59:38 -07:00
Andy Brett
d46fad3a02 remove map reference 2020-08-12 12:33:15 -07:00
Andy Brett
c75a864ff2 link to the enterprise's shop instead of a full map 2020-08-12 12:21:07 -07:00
François Turbelin
46d38930d9 Add some ajustements 2020-08-12 20:53:02 +02:00
François Turbelin
a4e8982351 Rename ProductsController into CatalogItemsController 2020-08-12 19:51:12 +02:00
François Turbelin
13e15f823e Add Read action for Enterprise and CatalogItem 2020-08-12 19:43:20 +02:00
François Turbelin
508ecd6bf7 Adjust with Rubocop suggestions 2020-08-12 13:46:23 +02:00
François Turbelin
d10fda6227 Put context inside serializer 2020-08-12 13:37:48 +02:00
François Turbelin
2a8268ca73 Use ActiveModelSerializer for DFC serialization 2020-08-12 13:37:01 +02:00
Maikel Linke
99ca0adf64 Remove unused dependency diffy
It was used to show differences in the product cache. But we removed the
cache in ab330e882e and the gem hasn't
been used since.
2020-08-12 13:10:51 +10:00
julesemmac
dee34d1f26 adding required argument to resolve Places error 2020-08-10 23:19:21 -04:00
Arun Kumar Mohan
13bf7497a9 Fix price translation in Bulk Order Management 2020-08-10 18:26:09 -05:00
Eduardo
a860b5ea42 remove unnecessary code 2020-08-09 20:45:33 -03:00
Luis Ramos
09b7aa134b Ammend payment method spec and specify a calculator so that the default calculator is not the spree one that is based on a calculator that does not exist in OFN: Spree::Calculator::FlatRate 2020-08-07 18:36:59 +01:00
Luis Ramos
49a60374e6 Remove dead method in payment method, it's a scope in OFN and remove unnecessary comments about spree 2020-08-07 14:14:46 +01:00
Luis Ramos
2d3578bb30 Fix address_spec 2020-08-07 14:05:36 +01:00
Luis Ramos
1b66a72c7f Run transpec 2020-08-07 14:03:15 +01:00
Luis Ramos
798194c03e Fix payment_method spec 2020-08-07 14:02:05 +01:00
Luis Ramos
b21a969502 Fix new credit_card_spec 2020-08-07 13:45:25 +01:00
Luis Ramos
d746ae3d9e Fix easy rubocop issues 2020-08-07 13:28:09 +01:00
Luis Ramos
621e2a3132 Run rubocop autocorrect 2020-08-07 13:16:38 +01:00
Luis Ramos
142bab8c35 Merge decorators with original spree files 2020-08-07 13:13:43 +01:00
Luis Ramos
abaa66cc14 Bring models from spree_core 2020-08-07 13:06:16 +01:00
Matt-Yorkley
1123e08a98 Update BugsnagJS to latest version and update initialization syntax 2020-08-07 12:59:33 +01:00
Luis Ramos
02f50774bb Run transpec 2020-08-07 12:47:44 +01:00
Luis Ramos
ff8735d7a4 Make new specs pass 2020-08-07 12:45:06 +01:00
Luis Ramos
51a499d5c9 Revert rubocop autocorrect so that spec keeps working 2020-08-07 10:45:15 +01:00
Luis Ramos
086c521a27 Fix easy rubocop issues 2020-08-07 10:28:41 +01:00
Luis Ramos
7cefdda579 Run rubocop autocorrect 2020-08-07 10:21:09 +01:00
Luis Ramos
ba859111de Merge decorators with original files brought from spree 2020-08-07 10:17:30 +01:00
Luis Ramos
fd9479f720 Bring modesl from spree_core 2020-08-07 10:06:08 +01:00
Luis Ramos
0c7a0e3e96 Bring modesl from spree_core 2020-08-07 10:06:04 +01:00
Luis Ramos
6f17b80bb8 Move address factory modification to address_factory file and make it always create a state and country in the address if they dont exist in the DB 2020-08-06 10:11:47 +01:00
Luis Ramos
43e64f3555 Delete dead code 2020-08-06 01:41:28 +01:00
Luis Ramos
73e1530a30 Fix specs 2020-08-06 01:35:09 +01:00
Luis Ramos
b09a9c5b8b Fix easy rubocop issues 2020-08-06 01:22:31 +01:00
Luis Ramos
00ae3a25f7 Fix easy rubocop issues 2020-08-06 01:18:43 +01:00
Luis Ramos
14358256ed Bring country, zone, state and zone_member from spree together with respective specs 2020-08-06 01:09:35 +01:00
François Turbelin
8687e0199d Apply cosmetics 2020-08-05 08:20:14 +02:00
Eduardo
422958ed6f create specific spec for order links partial 2020-08-02 20:02:36 -03:00
Eduardo
51f39ee89d move coffee directive to partial 2020-08-02 20:01:49 -03:00
Cillian O'Ruanaidh
ef7c7a3e73 Upgrade vendored :leaflet-providers JS to 1.10.2 to update available OSM tile providers and fix deprecated MapBox endpoint.
Before MapBox could no longer be used as an OSM tile provider as they recently deprecated their tile API endpoint (https://blog.mapbox.com/deprecating-studio-classic-styles-d8892ac38cb4)

This update of leaflet-providers from 1.9.1 to 1.10.2 uses the new MapBox endpoint, it also adds new tile providers and removes some ones no longer supported. See https://github.com/leaflet-extras/leaflet-providers/blob/master/CHANGELOG.md#1102-2020-07-31
2020-07-31 20:18:15 +01:00
Cillian O'Ruanaidh
3c23952fd6 Don't double escape :open_street_map_provider_options so they are parsed into a JS object rather than a string.
Before if you entered '{ accessToken: secret }' into the open street map provider options field in the admin content settings the 'JSON.parse(openStreetMapConfig.open_street_map_provider_options)' call in the open_street_map directive was converting them into a string because they were double escaped. They need to be converted into a JS object in order to set the Leaflet provider options.
2020-07-31 20:08:09 +01:00
dependabot-preview[bot]
18cb0e0980 Bump paper_trail from 5.2.3 to 7.1.3
Bumps [paper_trail](https://github.com/airblade/paper_trail) from 5.2.3 to 7.1.3.
- [Release notes](https://github.com/airblade/paper_trail/releases)
- [Changelog](https://github.com/paper-trail-gem/paper_trail/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airblade/paper_trail/compare/v5.2.3...v7.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 16:56:15 +00:00
Pau Perez
be3a10b2b1 Fix some easy rubocop issues 2020-07-28 19:01:14 +02:00
François Turbelin
2549d454ab Maintain specs 2020-07-23 09:28:32 +02:00
François Turbelin
645b4a9505 Use multiple serializers 2020-07-22 22:45:50 +02:00
François Turbelin
9f02ee3874 Use new serialization 2020-07-22 21:08:25 +02:00
François Turbelin
21fc14a9fe Use a better products list for catalog 2020-07-22 21:08:25 +02:00
Eduardo
bda47d97ee add view specs to admin edit page 2020-07-20 21:08:04 -03:00
Eduardo
d43e9b5716 add Actions dropdown to all pages of order details menu 2020-07-20 20:45:50 -03:00
Steve Roberts
429c88c000 Add watcher to update filter after products are loaded
Also remove the other redundant trigger
2020-07-16 12:06:26 +10:00
Steve Roberts
79abc191ff Move location change to PageSelection controller 2020-07-15 15:51:33 +10:00
Steve Roberts
3a722bc697 Merge branch 'master' of https://github.com/openfoodfoundation/openfoodnetwork into issue/5072 2020-07-14 13:31:53 +10:00
Luis Ramos
ebf9be41bb Transpec specs 2020-07-11 17:02:03 +01:00
Luis Ramos
95ffff5087 Fix specs brought from spree 2020-07-11 16:59:35 +01:00
Luis Ramos
03bb1f053a Fix easy rubocop issues 2020-07-11 16:43:42 +01:00
Luis Ramos
2e3702550d Bring a number of files from spree_core needed in OFN 2020-07-11 16:09:13 +01:00
Luis Ramos
56b83b6bb5 Fix easy rubocop issues 2020-07-11 15:56:08 +01:00
Luis Ramos
e367cbd1e6 Fix one rubocop issues and add the remaining to the manual todo 2020-07-11 15:53:06 +01:00
Luis Ramos
bdf9c1e405 Simplify update_shipment_state based on the fact there's only one shipment per order in OFN 2020-07-11 15:53:06 +01:00
Luis Ramos
2070cfd5bb Fix easy rubocop issues 2020-07-11 15:44:23 +01:00
Luis Ramos
8001e63f77 Unnest OrderManagement::Order declaration in two module declaration 2020-07-11 15:44:23 +01:00
Luis Ramos
aed384183b Move Spree::OrderUpdater to OrderManagement engine 2020-07-11 15:44:23 +01:00
Luis Ramos
e453b130e4 Bring core/lib/spree/core/ext/active_record.rb to OFN and add it to Spree::Order, the only place where it is used 2020-07-11 15:44:23 +01:00
Luis Ramos
7e355a3248 Remove hash rockets 2020-07-11 15:44:23 +01:00
Luis Ramos
a8a81f8023 Merge and fix OrderUpdater spec with Spree::OrderUpdater spec 2020-07-11 15:44:23 +01:00
Luis Ramos
d4c48e2b94 Merge OrderUpdate Delegator into Spree::OrderUpdater 2020-07-11 15:44:23 +01:00
Luis Ramos
872cfcfc58 Remove unused promotions code 2020-07-11 15:44:23 +01:00
Luis Ramos
5b3fbe0aed Merge decorator OrderUpdater 2020-07-11 15:44:23 +01:00
Luis Ramos
ebeeeb7ed3 Fix easy rubocop issues 2020-07-11 15:44:23 +01:00
Luis Ramos
a929d82580 Transpec order_updater_spec 2020-07-11 15:44:23 +01:00
Luis Ramos
1f39731068 Modernize and fix spec brought from spree 2020-07-11 15:44:23 +01:00
Luis Ramos
d2f0d96174 Bring Spree::OrderUpdater spec 2020-07-11 15:44:23 +01:00
Luis Ramos
7218bb0c7d Bring Spree::OrderUpdater from spree 2020-07-11 15:44:23 +01:00
Luis Ramos
58da11fde7 Bring Environment Calculators and Environment Extension from spree_core 2020-07-11 15:43:20 +01:00
Luis Ramos
2c65cea911 Fix easy rubocop issues 2020-07-11 15:41:26 +01:00
Luis Ramos
95698fac37 Bring responder from spree_core 2020-07-11 15:41:26 +01:00
Luis Ramos
7b30008e8b Run transpec 2020-07-11 15:41:26 +01:00
Luis Ramos
50e6ce92b3 Fix easy rubocop issues 2020-07-11 15:41:26 +01:00
Luis Ramos
a78d615936 Bring money_spec from spree_core 2020-07-11 15:41:26 +01:00
Luis Ramos
cd8355ea66 Bring money.rb from spree 2020-07-11 15:41:26 +01:00
Luis Ramos
724a88344e Run transpec 2020-07-11 15:41:26 +01:00
Luis Ramos
9a09f420c1 Modernize spec 2020-07-11 15:41:26 +01:00
Luis Ramos
12a5a266fd Fix easy rubocop issues 2020-07-11 15:41:26 +01:00
Luis Ramos
efeda61e40 Bring i18n.rb from spree 2020-07-11 15:41:26 +01:00
Luis Ramos
38c5a9e105 Remove coupon applicator, it's not used in ofn 2020-07-11 15:41:26 +01:00
Luis Ramos
89e5221dc5 Fix easy rubocop issues 2020-07-11 15:41:26 +01:00
Luis Ramos
c75341838e Bring core.rb from spree_core 2020-07-11 15:41:26 +01:00
Luis Ramos
84d7538b1b Bring i18n code from spree 2020-07-11 15:41:26 +01:00
Luis Ramos
388d575cc8 Remove strong parameters and search helpers, they are not used in OFN 2020-07-11 15:41:26 +01:00
Luis Ramos
fdd21d7d7d Fix easy rubocop issues 2020-07-11 15:41:26 +01:00
Luis Ramos
ab67a4f80c Bring base controller from spree 2020-07-11 15:41:26 +01:00
Steve Roberts
7e195c3856 Add redirect to shop on order cycle change 2020-07-08 20:18:21 +10:00
1163 changed files with 47125 additions and 13810 deletions

View File

@@ -20,6 +20,9 @@ plugins:
enabled: false
DeclarationOrder:
enabled: false
NestingDepth:
enabled: false
duplication:
enabled: true
exclude_patterns:

View File

@@ -9,10 +9,11 @@ assignees: ''
Steps:
- [ ] Include translations
- [ ] Include translations: `tx pull --force`
- [ ] [Draft new release]
- [ ] Notify #instance-managers of user-facing changes.
- [ ] Test: https://semaphoreci.com/openfoodfoundation/openfoodnetwork-2/branches/master <!-- replace the URL -->
- [ ] Update translations if necessary
- [ ] Publish and notify #global-community
- [ ] Deploy and notify #instance-managers
- [ ] Nudge next release manager

View File

@@ -13,25 +13,11 @@ Provide context for others to understand it. -->
#### Release notes
<!-- Write a line or two to be included in the release notes.
Everything is worth mentioning, because you did it for a reason. -->
<!-- Write a one liner description of the change to be included in the release notes.
Every PR is worth mentioning, because you did it for a reason. -->
<!-- Please assign one category to your PR and delete the others.
The categories are based on https://keepachangelog.com/en/1.0.0/. -->
Changelog Category: Added | Changed | Deprecated | Removed | Fixed | Security
#### How is this related to the Spree upgrade?
<!-- Any known conflicts with the Spree Upgrade?
Explain them or remove this section. -->
#### Discourse thread
<!-- Is there a discussion about this in Discourse?
Add the link or remove this section. -->
<!-- Please select one for your PR and delete the other. -->
Changelog Category: User facing changes | Technical changes
@@ -42,6 +28,5 @@ Add the link or remove this section. -->
#### Documentation updates
<!-- Are their any wiki pages that need updating after merging this PR?
<!-- Are there any wiki pages that need updating after merging this PR?
List them here or remove this section. -->

13
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
version: 2
updates:
- package-ecosystem: "bundler"
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 10
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"

44
.github/workflows/brakeman-analysis.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
# This workflow integrates Brakeman with GitHub's Code Scanning feature
# Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications
name: Brakeman Scan
# This section configures the trigger for the workflow. Feel free to customize depending on your convention
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
brakeman-scan:
name: Brakeman Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v2
# Customize the ruby version depending on your needs
- name: Setup Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: '2.7'
- name: Setup Brakeman
env:
BRAKEMAN_VERSION: '4.10' # SARIF support is provided in Brakeman version 4.10+
run: |
gem install brakeman --version $BRAKEMAN_VERSION
# Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis
- name: Scan
continue-on-error: true
run: |
brakeman -f sarif -o output.sarif.json .
# Upload the SARIF file generated in the previous step
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: output.sarif.json

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
.bundle
.rbenv-version
.python-version
.byebug_history
.swp
*.swo

4
.hound.yml Normal file
View File

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

View File

@@ -42,7 +42,6 @@ Layout/LineLength:
- app/helpers/angular_form_helper.rb
- app/helpers/checkout_helper.rb
- app/helpers/enterprises_helper.rb
- app/helpers/injection_helper.rb
- app/helpers/markdown_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/orders_helper.rb
@@ -62,30 +61,26 @@ Layout/LineLength:
- app/models/product_import/unit_converter.rb
- app/models/proxy_order.rb
- app/models/schedule.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/app_configuration_decorator.rb
- app/models/spree/calculator/default_tax_decorator.rb
- app/models/spree/classification_decorator.rb
- app/models/spree/concerns/payment_method_distributors.rb
- app/models/spree/app_configuration.rb
- app/models/spree/gateway/stripe_connect.rb
- app/models/spree/line_item_decorator.rb
- app/models/spree/order_decorator.rb
- app/models/spree/payment_decorator.rb
- app/models/spree/payment_method_decorator.rb
- app/models/spree/product_decorator.rb
- app/models/spree/shipping_method_decorator.rb
- app/models/spree/taxon_decorator.rb
- app/models/spree/tax_rate_decorator.rb
- app/models/spree/image.rb
- app/models/spree/order.rb
- app/models/spree/payment_method.rb
- app/models/spree/product.rb
- app/models/spree/user.rb
- app/models/spree/variant.rb
- app/models/subscription.rb
- app/models/variant_override.rb
- app/models/variant_override_set.rb
- app/serializers/api/admin/subscription_line_item_serializer.rb
- app/services/cart_service.rb
- app/services/checkout/post_checkout_actions.rb
- app/services/default_stock_location.rb
- app/services/embedded_page_service.rb
- app/services/order_cycle_form.rb
- app/services/order_factory.rb
- app/services/variant_units/variant_and_line_item_naming.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/subscriptions/validator.rb
- engines/web/app/helpers/web/cookies_policy_helper.rb
- engines/web/config/routes.rb
@@ -103,13 +98,10 @@ Layout/LineLength:
- lib/open_food_network/order_cycle_form_applicator.rb
- lib/open_food_network/order_cycle_management_report.rb
- lib/open_food_network/payments_report.rb
- lib/open_food_network/reports/bulk_coop_allocation_report.rb
- lib/open_food_network/sales_tax_report.rb
- lib/open_food_network/scope_variants_for_search.rb
- lib/open_food_network/variant_and_line_item_naming.rb
- lib/open_food_network/xero_invoices_report.rb
- lib/spree/localized_number.rb
- lib/spree/product_filters.rb
- lib/tasks/data.rake
- lib/tasks/enterprises.rake
- spec/controllers/admin/bulk_line_items_controller_spec.rb
@@ -134,6 +126,8 @@ Layout/LineLength:
- spec/controllers/api/product_images_controller_spec.rb
- spec/controllers/api/products_controller_spec.rb
- spec/controllers/api/promo_images_controller_spec.rb
- spec/controllers/api/states_controller_spec.rb
- spec/controllers/api/terms_and_conditions_controller_spec.rb
- spec/controllers/api/variants_controller_spec.rb
- spec/controllers/cart_controller_spec.rb
- spec/controllers/checkout_controller_spec.rb
@@ -156,11 +150,15 @@ Layout/LineLength:
- spec/controllers/stripe/callbacks_controller_spec.rb
- spec/controllers/stripe/webhooks_controller_spec.rb
- spec/controllers/user_confirmations_controller_spec.rb
- spec/factories/line_item_factory.rb
- spec/factories/order_factory.rb
- spec/factories.rb
- spec/factories/shipment_factory.rb
- spec/factories/stock_location_factory.rb
- spec/factories/user_factory.rb
- spec/features/admin/adjustments_spec.rb
- spec/features/admin/bulk_order_management_spec.rb
- spec/features/admin/bulk_product_update_spec.rb
- spec/features/admin/configuration/content_spec.rb
- spec/features/admin/customers_spec.rb
- spec/features/admin/enterprise_fees_spec.rb
- spec/features/admin/enterprise_relationships_spec.rb
@@ -169,7 +167,6 @@ Layout/LineLength:
- spec/features/admin/enterprises/index_spec.rb
- spec/features/admin/enterprises_spec.rb
- spec/features/admin/enterprise_user_spec.rb
- spec/features/admin/image_settings_spec.rb
- spec/features/admin/multilingual_spec.rb
- spec/features/admin/order_cycles/complex_creating_specific_time_spec.rb
- spec/features/admin/order_cycles/complex_editing_multiple_product_pages_spec.rb
@@ -193,7 +190,7 @@ Layout/LineLength:
- spec/features/consumer/account/settings_spec.rb
- spec/features/consumer/account_spec.rb
- spec/features/consumer/authentication_spec.rb
- spec/features/consumer/caching/darkwarm_caching_spec.rb
- spec/features/consumer/caching/darkswarm_caching_spec.rb
- spec/features/consumer/caching/shops_caching_spec.rb
- spec/features/consumer/groups_spec.rb
- spec/features/consumer/multilingual_spec.rb
@@ -202,6 +199,7 @@ Layout/LineLength:
- spec/features/consumer/shopping/cart_spec.rb
- spec/features/consumer/shopping/checkout_auth_spec.rb
- spec/features/consumer/shopping/checkout_spec.rb
- spec/features/consumer/shopping/checkout_stripe_spec.rb
- spec/features/consumer/shopping/embedded_groups_spec.rb
- spec/features/consumer/shopping/embedded_shopfronts_spec.rb
- spec/features/consumer/shopping/orders_spec.rb
@@ -220,18 +218,15 @@ Layout/LineLength:
- spec/jobs/subscription_confirm_job_spec.rb
- spec/jobs/subscription_placement_job_spec.rb
- spec/lib/open_food_network/address_finder_spec.rb
- spec/lib/open_food_network/bulk_coop_report_spec.rb
- spec/lib/open_food_network/customers_report_spec.rb
- spec/lib/open_food_network/enterprise_fee_applicator_spec.rb
- spec/lib/open_food_network/enterprise_fee_calculator_spec.rb
- spec/lib/open_food_network/group_buy_report_spec.rb
- spec/lib/open_food_network/lettuce_share_report_spec.rb
- spec/lib/open_food_network/option_value_namer_spec.rb
- spec/lib/open_food_network/order_cycle_form_applicator_spec.rb
- spec/lib/open_food_network/order_cycle_permissions_spec.rb
- spec/lib/open_food_network/order_grouper_spec.rb
- spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb
- spec/lib/open_food_network/packing_report_spec.rb
- spec/lib/open_food_network/permissions_spec.rb
- spec/lib/open_food_network/products_and_inventory_report_spec.rb
- spec/lib/open_food_network/scope_variant_to_hub_spec.rb
@@ -239,11 +234,14 @@ Layout/LineLength:
- spec/lib/open_food_network/user_balance_calculator_spec.rb
- spec/lib/open_food_network/users_and_enterprises_report_spec.rb
- spec/lib/open_food_network/xero_invoices_report_spec.rb
- spec/lib/spree/core/calculated_adjustments_spec.rb
- spec/lib/stripe/account_connector_spec.rb
- spec/lib/stripe/webhook_handler_spec.rb
- spec/mailers/order_mailer_spec.rb
- spec/mailers/producer_mailer_spec.rb
- spec/mailers/subscription_mailer_spec.rb
- spec/models/calculator/flexi_rate_spec.rb
- spec/models/calculator/price_sack_spec.rb
- spec/models/calculator/weight_spec.rb
- spec/models/column_preference_spec.rb
- spec/models/concerns/order_shipment_spec.rb
@@ -261,18 +259,23 @@ Layout/LineLength:
- spec/models/product_import/reset_absent_spec.rb
- spec/models/proxy_order_spec.rb
- spec/models/spree/ability_spec.rb
- spec/models/spree/address_spec.rb
- spec/models/spree/adjustment_spec.rb
- spec/models/spree/calculator/flexi_rate_spec.rb
- spec/models/spree/calculator/price_sack_spec.rb
- spec/models/spree/classification_spec.rb
- spec/models/spree/gateway/stripe_connect_spec.rb
- spec/models/spree/inventory_unit_spec.rb
- spec/models/spree/line_item_spec.rb
- spec/models/spree/order/checkout_spec.rb
- spec/models/spree/order_inventory_spec.rb
- spec/models/spree/order_spec.rb
- spec/models/spree/order/state_machine_spec.rb
- spec/models/spree/payment_method_spec.rb
- spec/models/spree/payment_spec.rb
- spec/models/spree/product_set_spec.rb
- spec/models/spree/product_spec.rb
- spec/models/spree/return_authorization_spec.rb
- spec/models/spree/shipping_method_spec.rb
- spec/models/spree/stock_item_spec.rb
- spec/models/spree/taxon_spec.rb
- spec/models/spree/tax_rate_spec.rb
- spec/models/spree/user_spec.rb
@@ -286,8 +289,8 @@ Layout/LineLength:
- spec/models/variant_override_spec.rb
- spec/performance/orders_controller_spec.rb
- spec/performance/shop_controller_spec.rb
- spec/requests/api/orders_spec.rb
- spec/requests/checkout/failed_checkout_spec.rb
- spec/requests/checkout/stripe_sca_spec.rb
- spec/requests/embedded_shopfronts_headers_spec.rb
- spec/serializers/api/admin/customer_serializer_spec.rb
- spec/serializers/api/admin/exchange_serializer_spec.rb
@@ -300,6 +303,7 @@ Layout/LineLength:
- spec/serializers/api/order_serializer_spec.rb
- spec/services/cart_service_spec.rb
- spec/services/checkout/form_data_adapter_spec.rb
- spec/services/checkout/post_checkout_actions_spec.rb
- spec/services/embedded_page_service_spec.rb
- spec/services/exchange_products_renderer_spec.rb
- spec/services/order_cycle_distributed_products_spec.rb
@@ -307,11 +311,11 @@ Layout/LineLength:
- spec/services/order_cycle_form_spec.rb
- spec/services/order_factory_spec.rb
- spec/services/order_syncer_spec.rb
- spec/services/order_tax_adjustments_fetcher_spec.rb
- spec/services/permissions/order_spec.rb
- spec/services/permitted_attributes/order_cycle_spec.rb
- spec/services/products_renderer_spec.rb
- spec/services/product_tag_rules_filterer_spec.rb
- spec/services/variant_units/option_value_namer_spec.rb
- spec/spec_helper.rb
- spec/support/cancan_helper.rb
- spec/support/delayed_job_helper.rb
@@ -321,6 +325,8 @@ Layout/LineLength:
- spec/support/request/shop_workflow.rb
- spec/support/request/web_helper.rb
- spec/support/seeds.rb
- spec/swagger_helper.rb
- spec/views/spree/admin/payment_methods/index.html.haml_spec.rb
Metrics/AbcSize:
Max: 15
@@ -331,6 +337,7 @@ Metrics/AbcSize:
- app/controllers/admin/enterprises_controller.rb
- app/controllers/admin/order_cycles_controller.rb
- app/controllers/admin/product_import_controller.rb
- app/controllers/admin/resource_controller.rb
- app/controllers/admin/stripe_accounts_controller.rb
- app/controllers/admin/subscription_line_items_controller.rb
- app/controllers/admin/subscriptions_controller.rb
@@ -340,10 +347,10 @@ Metrics/AbcSize:
- app/controllers/api/shipments_controller.rb
- app/controllers/api/taxons_controller.rb
- app/controllers/api/variants_controller.rb
- app/controllers/application_controller.rb
- app/controllers/cart_controller.rb
- app/controllers/discourse_sso_controller.rb
- app/controllers/enterprises_controller.rb
- app/controllers/spree/admin/image_settings_controller.rb
- app/controllers/spree/admin/orders_controller.rb
- app/controllers/spree/admin/orders/customer_details_controller.rb
- app/controllers/spree/admin/overview_controller.rb
@@ -351,12 +358,13 @@ Metrics/AbcSize:
- app/controllers/spree/admin/payments_controller.rb
- app/controllers/spree/admin/products_controller.rb
- app/controllers/spree/admin/reports_controller.rb
- app/controllers/spree/admin/resource_controller.rb
- app/controllers/spree/admin/search_controller.rb
- app/controllers/spree/admin/taxons_controller.rb
- app/controllers/spree/admin/users_controller.rb
- app/controllers/spree/admin/variants_controller.rb
- app/controllers/spree/credit_cards_controller.rb
- app/controllers/spree/orders_controller.rb
- app/controllers/spree/paypal_controller_decorator.rb
- app/controllers/spree/user_passwords_controller.rb
- app/controllers/spree/user_registrations_controller.rb
- app/controllers/spree/users_controller.rb
@@ -366,7 +374,6 @@ Metrics/AbcSize:
- app/controllers/user_passwords_controller.rb
- app/controllers/user_registrations_controller.rb
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/base_helper.rb
- app/helpers/spree/admin/navigation_helper.rb
@@ -382,23 +389,35 @@ Metrics/AbcSize:
- app/models/product_import/entry_validator.rb
- app/models/product_import/product_importer.rb
- app/models/proxy_order.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/calculator/default_tax_decorator.rb
- app/models/spree/calculator/flexi_rate_decorator.rb
- app/models/spree/line_item_decorator.rb
- app/models/spree/order_decorator.rb
- app/models/spree/payment_decorator.rb
- app/models/spree/product_decorator.rb
- app/models/spree/ability.rb
- app/models/spree/address.rb
- app/models/spree/line_item.rb
- app/models/spree/order/checkout.rb
- app/models/spree/order_contents.rb
- app/models/spree/order_inventory.rb
- app/models/spree/order.rb
- app/models/spree/payment/processing.rb
- app/models/spree/payment.rb
- app/models/spree/preference.rb
- app/models/spree/preferences/preferable_class_methods.rb
- app/models/spree/preferences/preferable.rb
- app/models/spree/product.rb
- app/models/spree/return_authorization.rb
- app/models/spree/shipment.rb
- app/models/spree/taxon_decorator.rb
- app/models/spree/tax_rate_decorator.rb
- app/serializers/api/admin/enterprise_serializer.rb
- app/models/spree/taxon.rb
- app/models/spree/tax_rate.rb
- app/models/spree/variant.rb
- app/models/spree/zone.rb
- app/serializers/api/product_serializer.rb
- app/serializers/api/variant_serializer.rb
- app/services/cart_service.rb
- app/services/create_order_cycle.rb
- app/services/order_cycle_form.rb
- app/services/order_syncer.rb
- app/services/variant_units/option_value_namer.rb
- app/services/variant_units/variant_and_line_item_naming.rb
- engines/order_management/app/services/order_management/order/updater.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/stock/estimator.rb
- engines/order_management/app/services/order_management/stock/package.rb
- engines/order_management/app/services/order_management/stock/packer.rb
@@ -406,12 +425,10 @@ Metrics/AbcSize:
- lib/active_merchant/billing/gateways/stripe_decorator.rb
- lib/active_merchant/billing/gateways/stripe_payment_intents.rb
- lib/discourse/single_sign_on.rb
- lib/open_food_network/bulk_coop_report.rb
- lib/open_food_network/customers_report.rb
- lib/open_food_network/enterprise_issue_validator.rb
- lib/open_food_network/group_buy_report.rb
- lib/open_food_network/lettuce_share_report.rb
- lib/open_food_network/option_value_namer.rb
- lib/open_food_network/order_and_distributor_report.rb
- lib/open_food_network/order_cycle_form_applicator.rb
- lib/open_food_network/order_cycle_management_report.rb
@@ -423,13 +440,17 @@ Metrics/AbcSize:
- lib/open_food_network/reports/line_items.rb
- lib/open_food_network/sales_tax_report.rb
- lib/open_food_network/users_and_enterprises_report.rb
- lib/open_food_network/variant_and_line_item_naming.rb
- lib/open_food_network/xero_invoices_report.rb
- lib/spree/api/controller_setup.rb
- lib/spree/core/calculated_adjustments.rb
- lib/spree/core/controller_helpers/order.rb
- lib/spree/core/controller_helpers/respond_with.rb
- lib/spree/core/controller_helpers/ssl.rb
- lib/spree/core/delegate_belongs_to.rb
- lib/spree/core/permalinks.rb
- lib/spree/core/s3_support.rb
- lib/spree/localized_number.rb
- lib/spree/money.rb
- lib/stripe/account_connector.rb
- lib/tasks/enterprises.rake
- lib/tasks/sample_data/order_factory.rb
@@ -437,13 +458,14 @@ Metrics/AbcSize:
- spec/features/admin/product_import_spec.rb
- spec/features/admin/reports_spec.rb
- spec/features/admin/subscriptions_spec.rb
- spec/features/consumer/shopping/checkout_paypal_spec.rb
- spec/features/consumer/shopping/shopping_spec.rb
- spec/features/consumer/shopping/variant_overrides_spec.rb
- spec/models/enterprise_spec.rb
- spec/models/product_importer_spec.rb
- spec/services/order_checkout_restart_spec.rb
- spec/support/i18n_translations_checker.rb
- spec/support/performance_helper.rb
- spec/support/request/web_helper.rb
Metrics/BlockLength:
Max: 25
@@ -461,16 +483,21 @@ Metrics/BlockLength:
"scenario"
]
Exclude:
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.rb
- app/models/spree/shipment.rb
- lib/spree/core/controller_helpers/common.rb
- lib/spree/core/controller_helpers/ssl.rb
- lib/tasks/data.rake
- spec/controllers/spree/admin/invoices_controller_spec.rb
- spec/factories/address_factory.rb
- spec/factories/enterprise_factory.rb
- spec/factories/order_cycle_factory.rb
- spec/factories/order_factory.rb
- spec/factories/payment_method_factory.rb
- spec/factories/product_factory.rb
- spec/factories.rb
- spec/factories/shipment_factory.rb
- spec/factories/shipping_method_factory.rb
- spec/factories/subscription_factory.rb
- spec/factories/user_factory.rb
@@ -478,10 +505,12 @@ Metrics/BlockLength:
- spec/features/consumer/shopping/embedded_shopfronts_spec.rb
- spec/lib/open_food_network/group_buy_report_spec.rb
- spec/models/tag_rule/discount_order_spec.rb
- spec/requests/api/orders_spec.rb
- spec/spec_helper.rb
- spec/support/delayed_job_helper.rb
- spec/support/matchers/select2_matchers.rb
- spec/support/matchers/table_matchers.rb
- spec/swagger_helper.rb
Metrics/CyclomaticComplexity:
Max: 6
@@ -491,23 +520,30 @@ Metrics/CyclomaticComplexity:
- app/controllers/spree/admin/taxons_controller.rb
- app/controllers/spree/orders_controller.rb
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/base_helper.rb
- app/helpers/spree/admin/navigation_helper.rb
- app/models/enterprise.rb
- app/models/enterprise_relationship.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/payment_decorator.rb
- app/models/spree/payment_method_decorator.rb
- app/models/spree/product_decorator.rb
- app/models/spree/ability.rb
- app/models/spree/address.rb
- app/models/spree/order/checkout.rb
- app/models/spree/payment_method.rb
- app/models/spree/payment.rb
- app/models/spree/preference.rb
- app/models/spree/preferences/preferable.rb
- app/models/spree/preferences/preferable_class_methods.rb
- app/models/spree/product.rb
- app/models/spree/return_authorization.rb
- app/models/spree/zone.rb
- app/models/variant_override_set.rb
- app/services/cart_service.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/stock/estimator.rb
- lib/active_merchant/billing/gateways/stripe_payment_intents.rb
- lib/discourse/single_sign_on.rb
- lib/open_food_network/bulk_coop_report.rb
- lib/open_food_network/enterprise_issue_validator.rb
- lib/spree/core/calculated_adjustments.rb
- lib/spree/core/controller_helpers/order.rb
- lib/spree/core/controller_helpers/respond_with.rb
- lib/spree/core/controller_helpers/ssl.rb
@@ -522,18 +558,24 @@ Metrics/PerceivedComplexity:
- app/controllers/spree/admin/taxons_controller.rb
- app/controllers/spree/orders_controller.rb
- app/helpers/checkout_helper.rb
- app/helpers/i18n_helper.rb
- app/helpers/order_cycles_helper.rb
- app/helpers/spree/admin/navigation_helper.rb
- app/models/enterprise_relationship.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/order_decorator.rb
- app/models/spree/product_decorator.rb
- app/models/spree/ability.rb
- app/models/spree/address.rb
- app/models/spree/order/checkout.rb
- app/models/spree/order.rb
- app/models/spree/preferences/preferable_class_methods.rb
- app/models/spree/preferences/preferable.rb
- app/models/spree/product.rb
- app/models/spree/return_authorization.rb
- app/models/spree/zone.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/stock/estimator.rb
- lib/active_merchant/billing/gateways/stripe_payment_intents.rb
- lib/discourse/single_sign_on.rb
- lib/open_food_network/bulk_coop_report.rb
- lib/open_food_network/enterprise_issue_validator.rb
- lib/spree/core/calculated_adjustments.rb
- lib/spree/core/controller_helpers/order.rb
- lib/spree/core/controller_helpers/respond_with.rb
- lib/spree/core/controller_helpers/ssl.rb
@@ -549,6 +591,7 @@ Metrics/MethodLength:
- app/controllers/admin/enterprises_controller.rb
- app/controllers/admin/manager_invitations_controller.rb
- app/controllers/admin/order_cycles_controller.rb
- app/controllers/admin/resource_controller.rb
- app/controllers/admin/stripe_accounts_controller.rb
- app/controllers/admin/subscriptions_controller.rb
- app/controllers/api/products_controller.rb
@@ -557,20 +600,19 @@ Metrics/MethodLength:
- app/controllers/api/variants_controller.rb
- app/controllers/cart_controller.rb
- app/controllers/shop_controller.rb
- app/controllers/spree/admin/image_settings_controller.rb
- app/controllers/spree/admin/orders_controller.rb
- app/controllers/spree/admin/orders/customer_details_controller.rb
- app/controllers/spree/admin/payment_methods_controller.rb
- app/controllers/spree/admin/payments_controller.rb
- app/controllers/spree/admin/products_controller.rb
- app/controllers/spree/admin/reports_controller.rb
- app/controllers/spree/admin/resource_controller.rb
- app/controllers/spree/admin/tax_categories_controller.rb
- app/controllers/spree/admin/taxons_controller.rb
- app/controllers/spree/admin/users_controller.rb
- app/controllers/spree/admin/variants_controller.rb
- app/controllers/spree/credit_cards_controller.rb
- app/controllers/spree/orders_controller.rb
- app/controllers/spree/user_registrations_controller.rb
- app/controllers/spree/paypal_controller_decorator.rb
- app/controllers/spree/user_sessions_controller.rb
- app/controllers/stripe/callbacks_controller.rb
- app/controllers/user_confirmations_controller.rb
@@ -589,31 +631,47 @@ Metrics/MethodLength:
- app/models/product_import/entry_processor.rb
- app/models/product_import/entry_validator.rb
- app/models/product_import/product_importer.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/calculator/default_tax_decorator.rb
- app/models/spree/calculator/flexi_rate_decorator.rb
- app/models/spree/order_decorator.rb
- app/models/spree/payment_decorator.rb
- app/models/spree/payment_method_decorator.rb
- app/models/spree/ability.rb
- app/models/spree/address.rb
- app/models/spree/credit_card.rb
- app/models/spree/order/checkout.rb
- app/models/spree/order_contents.rb
- app/models/spree/order_inventory.rb
- app/models/spree/order.rb
- app/models/spree/payment_method.rb
- app/models/spree/payment/processing.rb
- app/models/spree/preference.rb
- app/models/spree/preferences/preferable_class_methods.rb
- app/models/spree/preferences/preferable.rb
- app/models/spree/preferences/store.rb
- app/models/spree/product.rb
- app/models/spree/product_decorator.rb
- app/models/spree/return_authorization.rb
- app/models/spree/shipment.rb
- app/models/spree/taxon.rb
- app/models/spree/tax_rate.rb
- app/models/spree/variant.rb
- app/models/spree/zone.rb
- app/serializers/api/admin/order_cycle_serializer.rb
- app/serializers/api/cached_enterprise_serializer.rb
- app/services/order_cycle_form.rb
- app/services/permitted_attributes/checkout.rb
- app/services/variant_units/option_value_namer.rb
- engines/order_management/app/services/order_management/order/updater.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_allocation_report.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_supplier_report.rb
- engines/order_management/app/services/order_management/reports/enterprise_fee_summary/scope.rb
- engines/order_management/app/services/order_management/stock/estimator.rb
- engines/order_management/app/services/order_management/stock/package.rb
- lib/active_merchant/billing/gateways/stripe_payment_intents.rb
- lib/discourse/single_sign_on.rb
- lib/open_food_network/bulk_coop_report.rb
- lib/open_food_network/column_preference_defaults.rb
- lib/open_food_network/customers_report.rb
- lib/open_food_network/enterprise_fee_calculator.rb
- lib/open_food_network/enterprise_issue_validator.rb
- lib/open_food_network/group_buy_report.rb
- lib/open_food_network/lettuce_share_report.rb
- lib/open_food_network/option_value_namer.rb
- lib/open_food_network/order_and_distributor_report.rb
- lib/open_food_network/order_cycle_form_applicator.rb
- lib/open_food_network/order_cycle_management_report.rb
@@ -624,33 +682,33 @@ Metrics/MethodLength:
- lib/open_food_network/permissions.rb
- lib/open_food_network/products_and_inventory_report.rb
- lib/open_food_network/rack_request_blocker.rb
- lib/open_food_network/reports/bulk_coop_allocation_report.rb
- lib/open_food_network/reports/bulk_coop_supplier_report.rb
- lib/open_food_network/reports/line_items.rb
- lib/open_food_network/sales_tax_report.rb
- lib/open_food_network/users_and_enterprises_report.rb
- lib/open_food_network/xero_invoices_report.rb
- lib/spree/api/controller_setup.rb
- lib/spree/core/controller_helpers/auth.rb
- lib/spree/core/calculated_adjustments.rb
- lib/spree/core/controller_helpers/order.rb
- lib/spree/core/controller_helpers/respond_with.rb
- lib/spree/core/controller_helpers/ssl.rb
- lib/spree/core/delegate_belongs_to.rb
- lib/spree/core/permalinks.rb
- lib/spree/core/s3_support.rb
- lib/spree/localized_number.rb
- lib/spree/responder.rb
- lib/stripe/profile_storer.rb
- lib/tasks/data/truncate_data.rb
- lib/tasks/sample_data/group_factory.rb
- lib/tasks/sample_data/order_factory.rb
- lib/tasks/sample_data/product_factory.rb
- spec/features/consumer/shopping/checkout_paypal_spec.rb
- spec/features/consumer/shopping/variant_overrides_spec.rb
- spec/models/product_importer_spec.rb
- spec/support/request/authentication_helper.rb
- spec/support/i18n_translations_checker.rb
Metrics/ClassLength:
Max: 100
Exclude:
- app/controllers/admin/enterprises_controller.rb
- app/controllers/admin/order_cycles_controller.rb
- app/controllers/admin/resource_controller.rb
- app/controllers/admin/schedules_controller.rb
- app/controllers/admin/subscriptions_controller.rb
- app/controllers/api/products_controller.rb
@@ -660,7 +718,6 @@ Metrics/ClassLength:
- app/controllers/spree/admin/payment_methods_controller.rb
- app/controllers/spree/admin/products_controller.rb
- app/controllers/spree/admin/reports_controller.rb
- app/controllers/spree/admin/resource_controller.rb
- app/controllers/spree/admin/users_controller.rb
- app/controllers/spree/orders_controller.rb
- app/models/enterprise.rb
@@ -668,15 +725,23 @@ Metrics/ClassLength:
- app/models/product_import/entry_processor.rb
- app/models/product_import/entry_validator.rb
- app/models/product_import/product_importer.rb
- app/models/spree/ability_decorator.rb
- app/models/spree/ability.rb
- app/models/spree/address.rb
- app/models/spree/credit_card.rb
- app/models/spree/line_item.rb
- app/models/spree/order.rb
- app/models/spree/payment.rb
- app/models/spree/product.rb
- app/models/spree/shipment.rb
- app/models/spree/user.rb
- app/models/spree/variant.rb
- app/models/spree/zone.rb
- app/serializers/api/cached_enterprise_serializer.rb
- app/serializers/api/enterprise_shopfront_serializer.rb
- app/services/cart_service.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- engines/order_management/app/services/order_management/reports/enterprise_fee_summary/scope.rb
- lib/active_merchant/billing/gateways/stripe_payment_intents.rb
- lib/open_food_network/bulk_coop_report.rb
- lib/open_food_network/enterprise_fee_calculator.rb
- lib/open_food_network/order_cycle_form_applicator.rb
- lib/open_food_network/order_cycle_management_report.rb
@@ -694,40 +759,20 @@ Metrics/ModuleLength:
- app/helpers/injection_helper.rb
- app/helpers/spree/admin/base_helper.rb
- app/helpers/spree/admin/navigation_helper.rb
- engines/order_management/spec/services/order_management/stock/package_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/estimator_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/form_spec.rb
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.rb
- engines/order_management/spec/services/order_management/subscriptions/proxy_order_syncer_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/validator_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/variants_list_spec.rb
- lib/open_food_network/column_preference_defaults.rb
- spec/controllers/admin/enterprises_controller_spec.rb
- spec/controllers/admin/order_cycles_controller_spec.rb
- spec/controllers/api/order_cycles_controller_spec.rb
- spec/controllers/api/orders_controller_spec.rb
- spec/controllers/spree/admin/payment_methods_controller_spec.rb
- spec/lib/open_food_network/address_finder_spec.rb
- spec/lib/open_food_network/customers_report_spec.rb
- spec/lib/open_food_network/enterprise_fee_calculator_spec.rb
- spec/lib/open_food_network/option_value_namer_spec.rb
- spec/lib/open_food_network/order_cycle_form_applicator_spec.rb
- spec/lib/open_food_network/order_cycle_permissions_spec.rb
- spec/lib/open_food_network/order_grouper_spec.rb
- spec/lib/open_food_network/permissions_spec.rb
- spec/lib/open_food_network/products_and_inventory_report_spec.rb
- spec/lib/open_food_network/scope_variant_to_hub_spec.rb
- spec/lib/open_food_network/tag_rule_applicator_spec.rb
- spec/lib/open_food_network/user_balance_calculator_spec.rb
- spec/lib/open_food_network/users_and_enterprises_report_spec.rb
- spec/models/spree/ability_spec.rb
- spec/models/spree/adjustment_spec.rb
- spec/models/spree/credit_card_spec.rb
- spec/models/spree/line_item_spec.rb
- spec/models/spree/payment_spec.rb
- spec/models/spree/product_spec.rb
- spec/models/spree/variant_spec.rb
- spec/services/permissions/order_spec.rb
- spec/support/request/web_helper.rb
Metrics/ParameterLists:
Max: 5
@@ -736,3 +781,9 @@ Metrics/ParameterLists:
- app/models/product_import/entry_processor.rb
- lib/open_food_network/xero_invoices_report.rb
- spec/features/admin/reports_spec.rb
Lint/UselessAssignment:
Exclude:
- 'spec/**/*'
- 'app/models/spree/taxon.rb'
- 'lib/spree/core/controller_helpers/common.rb'

7
.rubocop_specs.yml Normal file
View File

@@ -0,0 +1,7 @@
inherit_from:
- .rubocop.yml
# This rubocop config file is only used for specs
# Here we allow specs to be 300 lines long
Metrics/ModuleLength:
Max: 300

File diff suppressed because it is too large Load Diff

View File

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

3
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,3 @@
# Code of Conduct of the Open Food Network
**Welcome!** We are currently working on a Code of Conduct. You are welcome to contribute. We started this work at the Global Gathering 2020 and you find [notes of the initial session](https://community.openfoodnetwork.org/t/global-gathering-2020-day-5-a-code-of-conduct-for-ofn/2071/1) in the community forum. You can edit this file on Github to suggest new content. Alternatively, you can post in our [community forum](https://community.openfoodnetwork.org) or reach us on [Slack](https://openfoodnetwork.org/slack-invite).

View File

@@ -40,7 +40,7 @@ Push your changes to a branch on your fork:
## Submitting a Pull Request
Use the GitHub UI to submit a [new pull request][pr] against upstream/master. To increase the chances that your pull request is swiftly accepted please have a look at our guide to [making a great pull request][great-pr].
Use the GitHub UI to submit a [new pull request][pr] against upstream/master. To increase the chances that your pull request is swiftly accepted please have a look at our guide to [making a great pull request][great-pr].
TL;DR:
* Write tests

View File

@@ -1,62 +0,0 @@
### Docker
It is possible to setup the Open Food Network app easily with Docker and Docker Compose.
The objective is to spare configuration time, in order to help people testing the app and contribute to it.
It can also be used as documentation. It is not perfect but it is used in many other projects and many devs are used to it nowadays.
### Install Docker
Please check the documentation here, https://docs.docker.com/install/ to install Docker.
For Docker Compose, information are here: https://docs.docker.com/compose/install/.
Better to have at least 2GB free on your computer in order to download images and create containers for Open Food Network app.
### Use Docker with Open Food Network
Open a terminal with a shell.
Clone the repository. 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.
```sh
$ git clone https://github.com/YOUR_GITHUB_USERNAME_HERE/openfoodnetwork
```
Otherwise, if you just want to get things running, clone from the OFN main repo:
```sh
$ git clone git@github.com:openfoodfoundation/openfoodnetwork.git
```
Go at the root of the app:
```sh
$ cd openfoodnetwork
```
Download the Docker images and build the containers:
```sh
$ docker-compose build
```
Setup the database and seed it with sample data:
```sh
$ docker-compose run web bundle exec rake db:reset
$ docker-compose run web bundle exec rake db:test:prepare
$ docker-compose run web bundle exec rake ofn:sample_data
```
Finally, run the app with all the required containers:
```sh
$ docker-compose up
```
The default admin user is 'ofn@example.com' with 'ofn123' password.
Check the app in the browser at `http://localhost:3000`.
You will then get the trace of the containers in the terminal. You can stop the containers using Ctrl-C in the terminal.
You can find some useful tips and commands [here](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Docker:-useful-tips-and-commands).

View File

@@ -1,4 +1,10 @@
FROM ubuntu:18.04
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 libssl1.0-dev libreadline-dev libyaml-dev libffi-dev libxml2-dev libxslt1-dev wait-for-it imagemagick unzip
@@ -19,7 +25,7 @@ RUN git clone --depth 1 --branch v1.1.2 https://github.com/rbenv/rbenv.git ${RBE
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh && \
rbenv install $(cat .ruby-version) && \
rbenv global $(cat .ruby-version) && \
gem install bundler --version=1.17.2
gem install bundler --version=1.17.3
# Install Postgres
RUN sh -c "echo 'deb https://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main' > /etc/apt/sources.list.d/pgdg.list" && \
@@ -27,8 +33,11 @@ RUN sh -c "echo 'deb https://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main'
apt-get update && \
apt-get install -yqq --no-install-recommends postgresql-client-9.5 libpq-dev
# Install node
RUN apt-get install -y nodejs
# Install node & yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt-get update && \
apt-get install -y nodejs yarn
# Install Chrome
RUN wget --quiet -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
@@ -43,5 +52,9 @@ RUN wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.z
# Copy code and install app dependencies
COPY . /usr/src/app/
# 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

@@ -4,7 +4,7 @@ This is a general guide to setting up an Open Food Network **development environ
### 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.md).
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 2.3.7 and bundler
* PostgreSQL database

61
Gemfile
View File

@@ -1,14 +1,17 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby "2.3.7"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" }
gem 'i18n', '~> 0.6.11'
gem 'i18n-js', '~> 3.7.1'
gem 'rails', '~> 4.0.13'
gem 'rails-i18n', '~> 4.0'
gem 'i18n'
gem 'i18n-js', '~> 3.8.0'
gem 'rails', '~> 4.2'
gem 'rails-i18n'
gem 'rails_safe_tasks', '~> 1.0'
gem "activerecord-import"
gem 'responders', '~> 2.0'
gem "catalog", path: "./engines/catalog"
gem 'dfc_provider', path: './engines/dfc_provider'
@@ -18,26 +21,17 @@ gem 'web', path: './engines/web'
gem 'activerecord-postgresql-adapter'
gem 'pg', '~> 0.21.0'
# OFN-maintained and patched version of Spree v2.0.4. See
# https://github.com/openfoodfoundation/openfoodnetwork/wiki/Tech-Doc:-OFN's-Spree-fork%F0%9F%8D%B4
# for details.
gem 'spree_core', github: 'openfoodfoundation/spree', branch: '2-1-0-stable'
### Dependencies brought from spree core
gem 'acts_as_list', '= 0.2.0'
gem 'awesome_nested_set', '~> 3.0.0.rc.1'
gem 'acts_as_list', '0.9.19'
gem 'awesome_nested_set', '~> 3.2.1'
gem 'cancan', '~> 1.6.10'
gem 'ffaker', '~> 1.16'
gem 'highline', '= 1.6.18' # Necessary for the install generator
gem 'httparty', '~> 0.18' # Used to check alerts in spree_core, this is not used in OFN.
gem 'json', '>= 1.7.7'
gem 'money', '5.1.1'
gem 'ffaker'
gem 'highline', '2.0.3' # Necessary for the install generator
gem 'json'
gem 'money', '< 6.1.0'
gem 'paranoia', '~> 2.0'
gem 'ransack', '~> 1.8.10'
gem 'state_machine', '1.2.0'
gem 'stringex', '~> 1.5.1'
gem 'spree_i18n', github: 'spree/spree_i18n', branch: '1-3-stable'
gem 'state_machines-activerecord'
gem 'stringex', '~> 2.8.5'
# Our branch contains the following changes:
# - Pass customer email and phone number to PayPal (merged to upstream master)
@@ -51,9 +45,9 @@ gem 'stripe'
# which is needed for Pin Payments (and possibly others).
gem 'activemerchant', '~> 1.78.0'
gem 'devise', '~> 3.5.10' # v4.0.0 needs rails 4.1
gem 'devise'
gem 'devise-encryptable'
gem 'devise-token_authenticatable', '~> 0.4.10' # v0.5.0 needs devise v4
gem 'devise-token_authenticatable'
gem 'jwt', '~> 2.2'
gem 'oauth2', '~> 1.4.4' # Used for Stripe Connect
@@ -61,20 +55,17 @@ gem 'daemons'
gem 'delayed_job_active_record'
gem 'delayed_job_web'
# Spree's default pagination gem (locked to the current version used by Spree)
# We use it's methods in OFN code as well, so this is a direct dependency
gem 'kaminari', '~> 0.14.1'
gem 'kaminari', '~> 0.17.0'
gem 'andand'
gem 'angularjs-rails', '1.5.5'
gem 'aws-sdk', '1.11.1' # temporarily locked down due to https://github.com/aws/aws-sdk-ruby/issues/273
gem 'aws-sdk', '1.67.0'
gem 'bugsnag'
gem 'db2fog'
gem 'haml'
gem 'redcarpet'
gem 'sass'
gem 'sass-rails'
gem 'truncate_html', '0.9.2'
gem 'unicorn'
gem 'actionpack-action_caching'
@@ -86,12 +77,11 @@ gem 'acts-as-taggable-on', '~> 4.0'
gem 'angularjs-file-upload-rails', '~> 2.4.1'
gem 'custom_error_message', github: 'jeremydurham/custom-err-msg'
gem 'dalli'
gem 'diffy'
gem 'figaro'
gem 'geocoder'
gem 'gmaps4rails'
gem 'oj'
gem 'paper_trail', '~> 5.2.3'
gem 'paper_trail', '~> 7.1.3'
gem 'paperclip', '~> 3.4.1'
gem 'rack-rewrite'
gem 'rack-ssl', require: 'rack/ssl'
@@ -101,7 +91,6 @@ gem 'combine_pdf'
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
gem 'foreigner'
gem 'immigrant'
gem 'roo', '~> 2.8.3'
@@ -118,12 +107,11 @@ gem 'uglifier', '>= 1.0.3'
gem 'angular-rails-templates', '~> 0.3.0'
gem 'foundation-icons-sass-rails'
gem 'momentjs-rails'
gem 'foundation-rails', '= 5.5.2.1'
gem 'jquery-migrate-rails'
gem 'jquery-rails', '3.1.5'
gem 'jquery-rails', '4.4.0'
gem 'jquery-ui-rails', '~> 4.2'
gem 'select2-rails', '~> 3.4.7'
@@ -138,9 +126,9 @@ group :test, :development do
# Pretty printed test output
gem 'atomic'
gem 'awesome_print'
gem 'capybara', '>= 2.18.0' # 3.0 requires rack 1.6 that only works with Rails 4.2
gem 'capybara'
gem 'database_cleaner', require: false
gem "factory_bot_rails", '4.10.0', require: false
gem "factory_bot_rails", '5.2.0', require: false
gem 'fuubar', '~> 2.5.0'
gem 'json_spec', '~> 1.1.4'
gem 'knapsack'
@@ -157,6 +145,8 @@ end
group :test do
gem 'simplecov', require: false
gem 'test-prof'
gem 'test_after_commit' # needed to test Devise callbacks
gem 'webmock'
# See spec/spec_helper.rb for instructions
# gem 'perftools.rb'
@@ -165,7 +155,6 @@ end
group :development do
gem 'byebug', '~> 11.0.0' # 11.1 requires ruby 2.4
gem 'debugger-linecache'
gem "newrelic_rpm", "~> 3.0"
gem "pry", "~> 0.12.0" # pry 0.13 is not compatible with pry-byebug 3.7
gem 'pry-byebug', '~> 3.7.0' # 3.8 requires ruby 2.4
gem 'rubocop'

View File

@@ -6,12 +6,11 @@ GIT
GIT
remote: https://github.com/openfoodfoundation/better_spree_paypal_express.git
revision: 1736e3268239a841576d2719a1f276cf9b74c5c5
revision: 1a477e9f7763297944cc99b6f4dd3d962aa963e9
branch: 2-1-0-stable
specs:
spree_paypal_express (2.0.3)
paypal-sdk-merchant (= 1.106.1)
spree_core (~> 2.1.0)
GIT
remote: https://github.com/openfoodfoundation/ofn-qz.git
@@ -20,41 +19,6 @@ GIT
specs:
ofn-qz (0.1.0)
GIT
remote: https://github.com/openfoodfoundation/spree.git
revision: 0b0c422369c82b6dd7e7cb627a24e3a9fca19a6c
branch: 2-1-0-stable
specs:
spree_core (2.1.0)
activemerchant (= 1.78.0)
acts_as_list (= 0.2.0)
awesome_nested_set (~> 3.0.0.rc.1)
aws-sdk (= 1.11.1)
cancan (~> 1.6.10)
ffaker (~> 1.16)
highline (= 1.6.18)
httparty (~> 0.11)
json (>= 1.7.7)
kaminari (~> 0.14.1)
money (= 5.1.1)
paperclip (~> 3.4.1)
paranoia (~> 2.0)
rails (~> 4.0)
ransack (~> 1.0)
state_machine (= 1.2.0)
stringex (~> 1.5.1)
truncate_html (= 0.9.2)
GIT
remote: https://github.com/spree/spree_i18n.git
revision: 752eb67204e9c5a4e22b62591a8fd55fe2285e43
branch: 1-3-stable
specs:
spree_i18n (1.0.0)
i18n (~> 0.5)
rails-i18n
spree_core (>= 1.1)
PATH
remote: engines/catalog
specs:
@@ -64,6 +28,7 @@ PATH
remote: engines/dfc_provider
specs:
dfc_provider (0.0.1)
active_model_serializers (~> 0.8.4)
jwt (~> 2.2)
rspec (~> 3.9)
@@ -81,34 +46,45 @@ GEM
remote: https://rubygems.org/
specs:
CFPropertyList (2.3.6)
actionmailer (4.0.13)
actionpack (= 4.0.13)
actionmailer (4.2.11.3)
actionpack (= 4.2.11.3)
actionview (= 4.2.11.3)
activejob (= 4.2.11.3)
mail (~> 2.5, >= 2.5.4)
actionpack (4.0.13)
activesupport (= 4.0.13)
builder (~> 3.1.0)
erubis (~> 2.7.0)
rack (~> 1.5.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.11.3)
actionview (= 4.2.11.3)
activesupport (= 4.2.11.3)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionpack-action_caching (1.2.1)
actionpack (>= 4.0.0)
actionview (4.2.11.3)
activesupport (= 4.2.11.3)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
activejob (4.2.11.3)
activesupport (= 4.2.11.3)
globalid (>= 0.3.0)
activemerchant (1.78.0)
activesupport (>= 3.2.14, < 6.x)
builder (>= 2.1.2, < 4.0.0)
i18n (>= 0.6.9)
nokogiri (~> 1.4)
activemodel (4.0.13)
activesupport (= 4.0.13)
builder (~> 3.1.0)
activerecord (4.0.13)
activemodel (= 4.0.13)
activerecord-deprecated_finders (~> 1.0.2)
activesupport (= 4.0.13)
arel (~> 4.0.0)
activerecord-deprecated_finders (1.0.4)
activerecord-import (1.0.6)
activemodel (4.2.11.3)
activesupport (= 4.2.11.3)
builder (~> 3.1)
activerecord (4.2.11.3)
activemodel (= 4.2.11.3)
activesupport (= 4.2.11.3)
arel (~> 6.0)
activerecord-import (1.0.7)
activerecord (>= 3.2)
activerecord-postgresql-adapter (0.0.1)
pg
@@ -118,18 +94,20 @@ GEM
multi_json (~> 1.11, >= 1.11.2)
rack (>= 1.5.2, < 3)
railties (>= 4.0)
activesupport (4.0.13)
i18n (~> 0.6, >= 0.6.9)
minitest (~> 4.2)
multi_json (~> 1.3)
thread_safe (~> 0.1)
tzinfo (~> 0.3.37)
activesupport (4.2.11.3)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
acts-as-taggable-on (4.0.0)
activerecord (>= 4.0)
acts_as_list (0.2.0)
acts_as_list (0.9.19)
activerecord (>= 3.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
aliyun-sdk (0.8.0)
nokogiri (~> 1.6)
rest-client (~> 2.0)
andand (1.3.3)
angular-rails-templates (0.3.0)
railties (>= 3.1)
@@ -137,32 +115,34 @@ GEM
tilt
angularjs-file-upload-rails (2.4.1)
angularjs-rails (1.5.5)
arel (4.0.2)
arel (6.0.4)
ast (2.4.0)
atomic (1.1.101)
awesome_nested_set (3.0.3)
activerecord (>= 4.0.0, < 5)
awesome_nested_set (3.2.1)
activerecord (>= 4.0.0, < 7.0)
awesome_print (1.8.0)
aws-sdk (1.11.1)
aws-sdk (1.67.0)
aws-sdk-v1 (= 1.67.0)
aws-sdk-v1 (1.67.0)
json (~> 1.4)
nokogiri (>= 1.4.4)
uuidtools (~> 2.1)
bcrypt (3.1.13)
bugsnag (6.15.0)
nokogiri (~> 1)
bcrypt (3.1.16)
bugsnag (6.18.0)
concurrent-ruby (~> 1.0)
builder (3.1.4)
builder (3.2.4)
byebug (11.0.1)
cancan (1.6.10)
capybara (2.18.0)
capybara (3.15.1)
addressable
mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (>= 2.0, < 4.0)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (~> 1.2)
xpath (~> 3.2)
childprocess (3.0.0)
chronic (0.10.2)
chunky_png (1.3.11)
chunky_png (1.3.14)
climate_control (0.2.0)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
@@ -174,7 +154,7 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.12.2)
combine_pdf (1.0.16)
combine_pdf (1.0.21)
ruby-rc4 (>= 0.1.5)
compass (1.0.3)
chunky_png (~> 1.2)
@@ -192,61 +172,61 @@ GEM
compass (~> 1.0.0)
sass-rails (< 5.1)
sprockets (< 4.0)
concurrent-ruby (1.1.6)
crack (0.4.3)
safe_yaml (~> 1.0.0)
concurrent-ruby (1.1.7)
crack (0.4.4)
crass (1.0.6)
css_parser (1.7.1)
addressable
daemons (1.3.1)
dalli (2.7.10)
dalli (2.7.11)
database_cleaner (1.8.5)
db2fog (0.9.0)
activerecord (>= 3.2.0, < 5.0)
fog (~> 1.0)
rails (>= 3.2.0, < 5.0)
ddtrace (0.39.0)
ddtrace (0.43.0)
msgpack
debugger-linecache (1.2.0)
delayed_job (4.1.8)
activesupport (>= 3.0, < 6.1)
delayed_job_active_record (4.1.4)
activerecord (>= 3.0, < 6.1)
delayed_job (4.1.9)
activesupport (>= 3.0, < 6.2)
delayed_job_active_record (4.1.5)
activerecord (>= 3.0, < 6.2)
delayed_job (>= 3.0, < 5)
delayed_job_web (1.4.3)
activerecord (> 3.0.0)
delayed_job (> 2.0.3)
rack-protection (>= 1.5.5)
sinatra (>= 1.4.4)
devise (3.5.10)
devise (4.7.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
railties (>= 4.1.0)
responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-token_authenticatable (0.4.10)
devise (>= 3.5.2, < 4.0.0)
diff-lcs (1.3)
diffy (3.3.0)
devise-token_authenticatable (1.1.0)
devise (>= 4.0.0, < 5.0.0)
diff-lcs (1.4.4)
docile (1.3.2)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dry-inflector (0.1.2)
erubis (2.7.0)
eventmachine (1.2.7)
excon (0.71.1)
excon (0.78.0)
execjs (2.7.0)
factory_bot (4.10.0)
activesupport (>= 3.0.0)
factory_bot_rails (4.10.0)
factory_bot (~> 4.10.0)
railties (>= 3.0.0)
faraday (1.0.0)
factory_bot (5.2.0)
activesupport (>= 4.2.0)
factory_bot_rails (5.2.0)
factory_bot (~> 5.2.0)
railties (>= 4.2.0)
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
ffaker (1.32.1)
ffi (1.12.2)
figaro (1.1.1)
thor (~> 0.14)
ffaker (2.11.0)
ffi (1.13.1)
figaro (1.2.0)
thor (>= 0.14.0, < 2)
fission (0.5.0)
CFPropertyList (~> 2.2)
fog (1.41.0)
@@ -283,7 +263,8 @@ GEM
fog-xml (~> 0.1.1)
ipaddress (~> 0.5)
json (>= 1.8, < 2.0)
fog-aliyun (0.3.5)
fog-aliyun (0.3.19)
aliyun-sdk (~> 0.8.0)
fog-core
fog-json
ipaddress (~> 0.8)
@@ -329,7 +310,7 @@ GEM
fog-core
fog-json
fog-xml
fog-internet-archive (0.0.1)
fog-internet-archive (0.0.2)
fog-core
fog-json
fog-xml
@@ -386,7 +367,7 @@ GEM
fog-voxel (0.1.0)
fog-core
fog-xml
fog-vsphere (3.2.1)
fog-vsphere (3.4.0)
fog-core
rbvmomi (>= 1.9, < 3)
fog-xenserver (1.0.0)
@@ -396,8 +377,6 @@ GEM
fog-xml (0.1.3)
fog-core
nokogiri (>= 1.5.11, < 2.0.0)
foreigner (1.7.4)
activerecord (>= 3.0.0)
formatador (0.2.5)
foundation-icons-sass-rails (3.0.0)
railties (>= 3.1.1)
@@ -408,29 +387,33 @@ GEM
fuubar (2.5.0)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
geocoder (1.6.3)
get_process_mem (0.2.5)
geocoder (1.6.4)
get_process_mem (0.2.7)
ffi (~> 1.0)
globalid (0.4.2)
activesupport (>= 4.2.0)
gmaps4rails (2.1.2)
haml (5.1.2)
haml (5.2.1)
temple (>= 0.8.0)
tilt
hashdiff (1.0.1)
highline (1.6.18)
highline (2.0.3)
hike (1.2.3)
httparty (0.18.1)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
i18n (0.6.11)
i18n-js (3.7.1)
http-accept (1.7.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
i18n-js (3.8.0)
i18n (>= 0.6.6)
immigrant (0.3.6)
activerecord (>= 3.0)
ipaddress (0.8.3)
jaro_winkler (1.5.4)
jquery-migrate-rails (1.2.1)
jquery-rails (3.1.5)
railties (>= 3.0, < 5.0)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.2.1)
railties (>= 3.2.16)
@@ -440,18 +423,21 @@ GEM
json_spec (1.1.5)
multi_json (~> 1.0)
rspec (>= 2.0, < 4.0)
jwt (2.2.1)
kaminari (0.14.1)
jwt (2.2.2)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.11.3)
knapsack (1.18.0)
knapsack (1.20.0)
rake
launchy (2.4.3)
addressable (~> 2.3)
letter_opener (1.7.0)
launchy (~> 2.2)
libv8 (7.3.492.27.1)
loofah (2.8.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
method_source (0.9.2)
@@ -462,17 +448,16 @@ GEM
mini_portile2 (2.4.0)
mini_racer (0.2.15)
libv8 (> 7.3)
minitest (4.7.5)
momentjs-rails (2.20.1)
railties (>= 3.1)
money (5.1.1)
i18n (~> 0.6.0)
minitest (5.14.2)
money (5.0.0)
i18n (~> 0.4)
json
msgpack (1.3.3)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
newrelic_rpm (3.18.1.330)
nokogiri (1.10.9)
netrc (0.11.0)
nokogiri (1.10.10)
mini_portile2 (~> 2.4.0)
oauth2 (1.4.4)
faraday (>= 0.8, < 2.0)
@@ -481,10 +466,10 @@ GEM
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
oj (3.10.8)
optimist (3.0.0)
optimist (3.0.1)
orm_adapter (0.5.0)
paper_trail (5.2.3)
activerecord (>= 3.0, < 6.0)
paper_trail (7.1.3)
activerecord (>= 4.0, < 5.2)
request_store (~> 1.1)
paperclip (3.4.2)
activemodel (>= 3.0.0)
@@ -510,8 +495,8 @@ GEM
pry-byebug (3.7.0)
byebug (~> 11.0)
pry (~> 0.10)
public_suffix (4.0.5)
rack (1.5.5)
public_suffix (4.0.6)
rack (1.6.13)
rack-mini-profiler (2.0.2)
rack (>= 1.2.0)
rack-protection (1.5.5)
@@ -521,21 +506,32 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (4.0.13)
actionmailer (= 4.0.13)
actionpack (= 4.0.13)
activerecord (= 4.0.13)
activesupport (= 4.0.13)
rails (4.2.11.3)
actionmailer (= 4.2.11.3)
actionpack (= 4.2.11.3)
actionview (= 4.2.11.3)
activejob (= 4.2.11.3)
activemodel (= 4.2.11.3)
activerecord (= 4.2.11.3)
activesupport (= 4.2.11.3)
bundler (>= 1.3.0, < 2.0)
railties (= 4.0.13)
sprockets-rails (~> 2.0)
rails-i18n (4.0.5)
i18n (~> 0.6)
railties (= 4.2.11.3)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.9)
activesupport (>= 4.2.0, < 5.0)
nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
rails-i18n (4.0.9)
i18n (~> 0.7)
railties (~> 4.0)
rails_safe_tasks (1.0.0)
railties (4.0.13)
actionpack (= 4.0.13)
activesupport (= 4.0.13)
railties (4.2.11.3)
actionpack (= 4.2.11.3)
activesupport (= 4.2.11.3)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (3.0.0)
@@ -546,52 +542,59 @@ GEM
activerecord (>= 3.0, < 5.2)
activesupport (>= 3.0, < 5.2)
i18n
rb-fsevent (0.10.3)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbvmomi (2.2.0)
rbvmomi (2.4.1)
builder (~> 3.0)
json (>= 1.8)
nokogiri (~> 1.5)
optimist (~> 3.0)
redcarpet (3.5.0)
request_store (1.4.1)
regexp_parser (1.8.2)
request_store (1.5.0)
rack (>= 1.4)
responders (1.1.2)
railties (>= 3.2, < 4.2)
responders (2.4.1)
actionpack (>= 4.2.0, < 6.0)
railties (>= 4.2.0, < 6.0)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rexml (3.2.4)
roadie (3.4.0)
roadie (3.5.1)
css_parser (~> 1.4)
nokogiri (~> 1.5)
nokogiri (~> 1.8)
roadie-rails (1.3.0)
railties (>= 3.0, < 5.3)
roadie (~> 3.1)
roo (2.8.3)
nokogiri (~> 1)
rubyzip (>= 1.3.0, < 3.0.0)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.1)
rspec-support (~> 3.9.1)
rspec-expectations (3.9.0)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.0)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-mocks (3.9.1)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-rails (3.9.1)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-support (~> 3.9.0)
rspec-support (~> 3.10.0)
rspec-rails (4.0.1)
actionpack (>= 4.2)
activesupport (>= 4.2)
railties (>= 4.2)
rspec-core (~> 3.9)
rspec-expectations (~> 3.9)
rspec-mocks (~> 3.9)
rspec-support (~> 3.9)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.9.2)
rspec-support (3.10.0)
rswag (2.3.1)
rswag-api (= 2.3.1)
rswag-specs (= 2.3.1)
@@ -620,7 +623,6 @@ GEM
ruby-progressbar (1.10.1)
ruby-rc4 (0.1.5)
rubyzip (1.3.0)
safe_yaml (1.0.5)
sass (3.4.25)
sass-rails (5.0.7)
railties (>= 4.0.0, < 6)
@@ -634,8 +636,8 @@ GEM
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
shoulda-matchers (3.1.3)
activesupport (>= 4.0.0)
shoulda-matchers (4.0.1)
activesupport (>= 4.2.0)
simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
@@ -645,7 +647,8 @@ GEM
rack (~> 1.5)
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
spring (1.7.2)
spring (2.0.2)
activesupport (>= 4.2)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (2.12.5)
@@ -657,22 +660,34 @@ GEM
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
state_machine (1.2.0)
stringex (1.5.1)
stripe (5.22.0)
state_machines (0.5.0)
state_machines-activemodel (0.7.1)
activemodel (>= 4.1)
state_machines (>= 0.5.0)
state_machines-activerecord (0.6.0)
activerecord (>= 4.1)
state_machines-activemodel (>= 0.5.0)
stringex (2.8.5)
stripe (5.28.0)
temple (0.8.2)
test-unit (3.3.6)
test-prof (0.7.5)
test-unit (3.3.7)
power_assert
test_after_commit (1.2.2)
activerecord (>= 3.2, < 5.0)
thor (0.20.3)
thread_safe (0.3.6)
tilt (1.4.1)
timecop (0.9.1)
truncate_html (0.9.2)
tzinfo (0.3.57)
timecop (0.9.2)
tzinfo (1.2.8)
thread_safe (~> 0.1)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
unicorn (5.6.0)
unicorn (5.7.0)
kgio (~> 2.6)
raindrops (~> 0.7)
unicorn-rails (2.2.1)
@@ -681,14 +696,13 @@ GEM
unicorn-worker-killer (0.4.4)
get_process_mem (~> 0)
unicorn (>= 4, < 6)
uuidtools (2.1.5)
warden (1.2.7)
rack (>= 1.0)
webdrivers (4.2.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
webmock (3.8.3)
webmock (3.10.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@@ -699,8 +713,8 @@ GEM
wkhtmltopdf-binary (0.12.5)
xml-simple (1.1.5)
xmlrpc (0.3.0)
xpath (2.1.0)
nokogiri (~> 1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
PLATFORMS
ruby
@@ -713,19 +727,19 @@ DEPENDENCIES
activerecord-postgresql-adapter
activerecord-session_store
acts-as-taggable-on (~> 4.0)
acts_as_list (= 0.2.0)
acts_as_list (= 0.9.19)
andand
angular-rails-templates (~> 0.3.0)
angularjs-file-upload-rails (~> 2.4.1)
angularjs-rails (= 1.5.5)
atomic
awesome_nested_set (~> 3.0.0.rc.1)
awesome_nested_set (~> 3.2.1)
awesome_print
aws-sdk (= 1.11.1)
aws-sdk (= 1.67.0)
bugsnag
byebug (~> 11.0.0)
cancan (~> 1.6.10)
capybara (>= 2.18.0)
capybara
catalog!
coffee-rails (~> 4.2.2)
combine_pdf
@@ -739,45 +753,40 @@ DEPENDENCIES
debugger-linecache
delayed_job_active_record
delayed_job_web
devise (~> 3.5.10)
devise
devise-encryptable
devise-token_authenticatable (~> 0.4.10)
devise-token_authenticatable
dfc_provider!
diffy
eventmachine (>= 1.2.3)
factory_bot_rails (= 4.10.0)
ffaker (~> 1.16)
factory_bot_rails (= 5.2.0)
ffaker
figaro
foreigner
foundation-icons-sass-rails
foundation-rails (= 5.5.2.1)
fuubar (~> 2.5.0)
geocoder
gmaps4rails
haml
highline (= 1.6.18)
httparty (~> 0.18)
i18n (~> 0.6.11)
i18n-js (~> 3.7.1)
highline (= 2.0.3)
i18n
i18n-js (~> 3.8.0)
immigrant
jquery-migrate-rails
jquery-rails (= 3.1.5)
jquery-rails (= 4.4.0)
jquery-ui-rails (~> 4.2)
json (>= 1.7.7)
json
json_spec (~> 1.1.4)
jwt (~> 2.2)
kaminari (~> 0.14.1)
kaminari (~> 0.17.0)
knapsack
letter_opener (>= 1.4.1)
mini_racer (= 0.2.15)
momentjs-rails
money (= 5.1.1)
newrelic_rpm (~> 3.0)
money (< 6.1.0)
oauth2 (~> 1.4.4)
ofn-qz!
oj
order_management!
paper_trail (~> 5.2.3)
paper_trail (~> 7.1.3)
paperclip (~> 3.4.1)
paranoia (~> 2.0)
pg (~> 0.21.0)
@@ -786,11 +795,12 @@ DEPENDENCIES
rack-mini-profiler (< 3.0.0)
rack-rewrite
rack-ssl
rails (~> 4.0.13)
rails-i18n (~> 4.0)
rails (~> 4.2)
rails-i18n
rails_safe_tasks (~> 1.0)
ransack (~> 1.8.10)
redcarpet
responders (~> 2.0)
roadie-rails (~> 1.3.0)
roo (~> 2.8.3)
rspec-rails (>= 3.5.2)
@@ -804,17 +814,16 @@ DEPENDENCIES
selenium-webdriver
shoulda-matchers
simplecov
spree_core!
spree_i18n!
spree_paypal_express!
spring
spring-commands-rspec
state_machine (= 1.2.0)
stringex (~> 1.5.1)
state_machines-activerecord
stringex (~> 2.8.5)
stripe
test-prof
test-unit (~> 3.3)
test_after_commit
timecop
truncate_html (= 0.9.2)
uglifier (>= 1.0.3)
unicorn
unicorn-rails

View File

@@ -9,17 +9,22 @@ Supported by the Open Food Foundation and a network of global affiliates, we are
We're part of global movement - get involved!
* Join the conversation [on Slack][slack-invite]. Make sure you introduce yourself in the #general channel.
* Join the conversation [on Slack][slack-invite]. Make sure you introduce yourself in the #general channel and join #dev for all tech-related topics.
* Head to [https://openfoodnetwork.org](https://openfoodnetwork.org) for more information about the global OFN project.
* Check out the [User Guide](https://guide.openfoodnetwork.org/) for a list of features and tutorials.
* Join our [discussion forum](https://community.openfoodnetwork.org).
## Contributing
If you are interested in contributing to the OFN in any capacity, please introduce yourself [on Slack][slack-invite], and have a look through our [Contributor Guide][contributor-guide].
If you are interested in contributing to the OFN in any capacity, please introduce yourself [on Slack][slack-invite], and have a look through the [OFN Handbook][ofn-handbook].
Our [GETTING_STARTED](GETTING_STARTED.md) and [CONTRIBUTING](CONTRIBUTING.md) guides are the best place to start for developers looking to set up a development environment and make contributions to the codebase.
### Hacktoberfest :tada:
Are you participating in [Hacktoberfest](https://hacktoberfest.digitalocean.com/)? Go check out our [Welcome New Developers project board][welcome-dev]! We have curated all issues we consider to be a good starting point for new members of the community and categorized them by skills and level of complexity.
Have a look and pick the one you would prefer working on!
## Provisioning
If you're interested in provisioning a server, see [ofn-install][ofn-install] for the project's Ansible playbooks.
@@ -28,7 +33,9 @@ We also have a [Super Admin Guide][super-admin-guide] to help with configuration
## Testing
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!
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.
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!
## Licence
@@ -36,6 +43,8 @@ Copyright (c) 2012 - 2020 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
[contributor-guide]: https://ofn-user-guide.gitbook.io/ofn-contributor-guide/who-are-we
[ofn-handbook]: https://ofn-user-guide.gitbook.io/ofn-handbook/
[ofn-install]: https://github.com/openfoodfoundation/ofn-install
[super-admin-guide]: https://ofn-user-guide.gitbook.io/ofn-super-admin-guide
[welcome-dev]: https://github.com/openfoodfoundation/openfoodnetwork/projects/27
[zenhub]: https://www.zenhub.com/extension

View File

@@ -1,4 +1,6 @@
#!/usr/bin/env rake
# frozen_string_literal: true
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="15 13 34 38.4" enable-background="new 15 13 34 38.4" xml:space="preserve">
<g>
<polygon fill="#FFFFFF" points="15.5,13.5 48.5,13.5 48.5,50.7 31.6,45.5 15.5,50.7 "/>
<path fill="#999999" d="M48,14v36l-16.4-5L16,50V14H48 M49,13h-1H16h-1v1v36v1.4l1.3-0.4l15.3-5l16.1,5l1.3,0.4V50V14V13L49,13z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -27,14 +27,14 @@
//= require lodash.underscore.js
// spree
//= require spree
//= require admin/spree/spree
//= require admin/spree/spree-select2
//= require modernizr
//= require equalize
//= require css_browser_selector_dev
//= require responsive-tables
//= require admin/spree_paypal_express
//= require admin/handlebar_extensions
//= require admin/spree/handlebar_extensions
// OFN specific
//= require_tree ../templates/admin
@@ -71,20 +71,23 @@
//= require textAngular.min.js
//= require i18n/translations
//= require darkswarm/i18n.translate.js
//= require moment
//= require moment/de.js
//= require moment/en-gb.js
//= require moment/es.js
//= require moment/fr.js
//= require moment/it.js
//= require moment/nb.js
//= require moment/pt-br.js
//= require moment/pt.js
//= require moment/ru.js
//= require moment/sv.js
//= require moment/ca.js
//= require moment/ar.js
//= require moment/tr.js
//= require moment/min/moment.min.js
//= require moment/locale/ar.js
//= require moment/locale/ca.js
//= require moment/locale/de.js
//= require moment/locale/en-gb.js
//= require moment/locale/es.js
//= require moment/locale/fil.js
//= require moment/locale/fr.js
//= require moment/locale/it.js
//= require moment/locale/nb.js
//= require moment/locale/nl-be.js
//= require moment/locale/pt-br.js
//= require moment/locale/pt.js
//= require moment/locale/ru.js
//= require moment/locale/sv.js
//= require moment/locale/tr.js
//= require moment/locale/pl.js
// foundation
//= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js

View File

@@ -1,4 +1,4 @@
angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $filter, $http, $window, BulkProducts, DisplayProperties, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, Columns, tax_categories, RequestMonitor, SortOptions, ErrorsParser) ->
angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $filter, $http, $window, $location, BulkProducts, DisplayProperties, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, Columns, tax_categories, RequestMonitor, SortOptions, ErrorsParser, ProductFiltersUrl) ->
$scope.StatusMessage = StatusMessage
$scope.columns = Columns.columns
@@ -13,37 +13,29 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
{id: 100, name: t('js.admin.orders.index.per_page', results: 100)}
]
$scope.filterableColumns = [
{ name: t("label_producers"), db_column: "producer_name" },
{ name: t("name"), db_column: "name" }
]
$scope.filterTypes = [
{ name: t("equals"), predicate: "eq" },
{ name: t("contains"), predicate: "cont" }
]
$scope.optionTabs =
filters: { title: t("filter_products"), visible: false }
$scope.q = {
producerFilter: ""
categoryFilter: ""
importDateFilter: ""
query: ""
sorting: ""
}
$scope.producers = producers
$scope.taxons = Taxons.all
$scope.tax_categories = tax_categories
$scope.producerFilter = ""
$scope.categoryFilter = ""
$scope.importDateFilter = ""
$scope.page = 1
$scope.per_page = 15
$scope.products = BulkProducts.products
$scope.query = ""
$scope.DisplayProperties = DisplayProperties
$scope.sortOptions = SortOptions
$scope.initialise = ->
$scope.q = ProductFiltersUrl.loadFromUrl($location.search())
$scope.fetchProducts()
$scope.$watchCollection '[query, producerFilter, categoryFilter, importDateFilter, per_page]', ->
$scope.$watchCollection '[q.query, q.producerFilter, q.categoryFilter, q.importDateFilter, per_page]', ->
$scope.page = 1 # Reset page when changing filters for new search
$scope.changePage = (newPage) ->
@@ -53,25 +45,27 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.fetchProducts = ->
removeClearedValues()
params = {
'q[name_cont]': $scope.query,
'q[supplier_id_eq]': $scope.producerFilter,
'q[primary_taxon_id_eq]': $scope.categoryFilter,
'q[s]': $scope.sorting,
import_date: $scope.importDateFilter,
'q[name_cont]': $scope.q.query,
'q[supplier_id_eq]': $scope.q.producerFilter,
'q[primary_taxon_id_eq]': $scope.q.categoryFilter,
'q[s]': $scope.q.sorting,
import_date: $scope.q.importDateFilter,
page: $scope.page,
per_page: $scope.per_page
}
RequestMonitor.load(BulkProducts.fetch(params).$promise).then ->
# update url with the filters used
$location.search(ProductFiltersUrl.generate($scope.q))
$scope.resetProducts()
removeClearedValues = ->
delete $scope.producerFilter if $scope.producerFilter == "0"
delete $scope.categoryFilter if $scope.categoryFilter == "0"
delete $scope.importDateFilter if $scope.importDateFilter == "0"
delete $scope.q.producerFilter if $scope.q.producerFilter == "0"
delete $scope.q.categoryFilter if $scope.q.categoryFilter == "0"
delete $scope.q.importDateFilter if $scope.q.importDateFilter == "0"
$timeout ->
if $scope.showLatestImport
$scope.importDateFilter = $scope.importDates[1].id
$scope.q.importDateFilter = $scope.importDates[1].id
$scope.resetProducts = ->
DirtyProducts.clear()
@@ -101,16 +95,16 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.visibleTab = tab
$scope.resetSelectFilters = ->
$scope.query = ""
$scope.producerFilter = "0"
$scope.categoryFilter = "0"
$scope.importDateFilter = "0"
$scope.q.query = ""
$scope.q.producerFilter = "0"
$scope.q.categoryFilter = "0"
$scope.q.importDateFilter = "0"
$scope.fetchProducts()
$scope.$watch 'sortOptions', (sort) ->
return unless sort && sort.predicate != ""
$scope.sorting = sort.getSortingExpr()
$scope.q.sorting = sort.getSortingExpr()
$scope.fetchProducts()
, true
@@ -122,8 +116,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.editWarn = (product, variant) ->
if confirm_unsaved_changes()
window.open(editProductUrl(product, variant), "_blank")
$window.location.href = ProductFiltersUrl.buildUrl(editProductUrl(product, variant), $scope.q)
$scope.toggleShowAllVariants = ->
showVariants = !DisplayProperties.showVariants 0
@@ -220,10 +213,10 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
data:
products: productsToSubmit
filters:
'q[name_cont]': $scope.query
'q[supplier_id_eq]': $scope.producerFilter
'q[primary_taxon_id_eq]': $scope.categoryFilter
import_date: $scope.importDateFilter
'q[name_cont]': $scope.q.query
'q[supplier_id_eq]': $scope.q.producerFilter
'q[primary_taxon_id_eq]': $scope.q.categoryFilter
import_date: $scope.q.importDateFilter
page: $scope.page
per_page: $scope.per_page
).success((data) ->

View File

@@ -47,3 +47,8 @@ angular.module("admin.customers").controller "customersCtrl", ($scope, $q, $filt
tag.text.toLowerCase().indexOf(query.toLowerCase()) != -1
defer.resolve filtered
defer.promise
$scope.displayBalanceStatus = (customer) ->
return unless customer.balance_status
t('admin.customers.index.' + customer.balance_status)

View File

@@ -5,5 +5,10 @@ angular.module("ofn.admin").directive "ofnSelect2MinSearch", ->
minimumResultsForSearch: attrs.ofnSelect2MinSearch
ngModel.$formatters.push (value) ->
if (value)
element.select2('val', value);
# select2 populates options with a value like "number:3" or "string:category" but
# select2('val', value) doesn't do the type conversion for us as one would expect
if isNaN(value)
element.select2('val', "string:#{value}")
else
element.select2('val', "number:#{value}")

View File

@@ -69,25 +69,24 @@ angular.module("admin.enterprises")
$scope.newUser = $scope.invite_errors = $scope.invite_success = null
$scope.removeLogo = ->
return unless confirm(t("admin.enterprises.remove_logo.immediate_removal_warning"))
Enterprises.removeLogo($scope.Enterprise).then (data) ->
$scope.Enterprise = angular.copy(data)
$scope.$emit("enterprise:updated", $scope.Enterprise)
StatusMessage.display("success", t("admin.enterprises.remove_logo.removed_successfully"))
, (response) ->
if response.data.error?
StatusMessage.display("failure", response.data.error)
$scope.performEnterpriseAction("removeLogo", "immediate_logo_removal_warning", "removed_logo_successfully")
$scope.removePromoImage = ->
return unless confirm(t("admin.enterprises.remove_promo_image.immediate_removal_warning"))
$scope.performEnterpriseAction("removePromoImage", "immediate_promo_image_removal_warning", "removed_promo_image_successfully")
Enterprises.removePromoImage($scope.Enterprise).then (data) ->
$scope.removeTermsAndConditions = ->
$scope.performEnterpriseAction("removeTermsAndConditions", "immediate_terms_and_conditions_removal_warning", "removed_terms_and_conditions_successfully")
$scope.performEnterpriseAction = (enterpriseActionName, warning_message_key, success_message_key) ->
return unless confirm($scope.translation(warning_message_key))
Enterprises[enterpriseActionName]($scope.Enterprise).then (data) ->
$scope.Enterprise = angular.copy(data)
$scope.$emit("enterprise:updated", $scope.Enterprise)
StatusMessage.display("success", t("admin.enterprises.remove_promo_image.removed_successfully"))
StatusMessage.display("success", $scope.translation(success_message_key))
, (response) ->
if response.data.error?
StatusMessage.display("failure", response.data.error)
$scope.translation = (key) ->
t('js.admin.enterprises.form.images.' + key)

View File

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

View File

@@ -9,22 +9,19 @@ angular.module('admin.orderCycles', ['ngTagsInput', 'admin.indexUtils', 'admin.e
$timeout ->
# using $parse instead of scope[attrs.datetimepicker] for cases
# where attrs.datetimepicker is 'foo.bar.lol'
$(element).datetimepicker
dateFormat: 'yy-mm-dd'
timeFormat: 'HH:mm'
showOn: 'button'
controlType: 'select'
oneLine: true
buttonImage: "<%= asset_path 'datepicker/cal.gif' %>"
buttonImageOnly: true
stepMinute: 15
onSelect: (dateText, inst) ->
scope.$apply(->
element.val(dateText)
parsed = $parse(attrs.datetimepicker)
parsed.assign(scope, dateText)
)
$(element).datetimepicker(
Object.assign(
window.JQUERY_UI_DATETIME_PICKER_DEFAULTS,
{
onSelect: (dateText, inst) ->
scope.$apply(->
element.val(dateText)
parsed = $parse(attrs.datetimepicker)
parsed.assign(scope, dateText)
)
}
)
)
.directive 'ofnOnChange', ->
(scope, element, attrs) ->

View File

@@ -53,17 +53,18 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager
[value, unit_name]
scale_for_unit_value: ->
# Find the largest available unit where unit_value comes to >= 1 when expressed in it.
# If there is none available where this is true, use the smallest available unit.
unit = ([scale, unit_name] for scale, unit_name of VariantUnitManager.unitNames[@variant.product.variant_unit] when @variant.unit_value / scale >= 1).reduce (unit, [scale, unit_name]) ->
if (unit && scale > unit[0]) || !unit?
[scale, unit_name]
else
unit
, null
if !unit?
unit = ([scale, unit_name] for scale, unit_name of VariantUnitManager.unitNames[@variant.product.variant_unit]).reduce (unit, [scale, unit_name]) ->
if scale < unit[0] then [scale, unit_name] else unit
, [Infinity,""]
# Find the largest available and compatible unit where unit_value comes
# 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)
variantUnitValue = @variant.unit_value
unit
# sets largestScale = last element in filtered scales array
[_, ..., largestScale] = (scales.filter (s) -> variantUnitValue / s >= 1)
if (largestScale)
[largestScale, VariantUnitManager.getUnitName(largestScale, product.variant_unit)]
else
[scales[0], VariantUnitManager.getUnitName(scales[0], product.variant_unit)]

View File

@@ -1,22 +1,41 @@
angular.module("admin.products").factory "VariantUnitManager", ->
angular.module("admin.products").factory "VariantUnitManager", (availableUnits) ->
class VariantUnitManager
@unitNames:
@units:
'weight':
1.0: 'g'
1000.0: 'kg'
1000000.0: 'T'
1.0:
name: 'g'
system: 'metric'
1000.0:
name: 'kg'
system: 'metric'
1000000.0:
name: 'T'
system: 'metric'
453.6:
name: 'lb'
system: 'imperial'
28.35:
name: 'oz'
system: 'imperial'
'volume':
0.001: 'mL'
1.0: 'L'
1000.0: 'kL'
0.001:
name: 'mL'
system: 'metric'
1.0:
name: 'L'
system: 'metric'
1000.0:
name: 'kL'
system: 'metric'
@variantUnitOptions: ->
options = for unit_type, scale_with_name of @unitNames
for scale in @unitScales(unit_type)
available = availableUnits.split(",")
options = for unit_type, _ of @units
for scale in @unitScales(unit_type, available)
name = @getUnitName(scale, unit_type)
["#{I18n.t(unit_type)} (#{name})", "#{unit_type}_#{scale}"]
options.push [[I18n.t('items'), 'items']]
[].concat options...
options = [].concat options...
@getScale: (value, unitType) ->
scaledValue = null
@@ -30,7 +49,21 @@ angular.module("admin.products").factory "VariantUnitManager", ->
unitScales[0]
@getUnitName: (scale, unitType) ->
@unitNames[unitType][scale]
if @units[unitType][scale]
@units[unitType][scale]['name']
else
''
@unitScales: (unitType) ->
(parseFloat(scale) for scale in Object.keys(@unitNames[unitType])).sort()
@unitScales: (unitType, availableUnits = null) ->
scales = Object.keys(@units[unitType])
if availableUnits
scales = scales.filter (scale) ->
availableUnits.includes(VariantUnitManager.getUnitName(scale, unitType))
(parseFloat(scale) for scale in scales).sort (a, b) ->
a - b
@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

View File

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

View File

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

View File

@@ -0,0 +1,23 @@
angular.module("ofn.admin").factory "ProductFiltersUrl", ($httpParamSerializer) ->
new class ProductFiltersUrl
productFilters: ['producerFilter', 'categoryFilter', 'query', 'sorting', 'importDateFilter']
loadFromUrl: (filters) ->
loadedFilters = {}
for filter in @productFilters
loadedFilters[filter] = if filters[filter] then filters[filter] else ""
loadedFilters
generate: (ctrlFilters) ->
filters = {}
for filter in @productFilters
filters[filter] = ctrlFilters[filter] if ctrlFilters[filter]
filters
buildUrl: (baseUrl, ctrlFilters) ->
filterUrl = $httpParamSerializer(@generate(ctrlFilters))
filterUrl = "?#{filterUrl}" if filterUrl isnt ""
"#{baseUrl}#{filterUrl}"

View File

@@ -1,5 +1,4 @@
//= require_self
//= require admin/handlebar_extensions
//= require admin/spree/orders/variant_autocomplete
/**
@@ -116,7 +115,8 @@ $.fn.radioControlsVisibilityOfElement = function(dependentElementSelector){
}
$(document).ready(function() {
if (typeof Spree !== 'undefined') {
if (typeof Spree !== 'undefined' &&
typeof Spree.translations !== 'undefined') {
handle_date_picker_fields = function(){
$('.datepicker').datepicker({
dateFormat: Spree.translations.date_picker,
@@ -127,7 +127,16 @@ $(document).ready(function() {
nextText: Spree.translations.next,
showOn: "focus"
});
$.datepicker.regional[I18n.locale] = {
prevText: Spree.translations.previous,
nextText: Spree.translations.next,
monthNames: Spree.translations.month_names,
dayNames: Spree.translations.abbr_day_names,
dayNamesMin: Spree.translations.abbr_day_names,
dateFormat: Spree.translations.date_picker
};
$.datepicker.setDefaults( $.datepicker.regional[I18n.locale]);
// Correctly display range dates
$('.date-range-filter .datepicker-from').datepicker('option', 'onSelect', function(selectedDate) {
$(".date-range-filter .datepicker-to" ).datepicker( "option", "minDate", selectedDate );

View File

@@ -0,0 +1,9 @@
//= require handlebars
Handlebars.registerHelper("t", function(key) {
if (Spree.translations[key]) {
return Spree.translations[key]
} else {
console.error("No translation found for " + key + ". Does it exist within spree/admin/shared/_translations.html.erb?")
}
});

View File

@@ -1,59 +0,0 @@
$(document).ready(function() {
if ($('input#preferences_use_s3[type="checkbox"]:checked').length > 0) {
$('#s3_settings, #s3_headers').show();
}
// Toggle display of S3 settings based on value of use_s3 checkbox
$('input#preferences_use_s3[type="checkbox"]').click(function() {
$('#s3_settings, #s3_headers').toggle();
});
$(document).on('click', '.destroy_style', function(e) {
e.preventDefault();
$(this).parent().remove();
});
$(document).on('click', '.destroy_new_attachment_styles', function(e) {
e.preventDefault();
$(this).closest('.new_attachment_styles').remove();
});
$(document).on('click', '.destroy_new_s3_headers', function(e) {
e.preventDefault();
$(this).closest('.new_s3_headers').remove();
});
// Handle adding new styles
var styles_hash_index = 1;
$(document).on('click', '.add_new_style', function(e) {
e.preventDefault();
$('#new-styles').append(generate_html_for_hash("new_attachment_styles", styles_hash_index));
});
// Handle adding new headers
var headers_hash_index = 1;
$(document).on('click', '.add_header', function(e) {
e.preventDefault();
$('#headers_list').append(generate_html_for_hash("new_s3_headers", headers_hash_index));
});
// Generates html for new paperclip styles form fields
generate_html_for_hash = function(hash_name, index) {
var html = '<div class="' + hash_name + ' row"><div class="field">';
html += '<div class="five columns">';
html += '<label for="' + hash_name + '_' + index + '_name">';
html += Spree.translations.name + '</label>';
html += '<input id="' + hash_name + '_' + index + '_name" name="' + hash_name + '[' + index + '][name]" type="text" class="fullwidth"><br>';
html += '</div><div class="five columns">'
html += '<label for="' + hash_name + '_' + index + '_value">';
html += Spree.translations.value + '</label>';
html += '<input id="' + hash_name + '_' + index + '_value" name="' + hash_name + '[' + index + '][value]" type="text" class="fullwidth">';
html += '</div><div class="two columns">'
html += '<a href="#" title="' + Spree.translations.destroy + '" class="destroy_' + hash_name + ' with-tip button" style="margin-top: 19px;"><i class="icon-trash"></i> &nbsp; ' + Spree.translations.destroy + '</a>';
html += '</div></div></div>';
index += 1;
return html;
};
});

View File

@@ -1,27 +1,17 @@
var update_state = function(region) {
var country = $('span#' + region + 'country .select2').select2('val');
var state_select = $('span#' + region + 'state select.select2');
var state_input = $('span#' + region + 'state input.state_name');
$.get(Spree.routes.states_search + "?country_id=" + country, function(data) {
var states = data["states"]
if (states.length > 0) {
state_select.html('');
var states_with_blank = [{name: '', id: ''}].concat(states);
$.each(states_with_blank, function(pos,state) {
var opt = $(document.createElement('option'))
.attr('value', state.id)
.html(state.name);
state_select.append(opt);
});
state_select.prop("disabled", false).show();
state_select.select2();
state_input.hide().prop("disabled", true);
} else {
state_input.prop("disabled", false).show();
state_select.select2('destroy').hide();
}
$.get(Spree.routes.states_search + "?country_id=" + country, function(states) {
state_select.html('');
var states_with_blank = [{name: '', id: ''}].concat(states);
$.each(states_with_blank, function(pos,state) {
var opt = $(document.createElement('option'))
.attr('value', state.id)
.html(state.name);
state_select.append(opt);
});
state_select.prop("disabled", false).show();
state_select.select2();
})
};

View File

@@ -0,0 +1,17 @@
$(document).ready(function() {
var order_use_billing_input = $('input#order_use_billing');
var order_use_billing = function () {
if (!order_use_billing_input.is(':checked')) {
$('#shipping').show();
} else {
$('#shipping').hide();
}
};
order_use_billing_input.click(function() {
order_use_billing();
});
order_use_billing();
});

View File

@@ -0,0 +1,13 @@
#= require jsuri
class window.Spree
# Helper function to take a URL and add query parameters to it
@url: (uri, query) ->
if uri.path == undefined
uri = new Uri(uri)
if query
$.each query, (key, value) ->
uri.addQueryParam(key, value)
if Spree.api_key
uri.addQueryParam('token', Spree.api_key)
return uri

View File

@@ -1,22 +1,30 @@
$(document).ready(function() {
$('.datetimepicker').datetimepicker({
dateFormat: 'yy-mm-dd',
timeFormat: 'HH:mm',
$(document).ready(function(){
window.JQUERY_UI_DATE_PICKER_DEFAULTS = {
dateFormat: Spree.translations.date_picker,
dayNames: Spree.translations.abbr_day_names,
dayNamesMin: Spree.translations.abbr_day_names,
monthNames: Spree.translations.month_names,
prevText: Spree.translations.previous,
nextText: Spree.translations.next,
showOn: 'button',
controlType: 'select',
oneLine: true,
showOn: 'button',
buttonImage: "<%= asset_path 'datepicker/cal.gif' %>",
buttonImageOnly: true,
stepMinute: 15
});
});
buttonImageOnly: true
}
$(document).ready(function(){
window.JQUERY_UI_DATETIME_PICKER_DEFAULTS = Object.assign(
{},
window.JQUERY_UI_DATE_PICKER_DEFAULTS,
{
currentText: Spree.translations.datetime_ui_current_text,
closeText: Spree.translations.datetime_ui_close_text,
timeText: Spree.translations.datetime_ui_time_text,
timeFormat: 'HH:mm',
controlType: 'select',
stepMinute: 15
}
);
$('.datetimepicker').datetimepicker(window.JQUERY_UI_DATETIME_PICKER_DEFAULTS);
$('a.close').click(function(event){
event.preventDefault();
$(this).parent().slideUp(250);

View File

@@ -28,20 +28,23 @@
#= require angular-backstretch.js
#= require angular-flash.min.js
#
#= require moment
#= require moment/de.js
#= require moment/en-gb.js
#= require moment/es.js
#= require moment/fr.js
#= require moment/it.js
#= require moment/nb.js
#= require moment/pt-br.js
#= require moment/pt.js
#= require moment/ru.js
#= require moment/sv.js
#= require moment/ca.js
#= require moment/ar.js
#= require moment/tr.js
#= require moment/min/moment.min.js
#= require moment/locale/ar.js
#= require moment/locale/ca.js
#= require moment/locale/de.js
#= require moment/locale/en-gb.js
#= require moment/locale/es.js
#= require moment/locale/fil.js
#= require moment/locale/fr.js
#= require moment/locale/it.js
#= require moment/locale/nb.js
#= require moment/locale/nl-be.js
#= require moment/locale/pt-br.js
#= require moment/locale/pt.js
#= require moment/locale/ru.js
#= require moment/locale/sv.js
#= require moment/locale/tr.js
#= require moment/locale/pl.js
#
#= require modernizr
#

View File

@@ -1,7 +1,7 @@
Darkswarm.controller "CreditCardsCtrl", ($scope, CreditCard, CreditCards) ->
angular.extend(this, new FieldsetMixin($scope))
$scope.savedCreditCards = CreditCards.saved
$scope.setDefault = CreditCards.setDefault
$scope.confirmSetDefault = CreditCards.confirmSetDefault
$scope.CreditCard = CreditCard
$scope.secrets = CreditCard.secrets
$scope.showForm = CreditCard.show

View File

@@ -2,15 +2,6 @@ Darkswarm.controller "OrderCycleCtrl", ($scope, $rootScope, $timeout, OrderCycle
$scope.order_cycle = OrderCycle.order_cycle
$scope.OrderCycle = OrderCycle
# Timeout forces this to be evaluated after everything is loaded
# This is a hack. We should probably write our own "popover" directive
# That takes an expression instead of a trigger, and binds to that
$timeout =>
$rootScope.$broadcast 'orderCycleSelected'
if !$scope.OrderCycle.selected()
$("#order_cycle_id").trigger("openTrigger")
Darkswarm.controller "OrderCycleChangeCtrl", ($scope, $rootScope, $timeout, OrderCycle, Products, Variants, Cart, ChangeableOrdersAlert) ->
# Track previous order cycle id for use with revertOrderCycle()
$scope.previous_order_cycle_id = OrderCycle.order_cycle.order_cycle_id
@@ -34,3 +25,6 @@ Darkswarm.controller "OrderCycleChangeCtrl", ($scope, $rootScope, $timeout, Orde
Cart.reloadFinalisedLineItems()
ChangeableOrdersAlert.reload()
$rootScope.$broadcast 'orderCycleSelected'
$scope.closesInLessThan3Months = () ->
moment().diff(moment(OrderCycle.orders_close_at(), "YYYY-MM-DD HH:mm:SS Z"), 'days') > -75

View File

@@ -1,4 +1,4 @@
Darkswarm.controller "PageSelectionCtrl", ($scope, $location) ->
Darkswarm.controller "PageSelectionCtrl", ($scope, $rootScope, $location) ->
$scope.selectedPage = ->
# The path looks like `/contact` for the URL `https://ofn.org/shop#/contact`.
# We remove the slash at the beginning.
@@ -15,3 +15,8 @@ Darkswarm.controller "PageSelectionCtrl", ($scope, $location) ->
$scope.whitelistPages = (pages) ->
$scope.whitelist = pages
$scope.lastPage = pages[0]
# when an order cycle is changed, ensure the shop tab is active to save a click
$rootScope.$on "orderCycleSelected", ->
if $scope.selectedPage() != "shop"
$location.path("shop")

View File

@@ -1,6 +1,6 @@
Darkswarm.controller "ProductNodeCtrl", ($scope, $modal, FilterSelectorsService) ->
$scope.enterprise = $scope.product.supplier # For the modal, so it's consistent
$scope.productPropertySelectors = FilterSelectorsService.createSelectors()
$scope.triggerProductModal = ->
$scope.productPropertySelectors = FilterSelectorsService.createSelectors()
$modal.open(templateUrl: "product_modal.html", scope: $scope)

View File

@@ -12,6 +12,11 @@ Darkswarm.controller "ProductsCtrl", ($scope, $sce, $filter, $rootScope, Product
$scope.supplied_properties = null
$scope.showFilterSidebar = false
# Update filters after initial load of shop tab
$timeout =>
$scope.update_filters()
# Update filters when order cycle changed
$rootScope.$on "orderCycleSelected", ->
$scope.update_filters()
$scope.clearAll()
@@ -63,7 +68,7 @@ Darkswarm.controller "ProductsCtrl", ($scope, $sce, $filter, $rootScope, Product
id: $scope.order_cycle.order_cycle_id,
page: page || $scope.page,
per_page: $scope.per_page,
'q[name_or_meta_keywords_or_supplier_name_cont]': $scope.query,
'q[name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_supplier_name_cont]': $scope.query,
'q[properties_id_or_supplier_properties_id_in_any][]': $scope.activeProperties,
'q[primary_taxon_id_in_any][]': $scope.activeTaxons
}

View File

@@ -0,0 +1,39 @@
Darkswarm.controller "ShopVariantCtrl", ($scope, $modal, Cart) ->
$scope.$watchGroup [
'variant.line_item.quantity',
'variant.line_item.max_quantity'
], (new_value, old_value) ->
return if old_value[0] == null && new_value[0] == null
Cart.adjust($scope.variant.line_item)
$scope.add = (quantity) ->
item = $scope.variant.line_item
item.quantity += quantity
if $scope.variant.product.group_buy
if item.quantity < 1 || item.max_quantity < item.quantity
item.max_quantity = item.quantity
$scope.addMax = (quantity) ->
item = $scope.variant.line_item
item.max_quantity += quantity
if item.max_quantity < item.quantity
item.quantity = item.max_quantity
$scope.canAdd = (quantity) ->
wantedQuantity = $scope.variant.line_item.quantity + quantity
$scope.quantityValid(wantedQuantity)
$scope.canAddMax = (quantity) ->
variant = $scope.variant
wantedQuantity = variant.line_item.max_quantity + quantity
$scope.quantityValid(wantedQuantity) && variant.line_item.quantity > 0
$scope.quantityValid = (quantity) ->
variant = $scope.variant
minimum = 0
maximum = variant.on_demand && Infinity || variant.on_hand
quantity >= minimum && quantity <= maximum
$scope.addBulk = (quantity) ->
$scope.add(quantity)
$modal.open(templateUrl: "bulk_buy_modal.html", scope: $scope, windowClass: "product-bulk-modal")

View File

@@ -16,8 +16,5 @@ window.Darkswarm = angular.module("Darkswarm", [
$httpProvider.defaults.headers['common']['X-Requested-With'] = 'XMLHttpRequest'
$httpProvider.defaults.headers.common.Accept = "application/json, text/javascript, */*"
# This allows us to trigger these two events on tooltips
$tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger' )
# We manually handle our scrolling
$anchorScrollProvider.disableAutoScrolling()

View File

@@ -43,7 +43,7 @@ Darkswarm.directive 'mapSearch', ($timeout, Search) ->
# When the map loads, and we have a search from ?query, perform that search
scope.performUrlSearch = (map) ->
google.maps.event.addListenerOnce map, "idle", =>
google.maps.event.trigger(scope.input, 'focus');
google.maps.event.trigger(scope.input, 'focus',{});
google.maps.event.trigger(scope.input, 'keydown', {keyCode: 13});
# Bias the SearchBox results towards places that are within the bounds of the

View File

@@ -2,7 +2,7 @@ Darkswarm.directive "priceBreakdown", ($tooltip)->
# We use the $tooltip service from Angular foundation to give us boilerplate
# Subsequently we patch the scope, template and restrictions
tooltip = $tooltip 'priceBreakdown', 'priceBreakdown', 'click'
tooltip.scope =
tooltip.scope =
variant: "="
tooltip.templateUrl = "price_breakdown_button.html"
tooltip.replace = true
@@ -15,6 +15,3 @@ Darkswarm.directive 'priceBreakdownPopup', ->
replace: true
templateUrl: 'price_breakdown.html'
scope: false
link: (scope, elem, attrs) ->
scope.expanded = false unless scope.expanded?

View File

@@ -1,10 +0,0 @@
Darkswarm.directive "pricePercentage", ->
restrict: 'E'
replace: true
templateUrl: 'price_percentage.html'
scope:
percentage: '='
link: (scope, elem, attrs) ->
elem.find(".meter").css
width: "#{scope.percentage}%"

View File

@@ -4,10 +4,4 @@ Darkswarm.directive "shopVariant", ->
templateUrl: 'shop_variant.html'
scope:
variant: '='
controller: ($scope, Cart) ->
$scope.$watchGroup [
'variant.line_item.quantity',
'variant.line_item.max_quantity'
], (new_value, old_value) ->
return if old_value[0] == null && new_value[0] == null
Cart.adjust($scope.variant.line_item)
controller: 'ShopVariantCtrl'

View File

@@ -5,15 +5,13 @@ Darkswarm.directive "tabsetCtrl", (Tabsets, $location) ->
selected: "@"
navigate: "="
prefix: "@?"
alwaysopen: "="
controller: ($scope, $element) ->
if $scope.navigate
path = $location.path()?.match(/^\/\w+$/)?[0]
$scope.selected = path[1..] if path
this.toggle = (name) ->
state = if $scope.alwaysopen then 'open' else null
Tabsets.toggle($scope.id, name, state)
Tabsets.toggle($scope.id, name)
this.select = (selection) ->
$scope.$broadcast("selection:changed", selection)

View File

@@ -6,7 +6,7 @@ Darkswarm.filter "localizeCurrency", (currencyConfig)->
# Set decimal points, 2 or 0 if hide_cents.
decimals = if currencyConfig.hide_cents == "true" then 0 else 2
# Set format if the currency symbol should come after the number, otherwise (default) use the locale setting.
format = if currencyConfig.symbol_position == "after" then "%n %u" else undefined
format = if currencyConfig.symbol_position == "after" then "%n%u" else undefined
# We need to use parseFloat as the amount should come in as a string.
amount = parseFloat(amount)

View File

@@ -1,4 +1,4 @@
Darkswarm.factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, localStorageService, RailsFlashLoader) ->
Darkswarm.factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, localStorageService, Messages) ->
# Handles syncing of current cart/order state to server
new class Cart
dirty: false
@@ -50,7 +50,7 @@ Darkswarm.factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $roo
@popQueue() if @update_enqueued
.error (response, status)=>
RailsFlashLoader.loadFlash({error: t('js.cart.add_to_cart_failed')})
Messages.flash({error: response.error})
@update_running = false
compareAndNotifyStockLevels: (stockLevels) =>

View File

@@ -1,4 +1,4 @@
Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeElements, PaymentMethods, $http, Navigation, CurrentHub, RailsFlashLoader, Loading)->
Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeElements, PaymentMethods, $http, Navigation, CurrentHub, Messages)->
new class Checkout
errors: {}
secrets: {}
@@ -13,7 +13,7 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE
@submit()
submit: =>
Loading.message = t 'submitting_order'
Messages.loading(t 'submitting_order')
$http.put('/checkout.json', {order: @preprocess()})
.then (response) =>
Navigation.go response.data.path
@@ -24,7 +24,8 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE
try
@loadFlash(error: t("checkout.failed")) # inform the user about the unexpected error
finally
throw error # generate a BugsnagJS alert
Bugsnag.notify(error)
throw error
handle_checkout_error_response: (response) =>
throw response unless response.data?
@@ -38,8 +39,7 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE
@loadFlash(response.data.flash)
loadFlash: (flash) =>
Loading.clear()
RailsFlashLoader.loadFlash(flash)
Messages.flash(flash)
# Rails wants our Spree::Address data to be provided with _attributes
preprocess: ->
@@ -95,6 +95,10 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE
last_name: @order.bill_address.lastname
save_requested_by_customer: @secrets.save_requested_by_customer
}
if @terms_and_conditions_accepted()
munged_order["terms_and_conditions_accepted"] = true
munged_order
shippingMethod: ->
@@ -114,3 +118,7 @@ Darkswarm.factory 'Checkout', ($injector, CurrentOrder, ShippingMethods, StripeE
cartTotal: ->
@order.display_total + @shippingPrice() + @paymentPrice()
terms_and_conditions_accepted: ->
terms_and_conditions_checkbox = angular.element("#accept_terms")[0]
terms_and_conditions_checkbox? && terms_and_conditions_checkbox.checked

View File

@@ -1,4 +1,4 @@
Darkswarm.factory 'CreditCard', ($injector, $rootScope, CreditCards, StripeElements, Navigation, $http, RailsFlashLoader, Loading)->
Darkswarm.factory 'CreditCard', ($injector, $rootScope, CreditCards, StripeElements, Navigation, $http, Messages)->
new class CreditCard
visible: false
errors: {}
@@ -12,16 +12,15 @@ Darkswarm.factory 'CreditCard', ($injector, $rootScope, CreditCards, StripeEleme
params = @process_params()
$http.put('/credit_cards/new_from_token', params )
.success (data, status) =>
Loading.clear()
Messages.clear()
@reset()
CreditCards.add(data)
.error (response, status) =>
if response.path
Navigation.go response.path
else
Loading.clear()
@errors = response.errors
RailsFlashLoader.loadFlash(response.flash)
Messages.flash(response.flash)
setFullName: ->
@secrets.name = "#{@secrets.first_name} #{@secrets.last_name}"

View File

@@ -1,4 +1,4 @@
Darkswarm.factory 'CreditCards', ($http, $filter, savedCreditCards, RailsFlashLoader)->
Darkswarm.factory 'CreditCards', ($http, $filter, savedCreditCards, Messages, Customers)->
new class CreditCard
saved: $filter('orderBy')(savedCreditCards,'-is_default')
@@ -10,6 +10,14 @@ Darkswarm.factory 'CreditCards', ($http, $filter, savedCreditCards, RailsFlashLo
for othercard in @saved when othercard != card
othercard.is_default = false
$http.put("/credit_cards/#{card.id}", is_default: true).then (data) ->
RailsFlashLoader.loadFlash({success: t('js.default_card_updated')})
Messages.success(t('js.default_card_updated'))
Customers.clearAllAllowCharges()
, (response) ->
RailsFlashLoader.loadFlash({error: response.data.flash.error})
Messages.flash(response.data.flash)
confirmSetDefault: (card, event) =>
if confirm t("js.default_card_voids_auth")
@setDefault(card)
else
event.preventDefault()
return false

View File

@@ -1,4 +1,4 @@
angular.module("Darkswarm").factory 'Customer', ($resource, RailsFlashLoader) ->
angular.module("Darkswarm").factory 'Customer', ($resource, $injector, Messages) ->
Customer = $resource('/api/customers/:id/:action.json', {}, {
'index':
method: 'GET'
@@ -12,9 +12,22 @@ angular.module("Darkswarm").factory 'Customer', ($resource, RailsFlashLoader) ->
})
Customer.prototype.update = ->
if @allow_charges
Messages.loading(t('js.authorising'))
@$update().then (response) =>
RailsFlashLoader.loadFlash({success: t('js.changes_saved')})
if response.gateway_recurring_payment_client_secret && $injector.has('stripePublishableKey')
Messages.clear()
stripe = Stripe($injector.get('stripePublishableKey'), { stripeAccount: response.gateway_shop_id })
stripe.confirmCardSetup(response.gateway_recurring_payment_client_secret).then (result) =>
if result.error
@allow_charges = false
@$update(allow_charges: false)
Messages.error(result.error.message)
else
Messages.success(t('js.changes_saved'))
else
Messages.success(t('js.changes_saved'))
, (response) =>
RailsFlashLoader.loadFlash({error: response.data.error})
Messages.error(response.data.error)
Customer

View File

@@ -12,3 +12,7 @@ angular.module("Darkswarm").factory 'Customers', (Customer) ->
for customer in customers
@all.push customer
@byID[customer.id] = customer
clearAllAllowCharges: () ->
for customer in @index()
customer.allow_charges = false

View File

@@ -1,5 +1,5 @@
Darkswarm.factory "Loading", ->
new class Loading
message: null
message: null
clear: =>
@message = null

View File

@@ -0,0 +1,17 @@
Darkswarm.factory "Messages", (Loading, RailsFlashLoader)->
new class Messages
loading: (message) ->
Loading.message = message
success: (message) ->
@flash(success: message)
error: (message) ->
@flash(error: message)
flash: (flash) ->
@clear()
RailsFlashLoader.loadFlash(flash)
clear: ->
Loading.clear()

View File

@@ -1,4 +1,4 @@
Darkswarm.factory 'StripeElements', ($rootScope, Loading, RailsFlashLoader) ->
Darkswarm.factory 'StripeElements', ($rootScope, Messages) ->
new class StripeElements
# These are both set from the StripeElements directive
stripe: null
@@ -8,39 +8,49 @@ Darkswarm.factory 'StripeElements', ($rootScope, Loading, RailsFlashLoader) ->
requestToken: (secrets, submit, loading_message = t("processing_payment")) ->
return unless @stripe? && @card?
Loading.message = loading_message
Messages.loading loading_message
cardData = @makeCardData(secrets)
@stripe.createToken(@card, cardData).then (response) =>
if(response.error)
Loading.clear()
RailsFlashLoader.loadFlash({error: t("error") + ": #{response.error.message}"})
@triggerAngularDigest()
console.error(JSON.stringify(response.error))
@reportError(response.error, t("error") + ": #{response.error.message}")
else
secrets.token = response.token.id
secrets.cc_type = @mapTokenApiCardBrand(response.token.card.brand)
secrets.card = response.token.card
submit()
.catch (response) =>
# Stripe handles errors in the response above. This code may never be
# reached. But if we get here, we want to know.
@reportError(response, t("js.stripe_elements.unknown_error_from_stripe"))
throw response
# Create Payment Method to be used with the Stripe Payment Intents API
createPaymentMethod: (secrets, submit, loading_message = t("processing_payment")) ->
return unless @stripe? && @card?
Loading.message = loading_message
Messages.loading loading_message
cardData = @makeCardData(secrets)
@stripe.createPaymentMethod({ type: 'card', card: @card }, @card, cardData).then (response) =>
if(response.error)
Loading.clear()
RailsFlashLoader.loadFlash({error: t("error") + ": #{response.error.message}"})
@triggerAngularDigest()
console.error(JSON.stringify(response.error))
@reportError(response.error, t("error") + ": #{response.error.message}")
else
secrets.token = response.paymentMethod.id
secrets.cc_type = @mapPaymentMethodsApiCardBrand(response.paymentMethod.card.brand)
secrets.card = response.paymentMethod.card
submit()
.catch (response) =>
# Stripe handles errors in the response above. This code may never be
# reached. But if we get here, we want to know.
@reportError(response, t("js.stripe_elements.unknown_error_from_stripe"))
throw response
reportError: (error, messageForUser) ->
Messages.error(messageForUser)
@triggerAngularDigest()
console.error(error)
Bugsnag.notify(new Error(JSON.stringify(error)))
triggerAngularDigest: ->
# $evalAsync is improved way of triggering a digest without calling $apply

View File

@@ -7,12 +7,10 @@ Darkswarm.factory 'Tabsets', ->
@tabsets.push { ctrl: ctrl, id: id, selected: selected }
ctrl.select(selected) if selected?
toggle: (id, name, state=null) ->
toggle: (id, name) ->
tabset = @findTabsetByObject(id)
if tabset.selected == name
@select(tabset, null) unless state == "open"
else
@select(tabset, name) unless state == "closed"
if tabset.selected != name
@select(tabset, name)
select: (tabset, name) ->
tabset.selected = name

View File

@@ -10,7 +10,6 @@ Darkswarm.factory 'Variants', ->
extend: (variant)->
variant.extended_name = @extendedVariantName(variant)
variant.base_price_percentage = Math.round(variant.price / variant.price_with_fees * 100)
variant.line_item ||= @lineItemFor(variant) # line_item may have been initialised in Cart#constructor
variant.line_item.total_price = variant.price_with_fees * variant.line_item.quantity
variant

View File

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

View File

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

View File

@@ -0,0 +1,37 @@
.row
.columns.small-12
%h3{"ng-bind" => "::variant.extended_name"}
.row.variant-bulk-buy-price-summary
.columns.small-6
.variant-unit {{ ::variant.unit_to_display }}
.columns.small-6
{{ variant.line_item.total_price | localizeCurrency }}
.row
.columns.small-6
.variant-bulk-buy-quantity-label
{{ "js.shopfront.bulk_buy_modal.min_quantity" | t }}
%div
%button.bulk-buy-add.variant-quantity{type: "button", ng: {click: "add(-1)", disabled: "!canAdd(-1)"}}>
-# U+FF0D Fullwidth Hyphen-Minus
%span.bulk-buy.variant-quantity>
{{ variant.line_item.quantity }}
%button.bulk-buy-add.variant-quantity{type: "button", ng: {click: "add(1)", disabled: "!canAdd(1)"}}
-# U+FF0B Fullwidth Plus Sign
.columns.small-6
.variant-bulk-buy-quantity-label
{{ "js.shopfront.bulk_buy_modal.max_quantity" | t }}
%div
%button.bulk-buy-add.variant-quantity{type: "button", ng: {click: "addMax(-1)", disabled: "!canAddMax(-1)"}}>
-# U+FF0D Fullwidth Hyphen-Minus
%span.bulk-buy.variant-quantity>
{{ variant.line_item.max_quantity }}
%button.bulk-buy-add.variant-quantity{type: "button", ng: {click: "addMax(1)", disabled: "!canAddMax(1)"}}
-# U+FF0B Fullwidth Plus Sign
%ng-include{src: "'partials/close.html'"}

View File

@@ -14,8 +14,9 @@
{{'hubs_delivery' | t}}
.row
.columns.small-12
%a.cta-hub{"ng-href" => "{{::enterprise.path}}", "ng-attr-target" => "{{ embedded_layout ? '_blank' : undefined}}",
%a.cta-hub{"ng-href" => "{{::enterprise.path}}#/shop", "ng-attr-target" => "{{ embedded_layout ? '_blank' : undefined}}",
"ng-class" => "{primary: enterprise.active, secondary: !enterprise.active}",
"ng-click" => "$close()",
"ofn-change-hub" => "enterprise"}
.hub-name{"ng-bind" => "::enterprise.name"}
%span{"ng-if" => "::enterprise.active"} ({{'maps_open' | t}})

View File

@@ -12,8 +12,9 @@
.row
.columns.small-12
%a.cta-hub{"ng-repeat" => "hub in enterprise.hubs | filter:{id: '!'+enterprise.id} | orderBy:'-active'",
"ng-href" => "{{::hub.path}}", "ofn-empties-cart" => "hub",
"ng-class" => "::{primary: hub.active, secondary: !hub.active}"}
"ng-href" => "{{::hub.path}}#/shop", "ofn-empties-cart" => "hub",
"ng-class" => "::{primary: hub.active, secondary: !hub.active}",
"ng-click" => "$close()"}
.hub-name{"ng-bind" => "::hub.name"}
%span{"ng-if" => "::hub.active"} ({{'maps_open' | t}})
%span{"ng-if" => "::!hub.active"} ({{'maps_closed' | t}})

View File

@@ -1,14 +1,16 @@
.small-5.medium-3.large-3.columns.text-right{"ng-if" => "::!variant.product.group_buy"}
%input{type: :number,
integer: true,
value: nil,
min: 0,
placeholder: "0",
"ofn-disable-scroll" => true,
"ng-debounce" => "500",
onwheel: "this.blur()",
"ng-model" => "variant.line_item.quantity",
"ofn-on-hand" => "{{variant.on_demand && 9999 || variant.on_hand }}",
"ng-disabled" => "!variant.on_demand && variant.on_hand == 0",
name: "variants[{{::variant.id}}]", id: "variants_{{::variant.id}}"}
%button.add-variant{type: "button", ng: {if: "!variant.line_item.quantity", click: "add(1)", disabled: "!canAdd(1)"}}
{{ "js.shopfront.variant.add_to_cart" | t }}
%button.variant-quantity{type: "button", ng: {if: "variant.line_item.quantity", click: "add(-1)"}}>
-# U+FF0D Fullwidth Hyphen-Minus
%button.variant-quantity{type: "button", ng: {if: "variant.line_item.quantity", click: "add(1)", disabled: "!canAdd(1)"}}
-# U+FF0B Fullwidth Plus Sign
%br
.variant-quantity-display{ng: {class: "{visible: variant.line_item.quantity}"}}
{{ "js.shopfront.variant.quantity_in_cart" | t:{quantity: variant.line_item.quantity || 0} }}
%input{type: :hidden,
name: "variants[{{::variant.id}}]",
ng: {model: "variant.line_item.quantity"}}

View File

@@ -1,28 +1,17 @@
.small-5.medium-3.large-3.columns.text-right{"ng-if" => "::variant.product.group_buy"}
%span.bulk-input-container
%span.bulk-input
%input.bulk.first{type: :number,
value: nil,
integer: true,
min: 0,
"ng-model" => "variant.line_item.quantity",
placeholder: "{{::'shop_variant_quantity_min' | t}}",
"ofn-disable-scroll" => true,
"ng-debounce" => "500",
onwheel: "this.blur()",
"ofn-on-hand" => "{{variant.on_demand && 9999 || variant.on_hand }}",
name: "variants[{{::variant.id}}]", id: "variants_{{::variant.id}}"}
%span.bulk-input
%input.bulk.second{type: :number,
"ng-disabled" => "!variant.line_item.quantity",
integer: true,
min: 0,
"ng-model" => "variant.line_item.max_quantity",
placeholder: "{{::'shop_variant_quantity_max' | t}}",
"ofn-disable-scroll" => true,
"ng-debounce" => "500",
onwheel: "this.blur()",
min: "{{variant.line_item.quantity}}",
name: "variant_attributes[{{::variant.id}}][max_quantity]",
id: "variants_{{::variant.id}}_max"}
%button.add-variant{type: "button", ng: {if: "!variant.line_item.quantity", click: "addBulk(1)", disabled: "!canAdd(1)"}}
{{ "js.shopfront.variant.add_to_cart" | t }}
%button.bulk-buy.variant-quantity{type: "button", ng: {if: "variant.line_item.quantity", click: "addBulk(0)"}}>
{{ variant.line_item.quantity }}
%button.bulk-buy.variant-quantity{type: "button", ng: {if: "variant.line_item.quantity", click: "addBulk(0)"}}
{{ variant.line_item.max_quantity || "-" }}
%br
.variant-quantity-display{ng: {class: "{visible: variant.line_item.quantity}"}}
{{ "js.shopfront.variant.in_cart" | t }}
%input{type: :hidden,
name: "variants[{{::variant.id}}]",
ng: {model: "variant.line_item.quantity"}}
%input{type: :hidden,
name: "variants[{{::variant.id}}]",
ng: {model: "variant.line_item.max_quantity"}}

View File

@@ -1,37 +1,28 @@
.joyride-tip-guide.price_breakdown{"ng-class" => "{ in: tt_isOpen, fade: tt_animation }"}
%span.joyride-nub.right
.joyride-tip-guide.price_breakdown{ng: {class: "{ in: tt_isOpen, fade: tt_animation }", show: "tt_isOpen"}}
%span.joyride-nub.top
.background{ng: {click: "tt_isOpen = false"}}
.joyride-content-wrapper
.collapsed{"ng-show" => "!expanded"}
%price-percentage{percentage: 'variant.base_price_percentage'}
%a{"ng-click" => "expanded = !expanded"}
%span{"ng-bind" => "::'price_breakdown' | t"}
%i.ofn-i_005-caret-down
.expanded{"ng-show" => "expanded"}
%ul
%li.cost
.right {{ ::variant.price | localizeCurrency }}
%span{"ng-bind" => "::'item_cost' | t"}
%li.admin-fee{"ng-if" => "::variant.fees.admin"}
.right {{ ::variant.fees.admin | localizeCurrency }}
%span{"ng-bind" => "::'admin_fee' | t"}
%li.sales-fee{"ng-if" => "::variant.fees.sales"}
.right {{ ::variant.fees.sales | localizeCurrency }}
%span{"ng-bind" => "::'sales_fee' | t"}
%li.packing-fee{"ng-if" => "::variant.fees.packing"}
.right {{ ::variant.fees.packing | localizeCurrency }}
%span{"ng-bind" => "::'packing_fee' | t"}
%li.transport-fee{"ng-if" => "::variant.fees.transport"}
.right {{ ::variant.fees.transport | localizeCurrency }}
%span{"ng-bind" => "::'transport_fee' | t"}
%li.fundraising-fee{"ng-if" => "::variant.fees.fundraising"}
.right {{ ::variant.fees.fundraising | localizeCurrency }}
%span{"ng-bind" => "::'fundraising_fee' | t"}
%li.total
%strong
.right = {{ ::variant.price_with_fees | localizeCurrency }}
&nbsp;
%a{"ng-click" => "expanded = !expanded"}
%span{"ng-bind" => "::'price_graph' | t"}
%i.ofn-i_006-caret-up
%h6 {{ "js.shopfront.price_breakdown" | t }}
%ul
%li
.right {{ ::variant.price | localizeCurrency }}
%span{"ng-bind" => "::'item_cost' | t"}
%li{"ng-if" => "::variant.fees.admin"}
.right {{ ::variant.fees.admin | localizeCurrency }}
%span{"ng-bind" => "::'admin_fee' | t"}
%li{"ng-if" => "::variant.fees.sales"}
.right {{ ::variant.fees.sales | localizeCurrency }}
%span{"ng-bind" => "::'sales_fee' | t"}
%li{"ng-if" => "::variant.fees.packing"}
.right {{ ::variant.fees.packing | localizeCurrency }}
%span{"ng-bind" => "::'packing_fee' | t"}
%li{"ng-if" => "::variant.fees.transport"}
.right {{ ::variant.fees.transport | localizeCurrency }}
%span{"ng-bind" => "::'transport_fee' | t"}
%li{"ng-if" => "::variant.fees.fundraising"}
.right {{ ::variant.fees.fundraising | localizeCurrency }}
%span{"ng-bind" => "::'fundraising_fee' | t"}
%li
%strong
.right = {{ ::variant.price_with_fees | localizeCurrency }}
&nbsp;

View File

@@ -1,4 +0,0 @@
.progress
.right {{::'fees' | t}}
.meter
{{::'item_cost' | t}}

View File

@@ -1,31 +1,16 @@
.variants.row
.small-12.medium-4.large-4.columns.variant-name
.table-cell
.inline {{ ::variant.name_to_display }}
.bulk-buy.inline{"ng-if" => "::variant.product.group_buy"}
%i.ofn-i_056-bulk><
%em><
\ {{::'bulk' | t}}
.small-4.medium-4.large-6.columns.variant-name
.inline{"ng-if" => "::variant.display_name"} {{ ::variant.display_name }}
.variant-unit {{ ::variant.unit_to_display }}
.small-3.medium-3.large-2.columns.variant-price
%price-breakdown{"price-breakdown" => "_", variant: "variant",
"price-breakdown-append-to-body" => "true",
"price-breakdown-placement" => "bottom",
"price-breakdown-animation" => true}
{{ variant.price_with_fees | localizeCurrency }}
.medium-2.large-1.columns.total-price
%span{"ng-class" => "{filled: variant.line_item.total_price}"}
{{ variant.line_item.total_price | localizeCurrency }}
%ng-include{src: "'partials/shop_variant_no_group_buy.html'"}
%ng-include{src: "'partials/shop_variant_with_group_buy.html'"}
.small-3.medium-1.large-1.columns.variant-unit
.table-cell
%em {{ ::variant.unit_to_display }}
.small-4.medium-2.large-2.columns.variant-price
.table-cell.price
%i.ofn-i_009-close
{{ variant.price_with_fees | localizeCurrency }}
-# Now in a template in app/assets/javascripts/templates !
%price-breakdown{"price-breakdown" => "_", variant: "variant",
"price-breakdown-append-to-body" => "true",
"price-breakdown-placement" => "left",
"price-breakdown-animation" => true}
.small-12.medium-2.large-2.columns.total-price.text-right
.table-cell
%strong{"ng-class" => "{filled: variant.line_item.total_price}"}
{{ variant.line_item.total_price | localizeCurrency }}

View File

@@ -35,7 +35,6 @@
@import 'plugins/font-awesome';
@import 'plugins/select2';
@import 'sections/image_settings';
@import 'sections/orders';
@import 'sections/products';

View File

@@ -1,3 +1,5 @@
@import 'shared/variables/layout';
// -------------------------------------------------------------
// Variables used in all other files
//--------------------------------------------------------------

View File

@@ -29,11 +29,6 @@ html.ie {
z-index: 0;
}
}
// Fix margin-top for destroy paperclip styles background
.destroy_new_attachment_styles {
margin-top: 17px !important;
}
}
// IE8 Hacks

View File

@@ -1,7 +1,9 @@
@import "variables";
@import "../variables";
span.unavailable, span.available {
span.unavailable,
span.available {
font-weight: bold;
i {
font-size: 150%;
}
@@ -13,4 +15,4 @@ span.available {
span.unavailable {
color: $warning-red;
}
}

View File

@@ -121,3 +121,10 @@ form#image_upload {
}
}
form.edit_image {
.field {
img {
max-width: 150px;
}
}
}

View File

@@ -3,6 +3,7 @@
.report__table {
margin-top: 2em;
}
.report__message {
margin-top: 2em;
border: 1px solid $pale-blue;
@@ -10,3 +11,7 @@
padding: .5em;
text-align: center;
}
.customer-names-tip {
margin-top: 1em;
}

View File

@@ -1,3 +0,0 @@
.destroy_style, .destroy_header {
float: right;
}

View File

@@ -8,23 +8,61 @@
box-sizing: border-box;
}
// Helpers
.block-table {
display: table;
width: 100%;
.admin {
&__section-header {
padding: 15px 0;
background-color: very-light($color-3, 4);
border-bottom: 1px solid $color-border;
.table-cell {
display: table-cell;
vertical-align: middle;
padding: 0 10px;
&:first-child {
padding-left: 0;
width: 70%;
.ofn-drop-down {
border: 0;
background-color: $spree-blue;
color: $color-1;
float: none;
margin-left: 3px;
&:hover,
&.expanded {
border: 0;
color: $color-1;
}
}
&:last-child {
padding-right: 0;
width: 30%;
&__content {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
@media all and (min-width: $tablet_breakpoint) {
flex-wrap: nowrap;
}
}
&__title {
width: 100%;
margin-bottom: 10px;
@media all and (min-width: $tablet_breakpoint) {
margin-bottom: 0;
}
}
&__actions {
display: flex;
flex: 1 0 auto;
align-items: center;
list-style: none;
@media all and (min-width: $tablet_breakpoint) {
justify-content: flex-end;
}
> li {
display: flex;
margin-right: 10px;
&:empty {
display: none;
}
&:last-child {
margin-right: 0;
}
}
}
}
}
@@ -33,12 +71,6 @@
display: none;
}
// For block grids
.frameless {
margin-left: -10px;
margin-right: -10px;
}
// Header
//---------------------------------------------------
#header {
@@ -66,25 +98,6 @@
margin-top: 15px;
}
#content-header {
padding: 15px 0;
background-color: very-light($color-3, 4);
border-bottom: 1px solid $color-border;
.page-title {
font-size: 20px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.page-actions {
text-align: right;
form {
display: inline-block;
}
}
}
// Footer
//---------------------------------------------------
#footer {

View File

@@ -132,3 +132,29 @@ dl {
padding: 40px 0px;
color: lighten($color-body-text, 15);
}
.text-normal {
font-size: 1rem;
font-weight: 300;
}
.text-big {
font-size: 1.2rem;
font-weight: 300;
}
.text-red {
color: $warning-red;
}
input.text-big {
font-size: 1.1rem;
}
.pad-top {
padding-top: 1em;
}
.white-space-nowrap {
white-space: nowrap;
}

View File

@@ -1,20 +0,0 @@
@import "variables";
.text-normal {
font-size: 1.0rem;
font-weight: 300;
}
.text-big {
font-size: 1.2rem;
font-weight: 300;
}
.text-red {
color: $warning-red;
}
input.text-big {
font-size: 1.1rem;
}

View File

@@ -6,93 +6,110 @@
.darkswarm {
// #search
@include placeholder(rgba(0, 0, 0, 0.4), #777);
}
// ordering
product {
input {
@include border-radius(0);
.reveal-modal.product-bulk-modal {
width: 26em;
}
@include csstrans;
// Components to add variants to cart and change quantities
//
// They are not nested so that they can be used in modals.
button.add-variant, button.variant-quantity {
height: 2.5rem;
border-radius: 0;
background-color: $orange-500;
color: white;
// Override foundation button styles:
font-size: 1rem;
margin: 0;
padding: 0;
transition: none;
margin: 0;
width: 10rem;
display: inline;
@include box-shadow(none);
border-color: #b3b3b3;
text-align: right;
@include breakpoint(desktop) {
width: 8rem;
}
@include breakpoint(tablet) {
width: 7rem;
}
@include breakpoint(phablet) {
float: left !important;
font-size: 0.75rem;
padding-left: 0.25rem;
padding-right: 0.25rem;
}
@include breakpoint(mobile) {
width: 5.8rem;
}
&:hover {
@include box-shadow(none);
border-color: #888;
background-color: #fafafa;
}
&:active, &:focus, &.active {
@include box-shadow(none);
background-color: #f9f4b9;
border-color: #666;
}
&:hover {
background-color: $orange-600;
}
&[disabled] {
&:hover, &:focus {
background-color: $orange-500;
}
}
&:nth-of-type(1) {
border-bottom-left-radius: 0.25em;
border-top-left-radius: 0.25em;
}
&:nth-last-of-type(1) {
border-top-right-radius: 0.25em;
border-bottom-right-radius: 0.25em;
}
}
// BULK
button.add-variant {
min-width: 6rem;
padding: 0 1em;
input.bulk {
width: 5rem;
@include breakpoint(desktop) {
width: 4rem;
}
@include breakpoint(tablet) {
width: 3.5rem;
}
@include breakpoint(mobile) {
width: 2.8rem;
}
}
input.bulk.first {
border-right: 0;
}
input.bulk.second {
border-left: 0;
}
.bulk-input-container {
float: right;
@include breakpoint(phablet) {
float: left !important;
}
.bulk-input {
float: left;
}
&[disabled] {
&:hover, &:focus {
background-color: $orange-500;
}
}
}
button.variant-quantity {
width: 3rem;
&:nth-of-type(1):not(.bulk-buy):not(.bulk-buy-add) {
border-right: .1em solid $orange-400;
}
}
.variant-quantity-display {
display: inline-block;
font-size: 0.875em;
margin-top: 0.25em;
text-align: center;
width: 6rem;
visibility: hidden;
&.visible {
visibility: visible;
}
}
button.bulk-buy.variant-quantity {
background-color: transparent;
border: .1em solid $grey-200;
color: inherit;
}
button.bulk-buy-add.variant-quantity {
width: 2.5rem;
&[disabled] {
background-color: $grey-400;
&:hover, &:focus {
background-color: $grey-400;
}
}
}
span.bulk-buy.variant-quantity {
border: .1em solid $grey-200;
height: 2.5rem;
display: inline-block;
min-width: 3em;
padding: .5em;
text-align: center;
vertical-align: top;
}
.variant-bulk-buy-price-summary {
color: $disabled-med;
margin-bottom: 1em;
}
.variant-bulk-buy-quantity-label {
font-size: 0.875rem;
margin-bottom: .5em;
}

View File

@@ -178,7 +178,7 @@ shop ordercycle {
}
shop navigation ordercycle {
margin-top: 3em;
margin-top: 3.4em;
padding: 1em;
height: 7.6em;
position: absolute;

View File

@@ -4,86 +4,69 @@
// Pop over
// Foundation overrides
.joyride-tip-guide.price_breakdown {
width: 16rem;
max-width: 65%;
// JS needs to be tweaked to adjust for left alignment - this is dynamic can't rewrite in CSS
background-color: #999;
color: #1f1f1f;
margin-left: -8px;
margin-left: -7.4rem;
margin-top: 0.1rem;
@include box-shadow(0 1px 2px 0 rgba(0, 0, 0, 0.7));
@include box-shadow(0 2px 8px 0 rgba(0, 0, 0, 0.35));
.joyride-content-wrapper {
padding: 1.125rem 1.25rem 1.5rem;
padding: 1rem;
margin: 1%;
padding: .625rem;
width: 98%;
background-color: white;
}
h1, h2, h3, h4, h5, h6 {
color: #1f1f1f;
}
.joyride-nub.right {
top: 38px;
border-color: #999 !important;
border-top-color: transparent !important;
border-right-color: transparent !important;
border-bottom-color: transparent !important;
}
.progress {
background-color: #13bf85;
padding: 0;
border: none;
background-color: $grey-800;
color: white;
font-size: 0.75rem;
font-style: oblique;
line-height: 1;
height: auto;
.right {
padding: 0.5rem 0.25rem 0 0;
}
.meter {
background-color: #0b8c61;
padding: 0.5rem 0.25rem;
border-right: 1px solid #539f92;
}
}
.expanded {
ul, li {
list-style: none;
margin: 0;
font-size: 0.875rem;
}
h6 {
font-size: 0.937rem;
line-height: 1;
border-bottom: .1em solid $grey-700;
padding: 0 0 .625em 0;
margin-bottom: 2px;
}
li {
background-color: #13bf85;
padding: 0 0.25rem;
margin-bottom: 2px;
color: white;
}
.joyride-nub.top {
left: 7.4rem;
z-index: -1;
}
li.cost {
background-color: #0b8c61;
}
.background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
cursor: pointer;
}
li:last-child {
margin-bottom: 0.75rem;
}
ul, li {
list-style: none;
margin: 0;
font-size: 0.875rem;
}
li {
line-height: 1;
border-bottom: .1em solid $grey-700;
padding: 0.625rem 0;
margin-bottom: 2px;
}
li:last-child {
border-bottom: 0;
padding-bottom: 0;
}
}
button.graph-button {
// z-index: 9999999
border: 1px solid transparent;
padding: 0;
margin: 0;
display: inline;
display: inline-block;
background-color: rgba(255, 255, 255, 0.5);
padding: 4px;
@include box-shadow(none);
@@ -97,7 +80,6 @@ button.graph-button {
}
&:focus {
border: 1px solid #e0e0e0;
background-color: rgba(255, 255, 255, 1);
&:before {
@@ -107,22 +89,15 @@ button.graph-button {
&:hover, &:active {
background-color: rgba(255, 255, 255, 1);
border: 1px solid transparent;
&:before {
color: $clr-brick-bright;
color: $teal-500;
}
}
@include breakpoint(tablet) {
// Hide for small
display: none;
}
}
button.graph-button.open {
border: 1px solid transparent;
background-color: $clr-brick-bright;
background-color: $teal-500;
&:before {
content: "";

View File

@@ -10,91 +10,58 @@
.columns {
padding-top: 0em;
padding-bottom: 0em;
display: table;
line-height: 1.1;
// outline: 1px solid red
@include breakpoint(tablet) {
font-size: 0.875rem;
}
@include breakpoint(phablet) {
font-size: 0.75rem;
}
}
}
.table-cell {
display: table-cell;
vertical-align: middle;
height: 37px;
.shop-variants {
// product-thumb width + 1rem
padding-left: calc(22.222% + 1rem);
@include breakpoint(phablet) {
padding-left: 0;
clear: left;
}
}
// ROW VARIANTS
.row.variants {
margin-left: 0;
margin-right: 0;
background-color: #ECECEC;
&:hover, &:focus, &:active {
background-color: $clr-brick-light;
}
&:nth-of-type(even) {
background-color: #f9f9f9;
&:hover, &:focus, &:active {
background-color: $clr-brick-ultra-light;
}
}
margin: 0 0 1em 0;
&.out-of-stock {
opacity: 0.2;
}
.variant-name,
.total-price {
padding-top: .74em;
}
.variant-price {
padding-top: .65em;
}
// Variant name
.variant-name {
padding-left: 7.9375rem;
padding-left: 0;
padding-right: 0;
@include breakpoint(tablet) {
padding-left: 4.9375rem;
}
}
.variant-name {
@include breakpoint(phablet) {
background: #333;
color: white;
padding-left: 0.9375rem;
font-weight: bold;
.table-cell {
height: 27px;
}
padding-left: 0.5rem;
}
}
// Variant unit
.variant-unit {
padding-left: 0rem;
padding-right: 0rem;
color: #888;
font-size: 0.875rem;
overflow: hidden;
@include breakpoint(tablet) {
font-size: 0.75rem;
& > *:nth-child(n + 2) {
color: $grey-550;
font-size: 0.875rem;
font-style: italic;
line-height: normal;
}
}
// Variant price
.variant-price {
padding-left: 0.25rem;
padding-right: 0.25rem;
white-space: nowrap;
@include breakpoint(phablet) {
text-align: right;
padding-left: 1rem;
}
}
@@ -108,24 +75,16 @@
}
@include breakpoint(phablet) {
background: #777;
color: $disabled-med;
.filled {
color: white;
}
.table-cell {
height: 27px;
}
display: none;
}
}
}
// ROW SUMMARY
.row.summary {
.summary {
margin-left: 0;
margin-right: 0;
margin-bottom: 1.25em;
background: #fff;
.columns {
@@ -140,39 +99,77 @@
}
.summary-header {
padding-left: 7.9375rem;
@include breakpoint(tablet) {
padding-left: 4.9375rem;
}
// product-thumb width + 1rem
padding-left: calc(22.222% + 1rem);
padding-right: 1rem;
@include breakpoint(phablet) {
padding-left: 0.9375rem;
padding-left: calc(33.333% + 1rem);
}
small {
font-size: 80%;
.product-producer {
color: $grey-550;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-style: italic;
a {
color: $teal-500;
&:hover, &:focus, &:active {
color: $teal-600;
text-decoration: underline;
}
}
}
h3 {
font-size: 1.5rem;
margin: 0;
font-size: 1.3rem;
margin-top: 0.75rem;
margin-bottom: 0.6rem;
}
h3 a {
color: #222;
i {
@include csstrans;
font-size: 0.6em;
}
color: $orange-500;
&:hover, &:focus, &:active {
color: $clr-brick;
color: $orange-600;
text-decoration: underline;
}
}
i {
font-size: 0.8em;
.product-description {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 0.75rem;
}
.product-properties {
margin: .5em 0;
li {
margin: 0 0.25rem 0.25rem 0;
a {
padding: 0.1em 0.625em;
cursor: auto;
&.has-tip {
cursor: pointer;
font-weight: normal;
}
&:hover, &:focus {
border-color: #ccc;
}
}
// Foundation doesn't show the nub on mobile.
// Repeating the style to show it here.
.nub {
border-color: transparent transparent #333333 transparent;
}
}
}

View File

@@ -1,80 +1,32 @@
@import "mixins";
@import "branding";
@import "animations";
.darkswarm {
products {
product {
.product-thumb {
@include csstrans;
position: absolute;
top: 2px;
left: 0px;
width: 7rem;
height: 7rem;
// Desktop: the product summary is nine columns wide. Use two
// for the image. 100% / 9 * 2 = 22.222% <= 192px
width: calc(22.222%);
float: left;
display: block;
z-index: 1;
background-color: white;
overflow: hidden;
i {
@include csstrans;
transition-delay: 150ms;
position: absolute;
left: 45%;
top: 45%;
z-index: 99999;
color: white;
font-size: 1rem;
opacity: 0;
}
img {
@include csstrans;
opacity: 1;
@include transform-scale(scale(1));
}
&:hover, &:focus, &:active {
background-color: $clr-brick;
i {
left: 32%;
top: 30%;
font-size: 3rem;
opacity: 1;
}
img {
opacity: 0.5;
@include transform-scale(scale(1.1));
}
}
@include breakpoint(tablet) {
top: 2px;
width: 4rem;
height: 4rem;
&:hover, &:focus, &:active {
i {
left: 30%;
top: 30%;
font-size: 2rem;
}
}
}
// Mobile: the summary has full twelve columns and the image
// should take four of them. 100% / 12 * 4 = 33.333% <= 227px
@include breakpoint(phablet) {
display: none;
width: 0rem;
height: 0rem;
width: calc(33.333%);
}
// Make this an anchor for the bulk label.
position: relative;
.product-thumb__bulk-label {
background-color: $grey-700;
color: white;
position: absolute;
right: 0;
top: .8em;
padding: .25em .5em;
}
&:hover {
filter: brightness(96%);
}
}
}

View File

@@ -1,47 +0,0 @@
@import "mixins";
.darkswarm {
products {
product {
.taxon-flag {
background: transparent image-url("flag.svg") top center no-repeat;
background-size: 34px 39px;
min-height: 40px;
width: 34px;
margin-top: -1.1rem;
padding-top: 0.25rem;
z-index: 999999;
@include breakpoint(mobile) {
background-size: 28px 32px;
min-height: 32px;
width: 28px;
}
render-svg {
svg {
width: 24px;
height: 24px;
path {
fill: #999;
}
}
}
@include breakpoint(tablet) {
margin-top: -0.85rem;
}
@include breakpoint(mobile) {
render-svg {
svg {
width: 18px;
height: 18px;
}
}
}
}
}
}
}

View File

@@ -11,7 +11,6 @@ $ofn-grey: #808184;
$clr-brick: #c1122b;
$clr-brick-light: #f5e6e7;
$clr-brick-light-trans: rgba(245, 230, 231, 0.9);
$clr-brick-ultra-light: #faf5f6;
$clr-brick-bright: #eb4c46;
$clr-brick-med-bright: #e5a2a0;
$clr-brick-light-bright: #f5c4c9;
@@ -48,6 +47,7 @@ $grey-200: #ddd;
$grey-300: #ccc;
$grey-400: #bbb;
$grey-500: #999;
$grey-550: #888;
$grey-600: #777;
$grey-650: #666;
$grey-700: #555;
@@ -56,6 +56,7 @@ $grey-800: #333;
$teal-300: #80d3df;
$teal-400: #4cb5c5;
$teal-500: #0096ad;
$teal-600: #007a9a;
$orange-400: #ff9466;
$orange-450: #f4704c;

View File

@@ -5,7 +5,7 @@ $large-menu-height: 4.6875rem;
$medium-menu-height: 3rem;
$gutter-width: 0.9375rem;
nav.top-bar ul.left li.powered-by {
.top-bar .powered-by {
display: none;
}
@@ -59,13 +59,6 @@ body.embedded {
line-height: $large-menu-height;
height: $large-menu-height;
vertical-align: top;
&.cart {
div.joyride-tip-guide { // Cart Dropdown
top: 75px;
overflow: visible;
}
}
}
}

View File

@@ -16,12 +16,14 @@
width: 100%;
background-color: $shop-sidebar-overlay;
opacity: 0;
transition: opacity $transition-sidebar;
visibility: hidden;
transition: all $transition-sidebar;
}
&.shown {
.background {
opacity: 1;
visibility: visible;
}
.sidebar,

View File

@@ -16,6 +16,22 @@
.active_table_row {
line-height: 1rem;
@include breakpoint(phablet) {
display: inline-block;
width: 100%;
background-color: rgba($white, 0.75);
&:not(.open) {
.columns:last-child {
padding-left: 0;
}
}
a.hub {
display: inline-block;
}
}
}
//Generic text link style
@@ -44,13 +60,6 @@
}
}
//Hub Link
@include breakpoint(phablet) {
a.hub {
display: block;
}
}
//Hub Name
span.hub-name-listing {
font-weight: 700;
@@ -67,11 +76,11 @@
.active_table_row {
border: 1px solid transparent;
@include breakpoint(phablet) {
border-color: $clr-brick-light;
&:hover, &:active, &:focus {
border-color: $clr-brick-light-bright;
}
&:hover, &:active, &:focus {
@include breakpoint(phablet) {
border-color: $clr-brick-light-bright;
}
}
@@ -165,8 +174,9 @@
}
@include breakpoint(phablet) {
.active_table_row:first-child .skinny-head {
background-color: rgba(255, 255, 255, 0.85);
.active_table_row:first-child,
.active_table_row:last-child, {
background-color: rgba($white, 0.75);
}
}
}

View File

@@ -44,6 +44,13 @@ nav.top-bar {
.top-bar-section {
border-bottom: 1px solid $light-grey-transparency;
display: flex;
justify-content: space-between;
.nav-main-menu,
.nav-icons-menu {
flex-shrink: 0;
}
a.icon {
&:hover {
@@ -99,21 +106,14 @@ nav.top-bar {
}
}
ul.center {
display: inline-block;
// By default, we center between the left and right uls, but we want to be centered
// relative to the whole page. The difference in width between the other uls is 74px,
// so we offset by that amount here.
margin-left: -74px;
}
ul.dropdown {
border: 1px solid $smoke;
border-top: none;
left: auto;
right: 0;
}
ul.right {
.nav-icons-menu {
> li {
border-left: 1px solid #ddd;
padding: 0 14px;
@@ -212,7 +212,7 @@ nav.top-bar {
}
.off-canvas-wrap {
overflow: inherit;
overflow: initial;
}
.off-canvas-list li.language-switcher ul li {
@@ -244,9 +244,7 @@ nav.top-bar {
.top-bar .ofn-logo img {
height: auto;
width: auto;
max-height: 44px;
max-width: 250px;
}
.left-off-canvas-menu {
@@ -289,10 +287,6 @@ nav.top-bar {
.has-dropdown > a {
padding: 0 ($topbar-height / 8) !important;
}
ul.center {
margin-left: -24px;
}
}
}

View File

@@ -1,4 +1,5 @@
// Note this mixin file is used in ADMIN and FRONTEND
@import 'shared/variables/layout';
@import "branding";
@@ -141,57 +142,6 @@
// Background options \\
@mixin darkbg {
background-color: $clr-brick;
&, & * {
color: white;
}
a {
color: $clr-brick-ultra-light;
&:hover {
text-decoration: none;
color: $clr-brick-light;
}
}
}
@mixin lightbg {
background-color: $clr-brick-light;
&, & * {
color: black;
}
a {
color: $clr-brick;
&:hover {
text-decoration: none;
color: $clr-brick-bright;
}
}
}
@mixin turqbg {
background-color: $clr-turquoise-light;
&, & * {
color: $clr-turquoise;
}
a {
color: $clr-turquoise;
&:hover {
text-decoration: none;
color: $clr-turquoise-bright;
}
}
}
@mixin fullbg {
background-position: center center;
background-repeat: no-repeat;
@@ -201,12 +151,6 @@
background-size: cover;
}
@mixin fullwidthbg {
background-position: center top;
background-repeat: no-repeat;
background-size: 100% auto;
}
@mixin gradient($gradient-clr1, $gradient-clr2) {
background: $gradient-clr1;
@@ -258,15 +202,15 @@
@mixin breakpoint($point) {
@if $point == desktop {
@media all and (max-width: 1024px) { @content; }
@media all and (max-width: $desktop_breakpoint) { @content; }
}
@else if $point == tablet {
@media all and (max-width: 768px) { @content; }
@media all and (max-width: $tablet_breakpoint) { @content; }
}
@else if $point == phablet {
@media all and (max-width: 640px) { @content; }
@media all and (max-width: $phablet_breakpoint) { @content; }
}
@else if $point == mobile {
@media all and (max-width: 480px) { @content; }
@media all and (max-width: $mobile_breakpoint) { @content; }
}
}

View File

@@ -5,6 +5,11 @@
.active_table .active_table_node {
// Header row
@include breakpoint(phablet) {
.active_table_row {
display: inline-block;
width: 100%;
}
.skinny-head {
background-color: $clr-turquoise-light;

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