Commit Graph

48 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
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
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
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
c439a23ef9 Adapt CheckoutController to new Spree changes
Freely inspired by ad5551bf84
2017-09-08 23:55:49 +10:00
Matt-Yorkley
113f6565be Enable iframes for embedded shopfronts 2017-07-26 13:56:36 +10:00
Pau Perez
cee24dcca7 Use indented style for multiline method calls
This enables the Rubocop's Style/MultilineMethodCallIndentation cop with
indentend enforced style. Which makes you split multiline method calls like:

  orders = Spree::Order
    .an_scope
    .another_scope
    .where(id: list_of_ids)

It also autofixes the current violations and updates the
rubocop_todo.yml
2017-07-12 10:40:53 +02:00
Rob Harrington
e5340cb53a Rubocop: Correct Lint/UselessAssignment offences, disable for /spec in main config 2017-06-23 16:49:08 +10:00
Rob Harrington
7bb58342fc Rubocop: Auto-correct Style/EmptyLineBetweenDefs offences 2017-06-23 16:49:08 +10:00
Rob Harrington
b59a1cc232 Using true/false instead of YES/NO for address defaults and billing same as shipping 2016-10-21 10:51:36 +11:00
Bing Xie
720ca17533 Fix the mistake 2016-10-21 10:51:36 +11:00
Bing Xie
77f43e3ca7 Refactor setting default addresses 2016-10-21 10:51:36 +11:00
Bing Xie
23b8fbbbc7 Update customer's default address 2016-10-21 10:51:36 +11:00
Bing Xie
079788b4eb Add customer preferred bill and ship address 2016-10-21 10:51:36 +11:00
Bing Xie
8d534041b2 Refactor js CurrentOrder 2016-10-21 10:51:36 +11:00
Bing Xie
e91c313f1e Fix state_id and country_id type bug 2016-10-21 10:51:36 +11:00
Bing Xie
2f241485a2 Set default addresses for user or customer 2016-10-21 10:51:36 +11:00
Bing Xie
3e590f92ff Set default billing address and shipping address 2016-10-21 10:51:36 +11:00
Rohan Mitchell
3dcfa810fd Display out of stock banner when viewing cart directly 2016-04-21 09:36:23 +10:00
Rohan Mitchell
d45b525497 When there's an out of stock product in the cart, placing order returns user to the cart 2016-04-21 09:36:22 +10:00
Rohan Mitchell
243f59c87d When there's an out of stock product in the cart, checkout returns user to cart 2016-04-21 09:36:22 +10:00
Rohan Mitchell
5579fa5e0b Extract last used address finding into service object 2015-12-11 13:06:59 +11:00
Rohan Mitchell
4cc8eb90fc Refactor code for brevity 2015-07-10 09:42:09 +10:00
Rohan Mitchell
8deb4ef9d4 When encountering StaleObjectError when checking out, retry 2015-07-10 09:42:09 +10:00
Rohan Mitchell
704955a185 Load active distributors where they're needed rather than in most controllers 2015-05-27 15:44:01 +10:00
Rob Harrington
24e3c9a9e1 Adding bugsnag notify block for catching naughty phantom fees 2015-04-10 16:41:10 +10:00
Rohan Mitchell
8488b8e469 When user has selected a hub that is not ready for checkout, unselect it 2014-10-31 15:02:58 +11:00
Rohan Mitchell
c297b7014a Charge customers for their shipping fee 2014-09-10 14:01:36 +10:00
Rob H
b8fadb50ae Special Instructions in checkout are actually wired up 2014-09-06 12:00:27 +10:00
Rohan Mitchell
50f74038b2 Fix redirect to paypal for better spree paypal express 2014-07-25 12:44:14 +10:00
Rohan Mitchell
3b28981400 Adapt cancel redirect for better spree paypal express 2014-07-25 12:44:14 +10:00
Rohan Mitchell
aa5767cd30 Remove paypal image button from checkout, fix redirect to paypal 2014-06-27 11:52:36 +10:00
Will Marshall
8bb5f75ea0 Temporary fix to get staging working 2014-06-20 13:51:21 +10:00
Rohan Mitchell
71020a14ef Fix payments coming up as $0, credit card charges failing for the same reason 2014-06-12 11:49:54 +10:00
Will Marshall
dbf4f503a9 Restoring my clever flash refactoring 2014-06-10 11:14:52 +10:00
Rohan Mitchell
be644bdcc3 Revert "Reworking flash messages hooray"
This reverts commit c9d0091cd9.
2014-06-06 16:59:47 +10:00
Will Marshall
c9d0091cd9 Reworking flash messages hooray 2014-06-06 16:41:28 +10:00
Will Marshall
cd09f70ed3 Compacting down our flash messages 2014-06-04 17:13:19 +10:00
Rohan Mitchell
a99e18990d Readability 2014-06-04 14:27:17 +10:00
Will Marshall
df82627bd1 Starting to rework login behaviour when hitting /admin 2014-05-20 15:47:00 +10:00
Will Marshall
2fc45d635d Putting error messages on checkout into error flash for easier debugging 2014-05-20 15:16:52 +10:00
Will Marshall
5f712a8984 Removing code 2014-05-14 15:16:29 +10:00
Will Marshall
573d479e08 Fixing test regressions 2014-05-09 16:43:57 +10:00
Will Marshall
23fa1c7b7b Patching a couple more issues 2014-05-02 15:17:44 +10:00
Will Marshall
b907616749 Renaming our partials 2014-05-02 14:47:12 +10:00