Compare commits

...

809 Commits

Author SHA1 Message Date
Luis Ramos
34e6f92d0c Update all locales with the latest Transifex translations 2020-11-10 11:06:33 +00: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
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
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
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
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
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
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
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
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
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
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
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
Arun Kumar Mohan
08604ae8fd Remove Hash#diff usage from cancan helper 2020-09-16 12:14:37 -05: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
Andy Brett
d32ed6b48f improve styling on calculators UI 2020-09-12 10:43:14 -07: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
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
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
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
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
François Turbelin
b60c1c9003 Dry current_enterprise emtod with enterprise_id_param_name 2020-09-03 00:50:23 +02: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
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
François Turbelin
d5800642e7 Map DFC SuppliedProduct with OFN Variant 2020-08-30 23:11:59 +02: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
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
François Turbelin
8687e0199d Apply cosmetics 2020-08-05 08:20: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
523 changed files with 24972 additions and 8601 deletions

View File

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

View File

@@ -13,21 +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
#### 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

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,25 @@ 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/image.rb
- app/models/spree/order.rb
- app/models/spree/payment_method.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/user.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 +97,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 +125,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 +149,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 +166,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 +189,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 +198,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 +217,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 +233,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 +258,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 +288,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 +302,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 +310,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,22 +324,8 @@ Layout/LineLength:
- spec/support/request/shop_workflow.rb
- spec/support/request/web_helper.rb
- spec/support/seeds.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- spec/controllers/base_controller2_spec.rb
- spec/features/consumer/caching/darkswarm_caching_spec.rb
- spec/models/calculator/flexi_rate_spec.rb
- spec/models/calculator/price_sack_spec.rb
- spec/models/spree/stock_item_spec.rb
- spec/requests/api/orders_spec.rb
- spec/swagger_helper.rb
- spec/views/spree/admin/payment_methods/index.html.haml_spec.rb
- app/models/spree/image.rb
- app/models/spree/payment_method.rb
- spec/factories/line_item_factory.rb
- spec/factories/shipment_factory.rb
- spec/factories/stock_location_factory.rb
- spec/factories/user_factory.rb
- spec/lib/spree/core/calculated_adjustments_spec.rb
Metrics/AbcSize:
Max: 15
@@ -356,10 +345,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
@@ -371,6 +360,7 @@ Metrics/AbcSize:
- 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/user_passwords_controller.rb
@@ -382,7 +372,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
@@ -398,24 +387,34 @@ 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/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_decorator.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/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
@@ -423,12 +422,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
@@ -440,13 +437,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
@@ -454,25 +455,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/performance_helper.rb
- app/controllers/application_controller.rb
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.rb
- app/models/spree/payment.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- app/models/spree/zone.rb
- lib/spree/core/calculated_adjustments.rb
- lib/spree/core/delegate_belongs_to.rb
- lib/spree/core/permalinks.rb
- lib/spree/core/s3_support.rb
- lib/spree/money.rb
- spec/support/i18n_translations_checker.rb
- spec/support/performance_helper.rb
- spec/support/request/web_helper.rb
Metrics/BlockLength:
Max: 25
@@ -490,16 +480,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
@@ -507,17 +502,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
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.rb
- spec/requests/api/orders_spec.rb
- spec/swagger_helper.rb
- spec/factories/address_factory.rb
- spec/factories/payment_method_factory.rb
- spec/factories/shipment_factory.rb
Metrics/CyclomaticComplexity:
Max: 6
@@ -527,64 +517,97 @@ 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/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_decorator.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
- lib/spree/localized_number.rb
- spec/models/product_importer_spec.rb
- app/models/spree/order/checkout.rb
- app/models/spree/payment.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- app/models/spree/payment_method.rb
- app/models/spree/zone.rb
- lib/spree/core/calculated_adjustments.rb
Metrics/PerceivedComplexity:
Max: 7
Exclude:
- app/controllers/admin/enterprise_fees_controller.rb
- app/controllers/admin/enterprises_controller.rb
- app/controllers/spree/admin/taxons_controller.rb
- app/controllers/spree/orders_controller.rb
- app/helpers/checkout_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.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/preferences/preferable.rb
- app/models/spree/preferences/preferable_class_methods.rb
- app/models/spree/product_decorator.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/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
- lib/spree/localized_number.rb
- spec/models/product_importer_spec.rb
- app/controllers/admin/enterprises_controller.rb
- app/controllers/api/variants_controller.rb
- 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/ability.rb
- app/models/spree/address.rb
- app/models/spree/order/checkout.rb
- app/models/spree/order.rb
- app/models/spree/product_decorator.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
- lib/spree/localized_number.rb
- spec/models/product_importer_spec.rb
- app/models/spree/order/checkout.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- app/models/spree/zone.rb
- lib/spree/core/calculated_adjustments.rb
Metrics/MethodLength:
Max: 10
@@ -603,7 +626,6 @@ 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
@@ -614,9 +636,9 @@ Metrics/MethodLength:
- 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/user_sessions_controller.rb
- app/controllers/stripe/callbacks_controller.rb
- app/controllers/user_confirmations_controller.rb
@@ -635,32 +657,45 @@ 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_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/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
@@ -671,40 +706,25 @@ 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/localized_number.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
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.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
- app/models/spree/credit_card.rb
- app/models/spree/payment_method.rb
- app/models/spree/zone.rb
- lib/spree/core/calculated_adjustments.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/sample_data/group_factory.rb
- lib/tasks/sample_data/order_factory.rb
- lib/tasks/sample_data/product_factory.rb
- spec/features/consumer/shopping/variant_overrides_spec.rb
- spec/models/product_importer_spec.rb
- spec/support/i18n_translations_checker.rb
Metrics/ClassLength:
@@ -729,16 +749,21 @@ 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/shipment.rb
- app/models/spree/user.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/order/updater.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
@@ -748,10 +773,6 @@ Metrics/ClassLength:
- lib/open_food_network/permissions.rb
- lib/open_food_network/users_and_enterprises_report.rb
- lib/open_food_network/xero_invoices_report.rb
- app/models/spree/payment.rb
- engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb
- app/models/spree/credit_card.rb
- app/models/spree/zone.rb
Metrics/ModuleLength:
Max: 100
@@ -760,45 +781,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/order/updater_spec.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
- 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/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
- app/models/spree/order/checkout.rb
- app/models/spree/payment/processing.rb
- spec/lib/open_food_network/packing_report_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/proxy_order_syncer_spec.rb
- engines/order_management/spec/services/order_management/subscriptions/validator_spec.rb
- lib/open_food_network/column_preference_defaults.rb
- spec/controllers/admin/order_cycles_controller_spec.rb
- spec/controllers/api/orders_controller_spec.rb
- spec/lib/open_food_network/order_cycle_form_applicator_spec.rb
- spec/lib/open_food_network/order_cycle_permissions_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/product_spec.rb
- spec/models/spree/variant_spec.rb
Metrics/ParameterLists:
Max: 5
@@ -810,5 +806,6 @@ Metrics/ParameterLists:
Lint/UselessAssignment:
Exclude:
- 'spec/**/*'
- 'lib/spree/core/controller_helpers/common.rb'
- '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

View File

