Commit Graph

1085 Commits

Author SHA1 Message Date
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
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
5200937165 Safari/iOS iframe issue fix 2017-07-26 13:56:36 +10:00
Matt-Yorkley
6215777986 Shopfront review adjustments 2017-07-26 13:56:36 +10:00
Matt-Yorkley
0eb4c7f7ba Require https for embedding sites 2017-07-26 13:56:36 +10:00
Matt-Yorkley
782a812596 Basic Embedded Shopfronts 2017-07-26 13:56:36 +10:00
Matt-Yorkley
113f6565be Enable iframes for embedded shopfronts 2017-07-26 13:56:36 +10:00
Maikel Linke
9f243e6d3c Fix title of /admin/content/edit
Spree uses the global i18n key `contents` to print the title. A previous
change made that an object containing other i18n keys which was then
displayed as title.

This change moves the i18n content to the scope of the view where they
are displayed.
2017-07-21 12:17:13 +10:00
Julius Pabrinkis
8b2b51d511 Fix code style for Rubocop 2017-07-21 12:17:13 +10:00
Julius Pabrinkis
ba0b17e168 Extract translations from controllers 2017-07-21 12:17:12 +10:00
Julius Pabrinkis
55b2c19b64 Extract translations from lib folder 2017-07-21 12:17:12 +10:00
Julius Pabrinkis
60060a7017 Start admin/reports extract translations 2017-07-21 12:17:12 +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
fc5b339e2a Rubocop: Correct Lint/DuplicateMethods offences 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
b277ff03ea Rubocop: Auto-correct Style/TrailingBlankLines offences 2017-06-23 16:49:07 +10:00
stveep
570f0344da Remove unused method in wrong controller ^_^ 2017-05-19 16:14:22 +10:00
stveep
38c25c412f Remove duplicated spec, better error message suppression, fix shipping test to wait correctly 2017-05-19 16:14:22 +10:00
stveep
c1c5d00f45 Add new view to set distribution, ensure the scoped variant single item price is used. 2017-05-19 16:10:06 +10:00
stveep
220693f4e3 Starting alternative flow for new manual order 2017-05-19 16:06:43 +10:00