spree/spree — pull request #4677 by radar (2014-05-13 06:55:02+00:00)
Title: Ember Order Backend

I've spent a large portion of the large 2-3 weeks working on ripping out the code for Spree's backend order interface and replacing it with something built with Ember. It is now *mostly* complete, but as we all know the last 20% of the work takes 80% of the time.

[It currently looks (somewhat) like this video.](http://ryanbigg.com/videos/new_new_admin.mov)

To test this out, you can use my spree_test repo's ember branch: https://github.com/radar/spree_test/tree/ember

To set up the data for the store, run this:

```
bundle exec rake db:drop db:create db:migrate db:seed AUTO_ACCEPT=1 && rake spree_sample:load
```

---

What still needs doing:

- [ ] Sanity checking of the code by an experienced Ember developer
- [ ] Re-implement searching on orders
- [ ] Shipment splitting (will need to merge #19 from @jhawthorn, then implement)
- [ ] Creating a new payment
- [ ] Show payment capture events (will need to build a new admin-only API endpoint for this)
- [ ] Adding a new adjustment
- [ ] Displaying current adjustments (including grouping them by their label)
- [ ] Show user's previous cards on the new payment form (might need a new API endpoint written, and some finagling with the CreditCard model)
- [ ] Tests, using the current Capybara tests as a base

- [x] Fix weird formatting on other admin pages (pages are too wide). This is probably caused by me moving all the layout logic to [this code](https://github.com/radar/spree/blob/ember/backend/app/assets/javascripts/backend/templates/application.hbs#L1-L28). Maybe the `layouts/admin.html.erb` file should do one thing for `params[:controller] == orders` and another for the other controllers?
- [x] Fix guest checkout repeated toggling not showing user email box
- [x] Shipment tracking number editing
- [x] Shipment method editing
- [x] Render stock selection view "correctly" from variant picker on cart state template (see [this commit](https://github.com/radar/spree/commit/73e70ee2105862bf92ace9ed2d23d808d3e63e2d) and #18)