* 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
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.
As a result of api key sso validation, character models can be created without assigning a user. If this occurs and a user attempts to view that character's corp stats, the view is unable to determine a main character due to a not null constraing on the authservicesinfo user field. This checks to see if the character has an associated user, and if not, does not check for associated main characters.
Closes an issue @trustmeimlumi never opened.
# One Thousandth Commit 🎉🎈🎆🍾
* Allow requiring API ownership validation by SSO.
Closes#163
* Add Discourse group name length restrictions.
* Redirect after api addition/deletion of main character
* Correct admin searching for removed discourse_username field in AuthServicesInfo
* Correct admin function to sync user Discourse groups
* Beautify tables by removing borders and hiding when empty.
*Add buttons on dead-end pages to return to originating view.
Now allows users with corp_apis permission to see some APIs when searching, if result is in corp.
Correct type mismatch when determining if user with corp_apis can see member list.
Correctly pull EveWho memberlist in corp mode when API missing from settings.py
Closes#552
* Alter Discourse support to act as SSO provider.
Correct service group sync retry queueing.
* Correct default database enviroment variable names.
* Redirect to requested page after succesful login.
* Correct default redirect handling.
Correct attribute used to logout users on Discourse.
Improve logging messages to use parsed path on Discourse.
* Correct task retry syntax using bind=True.
Inherit from base exception so can catch TeamspeakErrors.