@@ -1,141 +1,11 @@
# This configuration was generated by
# `rubocop --auto-gen-config --exclude-limit 1400`
# on 2020-09-10 16:12:05 +1000 using RuboCop version 0.81.0.
# on 2020-10-30 17:18:53 +0000 using RuboCop version 0.81.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
Exclude:
- 'spec/models/spree/order/checkout_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleAlignWith.
# SupportedStylesAlignWith: either, start_of_block, start_of_line
Layout/BlockAlignment:
Exclude:
- 'spec/models/spree/order/checkout_spec.rb'
# Offense count: 2
# Cop supports --auto-correct.
Layout/EmptyLines:
Exclude:
- 'spec/models/spree/payment_spec.rb'
# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty_lines, no_empty_lines
Layout/EmptyLinesAroundBlockBody:
Exclude:
- 'spec/models/spree/payment_spec.rb'
- 'spec/models/spree/zone_spec.rb'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
Layout/ExtraSpacing:
Exclude:
- 'spec/models/spree/payment_spec.rb'
- 'spec/requests/api/orders_spec.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
Layout/FirstArrayElementIndentation:
Exclude:
- 'spec/views/spree/admin/payment_methods/index.html.haml_spec.rb'
# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_braces
Layout/FirstHashElementIndentation:
Exclude:
- 'spec/models/spree/payment_spec.rb'
- 'spec/swagger_helper.rb'
# Offense count: 8
# Cop supports --auto-correct.
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
# SupportedColonStyles: key, separator, table
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
Layout/HashAlignment:
Exclude:
- 'spec/lib/open_food_network/packing_report_spec.rb'
- 'spec/models/spree/payment_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: normal, indented_internal_methods
Layout/IndentationConsistency:
Exclude:
- 'spec/models/spree/order/checkout_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: symmetrical, new_line, same_line
Layout/MultilineHashBraceLayout:
Exclude:
- 'spec/models/spree/payment_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
# SupportedStylesForExponentOperator: space, no_space
Layout/SpaceAroundOperators:
Exclude:
- 'spec/models/spree/payment_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideBlockBraces:
Exclude:
- 'spec/models/spree/payment_spec.rb'
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideHashLiteralBraces:
Exclude:
- 'spec/models/spree/payment_spec.rb'
- 'spec/requests/api/orders_spec.rb'
- 'spec/services/checkout/form_data_adapter_spec.rb'
- 'spec/services/user_locale_setter_spec.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: final_newline, final_blank_line
Layout/TrailingEmptyLines:
Exclude:
- 'spec/factories.rb'
- 'spec/factories/address_factory.rb'
# Offense count: 6
# Cop supports --auto-correct.
# Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace:
Exclude:
- 'spec/features/consumer/shopping/shopping_spec.rb'
- 'spec/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report_spec.rb'
- 'spec/requests/api/orders_spec.rb'
# Offense count: 2
Lint/DuplicateMethods:
Exclude:
@@ -149,20 +19,6 @@ Lint/IneffectiveAccessModifier:
- 'app/services/mail_configuration.rb'
- 'lib/open_food_network/feature_toggle.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Exclude:
- 'spec/factories/stock_location_factory.rb'
# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
Exclude:
- 'spec/views/spree/admin/payment_methods/index.html.haml_spec.rb'
# Offense count: 3
# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
Lint/UselessAccessModifier:
@@ -171,12 +27,20 @@ Lint/UselessAccessModifier:
- 'app/services/mail_configuration.rb'
- 'lib/open_food_network/feature_toggle.rb'
# Offense count: 9
# Offense count: 2
Lint/UselessAssignment:
Exclude:
- 'spec/**/*'
- 'app/models/spree/taxon.rb'
- 'lib/spree/core/controller_helpers/common.rb'
# Offense count: 10
Naming/AccessorMethodName:
Exclude:
- 'app/controllers/spree/admin/taxonomies_controller.rb'
- 'app/models/spree/adjustment_decorator.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/adjustment.rb'
- 'app/models/spree/order.rb'
- 'app/services/checkout/post_checkout_actions.rb'
- 'lib/spree/core/controller_helpers/common.rb'
- 'spec/support/request/shop_workflow.rb'
- 'spec/support/request/web_helper.rb'
@@ -196,7 +60,7 @@ Naming/MemoizedInstanceVariableName:
- 'app/mailers/producer_mailer.rb'
- 'lib/open_food_network/address_finder.rb'
# Offense count: 20
# Offense count: 24
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
# NamePrefix: is_, has_, have_
# ForbiddenPrefixes: is_, has_, have_
@@ -208,14 +72,15 @@ Naming/PredicateName:
- 'app/models/enterprise.rb'
- 'app/models/enterprise_relationship.rb'
- 'app/models/order_cycle.rb'
- 'app/models/spree/ability_decorator.rb'
- 'app/models/spree/adjustment_decorator.rb'
- 'app/models/spree/adjustment.rb'
- 'app/models/spree/credit_card.rb'
- 'app/models/spree/line_item_decorator.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/line_item.rb'
- 'app/models/spree/order.rb'
- 'app/models/spree/payment_method.rb'
- 'app/models/spree/preferences/file_configuration.rb'
- 'app/models/spree/shipping_method_decorator.rb'
- 'app/models/spree/preferences/preferable.rb'
- 'app/models/spree/shipping_method.rb'
- 'app/models/spree/user.rb'
- 'lib/open_food_network/customers_report.rb'
- 'lib/open_food_network/order_cycle_management_report.rb'
- 'lib/open_food_network/order_grouper.rb'
@@ -238,6 +103,12 @@ Rails/ActiveRecordAliases:
- 'spec/features/consumer/shopping/orders_spec.rb'
- 'spec/requests/api/orders_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
Rails/ApplicationController:
Exclude:
- 'engines/dfc_provider/app/controllers/dfc_provider/api/base_controller.rb'
# Offense count: 3
# Configuration parameters: EnforcedStyle.
# SupportedStyles: strict, flexible
@@ -246,21 +117,14 @@ Rails/Date:
- 'app/models/order_cycle.rb'
- 'app/models/spree/credit_card.rb'
# Offense count: 1
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforceForPrefixed.
Rails/Delegate:
Exclude:
- 'app/models/spree/line_item.rb'
- 'engines/order_management/app/services/order_management/reports/bulk_coop/renderers/html_renderer.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: Whitelist.
# Whitelist: find_by_sql
Rails/DynamicFindBy:
Exclude:
- 'spec/factories/state_factory.rb'
# Offense count: 16
# Configuration parameters: EnforcedStyle.
# SupportedStyles: slashes, arguments
@@ -271,15 +135,15 @@ Rails/FilePath:
- 'spec/controllers/api/logos_controller_spec.rb'
- 'spec/controllers/api/product_images_controller_spec.rb'
- 'spec/controllers/api/promo_images_controller_spec.rb'
- 'spec/controllers/api/terms_and_conditions_controller_spec.rb'
- 'spec/factories/product_factory.rb'
- 'spec/features/admin/content_spec.rb'
- 'spec/features/admin/enterprises/images_spec.rb'
- 'spec/models/content_configuration_spec.rb'
- 'spec/models/spree/variant_spec.rb'
- 'spec/serializers/api/admin/enterprise_serializer_spec.rb'
- 'spec/support/downloads_helper.rb'
# Offense count: 9
# Offense count: 7
# Cop supports --auto-correct.
# Configuration parameters: Include.
# Include: app/models/**/*.rb
@@ -289,30 +153,31 @@ Rails/FindBy:
- 'app/models/product_import/entry_processor.rb'
- 'app/models/product_import/entry_validator.rb'
- 'app/models/product_import/spreadsheet_data.rb'
- 'app/models/spree/shipment.rb'
- 'app/models/spree/user.rb'
# Offense count: 2
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/FindEach:
Exclude:
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/shipment.rb'
# Offense count: 6
# Offense count: 9
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
Exclude:
- 'app/models/concerns/payment_method_distributors.rb'
- 'app/models/enterprise.rb'
- 'app/models/enterprise_group.rb'
- 'app/models/spree/concerns/payment_method_distributors.rb'
- 'app/models/spree/line_item_decorator.rb'
- 'app/models/spree/line_item.rb'
- 'app/models/spree/role.rb'
- 'app/models/spree/shipping_method.rb'
- 'app/models/spree/user.rb'
- 'app/models/spree/zone.rb'
# Offense count: 27
# Offense count: 38
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
@@ -320,13 +185,17 @@ Rails/HasManyOrHasOneDependent:
- 'app/models/customer.rb'
- 'app/models/enterprise.rb'
- 'app/models/order_cycle.rb'
- 'app/models/spree/adjustment_decorator.rb'
- 'app/models/spree/address.rb'
- 'app/models/spree/adjustment.rb'
- 'app/models/spree/credit_card.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/order.rb'
- 'app/models/spree/payment_method.rb'
- 'app/models/spree/property.rb'
- 'app/models/spree/return_authorization.rb'
- 'app/models/spree/shipment.rb'
- 'app/models/spree/shipping_method_decorator.rb'
- 'app/models/spree/shipping_category.rb'
- 'app/models/spree/shipping_method.rb'
- 'app/models/spree/taxonomy.rb'
- 'app/models/spree/user.rb'
- 'app/models/spree/variant_decorator.rb'
- 'app/models/subscription.rb'
@@ -347,7 +216,7 @@ Rails/HelperInstanceVariable:
- 'app/helpers/spree/admin/orders_helper.rb'
- 'app/helpers/spree/orders_helper.rb'
# Offense count: 35
# Offense count: 33
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb
Rails/LexicallyScopedActionFilter:
@@ -363,7 +232,6 @@ Rails/LexicallyScopedActionFilter:
- 'app/controllers/spree/admin/adjustments_controller.rb'
- 'app/controllers/spree/admin/payment_methods_controller.rb'
- 'app/controllers/spree/admin/payments_controller.rb'
- 'app/controllers/spree/admin/product_properties_controller.rb'
- 'app/controllers/spree/admin/products_controller.rb'
- 'app/controllers/spree/admin/search_controller.rb'
- 'app/controllers/spree/admin/shipping_methods_controller.rb'
@@ -372,7 +240,7 @@ Rails/LexicallyScopedActionFilter:
- 'app/controllers/spree/users_controller.rb'
- 'app/controllers/user_passwords_controller.rb'
# Offense count: 13
# Offense count: 14
Rails/OutputSafety:
Exclude:
- 'app/controllers/spree/admin/reports_controller.rb'
@@ -395,15 +263,16 @@ Rails/RakeEnvironment:
- 'lib/capistrano/tasks/**/*.rake'
- 'lib/tasks/specs.rake'
# Offense count: 9
# Offense count: 11
Rails/ReflectionClassName:
Exclude:
- 'app/models/customer.rb'
- 'app/models/distributor_shipping_method.rb'
- 'app/models/enterprise_role.rb'
- 'app/models/spree/order.rb'
- 'app/models/subscription.rb'
# Offense count: 241
# Offense count: 247
# Configuration parameters: Blacklist, Whitelist.
# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
Rails/SkipsModelValidations:
@@ -419,12 +288,16 @@ Rails/SkipsModelValidations:
- 'app/models/enterprise_relationship.rb'
- 'app/models/product_import/inventory_reset_strategy.rb'
- 'app/models/proxy_order.rb'
- 'app/models/spree/address_decorator.rb'
- 'app/models/spree/address.rb'
- 'app/models/spree/adjustment.rb'
- 'app/models/spree/credit_card.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/inventory_unit.rb'
- 'app/models/spree/order.rb'
- 'app/models/spree/payment.rb'
- 'app/models/spree/shipment.rb'
- 'app/models/spree/shipping_method_decorator.rb'
- 'app/models/spree/shipping_method.rb'
- 'app/models/spree/tax_category.rb'
- 'app/models/spree/taxonomy.rb'
- 'app/models/spree/zone.rb'
- 'app/models/subscription.rb'
- 'app/models/variant_override.rb'
@@ -457,7 +330,6 @@ Rails/SkipsModelValidations:
- 'spec/features/admin/order_cycles/complex_editing_spec.rb'
- 'spec/features/admin/order_cycles/simple_spec.rb'
- 'spec/features/admin/order_spec.rb'
- 'spec/features/admin/payments_spec.rb'
- 'spec/features/admin/reports_spec.rb'
- 'spec/features/consumer/caching/shops_caching_spec.rb'
- 'spec/features/consumer/shopping/checkout_spec.rb'
@@ -472,14 +344,15 @@ Rails/SkipsModelValidations:
- 'spec/lib/open_food_network/products_and_inventory_report_spec.rb'
- 'spec/lib/open_food_network/scope_variant_to_hub_spec.rb'
- 'spec/lib/stripe/credit_card_cloner_spec.rb'
- 'spec/models/calculator/weight_spec.rb'
- 'spec/models/concerns/variant_stock_spec.rb'
- 'spec/models/enterprise_relationship_spec.rb'
- 'spec/models/exchange_spec.rb'
- 'spec/models/spree/adjustment_spec.rb'
- 'spec/models/spree/asset_spec.rb'
- 'spec/models/spree/line_item_spec.rb'
- 'spec/models/spree/order_inventory_spec.rb'
- 'spec/models/spree/order_spec.rb'
- 'spec/models/spree/tax_category_spec.rb'
- 'spec/models/spree/variant_spec.rb'
- 'spec/models/tag_rule/discount_order_spec.rb'
- 'spec/serializers/api/admin/subscription_line_item_serializer_spec.rb'
@@ -494,7 +367,7 @@ Rails/SkipsModelValidations:
- 'spec/support/request/shop_workflow.rb'
- 'spec/views/spree/shared/_order_details.html.haml_spec.rb'
# Offense count: 4
# Offense count: 5
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UniqueValidationWithoutIndex:
@@ -502,6 +375,7 @@ Rails/UniqueValidationWithoutIndex:
- 'app/models/customer.rb'
- 'app/models/exchange.rb'
- 'app/models/spree/stock_item.rb'
- 'app/models/spree/tax_category.rb'
- 'app/models/spree/zone.rb'
# Offense count: 2
@@ -509,24 +383,16 @@ Rails/UniqueValidationWithoutIndex:
# Environments: development, test, production
Rails/UnknownEnv:
Exclude:
- 'app/models/spree/app_configuration_decorator.rb'
- 'app/models/spree/app_configuration.rb'
- 'lib/spree/core/controller_helpers/ssl.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Exclude:
- 'spec/support/request/web_helper.rb'
# Offense count: 2
Style/CaseEquality:
Exclude:
- 'app/helpers/angular_form_helper.rb'
- 'spec/models/spree/payment_spec.rb'
# Offense count: 64
# Offense count: 29
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle.
# SupportedStyles: nested, compact
@@ -541,40 +407,6 @@ Style/ClassAndModuleChildren:
- 'app/models/tag_rule/filter_payment_methods.rb'
- 'app/models/tag_rule/filter_shipping_methods.rb'
- 'app/serializers/api/address_serializer.rb'
- 'app/serializers/api/admin/basic_enterprise_fee_serializer.rb'
- 'app/serializers/api/admin/basic_enterprise_serializer.rb'
- 'app/serializers/api/admin/basic_order_cycle_serializer.rb'
- 'app/serializers/api/admin/calculator/flat_percent_item_total_serializer.rb'
- 'app/serializers/api/admin/calculator_serializer.rb'
- 'app/serializers/api/admin/column_preference_serializer.rb'
- 'app/serializers/api/admin/customer_serializer.rb'
- 'app/serializers/api/admin/enterprise_fee_serializer.rb'
- 'app/serializers/api/admin/enterprise_relationship_permission_serializer.rb'
- 'app/serializers/api/admin/enterprise_relationship_serializer.rb'
- 'app/serializers/api/admin/enterprise_role_serializer.rb'
- 'app/serializers/api/admin/enterprise_serializer.rb'
- 'app/serializers/api/admin/exchange_serializer.rb'
- 'app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb'
- 'app/serializers/api/admin/for_order_cycle/supplied_product_serializer.rb'
- 'app/serializers/api/admin/id_name_serializer.rb'
- 'app/serializers/api/admin/id_serializer.rb'
- 'app/serializers/api/admin/index_enterprise_serializer.rb'
- 'app/serializers/api/admin/inventory_item_serializer.rb'
- 'app/serializers/api/admin/line_item_serializer.rb'
- 'app/serializers/api/admin/order_cycle_serializer.rb'
- 'app/serializers/api/admin/order_serializer.rb'
- 'app/serializers/api/admin/payment_method/base_serializer.rb'
- 'app/serializers/api/admin/payment_method/stripe_serializer.rb'
- 'app/serializers/api/admin/product_serializer.rb'
- 'app/serializers/api/admin/shipping_method_serializer.rb'
- 'app/serializers/api/admin/tag_rule_serializer.rb'
- 'app/serializers/api/admin/tax_category_serializer.rb'
- 'app/serializers/api/admin/taxon_serializer.rb'
- 'app/serializers/api/admin/units_product_serializer.rb'
- 'app/serializers/api/admin/units_variant_serializer.rb'
- 'app/serializers/api/admin/user_serializer.rb'
- 'app/serializers/api/admin/variant_override_serializer.rb'
- 'app/serializers/api/admin/variant_serializer.rb'
- 'app/serializers/api/country_serializer.rb'
- 'app/serializers/api/currency_config_serializer.rb'
- 'app/serializers/api/current_order_serializer.rb'
@@ -608,7 +440,7 @@ Style/FormatStringToken:
- 'lib/open_food_network/sales_tax_report.rb'
- 'spec/features/admin/bulk_order_management_spec.rb'
# Offense count: 829
# Offense count: 765
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
@@ -675,7 +507,6 @@ Style/FrozenStringLiteralComment:
- 'app/controllers/spree/admin/base_controller.rb'
- 'app/controllers/spree/admin/countries_controller.rb'
- 'app/controllers/spree/admin/general_settings_controller.rb'
- 'app/controllers/spree/admin/image_settings_controller.rb'
- 'app/controllers/spree/admin/images_controller.rb'
- 'app/controllers/spree/admin/invoices_controller.rb'
- 'app/controllers/spree/admin/mail_methods_controller.rb'
@@ -710,7 +541,6 @@ Style/FrozenStringLiteralComment:
- 'app/controllers/user_passwords_controller.rb'
- 'app/controllers/user_registrations_controller.rb'
- 'app/helpers/admin/enterprises_helper.rb'
- 'app/helpers/admin/image_settings_helper.rb'
- 'app/helpers/admin/injection_helper.rb'
- 'app/helpers/admin/orders_helper.rb'
- 'app/helpers/admin/subscriptions_helper.rb'
@@ -739,7 +569,6 @@ Style/FrozenStringLiteralComment:
- 'app/helpers/spree/admin/taxons_helper.rb'
- 'app/helpers/spree/admin/zones_helper.rb'
- 'app/helpers/spree/api/api_helpers.rb'
- 'app/helpers/spree/base_helper_decorator.rb'
- 'app/helpers/spree/orders_helper.rb'
- 'app/helpers/spree/reports_helper.rb'
- 'app/helpers/spree_currency_helper.rb'
@@ -803,19 +632,10 @@ Style/FrozenStringLiteralComment:
- '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/address_decorator.rb'
- 'app/models/spree/adjustment_decorator.rb'
- 'app/models/spree/app_configuration_decorator.rb'
- 'app/models/spree/calculator_decorator.rb'
- 'app/models/spree/classification_decorator.rb'
- 'app/models/spree/concerns/payment_method_distributors.rb'
- 'app/models/spree/gateway/migs.rb'
- 'app/models/spree/gateway/pin.rb'
- 'app/models/spree/gateway/stripe_connect.rb'
- 'app/models/spree/line_item_decorator.rb'
- 'app/models/spree/option_type_decorator.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/preferences/file_configuration.rb'
- 'app/models/spree/price_decorator.rb'
- 'app/models/spree/product_decorator.rb'
@@ -823,9 +643,6 @@ Style/FrozenStringLiteralComment:
- 'app/models/spree/product_property_decorator.rb'
- 'app/models/spree/product_set.rb'
- 'app/models/spree/property.rb'
- 'app/models/spree/shipping_method_decorator.rb'
- 'app/models/spree/tax_rate_decorator.rb'
- 'app/models/spree/taxon_decorator.rb'
- 'app/models/spree/user.rb'
- 'app/models/spree/variant_decorator.rb'
- 'app/models/stripe_account.rb'
@@ -841,48 +658,6 @@ Style/FrozenStringLiteralComment:
- 'app/models/variant_override_set.rb'
- 'app/serializers/api/address_serializer.rb'
- 'app/serializers/api/adjustment_serializer.rb'
- 'app/serializers/api/admin/basic_enterprise_fee_serializer.rb'
- 'app/serializers/api/admin/basic_enterprise_serializer.rb'
- 'app/serializers/api/admin/basic_order_cycle_serializer.rb'
- 'app/serializers/api/admin/calculator/flat_percent_item_total_serializer.rb'
- 'app/serializers/api/admin/calculator_serializer.rb'
- 'app/serializers/api/admin/column_preference_serializer.rb'
- 'app/serializers/api/admin/customer_serializer.rb'
- 'app/serializers/api/admin/enterprise_fee_serializer.rb'
- 'app/serializers/api/admin/enterprise_relationship_permission_serializer.rb'
- 'app/serializers/api/admin/enterprise_relationship_serializer.rb'
- 'app/serializers/api/admin/enterprise_role_serializer.rb'
- 'app/serializers/api/admin/enterprise_serializer.rb'
- 'app/serializers/api/admin/exchange_serializer.rb'
- 'app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb'
- 'app/serializers/api/admin/for_order_cycle/supplied_product_serializer.rb'
- 'app/serializers/api/admin/id_email_serializer.rb'
- 'app/serializers/api/admin/id_name_serializer.rb'
- 'app/serializers/api/admin/id_serializer.rb'
- 'app/serializers/api/admin/index_enterprise_serializer.rb'
- 'app/serializers/api/admin/index_order_cycle_serializer.rb'
- 'app/serializers/api/admin/inventory_item_serializer.rb'
- 'app/serializers/api/admin/line_item_serializer.rb'
- 'app/serializers/api/admin/order_cycle_serializer.rb'
- 'app/serializers/api/admin/order_serializer.rb'
- 'app/serializers/api/admin/payment_method/base_serializer.rb'
- 'app/serializers/api/admin/payment_method/stripe_serializer.rb'
- 'app/serializers/api/admin/payment_method_serializer.rb'
- 'app/serializers/api/admin/product_serializer.rb'
- 'app/serializers/api/admin/proxy_order_serializer.rb'
- 'app/serializers/api/admin/schedule_serializer.rb'
- 'app/serializers/api/admin/shipping_method_serializer.rb'
- 'app/serializers/api/admin/subscription_customer_serializer.rb'
- 'app/serializers/api/admin/subscription_line_item_serializer.rb'
- 'app/serializers/api/admin/subscription_serializer.rb'
- 'app/serializers/api/admin/tag_rule_serializer.rb'
- 'app/serializers/api/admin/tax_category_serializer.rb'
- 'app/serializers/api/admin/taxon_serializer.rb'
- 'app/serializers/api/admin/units_product_serializer.rb'
- 'app/serializers/api/admin/units_variant_serializer.rb'
- 'app/serializers/api/admin/user_serializer.rb'
- 'app/serializers/api/admin/variant_override_serializer.rb'
- 'app/serializers/api/admin/variant_serializer.rb'
- 'app/serializers/api/cached_enterprise_serializer.rb'
- 'app/serializers/api/country_serializer.rb'
- 'app/serializers/api/credit_card_serializer.rb'
@@ -945,6 +720,7 @@ Style/FrozenStringLiteralComment:
- 'app/services/tax_rate_finder.rb'
- 'app/services/upload_sanitizer.rb'
- 'app/services/variant_deleter.rb'
- 'app/services/variant_units/variant_and_line_item_naming.rb'
- 'app/services/variants_stock_levels.rb'
- 'app/validators/date_time_string_validator.rb'
- 'app/validators/distributors_validator.rb'
@@ -1043,14 +819,11 @@ Style/FrozenStringLiteralComment:
- 'lib/open_food_network/tag_rule_applicator.rb'
- 'lib/open_food_network/user_balance_calculator.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/api/testing_support/setup.rb'
- 'lib/spree/authentication_helpers.rb'
- 'lib/spree/localized_number.rb'
- 'lib/spree/money_decorator.rb'
- 'lib/spree/product_filters.rb'
- 'lib/stripe/account_connector.rb'
- 'lib/stripe/profile_storer.rb'
- 'lib/stripe/webhook_handler.rb'
@@ -1105,6 +878,7 @@ Style/FrozenStringLiteralComment:
- 'spec/controllers/api/statuses_controller_spec.rb'
- 'spec/controllers/api/taxonomies_controller_spec.rb'
- 'spec/controllers/api/taxons_controller_spec.rb'
- 'spec/controllers/api/terms_and_conditions_controller_spec.rb'
- 'spec/controllers/api/variants_controller_spec.rb'
- 'spec/controllers/base_controller_spec.rb'
- 'spec/controllers/cart_controller_spec.rb'
@@ -1117,7 +891,7 @@ Style/FrozenStringLiteralComment:
- 'spec/controllers/shops_controller_spec.rb'
- 'spec/controllers/spree/admin/adjustments_controller_spec.rb'
- 'spec/controllers/spree/admin/base_controller_spec.rb'
- 'spec/controllers/spree/admin/image_settings_controller_spec.rb'
- 'spec/controllers/spree/admin/general_settings_controller_spec.rb'
- 'spec/controllers/spree/admin/invoices_controller_spec.rb'
- 'spec/controllers/spree/admin/mail_methods_controller_spec.rb'
- 'spec/controllers/spree/admin/orders/customer_details_controller_spec.rb'
@@ -1147,6 +921,7 @@ Style/FrozenStringLiteralComment:
- 'spec/factories/order_cycle_factory.rb'
- 'spec/factories/order_factory.rb'
- 'spec/factories/product_factory.rb'
- 'spec/factories/return_authorization_factory.rb'
- 'spec/factories/shipment_factory.rb'
- 'spec/factories/shipping_method_factory.rb'
- 'spec/factories/state_factory.rb'
@@ -1159,26 +934,23 @@ Style/FrozenStringLiteralComment:
- 'spec/features/admin/authentication_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/configuration/general_settings_spec.rb'
- 'spec/features/admin/configuration/image_settings_spec.rb'
- 'spec/features/admin/configuration/mail_methods_spec.rb'
- 'spec/features/admin/configuration/states_spec.rb'
- 'spec/features/admin/configuration/tax_categories_spec.rb'
- 'spec/features/admin/configuration/tax_rates_spec.rb'
- 'spec/features/admin/configuration/taxonomies_spec.rb'
- 'spec/features/admin/configuration/zones_spec.rb'
- 'spec/features/admin/content_spec.rb'
- 'spec/features/admin/customers_spec.rb'
- 'spec/features/admin/enterprise_fees_spec.rb'
- 'spec/features/admin/enterprise_groups_spec.rb'
- 'spec/features/admin/enterprise_relationships_spec.rb'
- 'spec/features/admin/enterprise_roles_spec.rb'
- 'spec/features/admin/enterprise_user_spec.rb'
- 'spec/features/admin/enterprises/images_spec.rb'
- 'spec/features/admin/enterprises/index_spec.rb'
- 'spec/features/admin/enterprises_spec.rb'
- 'spec/features/admin/external_services_spec.rb'
- 'spec/features/admin/image_settings_spec.rb'
- 'spec/features/admin/multilingual_spec.rb'
- 'spec/features/admin/overview_spec.rb'
- 'spec/features/admin/payment_method_spec.rb'
@@ -1250,7 +1022,6 @@ Style/FrozenStringLiteralComment:
- 'spec/lib/open_food_network/group_buy_report_spec.rb'
- 'spec/lib/open_food_network/i18n_config_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_and_distributor_report_spec.rb'
- 'spec/lib/open_food_network/order_cycle_form_applicator_spec.rb'
- 'spec/lib/open_food_network/order_cycle_management_report_spec.rb'
@@ -1274,7 +1045,6 @@ Style/FrozenStringLiteralComment:
- 'spec/lib/open_food_network/users_and_enterprises_report_spec.rb'
- 'spec/lib/open_food_network/xero_invoices_report_spec.rb'
- 'spec/lib/spree/localized_number_spec.rb'
- 'spec/lib/spree/product_filters_spec.rb'
- 'spec/lib/stripe/account_connector_spec.rb'
- 'spec/lib/stripe/webhook_handler_spec.rb'
- 'spec/lib/tasks/enterprises_rake_spec.rb'
@@ -1318,7 +1088,6 @@ Style/FrozenStringLiteralComment:
- 'spec/models/spree/classification_spec.rb'
- 'spec/models/spree/credit_card_spec.rb'
- 'spec/models/spree/gateway/stripe_connect_spec.rb'
- 'spec/models/spree/image_spec.rb'
- 'spec/models/spree/line_item_spec.rb'
- 'spec/models/spree/order/checkout_spec.rb'
- 'spec/models/spree/order_spec.rb'
@@ -1331,7 +1100,6 @@ Style/FrozenStringLiteralComment:
- 'spec/models/spree/shipping_method_spec.rb'
- 'spec/models/spree/stock/availability_validator_spec.rb'
- 'spec/models/spree/tax_rate_spec.rb'
- 'spec/models/spree/taxon_spec.rb'
- 'spec/models/spree/user_spec.rb'
- 'spec/models/spree/variant_spec.rb'
- 'spec/models/stripe_account_spec.rb'
@@ -1397,6 +1165,7 @@ Style/FrozenStringLiteralComment:
- 'spec/services/search_orders_spec.rb'
- 'spec/services/tax_rate_finder_spec.rb'
- 'spec/services/upload_sanitizer_spec.rb'
- 'spec/services/variant_units/option_value_namer_spec.rb'
- 'spec/services/variants_stock_levels_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/support/ability_helper.rb'
@@ -1425,7 +1194,6 @@ Style/FrozenStringLiteralComment:
- 'spec/support/products_helper.rb'
- 'spec/support/request/admin_helper.rb'
- 'spec/support/request/authentication_helper.rb'
- 'spec/support/request/checkout_workflow.rb'
- 'spec/support/request/cookie_helper.rb'
- 'spec/support/request/distribution_helper.rb'
- 'spec/support/request/menu_helper.rb'
@@ -1444,7 +1212,7 @@ Style/FrozenStringLiteralComment:
- 'spec/views/spree/admin/payment_methods/index.html.haml_spec.rb'
- 'spec/views/spree/admin/shared/_order_links.html.haml_spec.rb'
# Offense count: 48
# Offense count: 44
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Exclude:
@@ -1460,34 +1228,24 @@ Style/GuardClause:
- 'app/models/enterprise.rb'
- 'app/models/enterprise_group.rb'
- 'app/models/producer_property.rb'
- 'app/models/spree/classification_decorator.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/preferences/preferable_class_methods.rb'
- 'app/models/spree/price_decorator.rb'
- 'app/models/spree/product_decorator.rb'
- 'app/services/order_syncer.rb'
- 'app/services/variant_units/variant_and_line_item_naming.rb'
- 'lib/discourse/single_sign_on.rb'
- 'lib/open_food_network/order_cycle_form_applicator.rb'
- 'lib/open_food_network/rack_request_blocker.rb'
- 'lib/open_food_network/variant_and_line_item_naming.rb'
- 'spec/support/delayed_job_helper.rb'
- 'spec/support/request/distribution_helper.rb'
- 'spec/support/request/shop_workflow.rb'
# Offense count: 66
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
Style/HashSyntax:
Exclude:
- 'spec/factories/stock_location_factory.rb'
- 'spec/models/spree/credit_card_spec.rb'
- 'spec/models/spree/payment_spec.rb'
# Offense count: 2
# Offense count: 3
Style/MissingRespondToMissing:
Exclude:
- 'app/helpers/application_helper.rb'
- 'app/models/spree/gateway.rb'
- 'app/models/spree/preferences/configuration.rb'
# Offense count: 2
Style/MixinUsage:
@@ -1495,7 +1253,7 @@ Style/MixinUsage:
- 'lib/open_food_network/orders_and_fulfillments_report.rb'
- 'spec/lib/open_food_network/packing_report_spec.rb'
# Offense count: 37
# Offense count: 43
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
@@ -1508,10 +1266,12 @@ Style/NumericPredicate:
- 'app/helpers/shared_helper.rb'
- 'app/models/product_import/product_importer.rb'
- 'app/models/product_import/spreadsheet_entry.rb'
- 'app/models/spree/adjustment_decorator.rb'
- 'app/models/spree/gateway/stripe_connect.rb'
- 'app/models/spree/line_item_decorator.rb'
- 'app/models/spree/order_decorator.rb'
- 'app/models/spree/line_item.rb'
- 'app/models/spree/order.rb'
- 'app/models/spree/order_contents.rb'
- 'app/models/spree/order_inventory.rb'
- 'app/models/spree/preferences/preferable.rb'
- 'app/models/spree/user.rb'
- 'app/models/variant_override.rb'
- 'app/services/cart_service.rb'
@@ -1524,46 +1284,9 @@ Style/NumericPredicate:
- 'lib/spree/money_decorator.rb'
- 'lib/tasks/sample_data.rake'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: compact, exploded
Style/RaiseArgs:
Exclude:
- 'spec/controllers/checkout_controller_spec.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/RandomWithOffset:
Exclude:
- 'spec/factories.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantPercentQ:
Exclude:
- 'spec/support/request/web_helper.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
Exclude:
- 'lib/spree/core/controller_helpers/auth.rb'
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
Exclude:
- 'lib/spree/core/delegate_belongs_to.rb'
# Offense count: 231
# Offense count: 241
Style/Send:
Exclude:
- 'app/models/spree/shipping_method_decorator.rb'
- 'spec/controllers/admin/subscriptions_controller_spec.rb'
- 'spec/controllers/checkout_controller_spec.rb'
- 'spec/controllers/spree/admin/base_controller_spec.rb'
@@ -1575,7 +1298,6 @@ Style/Send:
- '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/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/permissions_spec.rb'
- 'spec/lib/open_food_network/products_and_inventory_report_spec.rb'
@@ -1587,8 +1309,10 @@ Style/Send:
- 'spec/models/enterprise_spec.rb'
- 'spec/models/exchange_spec.rb'
- 'spec/models/spree/gateway/stripe_connect_spec.rb'
- 'spec/models/spree/order_inventory_spec.rb'
- 'spec/models/spree/order_spec.rb'
- 'spec/models/spree/payment_spec.rb'
- 'spec/models/spree/return_authorization_spec.rb'
- 'spec/models/spree/tax_rate_spec.rb'
- 'spec/models/tag_rule/discount_order_spec.rb'
- 'spec/models/tag_rule/filter_order_cycles_spec.rb'
@@ -1597,6 +1321,7 @@ Style/Send:
- 'spec/models/tag_rule/filter_shipping_methods_spec.rb'
- 'spec/services/cart_service_spec.rb'
- 'spec/services/products_renderer_spec.rb'
- 'spec/services/variant_units/option_value_namer_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/support/localized_number_helper.rb'
- 'spec/support/matchers/delegate_matchers.rb'
@@ -1605,3 +1330,11 @@ Style/Send:
Style/StructInheritance:
Exclude:
- 'lib/open_food_network/enterprise_fee_applicator.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
Exclude:
- 'app/models/spree/preferences/preferable.rb'

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

