Commit Graph

10104 Commits

Author SHA1 Message Date
Matt-Yorkley
0bd67bd06a Remove unnecessary Spree::Config fallback value 2018-10-26 21:38:57 +01:00
Matt-Yorkley
77251848ee Refactor Spree::Admin::OrdersController 2018-10-26 21:38:57 +01:00
Pau Pérez Fabregat
8a3f621b42 Merge pull request #2893 from luisramos0/deleted_products_break_inventory
Fix bug in inventory management page
2018-10-25 18:20:42 +02:00
Pau Pérez Fabregat
7cac4637fe Merge pull request #2916 from luisramos0/date-transl-fix
Add Portuguese and German to list of momentJS locales
2018-10-25 18:18:53 +02:00
Maikel
acb8ec772e Merge pull request #2922 from mkllnk/update-rubocop-todo
Update rubocop todo list
2018-10-25 14:48:51 +11:00
Maikel
3cab3d1798 Merge pull request #2921 from openfoodfoundation/transifex
Transifex
2018-10-25 14:22:10 +11:00
Maikel Linke
cd5c23993a Update rubocop todo list
Since we activated more cops in 0ac16ce096
we had a lot of files missing in the todo list. They are likely from
other pull requests that have been open at the same time. This is a
quick update so that rubocop gives us some useful feedback again.
2018-10-25 14:08:04 +11:00
Maikel
51a1787881 Merge pull request #2908 from Matt-Yorkley/bulk_orders_bug
Fix pagination conflict with LineItemsCtrl requests
2018-10-25 13:18:11 +11:00
Maikel Linke
dc5302ca08 Speed up database queries and make them scale
This commit makes use of three ActiveRecord features:

1. Using `select` instead of `all.map` enables ActiveRecord to nest one
select into the other, resulting in one more efficient query instead of
two.

2. Using `find_each` saves memory by loading records in batches.
https://api.rubyonrails.org/classes/ActiveRecord/Batches.html#method-i-find_each

3. Using `pluck` creates only an array, avoiding loading all the other
columns of the records into objects.

Running this on the current Canadian database, fixes the following
variant overrides:

```
[]
[]
[]
[]
[]
[]
[925, 924, 966, 965]
[]
[]
[]
[]
[462,
 863,
 464,
 822,
 949,
 947,
 944,
 939,
 942,
 946,
 945,
 943,
 438,
 937,
 938,
 941,
 940,
 467,
 952,
 875,
 453,
 953,
 454,
 951,
 487,
 460,
 457,
 528,
 527,
 486,
 459,
 458,
 461,
 529,
 530,
 950,
 642,
 384,
 380,
 643,
 385,
 381,
 644,
 386,
 382,
 960,
 959,
 379,
 640,
 377,
 375,
 532,
 639,
 376,
 374,
 646,
 390,
 389,
 637,
 406,
 408,
 647,
 391,
 393,
 633,
 396,
 400,
 398,
 645,
 388,
 387,
 648,
 394,
 392,
 536,
 632,
 399,
 397,
 395,
 634,
 403,
 401,
 635,
 404,
 402,
 636,
 407,
 405,
 535,
 534,
 638,
 410,
 409,
 948,
 533,
 537,
 531,
 877,
 880,
 894,
 893,
 672,
 671,
 673,
 674,
 703,
 714,
 715,
 716,
 717,
 862,
 864,
 879,
 876,
 865,
 881,
 878,
 463,
 954,
 866,
 823,
 957,
 958,
 955,
 956,
 899,
 897]
[]
[969]
```
2018-10-25 11:33:14 +11:00
Transifex-Openfoodnetwork
c17939631f Updating translations for config/locales/en_US.yml 2018-10-25 09:31:36 +11:00
Pau Pérez Fabregat
ce93c52dfe Merge pull request #2850 from Matt-Yorkley/password_change_logout
Password change logout
2018-10-24 11:43:09 +02:00
Pau Pérez Fabregat
9ef4852bd4 Merge pull request #2818 from nikobozi/refactor-variant-overrides-query
Move query from variant_overrides_controller to its model scope
2018-10-24 11:42:22 +02:00
Pau Pérez Fabregat
7651ee0909 Merge pull request #2798 from as1729/as1729-update-docs-Stripe-publishable_key-for-pr
Better docs for Stripe.publishable_key and Stripe.endpoint_secret.
2018-10-24 11:23:21 +02:00
luisramos0
c9784a5eda Add Portuguese and German to list of moment locales. The main usage is in the order cycle closure time in the shopfront 2018-10-23 17:53:08 +01:00
Maikel
6f5289c730 Merge pull request #2894 from openfoodfoundation/transifex
Transifex
2018-10-23 16:21:20 +11:00
Matt-Yorkley
42c1584e6f Fix pagination conflict with LineItemsCtrl requests 2018-10-22 18:13:56 +01:00
Pau Pérez Fabregat
a1bbf5328e Merge pull request #2872 from mkllnk/2765-fix-geocoding
2765 Fix geocoding to display enterprises on map
2018-10-22 16:44:30 +02:00
luisramos0
d375bb8c55 Migration: Revoke variant overrides without permissions 2018-10-20 12:32:55 +01:00
luisramos0
9079437284 Add before_destroy to enterprise_relationship so that variant overrides are revoked when permission is deleted 2018-10-20 12:32:51 +01:00
luisramos0
5ae0ad87a7 Refactor EnterpriseRelationship before save hook: some renames and extract methods 2018-10-20 11:52:11 +01:00
Transifex-Openfoodnetwork
c911462737 Updating translations for config/locales/en_GB.yml 2018-10-20 02:04:33 +11:00
Maikel Linke
9698fd3c5a Style spec 2018-10-18 11:07:16 +11:00
Maikel Linke
d197c8587f Test address deletion 2018-10-18 11:06:32 +11:00
Maikel Linke
e96cab957a Convert specs to RSpec 3.7.1 syntax with Transpec
This conversion is done by Transpec 3.3.0 with the following command:
    transpec spec/models/spree/addresses_spec.rb

