artsy/positron — pull request #62 by craigspaeth (2014-11-30 06:34:42+00:00)
Title: @dzucconi: User refactor + user-related admin features 

Sorry for the huge diff (as usual mostly shrinkwrap though). Regardless probably should have broken this up into multiple PRs.

The brunt the is work on Artsy Writer users. Instead of using Gravity directly for user data I decided it would be good if Artsy Writer maintained it's own database of users so we don't have to bloat Gravity's user model with writer specific data like `is_contributor`. Currently there's not much difference b/t Gravity users and AW users but I imagine down the line there will be enough AW user specific data to warrant this.

With that said, this PR includes...

* Refactor of users to be consistent with other flattened gravity endpoints (e.g. `{ id:, user:, profile:, details: }`)
* Adds a daily task to sync authors of articles from Gravity by crawling the users endpoints in batches
* Adds the ability to search users + autocomplete components to find AW users
* An admin can change an author of an article
* An admin can impersonate another AW user

![cap](https://cloud.githubusercontent.com/assets/555859/5236994/9892085c-7830-11e4-821b-cc53b1351af8.gif)