@@ -19,7 +19,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 +27,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 +46,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

17
Gemfile
View File

@@ -3,7 +3,7 @@ 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 'i18n-js', '~> 3.8.0'
gem 'rails', '~> 4.0.13'
gem 'rails-i18n', '~> 4.0'
gem 'rails_safe_tasks', '~> 1.0'
@@ -18,18 +18,11 @@ 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 'acts_as_list', '= 0.3.0'
gem 'awesome_nested_set', '~> 3.0.0.rc.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 'paranoia', '~> 2.0'
@@ -37,7 +30,7 @@ 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 'spree_i18n', github: 'openfoodfoundation/spree_i18n', branch: '1-3-stable'
# Our branch contains the following changes:
# - Pass customer email and phone number to PayPal (merged to upstream master)
@@ -61,8 +54,6 @@ 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 'andand'
@@ -117,7 +108,6 @@ 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'
@@ -156,6 +146,7 @@ end
group :test do
gem 'simplecov', require: false
gem 'test-prof'
gem 'webmock'
# See spec/spec_helper.rb for instructions
# gem 'perftools.rb'

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
@@ -21,39 +20,13 @@ GIT
ofn-qz (0.1.0)
GIT
remote: https://github.com/openfoodfoundation/spree.git
revision: cbb24a6ed701166ffaf2ab60a402154100d74766
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
remote: https://github.com/openfoodfoundation/spree_i18n.git
revision: 12f18312232f0ce70270d47859d2951d12f7791c
branch: 1-3-stable
specs:
spree_i18n (1.0.0)
i18n (~> 0.5)
rails-i18n
spree_core (>= 1.1)
PATH
remote: engines/catalog
@@ -64,6 +37,7 @@ PATH
remote: engines/dfc_provider
specs:
dfc_provider (0.0.1)
active_model_serializers (~> 0.8.4)
jwt (~> 2.2)
rspec (~> 3.9)
@@ -108,7 +82,7 @@ GEM
activesupport (= 4.0.13)
arel (~> 4.0.0)
activerecord-deprecated_finders (1.0.4)
activerecord-import (1.0.6)
activerecord-import (1.0.7)
activerecord (>= 3.2)
activerecord-postgresql-adapter (0.0.1)
pg
@@ -126,7 +100,7 @@ GEM
tzinfo (~> 0.3.37)
acts-as-taggable-on (4.0.0)
activerecord (>= 4.0)
acts_as_list (0.2.0)
acts_as_list (0.3.0)
activerecord (>= 3.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
@@ -148,7 +122,7 @@ GEM
nokogiri (>= 1.4.4)
uuidtools (~> 2.1)
bcrypt (3.1.13)
bugsnag (6.17.0)
bugsnag (6.18.0)
concurrent-ruby (~> 1.0)
builder (3.1.4)
byebug (11.0.1)
@@ -193,18 +167,17 @@ GEM
sass-rails (< 5.1)
sprockets (< 4.0)
concurrent-ruby (1.1.7)
crack (0.4.3)
safe_yaml (~> 1.0.0)
crack (0.4.4)
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.40.0)
ddtrace (0.42.0)
msgpack
debugger-linecache (1.2.0)
delayed_job (4.1.8)
@@ -407,21 +380,18 @@ GEM
fuubar (2.5.0)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
geocoder (1.6.3)
geocoder (1.6.4)
get_process_mem (0.2.5)
ffi (~> 1.0)
gmaps4rails (2.1.2)
haml (5.1.2)
haml (5.2.0)
temple (>= 0.8.0)
tilt
hashdiff (1.0.1)
highline (1.6.18)
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)
i18n-js (3.8.0)
i18n (>= 0.6.6)
immigrant (0.3.6)
activerecord (>= 3.0)
@@ -444,7 +414,7 @@ GEM
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.11.3)
knapsack (1.18.0)
knapsack (1.19.0)
rake
launchy (2.4.3)
addressable (~> 2.3)
@@ -462,8 +432,6 @@ GEM
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)
msgpack (1.3.3)
@@ -619,7 +587,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)
@@ -658,14 +625,15 @@ GEM
sprockets (>= 2.8, < 4.0)
state_machine (1.2.0)
stringex (1.5.1)
stripe (5.22.0)
stripe (5.25.0)
temple (0.8.2)
test-prof (0.7.5)
test-unit (3.3.6)
power_assert
thor (0.20.3)
thread_safe (0.3.6)
tilt (1.4.1)
timecop (0.9.1)
timecop (0.9.2)
truncate_html (0.9.2)
tzinfo (0.3.57)
uglifier (4.2.0)
@@ -687,7 +655,7 @@ GEM
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
webmock (3.9.1)
webmock (3.9.3)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@@ -712,7 +680,7 @@ DEPENDENCIES
activerecord-postgresql-adapter
activerecord-session_store
acts-as-taggable-on (~> 4.0)
acts_as_list (= 0.2.0)
acts_as_list (= 0.3.0)
andand
angular-rails-templates (~> 0.3.0)
angularjs-file-upload-rails (~> 2.4.1)
@@ -754,9 +722,8 @@ DEPENDENCIES
gmaps4rails
haml
highline (= 1.6.18)
httparty (~> 0.18)
i18n (~> 0.6.11)
i18n-js (~> 3.7.1)
i18n-js (~> 3.8.0)
immigrant
jquery-migrate-rails
jquery-rails (= 3.1.5)
@@ -768,7 +735,6 @@ DEPENDENCIES
knapsack
letter_opener (>= 1.4.1)
mini_racer (= 0.2.15)
momentjs-rails
money (= 5.1.1)
newrelic_rpm (~> 3.0)
oauth2 (~> 1.4.4)
@@ -802,7 +768,6 @@ DEPENDENCIES
selenium-webdriver
shoulda-matchers
simplecov
spree_core!
spree_i18n!
spree_paypal_express!
spring
@@ -810,6 +775,7 @@ DEPENDENCIES
state_machine (= 1.2.0)
stringex (~> 1.5.1)
stripe
test-prof
test-unit (~> 3.3)
timecop
truncate_html (= 0.9.2)

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.
@@ -36,6 +41,7 @@ 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

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