* 13 conversions
    from: obj.should
      to: expect(obj).to

* 2 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 1 conversion
    from: obj.should_not
      to: expect(obj).not_to

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2018-10-18 10:52:46 +11:00
Pau Pérez Fabregat
590091c42a Merge pull request #2842 from Matt-Yorkley/pi/missing_variable
Fix missing local variable in EntryProcessor
2018-10-16 13:19:23 +02:00
Maikel Linke
8fb81bb6a7 Configure Geocoder with API key as required by Google 2018-10-16 16:49:52 +11:00
Maikel Linke
61797fff56 Restrict deletion of address explicitely
Enterprises have an `address_id` which must point to a valid
`Spree::Address`. As Rubocop suggested, I restricted the deletion of
addresses when they are still associated to an enterprise.

Without declaring `dependent: :restrict`, trying to delete the address
would raise `ActiveRecord::InvalidForeignKey`. Now it is more specific
and raises `ActiveRecord::DeleteRestrictionError`.

I didn't find code rescuing the InvalidForeignKey when deleting addresses. I
actually think that we never delete addresses. So this change should not
have any impact on the execution.
2018-10-16 15:18:44 +11:00
Maikel Linke
a8705ca179 Simplify address methods 2018-10-16 14:49:36 +11:00
Maikel Linke
5021ed9c69 Simplify by using Rails tools 2018-10-16 14:49:35 +11:00
Maikel Linke
34849c441a Reduce complexity and duplication 2018-10-16 14:48:12 +11:00
Maikel Linke
c4437a6437 Style address decorator 2018-10-16 14:48:12 +11:00
Maikel Linke
b109f6d78c Remove temporary reporting code 2018-10-16 14:48:12 +11:00
Pau Pérez Fabregat
f8bccda6ab Merge pull request #2847 from Matt-Yorkley/emails/validation
Emails/validation
2018-10-15 15:54:41 +02:00
Pau Pérez Fabregat
8946fe3ce8 Merge pull request #2829 from Matt-Yorkley/bi/results_per_page
Add per_page controls to admin orders index
2018-10-15 12:17:39 +02:00
Pau Pérez Fabregat
0e4a3dbc26 Merge pull request #2845 from coopdevs/fix-invalid-variant-creation
Fix invalid variant creation
2018-10-15 12:16:39 +02:00
Pau Pérez Fabregat
fe149967e4 Merge pull request #2521 from luisramos0/cookies_in_engine
[OFN Domains] Breaking OFN into domains - POC cookies inside an engine
2018-10-15 10:03:30 +02:00
Matt-Yorkley
fcff835922 Update results on dropdown select 2018-10-12 17:06:42 +01:00
Matt-Yorkley
8a0a33deec Merge pull request #2858 from Matt-Yorkley/rubocop_line_limit
Increase rubocop line limit to 100
2018-10-12 16:52:37 +01:00
Matt-Yorkley
57c6530e46 DRY code and use more flexible I18n 2018-10-11 16:38:14 +01:00
Matt-Yorkley
ebb03906cf Increase rubocop line limit to 100 2018-10-11 15:37:38 +01:00
Pau Perez
60d05a941c Fix variants with 'weight' and missing unit_value
This adds a data migration to fix those cases. It defaults to showing
1 unit of the specified weight. That is, if the user chose Kg, it'll
display 1 as unit.

Note that migration logs the process in a log/migrate.log file separate
from the regular Rails log/production.log file.

When you run the migration you'll see something like:

  Fixing variants missing unit_value...

  Processing variant 12...
  Succesfully fixed variant 12

  Done!

This helps auditing the changes applied and debug any possible failure
scenarios. You can delete it once all is ok.
2018-10-11 15:52:40 +02:00
Pau Perez
5bd375d422 Favor early return over dumb else branch 2018-10-11 15:52:40 +02:00
Pau Perez
c8c16f0e8a Use Rails 3.2 validates syntax 2018-10-11 15:52:40 +02:00
Pau Perez
cbac916e66 Validate unit value when updating variant_unit
Variants whose product's variant_unit is weight or volume require
a unit_value.
2018-10-11 15:52:40 +02:00
Pau Perez
a2228d4131 Make ProductSet parseable by humans
Now it's imposible to understand what is really going on. Feels more
like assembler than Ruby.
2018-10-11 15:52:40 +02:00
Pau Perez
575d76e23e Cover variant creation and update with basic tests 2018-10-11 15:52:40 +02:00
Pau Perez
d43726504b Make #update_attributes parseable by humans
As it is this is impossible to follow.
2018-10-11 15:52:40 +02:00
Pau Perez
f54c69cbba Add first test case for ProductSet
This covers creation and update of a product.
2018-10-11 15:52:40 +02:00
Pau Perez
2d60b3180e Wrap and improve comment block readability 2018-10-11 15:52:40 +02:00
Matt-Yorkley
4760ebb80c Use global config 2018-10-11 09:04:37 +01:00