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
Rob Harrington
269a60b36f
Adding request specs for case when using an existing card stored by Stripe for payment
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
c4f9a5a234
Add code to CheckoutController to construct card attributes when using an existing card (via a818fbbecd/core/app/models/spree/order/checkout.rb:212)
2017-09-23 14:58:31 +10:00
Rob Harrington
f87f4310f0
Adding #status controller action for stripe accounts to fetch current info direct from Stripe
2017-09-23 14:57:02 +10:00
stveep
a039286240
Webhook processing changes: fix expected request data formatting
2017-09-23 14:57:02 +10:00
stveep
9ac638f8ba
Fix some leftover refactoring from an earlier modification to enterprises controller (now not needed as moved to admin/enterprises)
2017-09-23 14:57:02 +10:00
stveep
da335703b4
Fix specs for travis
2017-09-23 14:57:02 +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
stveep
1dcffa790d
Add JWT encoding to state param
2017-09-23 14:57:02 +10:00
Steve Pettitt
41607c5846
De-associate accounts in response to webhook (not tested with a real deauth request yet)
2017-09-23 14:57:02 +10:00
Steve Pettitt
05a69ff0c6
Worklow to disconnect Stripe from OFN admin interface
2017-09-23 14:57:02 +10:00
Steve Pettitt
758f57a889
Remove CSRF check - doesn't work properly as implemented, but connect request should probably be changed to POST
2017-09-23 14:57:02 +10:00
Steve Pettitt
7fd8c5956d
Check CSRF, allow a Stripe account to be connected to more than one enterprise (but not vice versa)
2017-09-23 14:57:02 +10:00
Steve Pettitt
03f590ccc4
Callback creates a new StripeAccount with id and publishable key.
2017-09-23 14:57:02 +10:00
Steve Pettitt
06279848c6
Stripe auth and callback working. Still need to process callback.
2017-09-23 14:57:02 +10:00
Steve Pettitt
df18329233
Starting Stripe integration
2017-09-23 14:57:01 +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
1899e2fa98
Fix rubocop failures
2017-09-08 23:55:51 +10:00
Pau Perez
a763c24f3c
Doc what with_lock does
2017-09-08 23:55:51 +10:00
Pau Perez
1faa1579f3
Update enterprise fees while locking the order
2017-09-08 23:55:51 +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
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
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
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
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