@@ -104,7 +104,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.$watch 'sortOptions', (sort) ->
return unless sort && sort.predicate != ""
$scope.sorting = sort.getSortingExpr()
$scope.q.sorting = sort.getSortingExpr()
$scope.fetchProducts()
, true

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

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

@@ -1,4 +1,4 @@
angular.module("admin.products").factory "VariantUnitManager", ->
angular.module("admin.products").factory "VariantUnitManager", (availableUnits) ->
class VariantUnitManager
@units:
'weight':
@@ -29,12 +29,13 @@ angular.module("admin.products").factory "VariantUnitManager", ->
system: 'metric'
@variantUnitOptions: ->
available = availableUnits.split(",")
options = for unit_type, _ of @units
for scale in @unitScales(unit_type)
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
@@ -53,8 +54,13 @@ angular.module("admin.products").factory "VariantUnitManager", ->
else
''
@unitScales: (unitType) ->
(parseFloat(scale) for scale in Object.keys(@units[unitType])).sort (a, b) ->
@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) ->

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,

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

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

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

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

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

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

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

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

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

@@ -154,3 +154,7 @@ input.text-big {
.pad-top {
padding-top: 1em;
}
.white-space-nowrap {
white-space: nowrap;
}

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,57 @@
.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;
@include breakpoint(phablet) {
text-align: right;
padding-left: 1rem;
}
}
@@ -108,24 +74,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 +98,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

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

