Commit Graph

1424 Commits

Author SHA1 Message Date
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
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
2d60b3180e Wrap and improve comment block readability 2018-10-11 15:52:40 +02:00
Kristina Lim
da904c908d Fix product import date when not all variants have it 2018-10-06 03:03:22 +08:00
Pau Perez
75ad4254a6 Remove on_demand from Api::Admin::ProductSerializer
This change also moves the spec file to its appropriate place for the
sake of consistency and RSpec3-izes the test example.
2018-10-03 13:06:13 +02:00
luisramos0
3fbb98519d Adapt tax_rate_decorator to new spree version. Spree's default tax calculator now is checking line_items tax category, not the product tax category. See Spree's change here: a0a4b91f13 (diff-46e557ca8717d6ab5039470a40d00ea8) 2018-10-02 23:28:47 +01:00
luisramos0
bed4ec4102 Improve docs and readability on tax_rate_decorator 2018-10-02 16:15:10 +01:00
Maikel Linke
600c8fcd4c Send confirmation emails immediately
Using deferred methods on the user model breaks delayed jobs when the
user is deleted while the job still exists. We could create a proper job
referencing a user id for sending these emails instead. But since the
user has to wait for the confirmation email anyway, we can send it
within the current request. This should be revised if performance
becomes an issue.

Sending the email directly also has the advantage that we can tell the
user if emailing failed. See the following commits.

This change impacts a bunch of specs as we now need a working email
setup to create unconfirmed users. This commit introduces a custom
matcher to unify testing for confirmation emails.
2018-09-27 13:33:08 +10:00
Pau Perez
eb64569c9a Destroy all shipments when clearing order
Now we only clear the order's shipping_method, and in Spree 2.0 it can
have many shipments.
2018-09-24 15:25:33 +01:00
Pau Pérez Fabregat
b8417058b4 Merge pull request #2741 from coopdevs/refactor-checkout-process-bits
Refactor checkout process bits
2018-09-24 12:08:19 +02:00
Pau Pérez Fabregat
20077c99b5 Merge pull request #2618 from coopdevs/enable-style-send-cop
Favor #public_send over #send using Rubocop's cop
2018-09-20 19:03:40 +02:00
Pau Perez
a2b3d8372e Reduce complexity of OrderUpdater decorator 2018-09-19 16:03:33 +02:00
Pau Pérez Fabregat
99ba9d7d1b Merge branch '2-0-stable' into unit-test-variant-stock 2018-09-19 15:41:21 +02:00
Pau Perez
314ad5400f Move variant_stock.rb to concerns/ 2018-09-18 12:18:50 +02:00
Pau Perez
2a0e0eed73 Move state_machine's additions inside class_eval
And also cover them with tests.
2018-09-18 11:20:32 +02:00
Pau Perez
1fdc578901 Increase readability (a bit) of OrderUpdater 2018-09-18 11:20:32 +02:00
luisramos0
d685b706ad In order_decorator.update_shipping_fees! and order_decorator.update_payment_fees!, only update adjustment if it exists 2018-09-14 17:13:20 +01:00
luisramos0
6b3fd22db8 Adapted order_decorator to spree 2 by fixing adjustment.update! call on update_adjustment 2018-09-14 16:40:59 +01:00
Maikel
beedd933e9 Merge pull request #2512 from kristinalim/feature-remove_enterprise_images
Support removal of enterprise logo and promo image
2018-09-14 15:07:24 +10:00
Maikel Linke
a447fe4f40 Require lib file where needed
We can't always rely on other parts of the code been loaded first. We
need to declare dependencies so that they are always present.

