Commit Graph

540 Commits

Author SHA1 Message Date
Rob Harrington
098afc62c1 Fix rubocop issues 2017-09-23 14:58:34 +10:00
Rob Harrington
0bbaafbd41 Use guard clause 2017-09-23 14:58:34 +10:00
Rob Harrington
f6c3a2a46e Remove new credit card initialisation logic from Spree::UsersController#show 2017-09-23 14:58:34 +10:00
Rob Harrington
4464a85a74 Add missing controller specs for CreditCardController #destroy 2017-09-23 14:58:34 +10:00
Rob Harrington
22bbe29f3d Call single-use before_filters from actions instead 2017-09-23 14:58:34 +10:00
Rob Harrington
ca1987fc87 Prevent Stripe payment methods without account owners from being saved 2017-09-23 14:58:34 +10:00
Rob Harrington
6133b302af Use guard clause in PaymentMethodsController#restrict_stripe_account_change 2017-09-23 14:58:33 +10:00
Rob Harrington
4865533f26 Restrict edit permissions on Stripe payment methods 2017-09-23 14:58:33 +10:00
Rob Harrington
8901af897a Store card details submitted via checkout 2017-09-23 14:58:33 +10:00
Rob Harrington
ecb78233d9 Use guard clauses where possible 2017-09-23 14:58:32 +10:00
Rob Harrington
a68ae1fe2d Provide a sensible flash message when CreditCard#destroy action fails 2017-09-23 14:58:32 +10:00
Rob Harrington
42dd58426e Auto-correct rubocop offences for stripe-connect 2017-09-23 14:58:32 +10:00
Rob Harrington
f890927423 Implementing the Stripe Connect feature toggle 2017-09-23 14:58:32 +10:00
Rob Harrington
1d1e581c85 Refactoring CreditCardController, rendering card processing errors as json 2017-09-23 14:58:32 +10:00
Rob Harrington
63a15ec392 CreditCardController#destroy redirects to account#/cards 2017-09-23 14:58:32 +10:00
Rob Harrington
b9d72ce4cf Refactoring logic for displaying orders on the front-end account page 2017-09-23 14:58:32 +10:00
Rob Harrington
f4c3fbf8bc Refactoring credit cards interface, and backend logic 2017-09-23 14:58:32 +10:00
stveep
25f48d944c Add delete links, tidy up UI a bit (WIP), page refresh after adding still doesn't work 2017-09-23 14:58:31 +10:00
stveep
c9c4680ef6 Backend code to create Stripe customers and store their IDs in CreditCards. Page refresh not working 2017-09-23 14:58:31 +10:00
stveep
1449169b16 Basic UI for adding credit card details and getting a Stripe token without making a payment 2017-09-23 14:58:31 +10:00
stveep
d374ab569d Undo dodgy redirect changes and set spec to pending 2017-09-23 14:57:02 +10:00
stveep
47df2dc20b Tweaking redirects and links 2017-09-23 14:57:02 +10:00
stveep
5ae473e07f Add specs, fix redirect after requring relogin 2017-09-23 14:57:02 +10:00
Rob Harrington
f3322dd82e Transfer responsibility for checking for orphaned PayPal payments from Payment model to Spree::PayPalController 2017-09-23 14:26:03 +10:00
Rob Harrington
d2d07f0362 Update translation scope for PayPal checkout cancellation message 2017-09-23 14:26:03 +10:00
Rob Harrington
131d9384c2 Use flash.notice instead of flash.success to display order confirmation message
This way it overwrites any message that is set from spree, rather than displaying duplicate messages
2017-09-23 14:25:55 +10:00
Pau Perez
5b1947429e Fix odd-even background by relying on Spree
This removes unnecessary duplication of #destroy. We can make it work by
adding a simple fix in Spree.
2017-09-08 23:55:50 +10:00
Pau Perez
8db1fa4e77 Move JSON line items responses to a new controller
Extracts the JSON response from the admin's line item controller which
are only used by the bulk management feature into its own controller.

This decouples spree from an OFN-only feature and allows to remove
unnecessary code. Furthermore, Admin::LineItemsController is gone in
Spree 2.4.0.beta. See: https://github.com/spree/spree/pull/5280
2017-09-08 23:55:50 +10:00
Pau Perez
b3c94fd688 Revert "Load order also on open and close adjustments"
This reverts commit d77588431aa26422e2956fd3510a20b35dab1b1c.
2017-09-08 23:55:50 +10:00
Pau Perez
4d94b65d25 Load order also on open and close adjustments
@order is not loaded by Spree because we overrode the :before_filter in
spree/admin/orders_controller_decorator.rb. We need to also specify so in the
decorator.
2017-09-08 23:55:50 +10:00
Enrico Stano
d8e17231ec Revert "Order email translation keys"
This reverts commit dc30e0b1042602ed8f03fe97444ccce8526e51b3.
2017-09-08 23:55:50 +10:00
Enrico Stano
ff2b2e17d9 Order email translation keys 2017-09-08 23:55:50 +10:00
Rob Harrington
595d7b5594 Remove conditional assignment from PaymentsController#fire decorator 2017-09-08 23:55:50 +10:00
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
85fefcd946 Replace helper with service object 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
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
enricostano
513330cfff Add JSON api for products clone 2017-09-08 23:55:49 +10:00
Rohan Mitchell
c47af55bb9 Fix: When a user fires an event (eg. capture payment), take them back to where they came from 2017-09-08 23:55:49 +10:00
Rohan Mitchell
0a8e8dfbbb Add specs and fix line items HTML response 2017-09-08 23:55:49 +10:00
Rohan Mitchell
1170897587 Add our own JSON handling actions for update and delete. Spree no longer does this for us. 2017-09-08 23:55:48 +10:00
Rohan Mitchell
2c374b448a check_authorization removed in Spree. Add load_order before_filter to cover our custom actions. 2017-09-08 23:55:48 +10:00
Rohan Mitchell
5ad197278c Fix rendering of order form for JSON requests 2017-09-08 23:55:48 +10:00
Julius Pabrinkis
9429695e15 Add i18n helper for controllers to switch language by params 2017-08-02 09:57:32 +10:00
Rob Harrington
7c0feab08f Fix #1526: add descriptions for reports *before* they are filtered 2017-07-28 17:15:57 +10:00
Matt-Yorkley
113f6565be Enable iframes for embedded shopfronts 2017-07-26 13:56:36 +10:00