@@ -212,7 +212,7 @@ nav.top-bar {
}
.off-canvas-wrap {
overflow: inherit;
overflow: initial;
}
.off-canvas-list li.language-switcher ul li {

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;

View File

@@ -8,10 +8,30 @@
@import "shop-inputs";
@import "shop-navigation";
@import "shop-product-rows";
@import "shop-taxon-flag";
@import "shop-popovers";
.darkswarm {
.product-listing {
@include breakpoint(desktop) {
padding-right: 0;
padding-left: 0;
}
.row.full {
width: 100%;
margin: 0;
.columns.full {
padding-right: 0;
padding-left: 0;
}
}
}
.filter-header {
margin-top: 1.1em;
}
products {
display: block;
@@ -51,32 +71,18 @@
product {
@include csstrans;
border-bottom: 1px solid #e5e5e5;
border-top: 1px solid #e5e5e5;
// Avoid margin collapsing which breaks the flush alignment of the first
// image.
overflow: auto;
&:nth-child(n + 2) {
border-top: 1px solid $grey-100;
}
padding-bottom: 1px;
margin-bottom: 20px !important;
position: relative;
display: block;
color: $med-drk-grey;
&:hover, &:focus, &:active {
border-bottom: 1px solid $clr-brick-med-bright;
border-top: 1px solid $clr-brick-med-bright;
}
// BULK
.bulk-buy {
font-size: 0.875rem;
@include breakpoint(tablet) {
font-size: 0.75rem;
}
}
.bulk-buy, .bulk-buy i {
color: #888;
}
.inline {
display: inline;
}
@@ -85,27 +91,6 @@
width: 100px;
margin-bottom: 20px;
}
// ICONS
i {
font-size: 0.75em;
padding-right: 0.9375rem;
@include breakpoint(phablet) {
padding-right: 0.25rem;
}
}
i.ofn-i_056-bulk {
font-size: 1rem;
padding-right: 0rem;
}
i.ofn-i_036-producers {
padding-left: 0.2rem;
padding-right: 0rem;
font-size: 0.8rem;
}
}
}

View File

@@ -6,7 +6,6 @@
background-color: $grey-100;
height: 5em;
padding: 1em 0;
margin-bottom: 1em;
position: relative;
z-index: 5;
@@ -50,7 +49,7 @@
button {
background-color: $grey-600;
margin-left: 1em;
margin: 0 0 0 1em;
height: 3em;
width: 7em;
padding: 0;

View File

@@ -34,7 +34,7 @@
>a {
outline: none;
display: block;
color: $grey-500;
color: $black;
font-family: "Oswald", sans-serif;
}
@@ -42,9 +42,9 @@
@include headingFont;
background: transparent;
text-transform: uppercase;
text-transform: capitalize;
line-height: 1;
font-size: 0.875em;
font-size: 1em;
padding: 1em 2em;
border: none;
@@ -58,6 +58,7 @@
@include breakpoint(phablet) {
padding: 0.35em 0 0.65em 0;
font-size: 0.875em;
}
}

View File

@@ -159,11 +159,6 @@ a.button.large {
display: flex;
}
.no-gutter {
padding-right: 0;
padding-left: 0;
}
.disable-scroll {
overflow: hidden;
}

View File

@@ -0,0 +1,6 @@
// Breakpoints
$desktop_breakpoint: 1024px;
$tablet_breakpoint: 768px;
$phablet_breakpoint: 640px;
$mobile_breakpoint: 480px;

View File

@@ -73,7 +73,7 @@ module Admin
if @enterprise.update(attributes)
flash[:success] = I18n.t(:enterprise_register_success_notice, enterprise: @enterprise.name)
redirect_to admin_dashboard_path
redirect_to spree.admin_dashboard_path
else
flash[:error] = I18n.t(:enterprise_register_error, enterprise: @enterprise.name)
render :welcome, layout: "spree/layouts/bare_admin"
@@ -181,10 +181,10 @@ module Admin
enterprise_payment_methods = @enterprise.payment_methods.to_a
enterprise_shipping_methods = @enterprise.shipping_methods.to_a
# rubocop:disable Style/TernaryParentheses
@payment_methods = Spree::PaymentMethod.managed_by(spree_current_user).sort_by! do |pm|
@payment_methods = Spree::PaymentMethod.managed_by(spree_current_user).to_a.sort_by! do |pm|
[(enterprise_payment_methods.include? pm) ? 0 : 1, pm.name]
end
@shipping_methods = Spree::ShippingMethod.managed_by(spree_current_user).sort_by! do |sm|
@shipping_methods = Spree::ShippingMethod.managed_by(spree_current_user).to_a.sort_by! do |sm|
[(enterprise_shipping_methods.include? sm) ? 0 : 1, sm.name]
end
# rubocop:enable Style/TernaryParentheses

View File

@@ -33,12 +33,6 @@ module Api
use_renderers :json
check_authorization
# Temporary measure to help debugging strong_parameters
rescue_from ActiveModel::ForbiddenAttributesError, with: :print_params
def print_params
raise ActiveModel::ForbiddenAttributesError, params.to_s
end
def set_jsonp_format
return unless params[:callback] && request.get?

View File

@@ -75,7 +75,7 @@ module Api
end
def permitted_ransack_params
[:name_or_meta_keywords_or_supplier_name_cont,
[:name_or_meta_keywords_or_variants_display_as_or_variants_display_name_or_supplier_name_cont,
:properties_id_or_supplier_properties_id_in_any,
:primary_taxon_id_in_any]
end

View File

@@ -1,4 +1,5 @@
require 'open_food_network/permissions'
require 'spree/core/product_duplicator'
module Api
class ProductsController < Api::BaseController

View File

@@ -0,0 +1,44 @@
# frozen_string_literal: true
module Api
class StatesController < Api::BaseController
respond_to :json
skip_authorization_check
def index
render json: states, each_serializer: Api::StateSerializer, status: :ok
end
def show
@state = scope.find(params[:id])
render json: @state, serializer: Api::StateSerializer, status: :ok
end
private
def scope
if params[:country_id]
@country = Spree::Country.find(params[:country_id])
@country.states
else
Spree::State.all
end
end
def states
states = scope.ransack(params[:q]).result.
includes(:country).order('name ASC')
if pagination?
states = states.page(params[:page]).per(params[:per_page])
end
states
end
def pagination?
params[:page] || params[:per_page]
end
end
end

View File

@@ -10,12 +10,6 @@ class ApplicationController < ActionController::Base
include EnterprisesHelper
include Spree::AuthenticationHelpers
# Temporary measure to help debugging strong_parameters
rescue_from ActiveModel::ForbiddenAttributesError, with: :print_params
def print_params
raise ActiveModel::ForbiddenAttributesError, params.to_s
end
def redirect_to(options = {}, response_status = {})
::Rails.logger.error("Redirected by #{begin
caller(1).first

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'open_food_network/address_finder'
require 'spree/core/gateway_error'
class CheckoutController < Spree::StoreController
layout 'darkswarm'
@@ -47,8 +48,6 @@ class CheckoutController < Spree::StoreController
params_adapter = Checkout::FormDataAdapter.new(permitted_params, @order, spree_current_user)
return action_failed unless @order.update(params_adapter.params[:order])
fire_event('spree.checkout.update')
checkout_workflow(params_adapter.shipping_method_id)
rescue Spree::Core::GatewayError => e
rescue_from_spree_gateway_error(e)
@@ -150,7 +149,7 @@ class CheckoutController < Spree::StoreController
def handle_redirect_from_stripe
if OrderWorkflow.new(@order).next && order_complete?
checkout_succeeded
redirect_to(order_path(@order)) && return
redirect_to(spree.order_path(@order)) && return
else
checkout_failed
end
@@ -210,10 +209,10 @@ class CheckoutController < Spree::StoreController
def update_succeeded_response
respond_to do |format|
format.html do
respond_with(@order, location: order_path(@order))
respond_with(@order, location: spree.order_path(@order))
end
format.json do
render json: { path: order_path(@order) }, status: :ok
render json: { path: spree.order_path(@order) }, status: :ok
end
end
end

View File

@@ -10,6 +10,7 @@ module Spree
end
def update
merge_available_units_params unless params[:available_units].nil?
params.each do |name, value|
next unless Spree::Config.has_preference? name
@@ -17,7 +18,14 @@ module Spree
end
flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:general_settings))
redirect_to edit_admin_general_settings_path
redirect_to spree.edit_admin_general_settings_path
end
private
def merge_available_units_params
params[:available_units] =
params[:available_units].select { |_unit, checked| checked == "1" }.keys.join(",")
end
end
end

View File

@@ -1,79 +0,0 @@
module Spree
module Admin
class ImageSettingsController < Spree::Admin::BaseController
def edit
@styles = ActiveSupport::JSON.decode(Spree::Config[:attachment_styles])
@headers = ActiveSupport::JSON.decode(Spree::Config[:s3_headers])
end
def update
update_styles(params)
update_headers(params) if Spree::Config[:use_s3]
Spree::Config.set(params[:preferences])
update_paperclip_settings
respond_to do |format|
format.html {
flash[:success] = Spree.t(:image_settings_updated)
redirect_to spree.edit_admin_image_settings_path
}
end
end
private
def update_styles(params)
if params[:new_attachment_styles].present?
params[:new_attachment_styles].each do |_index, style|
params[:attachment_styles][style[:name]] = style[:value] if style[:value].present?
end
end
styles = params[:attachment_styles]
Spree::Config[:attachment_styles] = ActiveSupport::JSON.encode(styles) unless styles.nil?
end
def update_headers(params)
if params[:new_s3_headers].present?
params[:new_s3_headers].each do |_index, header|
params[:s3_headers][header[:name]] = header[:value] if header[:value].present?
end
end
headers = params[:s3_headers]
Spree::Config[:s3_headers] = ActiveSupport::JSON.encode(headers) unless headers.nil?
end
def update_paperclip_settings
if Spree::Config[:use_s3]
s3_creds = { access_key_id: Spree::Config[:s3_access_key],
secret_access_key: Spree::Config[:s3_secret],
bucket: Spree::Config[:s3_bucket] }
Spree::Image.attachment_definitions[:attachment][:storage] = :s3
Spree::Image.attachment_definitions[:attachment][:s3_credentials] = s3_creds
Spree::Image.attachment_definitions[:attachment][:s3_headers] =
ActiveSupport::JSON.decode(Spree::Config[:s3_headers])
Spree::Image.attachment_definitions[:attachment][:bucket] = Spree::Config[:s3_bucket]
else
Spree::Image.attachment_definitions[:attachment].delete :storage
end
Spree::Image.attachment_definitions[:attachment][:styles] =
ActiveSupport::JSON.decode(Spree::Config[:attachment_styles]).symbolize_keys!
Spree::Image.attachment_definitions[:attachment][:path] = Spree::Config[:attachment_path]
Spree::Image.attachment_definitions[:attachment][:default_url] =
Spree::Config[:attachment_default_url]
Spree::Image.attachment_definitions[:attachment][:default_style] =
Spree::Config[:attachment_default_style]
# Spree stores attachent definitions in JSON. This converts the style name and format to
# strings. However, when paperclip encounters these, it doesn't recognise the format.
# Here we solve that problem by converting format and style name to symbols.
Spree::Image.reformat_styles
end
end
end
end

View File

@@ -25,7 +25,7 @@ module Spree
@object.attributes = permitted_resource_params
if @object.save
flash[:success] = flash_message_for(@object, :successfully_created)
redirect_to admin_product_images_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_images_url(params[:product_id], @url_filters)
else
respond_with(@object)
end
@@ -41,7 +41,7 @@ module Spree
if @object.update(permitted_resource_params)
flash[:success] = flash_message_for(@object, :successfully_updated)
redirect_to admin_product_images_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_images_url(params[:product_id], @url_filters)
else
respond_with(@object)
end
@@ -55,13 +55,13 @@ module Spree
flash[:success] = flash_message_for(@object, :successfully_removed)
end
redirect_to admin_product_images_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_images_url(params[:product_id], @url_filters)
end
private
def location_after_save
admin_product_images_url(@product)
spree.admin_product_images_url(@product)
end
def load_data

View File

@@ -23,7 +23,7 @@ module Spree
rescue StandardError => e
flash[:error] = Spree.t('admin.mail_methods.testmail.error') % { e: e }
ensure
redirect_to edit_admin_mail_methods_url
redirect_to spree.edit_admin_mail_methods_url
end
private

View File

@@ -27,7 +27,7 @@ module Spree
@order.shipments.map(&:refresh_rates)
flash[:success] = Spree.t('customer_details_updated')
redirect_to admin_order_customer_path(@order)
redirect_to spree.admin_order_customer_path(@order)
else
render action: :edit
end

View File

@@ -29,7 +29,7 @@ module Spree
@order = Order.create
@order.created_by = spree_current_user
@order.save
redirect_to edit_admin_order_url(@order)
redirect_to spree.edit_admin_order_url(@order)
end
def edit
@@ -48,16 +48,16 @@ module Spree
if @order.line_items.empty?
@order.errors.add(:line_items, Spree.t('errors.messages.blank'))
end
return redirect_to(edit_admin_order_path(@order),
return redirect_to(spree.edit_admin_order_path(@order),
flash: { error: @order.errors.full_messages.join(', ') })
end
@order.update!
if @order.complete?
redirect_to edit_admin_order_path(@order)
redirect_to spree.edit_admin_order_path(@order)
else
# Jump to next step if order is not complete
redirect_to admin_order_customer_path(@order)
redirect_to spree.admin_order_customer_path(@order)
end
end
@@ -91,7 +91,9 @@ module Spree
Spree::OrderMailer.invoice_email(@order.id, pdf).deliver
flash[:success] = t('admin.orders.invoice_email_sent')
respond_with(@order) { |format| format.html { redirect_to edit_admin_order_path(@order) } }
respond_with(@order) { |format|
format.html { redirect_to spree.edit_admin_order_path(@order) }
}
end
def print
@@ -131,7 +133,9 @@ module Spree
flash[:error] = t(:must_have_valid_business_number,
enterprise_name: @order.distributor.name)
respond_with(@order) { |format| format.html { redirect_to edit_admin_order_path(@order) } }
respond_with(@order) { |format|
format.html { redirect_to spree.edit_admin_order_path(@order) }
}
end
def load_distribution_choices

View File

@@ -22,7 +22,7 @@ module Spree
if @payment_method.save
invoke_callbacks(:create, :after)
flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:payment_method))
redirect_to edit_admin_payment_method_path(@payment_method)
redirect_to spree.edit_admin_payment_method_path(@payment_method)
else
invoke_callbacks(:create, :fails)
respond_with(@payment_method)
@@ -43,7 +43,7 @@ module Spree
if @payment_method.update(params_for_update)
invoke_callbacks(:update, :after)
flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:payment_method))
redirect_to edit_admin_payment_method_path(@payment_method)
redirect_to spree.edit_admin_payment_method_path(@payment_method)
else
invoke_callbacks(:update, :fails)
respond_with(@payment_method)
@@ -122,12 +122,12 @@ module Spree
return if valid_payment_methods.include?(params[:payment_method][:type])
flash[:error] = Spree.t(:invalid_payment_provider)
redirect_to new_admin_payment_method_path
redirect_to spree.new_admin_payment_method_path
end
def load_hubs
# rubocop:disable Style/TernaryParentheses
@hubs = Enterprise.managed_by(spree_current_user).is_distributor.sort_by! do |d|
@hubs = Enterprise.managed_by(spree_current_user).is_distributor.to_a.sort_by! do |d|
[(@payment_method.has_distributor? d) ? 0 : 1, d.name]
end
# rubocop:enable Style/TernaryParentheses

