Switch user permissions to use an enum
Previously, there wasn't any defined list of which permissions were valid or not. You basically had to look through each model's __acl__ method to see what the possibilities were. Using an enum will be less convenient when adding new permissions or changing existing ones (since it will require a database migration), but it makes it much easier to see what the valid options are, and will prevent invalid permissions from being set up in the database.
Showing with 75 additions and 4 deletions