I just ran into this problem in my dev environment.
2018-09-13 12:01:16 +10:00
Pau Pérez Fabregat
e58f7269c3 Merge pull request #2652 from luisramos0/2-0-within-zone
[Spree 2 Upgrade] Removed unused shipping_method.within_zone, customization not needed
2018-09-11 08:43:06 +02:00
luisramos0
3577f3790d Moved order.shipping_method to the OrderShippingMethod concern 2018-09-11 00:24:35 +01:00
luisramos0
f24b20d28c Added adapted implementation of order.shipping_method to order_decorator 2018-09-10 14:32:50 +01:00
luisramos0
d2f4f8ccb2 Removed unused shipping_method.within_zone, customization not needed 2018-09-06 20:29:04 +01:00
Pau Perez
b23cb55525 Fix current violations of Style/Send cop 2018-09-05 12:05:05 +02:00
luisramos0
89d51d75ae Merge branch 'master' into 2-0-stable-sept 2018-09-04 17:43:20 +01:00
Kristina Lim
9c3bb863da Add endpoints for removing enterprise images 2018-09-04 01:32:39 +08:00
Maikel Linke
c7648d67bd Add Variant stock API of Spree 1 2018-08-30 13:55:12 +10:00
luisramos0
05bfc098ff /controllers/spree/order_populator_decorator (with a class_eval) is now /services/CartService with no dependency to Spree::OrderPopulator. 2018-08-23 12:39:55 +01:00
luisramos0
a97138dd58 Fixed bulk_line_items_controller_spec by setting shipment on test line_items and by allowing shipment decorator to allow no adjustments in the shipment 2018-08-22 23:20:30 +01:00
Maikel
4417a8f156 Merge pull request #2539 from luisramos0/delete_dead_cart
removed Cart route, controller, model and specs: dead code
2018-08-22 17:35:58 +10:00
luisramos0
898e41acfb Removed monkeypatchs to scope variants on inventory_unit and line_item decorators. We need to make the scoping somewhere else in spree2, see #2559 2018-08-19 20:23:31 +01:00
luisramos0
91e57cb893 Removed Cart table, its dependency on spree orders table and removed some more dead code related to this 2018-08-15 23:29:28 +01:00
luisramos0
4b64369ddb Added GA and Matomo toggle in Legal Settings in the global settings in the BO and added GA and Matomo cookies details to the cookies policy page (according to what is configured in the BO) 2018-08-14 10:01:48 +10:00
luisramos0
ca35c59e52 Moved the footer TOS URL from the content settings to the new section legal settings in the global settings 2018-08-14 10:01:48 +10:00
luisramos0
d920c32376 Added cookies banner toggle and privacy URL to a new section called Legal Settings in the global settings in the BO 2018-08-14 10:01:48 +10:00
luisramos0
3b1bd53d3a Added basic integration with Matomo
Added matomo script and added a new matomo settings menu entry under configuration. Improved organization of en.yml by grouping configuration screens.
2018-08-10 16:12:58 +10:00
Maikel Linke
27ddb712c1 Remove unused scope Spree::Variant.in_stock
Our added scope is not used anywhere and conflicts with the Spree
upgrade.

https://github.com/openfoodfoundation/openfoodnetwork/issues/2014
2018-08-09 14:22:43 +10:00
Pau Perez
43bf7293bf Merge branch 'master' into 2-0-stable
* master: (125 commits)
  Fix syntax error in GETTING_STARTED.md
  Fix syntax error in README.md
  Fix link syntax errors in REAME.md and GETTING_STARTED.md
  Style recently merged code
  Update gem i18n-js to pick up locale changes
  Fix embedded shopfront menu responsiveness
  Add communications links to README
  Fix script/setup by making it less clever
  Change import and reset logic to work with first page
  Move options to first page
  Fix wrong sort predicates in customer index
  Reset reverse when clicking another column to sort
  Move logic for toggling by column into SortOptions
  Generalize sorting through SortOptions service
  Remove unused sorting preferences in ColumnsCtrl
  Fix frontend sorting in "Bulk Order Management"
  Fix frontend sorting in "Customers" index
  Change sorting to be done in ascending order first
  Wrap rows in customer index with TBODY tag
  Update .rubocop_todo.yml
  ...
2018-07-27 10:21:47 +02:00
Maikel
238a07dbd6 Merge pull request #2488 from HugsDaniel/2434-remove-dash-dependency
[Spree Upgrade] Remove dependency to Dash and Jirafe
2018-07-27 13:00:15 +10:00
Pau Perez
f1896313b3 Move shipping_address_from_distributor to OrderUpdater
This is still Spree-1.3 compatible not considering multiple shipments
and shipping methods.
2018-07-25 11:07:16 +02:00
Pau Perez
21d905a092 Refactor OrderUpdater to decorate Spree's one
This replaces the nasty class eval and provides some encapsulation
2018-07-25 11:07:16 +02:00
Hugo Daniel
ec751c0a78 Remove admin analytics ability 2018-07-24 15:27:22 +02:00
Maikel Linke
2334f0854c Less invasive modifying the checkout state machine 2018-07-11 10:55:12 +10:00
Rob Harrington
21c3f7d21c Remove unrequired #cards and #addresses actions from Admin::CustomerController 2018-07-05 19:26:12 +10:00
Rob Harrington
cf8ca1f8c1 Add show action to Admin::CustomersController 2018-07-05 19:26:11 +10:00
Rob Harrington
fc2844a3d5 Add default_card method to user model 2018-07-05 19:26:11 +10:00
Maikel Linke
c7f7e420ea Skip shipment creation for payment step
https://github.com/openfoodfoundation/openfoodnetwork/issues/2007

Spree 2.0.4 creates in-memory shipments for the payment step. That means
we don't need to create a shipment in that transition. This change
copies the checkout_flow from the Spree code, but leaves one last
customisation: removal of the confirm step.
75ec77dc31
2018-07-05 16:34:11 +10:00
Frank West
09534b41e9 Remove taxon when primary taxon is changed
We are adding taxons to the product as you change the primary taxon.
However we never remove the previous primary taxon so it forces the user
to update the taxons manually. This can be a big problem if you are bulk
updating products.

We now remove the taxon that matches the previously set primary taxon.
2018-07-04 09:16:50 +10:00