View File

@@ -12,7 +12,7 @@ module Spree
def index
@payments = @order.payments
redirect_to new_admin_order_payment_url(@order) if @payments.empty?
redirect_to spree.new_admin_order_payment_url(@order) if @payments.empty?
end
def new
@@ -25,7 +25,7 @@ module Spree
begin
unless @payment.save
redirect_to admin_order_payments_path(@order)
redirect_to spree.admin_order_payments_path(@order)
return
end
@@ -35,16 +35,16 @@ module Spree
@payment.process!
flash[:success] = flash_message_for(@payment, :successfully_created)
redirect_to admin_order_payments_path(@order)
redirect_to spree.admin_order_payments_path(@order)
else
OrderWorkflow.new(@order).complete!
flash[:success] = Spree.t(:new_order_completed)
redirect_to edit_admin_order_url(@order)
redirect_to spree.edit_admin_order_url(@order)
end
rescue Spree::Core::GatewayError => e
flash[:error] = e.message.to_s
redirect_to new_admin_order_payment_path(@order)
redirect_to spree.new_admin_order_payment_path(@order)
end
end
@@ -118,7 +118,7 @@ module Spree
return if @order.payment? || @order.complete?
flash[:notice] = Spree.t(:fill_in_customer_info)
redirect_to edit_admin_order_customer_url(@order)
redirect_to spree.edit_admin_order_customer_url(@order)
end
def load_order

