If an individual field fails, its value gets removed from the cleaned_data dict, but the full form clean() method still gets called.
As this form checks for api_id and api_key in the dict upon clean(), it would raise an unhandled KeyError
Alter user field to OneToOneField
Migration to enforce uniqueness pre-change
Migration to ensure all users have an AuthServicesInfo
Receiver to automatically create one upon user creation
Replace AuthServicesInfo.get_or_create with get
Prevent deletion of AuthServicesInfo from admin site
Remove add and delete permissions from model.
Get character names in chunks on corpstats update to prevent HTTP400 when requesting >350(ish) names
Include corpstats docs.
Update settings docs.
FAT uses ESI tokens to get character location/ship
- closes#564
Pull corp memebrship data from ESI
Additional permissions for non-api viewing.
- migration to convert permissions from old users.
Standardize EVE datasource responses.
- allow different sources for EVE data types.
Allow empty values for character alliance id and name
Allow multiple corps and alliances to be considered 'members'
* Add open/hidden group membership display and remove
* Include requestable groups other than open
* Prevent users requesting or leaving non-joinable groups
I have not prevented users joining hidden groups however, as
there may be some use cases where the direct link is provided
for users to request access to the group.
Also prevent users generating leave requests for groups they
are not a member of.
* Refactor Group extension models into a single OneToOne model
Added group leader field
* Add blankable fields
* Switched to use navactive for menu highlighting
* Consolidate member state checking for easier code reuse
* Added support for group leaders to manage groups
* Added info log when a user removes someone from a group
* Add ordering to group member list