cfpb / idea-box

An application that lets an organization collect ideas, comment on them, and vote them up.
Creative Commons Zero v1.0 Universal
158 stars 49 forks source link

Use collab's user model #72

Closed m3brown closed 10 years ago

m3brown commented 10 years ago

Collab is migrating to a custom user model since the default 30 characters isn't enough for the username.

Phase 1 - The original intent of this PR was to decouple django.contrib.auth.models.User from the code, and instead use django.contrib.auth.get_user_model() and AUTH_USER_MODEL as described in the django documentation.

This worked fine except for the issue that migrations specify the user model in foreign keys. This would cause issues when migrating a system that is not running as a collab child app.

Phase 2 - the best solution we could find to continue to allow ideabox to run as an independent app was to import collab as a library. Ideabox does not inherit collab styles, pages, or models with the exception of the core.CollabUser model. This required some adjustments to the buildout environment to include collab.

m3brown commented 10 years ago

The current state of this PR's buildout.cfg includes a collab repo URL to my current branch (m3brown/collab.git rev=usermodel). This was to show that the travis tests pass when deploying with the updated collab. Before merging this PR, the buildout.cfg should be updated to point to http://github.com/cfpb/collab.git

sephcoster commented 10 years ago

+1