View File

@@ -16,7 +16,7 @@ module Spree
flash[:success] = flash_message_for(@object, :successfully_removed)
end
# if destroy fails it won't show any errors to the user
redirect_to admin_product_product_properties_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_product_properties_url(params[:product_id], @url_filters)
end
private

View File

@@ -29,9 +29,9 @@ module Spree
if @object.save
flash[:success] = flash_message_for(@object, :successfully_created)
if params[:button] == "add_another"
redirect_to new_admin_product_path
redirect_to spree.new_admin_product_path
else
redirect_to admin_products_path
redirect_to spree.admin_products_path
end
else
render :new
@@ -70,7 +70,7 @@ module Spree
flash[:success] = flash_message_for(@object, :successfully_updated)
end
redirect_to edit_admin_product_url(@object, @url_filters)
redirect_to spree.edit_admin_product_url(@object, @url_filters)
end
end
@@ -97,7 +97,7 @@ module Spree
Spree.t('notice_messages.product_not_cloned')
end
redirect_to edit_admin_product_url(@new)
redirect_to spree.edit_admin_product_url(@new)
end
def group_buy_options

View File

@@ -294,7 +294,7 @@ module Spree
if report_in_order_management_engine?(report)
main_app.public_send("new_order_management_reports_#{report}_url".to_sym)
else
public_send("#{report}_admin_reports_url".to_sym)
spree.public_send("#{report}_admin_reports_url".to_sym)
end
rescue NoMethodError
url_for([:new, :admin, :reports, report.to_s.singularize])

View File

