Pau Perez
613016a6cf
Refactor spec using expect_any_instance
2017-09-08 23:55:51 +10:00
Pau Perez
1899e2fa98
Fix rubocop failures
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
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
1ef4bf5da0
Refactor tests and remove duplicated ones
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
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
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
513330cfff
Add JSON api for products clone
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
Rob Harrington
7c0feab08f
Fix #1526 : add descriptions for reports *before* they are filtered
2017-07-28 17:15:57 +10:00
Julius Pabrinkis
55b2c19b64
Extract translations from lib folder
2017-07-21 12:17:12 +10:00
Pau Perez
1028b49719
Stop using Order#shipment as it will be deprecated
...
Spree 2.0 adds a deprecation warning to it and Spree 2.1 removes it.
2017-07-05 16:33:04 +10:00
Rob Harrington
22b5dafad2
Further tweaks to LineItemsController
2017-05-17 12:27:29 +10:00
Rob Harrington
61cb78fc93
Tweaks to LineItemsController, renaming #index to #bought
2017-05-12 16:29:15 +10:00
Rob Harrington
77c8c85775
Memoizing the result of OrdersController#order_to_update
2017-05-12 16:11:16 +10:00
Rob Harrington
56c2350d36
Updating enterprise fees on completed order from OrdersController#update
2017-05-10 12:04:32 +10:00
Rob Harrington
5eadb33db9
Using changes_allowed? to authorize cancellation of line_items
2017-05-05 14:20:57 +10:00
Rob Harrington
f977a05b08
Fixing broken spec for fetching list of bought items as json
2017-05-05 14:20:57 +10:00
Rob Harrington
217eda8362
Shipping and payment fees are updated for completed orders when the order changes
2017-05-05 14:20:57 +10:00
Rob Harrington
3df629bc6e
Prevent users from removing the final line item of an order, suggest cancelling instead
2017-05-05 14:20:57 +10:00
Rob Harrington
0dd8959bf7
Use an actual completed order for OrdersController#order_to_update spec
2017-05-05 14:20:57 +10:00
Rob Harrington
c6afa1849c
Basic routing for front-end OrdersController#cancel action
2017-05-05 14:19:32 +10:00
Rob Harrington
eec3a21c89
Allow editing of completed orders from confirmation page where distributor allows it
2017-05-05 14:19:32 +10:00
Rob Harrington
630b8a2577
Add OrdersController#order_to_update method, to allow updating a complete order where appropriate
2017-05-05 14:19:32 +10:00
Maikel Linke
db4a528ba3
Update shipment to re-calculate included tax
...
And re-create tax charges on the order. (untested)
2017-05-05 14:19:32 +10:00
Maikel Linke
479c7ba24b
Update transaction fees of completed orders
...
The adjustments associated to incomplete payments are re-calculated when
a line item is removed from a completed order.
2017-05-05 14:19:32 +10:00
Maikel Linke
1f08729df3
Update shipping fees after removing item
...
After removing an item from a completed order, update the shipping fees
of all shipments that are pending or ready (not completed).
2017-05-05 14:19:32 +10:00
Maikel Linke
219ad4a3a7
Reload bought products after choosing order cycle
2017-05-05 14:19:32 +10:00
Maikel Linke
d49469a3e6
Show bought items only if changes are allowed
...
An enterprise can decide to allow changes to orders in open order
cycles. The items of these orders are then displayed in the shopping
cart and can be removed on the cart edit page.
2017-05-05 14:19:32 +10:00
Maikel Linke
4835ef067f
Add feature to remove line items from open order cycle
...
- Add JS controller to send delete requests.
- Add resource controller to destroy items.
- Add authorisation check to abilities.
- Update fees after removing line item.
2017-05-05 14:19:32 +10:00
Maikel Linke
81877fedb6
Remove useless andand called on scope
2017-04-19 14:28:17 +10:00
Matt-Yorkley
1f2c6f2a85
Ensure shops display as closed when not configured for sales
...
squashme
squashme
squash
squash
squash
2017-04-19 14:28:17 +10:00
Matt-Yorkley
4fe5e60967
Updated controller stub to pass test
2017-04-19 14:28:17 +10:00
Rohan Mitchell
fdd6400cb8
Fix perms for API soft delete
2016-11-04 09:39:17 +11:00
Rohan Mitchell
a6a0bdb063
Sanitize values before they're used
2016-11-04 09:39:17 +11:00
Bing Xie
21ed37189a
Only search customers in user managed enterprises
2016-10-21 10:51:36 +11:00
Bing Xie
bc798504e0
Add new enterprise customers search API
2016-10-21 10:51:36 +11:00
Rob Harrington
61969f5c84
Ensure CustomersController#update.json gives an appropriate response
...
pendingChanges submits an empty string when a field is blank (rather than undefined)
2016-06-16 22:42:53 +10:00
Rob Harrington
7028fbe288
Find current_customer via current_distributor and current_user rather than current_order
...
Moving available_payment_methods to enterprises_helper, as per available_shipping_methods
2016-05-28 00:31:59 +10:00