Commit Graph

34725 Commits

Author SHA1 Message Date
Pau Perez
3a9b71bd1f Add doc to methods and classes [skip ci] 2017-09-08 23:55:50 +10:00
Enrico Stano
62c5ccf904 Address CodeClimate complains 2017-09-08 23:55:50 +10:00
Enrico Stano
2f3f20e433 Remove html_safe and add spec 2017-09-08 23:55:50 +10:00
Pau Perez
85fefcd946 Replace helper with service object 2017-09-08 23:55:50 +10:00
Pau Perez
e087a008c2 Reduce coupling from controller 2017-09-08 23:55:50 +10:00
Pau Perez
4c4969e86b Do not couple with controller's ivar and session 2017-09-08 23:55:50 +10:00
Pau Perez
f6c8a11b7b Move ResetOrderService to new app/services 2017-09-08 23:55:50 +10:00
Pau Perez
1ef4bf5da0 Refactor tests and remove duplicated ones 2017-09-08 23:55:50 +10:00
Pau Perez
a18bf4b666 Add unit tests for service object 2017-09-08 23:55:50 +10:00
Pau Perez
bdfd718c51 Use service object directly from controller 2017-09-08 23:55:50 +10:00
Pau Perez
3c73282d57 Manually reset the order once completed
Spree does not call after_<order.state> methods any more as of
https://github.com/spree/spree/pull/2557, so our #after_complete method
is never triggered and thus the order never reset.

This makes the condition:

```ruby
if current_order.andand.distributor == @order.distributor
```

in app/views/spree/orders/form/_update_buttons.html.haml return false
and as a result the "Back To Cart" button is not shown.

This commit resets the order (emptying the session[:order_id] and
creating a new order, aka. cart) right from the
CheckoutController#update rather than relying on infernal callbacks (of
what the Spree core team itself was unhappy about since long ago
https://github.com/spree/spree/issues/2488). There is the first place
where we know the order has been successfully completed.
2017-09-08 23:55:50 +10:00
Enrico Stano
d09e0cd44a Deal with both JS and JSON format 2017-09-08 23:55:50 +10:00
Enrico Stano
d581fc4863 Fix specs to contemplate XHR requests and more coverage 2017-09-08 23:55:50 +10:00
Enrico Stano
790bc5b187 Use JS format for #update 2017-09-08 23:55:50 +10:00
Pau Perez
f0e2d426c3 Fix getting HTML when deleting line item in admin
In the step 6 of the spree upgrade, when deleting an order's line item
from /admin we get an HTML response (the whole edit form) that gets
inserted into the flash error.