@@ -50,7 +50,7 @@ module Spree
def load_hubs
# rubocop:disable Style/TernaryParentheses
@hubs = Enterprise.managed_by(spree_current_user).is_distributor.sort_by! do |d|
@hubs = Enterprise.managed_by(spree_current_user).is_distributor.to_a.sort_by! do |d|
[(@shipping_method.has_distributor? d) ? 0 : 1, d.name]
end
# rubocop:enable Style/TernaryParentheses
@@ -74,7 +74,7 @@ module Spree
end
def location_after_save
edit_admin_shipping_method_path(@shipping_method)
spree.edit_admin_shipping_method_path(@shipping_method)
end
def load_data
@@ -84,13 +84,13 @@ module Spree
def permitted_resource_params
params.require(:shipping_method).permit(
:name, :description, :display_on,
:require_ship_address, :tag_list, :calculator_type,
:name, :description, :display_on, :require_ship_address, :tag_list, :calculator_type,
distributor_ids: [],
calculator_attributes: [
:id, :preferred_currency, :preferred_amount, :preferred_per_kg, :preferred_flat_percent,
:preferred_first_item, :preferred_additional_item, :preferred_max_items,
:preferred_minimal_amount, :preferred_normal_amount, :preferred_discount_amount
:id, :preferred_currency, :preferred_amount, :preferred_unit_from_list,
:preferred_per_unit, :preferred_flat_percent, :preferred_first_item,
:preferred_additional_item, :preferred_max_items, :preferred_minimal_amount,
:preferred_normal_amount, :preferred_discount_amount
]
)
end

View File

@@ -14,7 +14,7 @@ module Spree
protected
def location_after_save
admin_country_states_url(@country)
spree.admin_country_states_url(@country)
end
def collection

View File

@@ -3,9 +3,6 @@ module Spree
class TaxRatesController < ResourceController
before_action :load_data
update.after :update_after
create.after :create_after
private
def load_data
@@ -14,14 +11,6 @@ module Spree
@calculators = TaxRate.calculators.sort_by(&:name)
end
def update_after
Rails.cache.delete('vat_rates')
end
def create_after
Rails.cache.delete('vat_rates')
end
def permitted_resource_params
params.require(:tax_rate).permit(
:name, :amount, :included_in_price, :zone_id,

View File

@@ -6,7 +6,7 @@ module Spree
respond_to do |format|
format.html {
redirect_to edit_admin_tax_settings_path
redirect_to spree.edit_admin_tax_settings_path
}
end
end

View File

@@ -11,9 +11,9 @@ module Spree
def location_after_save
if @taxonomy.created_at == @taxonomy.updated_at
edit_admin_taxonomy_url(@taxonomy)
spree.edit_admin_taxonomy_url(@taxonomy)
else
admin_taxonomies_url
spree.admin_taxonomies_url
end
end

View File

@@ -15,9 +15,9 @@ module Spree
respond_with(@taxon) do |format|
format.html do
if redirect_to @taxonomy
edit_admin_taxonomy_url(@taxonomy)
spree.edit_admin_taxonomy_url(@taxonomy)
else
admin_taxonomies_url
spree.admin_taxonomies_url
end
end
end
@@ -95,7 +95,7 @@ module Spree
end
respond_with(@taxon) do |format|
format.html { redirect_to edit_admin_taxonomy_url(@taxonomy) }
format.html { redirect_to spree.edit_admin_taxonomy_url(@taxonomy) }
format.json { render json: @taxon.to_json }
end
end

View File

@@ -60,14 +60,14 @@ module Spree
if @user.generate_spree_api_key!
flash[:success] = t('spree.api.key_generated')
end
redirect_to edit_admin_user_path(@user)
redirect_to spree.edit_admin_user_path(@user)
end
def clear_api_key
if @user.clear_spree_api_key!
flash[:success] = t('spree.api.key_cleared')
end
redirect_to edit_admin_user_path(@user)
redirect_to spree.edit_admin_user_path(@user)
end
protected

View File

@@ -21,9 +21,9 @@ module Spree
if @object.update(permitted_resource_params)
flash[:success] = flash_message_for(@object, :successfully_updated)
redirect_to admin_product_variants_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_variants_url(params[:product_id], @url_filters)
else
redirect_to edit_admin_product_variant_url(params[:product_id], @object, @url_filters)
redirect_to spree.edit_admin_product_variant_url(params[:product_id], @object, @url_filters)
end
end
@@ -40,9 +40,9 @@ module Spree
@object.attributes = permitted_resource_params
if @object.save
flash[:success] = flash_message_for(@object, :successfully_created)
redirect_to admin_product_variants_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_variants_url(params[:product_id], @url_filters)
else
redirect_to new_admin_product_variant_url(params[:product_id], @url_filters)
redirect_to spree.new_admin_product_variant_url(params[:product_id], @url_filters)
end
return unless @object.present? && @object.valid?
@@ -61,17 +61,21 @@ module Spree
@url_filters = ::ProductFilters.new.extract(request.query_parameters)
@variant = Spree::Variant.find(params[:id])
flash[:success] = if VariantDeleter.new.delete(@variant)
Spree.t('notice_messages.variant_deleted')
else
Spree.t('notice_messages.variant_not_deleted')
end
flash[:success] = delete_variant
redirect_to admin_product_variants_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_variants_url(params[:product_id], @url_filters)
end
protected
def delete_variant
if VariantDeleter.new.delete(@variant)
Spree.t('notice_messages.variant_deleted')
else
Spree.t('notice_messages.variant_not_deleted')
end
end
def create_before
option_values = params[:new_variant]
option_values.andand.each_value { |id| @object.option_values << OptionValue.find(id) }

View File

@@ -3,8 +3,8 @@
require 'cancan'
require 'spree/core/controller_helpers/auth'
require 'spree/core/controller_helpers/respond_with'
require 'spree/core/controller_helpers/common'
require 'spree/core/controller_helpers/ssl'
require 'spree/core/controller_helpers/common'
module Spree
class BaseController < ApplicationController

View File

@@ -48,10 +48,10 @@ module Spree
else
flash[:error] = I18n.t(:card_could_not_be_removed)
end
redirect_to account_path(anchor: 'cards')
redirect_to spree.account_path(anchor: 'cards')
rescue Stripe::CardError
flash[:error] = I18n.t(:card_could_not_be_removed)
redirect_to account_path(anchor: 'cards')
redirect_to spree.account_path(anchor: 'cards')
end
private

View File

@@ -78,11 +78,7 @@ module Spree
discard_empty_line_items
with_open_adjustments { update_totals_and_taxes }
if @order == current_order
fire_event('spree.order.contents_changed')
else
@order.update_distribution_charge!
end
@order.update_distribution_charge!
respond_with(@order) do |format|
format.html do
@@ -90,7 +86,7 @@ module Spree
@order.next_transition.run_callbacks if @order.cart?
redirect_to checkout_state_path(@order.checkout_steps.first)
elsif @order.complete?
redirect_to order_path(@order)
redirect_to spree.order_path(@order)
else
redirect_to main_app.cart_path
end
@@ -157,7 +153,7 @@ module Spree
else
flash[:error] = I18n.t(:orders_could_not_cancel)
end
redirect_to request.referer || order_path(@order)
redirect_to request.referer || spree.order_path(@order)
end
private
@@ -221,7 +217,7 @@ module Spree
if items.empty?
flash[:error] = I18n.t(:orders_cannot_remove_the_final_item)
redirect_to order_path(order_to_update)
redirect_to spree.order_path(order_to_update)
end
end

View File

@@ -6,6 +6,51 @@ Spree::PaypalController.class_eval do
after_action :reset_order_when_complete, only: :confirm
before_action :permit_parameters!
def express
order = current_order || raise(ActiveRecord::RecordNotFound)
items = order.line_items.map(&method(:line_item))
tax_adjustments = order.adjustments.tax
# TODO: Remove in Spree 2.2
tax_adjustments = tax_adjustments.additional if tax_adjustments.respond_to?(:additional)
shipping_adjustments = order.adjustments.shipping
order.adjustments.eligible.each do |adjustment|
next if (tax_adjustments + shipping_adjustments).include?(adjustment)
items << {
Name: adjustment.label,
Quantity: 1,
Amount: {
currencyID: order.currency,
value: adjustment.amount
}
}
end
# Because PayPal doesn't accept $0 items at all.
# See #10
# https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECCustomizing
# "It can be a positive or negative value but not zero."
items.reject! do |item|
item[:Amount][:value].zero?
end
pp_request = provider.build_set_express_checkout(express_checkout_request_details(order, items))
begin
pp_response = provider.set_express_checkout(pp_request)
if pp_response.success?
redirect_to provider.express_checkout_url(pp_response, useraction: 'commit')
else
flash[:error] = Spree.t('flash.generic_error', scope: 'paypal', reasons: pp_response.errors.map(&:long_message).join(" "))
redirect_to spree.checkout_state_path(:payment)
end
rescue SocketError
flash[:error] = Spree.t('flash.connection_failed', scope: 'paypal')
redirect_to spree.checkout_state_path(:payment)
end
end
def cancel
flash[:notice] = Spree.t('flash.cancel', scope: 'paypal')
redirect_to main_app.checkout_path
@@ -49,4 +94,24 @@ Spree::PaypalController.class_eval do
orphaned_payments = current_order.payments.where(payment_method_id: payment_method.id, source_id: nil)
orphaned_payments.each(&:destroy)
end
def completion_route(order)
spree.order_path(order, token: order.token)
end
def express_checkout_request_details(order, items)
{
SetExpressCheckoutRequestDetails: {
InvoiceID: order.number,
BuyerEmail: order.email,
ReturnURL: spree.confirm_paypal_url(payment_method_id: params[:payment_method_id], utm_nooverride: 1),
CancelURL: spree.cancel_paypal_url,
SolutionType: payment_method.preferred_solution.presence || "Mark",
LandingPage: payment_method.preferred_landing_page.presence || "Billing",
cppheaderimage: payment_method.preferred_logourl.presence || "",
NoShipping: 1,
PaymentDetails: [payment_details(items)]
}
}
end
end

View File

@@ -7,7 +7,7 @@ require "spree/core/controller_helpers/ssl"
module Spree
class UserPasswordsController < Devise::PasswordsController
helper 'spree/base', 'spree/store'
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common

View File

@@ -7,7 +7,7 @@ require "spree/core/controller_helpers/ssl"
module Spree
class UserRegistrationsController < Devise::RegistrationsController
helper 'spree/base', 'spree/store'
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common

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