It's not 100% clear why we added a respond_to block for JSON but since
juery-rails sends ajax requests with application/javascript, */* in
the ACCEPTS request header, Rails falls back to the first specified respond_to
block, which is HTML. We don't hit the JSON block.

In order for this to work, this commit replaces the JSON respond_to
block with one for JS with the exact same behaviour; returning a 204.
This is also the format the spree controller action we duplicated originally
has besides HTML.
2017-09-08 23:55:50 +10:00
Pau Perez
8c56bd23fc Add missing translation 2017-09-08 23:55:50 +10:00
Enrico Stano
6254dfde11 Backport Spree commit to fix PaymentMethodsController #create 2017-09-08 23:55:50 +10:00
Enrico Stano
49d96206e1 Add missing email i18n key 2017-09-08 23:55:50 +10:00
Enrico Stano
ce562889a9 Update js and css assets 2017-09-08 23:55:50 +10:00
Enrico Stano
5a2c3f5c5c Set Spree configuration related to locales before the promo environment gets initialized 2017-09-08 23:55:50 +10:00
Enrico Stano
7874d96003 Set MailMethod for test environment when needed 2017-09-08 23:55:50 +10:00
Enrico Stano
8e5b94b5ca Fixing orders controller issue by setting data up correctly 2017-09-08 23:55:49 +10:00
Enrico Stano
4a989f705b No more order.payment 2017-09-08 23:55:49 +10:00
Rob Harrington
3e6e3173ee Fixing line item controller issue by setting data up correctly 2017-09-08 23:55:49 +10:00
Enrico Stano
72292b1dd3 Use new state API instead of locked
be554fde9f
2017-09-08 23:55:49 +10:00
enricostano
6816061915 Fix confirmation email subject
c38537173f
2017-09-08 23:55:49 +10:00
enricostano
23585e6ea8 Initialize custom calculators using Spree API
Freely inspired by https://github.com/coopdevs/spree/blob/2-0-stable/core/lib/spree/core/engine.rb#L78
2017-09-08 23:55:49 +10:00
enricostano
cf4bd8d755 WIP Preparing to get rid of MailMethod model
Please give a look at the following links:
 - http://guides.spreecommerce.org/release_notes/spree_2_0_0.html#mailmethod-model-no-longer-exists
 - https://github.com/spree/spree/pull/2643
2017-09-08 23:55:49 +10:00
enricostano
22b5431279 Start spree upgrade step 6 2017-09-08 23:55:49 +10:00
enricostano
4e35c0448b Use the state machine API to add state transition callbacks
See the following links for more context:
http://guides.spreecommerce.org/release_notes/spree_2_0_0.html#removal-of-checkoutcontrollerstatecallback
1d9581c884
2017-09-08 23:55:49 +10:00
enricostano
fd259e0a63 Use cherry-picked commit in spree fork from the future 🚀
2aee282d6d
2017-09-08 23:55:49 +10:00
enricostano
e7ecdcc251 Import schema migration for spree gem upgrade step 5 2017-09-08 23:55:49 +10:00
Em-AK
a70cdaadb6 Start spree upgrade step 5 2017-09-08 23:55:49 +10:00
enricostano
d8c227c43f Import data migration from latest spree_paypal_express gem 2017-09-08 23:55:49 +10:00
enricostano
a87c89c83d Require authentication for API endpoints
Authentication and authorization layers (cancan) should not be mixed
c594d6111b
2017-09-08 23:55:49 +10:00
Em-AK
6817ac0d79 Regenerate knapsack report on my slow machine 2017-09-08 23:55:49 +10:00
enricostano
c439a23ef9 Adapt CheckoutController to new Spree changes
Freely inspired by ad5551bf84
2017-09-08 23:55:49 +10:00
enricostano
a80d75e7e2 Fix Spree taxons route reference 2017-09-08 23:55:49 +10:00
enricostano
d2b6a47ae4 Use new #available_to_order API 2017-09-08 23:55:49 +10:00
enricostano
5ad0f8bb2e Fix module namespace 2017-09-08 23:55:49 +10:00
enricostano
a9966f48af Use new product_search method 2017-09-08 23:55:49 +10:00
Em-AK
b5bac722ca Fix: make rspec run 2017-09-08 23:55:49 +10:00
Em-AK
8a42b606eb Start spree upgrade step 4 2017-09-08 23:55:49 +10:00
Em-AK
31f2551116 Update the JS unit spec to the new endpoint 2017-09-08 23:55:49 +10:00
enricostano
c992095959 Use new /clone JSON endpoint 2017-09-08 23:55:49 +10:00
enricostano
513330cfff Add JSON api for products clone 2017-09-08 23:55:49 +10:00
Em-AK
1136cb40a9 Revert to OFN spree fork
This reverts commit 92f50d96803f9d0f302be51aad085c9a68ec4c32.
And bundle update to the last commit of openfoodfoundation/spree, branch: spree-upgrade-step-3
2017-09-08 23:55:49 +10:00
Em-AK
e73330d597 Fix removal of product properties
Prevent spree to make a post request on deletion of a property
The data should be updated on the server by clicking on the Update
button
2017-09-08 23:55:49 +10:00
Em-AK
f22a12d657 Revert later: depend on our spree fork 2017-09-08 23:55:49 +10:00
Em-AK
d68104cecb Update a dependency to run the specs 2017-09-08 23:55:49 +10:00