mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-07 15:46:20 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6b1b7b6bb | ||
|
|
53a9d72c4a | ||
|
|
ca10fbcde5 | ||
|
|
b4d33e5dfc | ||
|
|
37bed989f1 |
@@ -1,7 +1,7 @@
|
|||||||
# This will make sure the app is always imported when
|
# This will make sure the app is always imported when
|
||||||
# Django starts so that shared_task will use this app.
|
# Django starts so that shared_task will use this app.
|
||||||
|
|
||||||
__version__ = '2.0.0'
|
__version__ = '2.0.1'
|
||||||
NAME = 'Alliance Auth v%s' % __version__
|
NAME = 'Alliance Auth v%s' % __version__
|
||||||
default_app_config = 'allianceauth.apps.AllianceAuthConfig'
|
default_app_config = 'allianceauth.apps.AllianceAuthConfig'
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ def create_member_group(apps, schema_editor):
|
|||||||
member_state_name = getattr(settings, 'DEFAULT_AUTH_GROUP', 'Member')
|
member_state_name = getattr(settings, 'DEFAULT_AUTH_GROUP', 'Member')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
g = Group.objects.get(name=member_state_name)
|
g, _ = Group.objects.get_or_create(name=member_state_name)
|
||||||
# move permissions back
|
# move permissions back
|
||||||
state = State.objects.get(name=member_state_name)
|
state = State.objects.get(name=member_state_name)
|
||||||
[g.permissions.add(p.pk) for p in state.permissions.all()]
|
[g.permissions.add(p.pk) for p in state.permissions.all()]
|
||||||
@@ -51,7 +51,7 @@ def create_member_group(apps, schema_editor):
|
|||||||
# move users back
|
# move users back
|
||||||
for profile in state.userprofile_set.all().select_related('user'):
|
for profile in state.userprofile_set.all().select_related('user'):
|
||||||
profile.user.groups.add(g.pk)
|
profile.user.groups.add(g.pk)
|
||||||
except (Group.DoesNotExist, State.DoesNotExist):
|
except State.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ def create_blue_state(apps, schema_editor):
|
|||||||
# move group permissions to state
|
# move group permissions to state
|
||||||
g = Group.objects.get(name=blue_state_name)
|
g = Group.objects.get(name=blue_state_name)
|
||||||
[s.permissions.add(p.pk) for p in g.permissions.all()]
|
[s.permissions.add(p.pk) for p in g.permissions.all()]
|
||||||
g.permissions.clear()
|
g.delete()
|
||||||
except Group.DoesNotExist:
|
except Group.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ def create_blue_group(apps, schema_editor):
|
|||||||
blue_state_name = getattr(settings, 'DEFAULT_BLUE_GROUP', 'Blue')
|
blue_state_name = getattr(settings, 'DEFAULT_BLUE_GROUP', 'Blue')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
g = Group.objects.get(name=blue_state_name)
|
g, _ = Group.objects.get_or_create(name=blue_state_name)
|
||||||
# move permissions back
|
# move permissions back
|
||||||
state = State.objects.get(name=blue_state_name)
|
state = State.objects.get(name=blue_state_name)
|
||||||
[g.permissions.add(p.pk) for p in state.permissions.all()]
|
[g.permissions.add(p.pk) for p in state.permissions.all()]
|
||||||
@@ -92,7 +92,7 @@ def create_blue_group(apps, schema_editor):
|
|||||||
# move users back
|
# move users back
|
||||||
for profile in state.userprofile_set.all().select_related('user'):
|
for profile in state.userprofile_set.all().select_related('user'):
|
||||||
profile.user.groups.add(g.pk)
|
profile.user.groups.add(g.pk)
|
||||||
except (Group.DoesNotExist, State.DoesNotExist):
|
except State.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@@ -133,15 +133,24 @@ def create_profiles(apps, schema_editor):
|
|||||||
auth['n'] == 1 and EveCharacter.objects.filter(character_id=auth['main_char_id']).exists()]
|
auth['n'] == 1 and EveCharacter.objects.filter(character_id=auth['main_char_id']).exists()]
|
||||||
|
|
||||||
auths = AuthServicesInfo.objects.filter(main_char_id__in=unique_mains).select_related('user')
|
auths = AuthServicesInfo.objects.filter(main_char_id__in=unique_mains).select_related('user')
|
||||||
|
|
||||||
|
blue_state_name = getattr(settings, 'DEFAULT_BLUE_GROUP', 'Blue')
|
||||||
|
member_state_name = getattr(settings, 'DEFAULT_AUTH_GROUP', 'Member')
|
||||||
|
|
||||||
|
states = {
|
||||||
|
'Member': State.objects.get(name=member_state_name),
|
||||||
|
'Blue': State.objects.get(name=blue_state_name),
|
||||||
|
}
|
||||||
|
guest_state = State.objects.get(name='Guest')
|
||||||
|
|
||||||
for auth in auths:
|
for auth in auths:
|
||||||
# carry states and mains forward
|
# carry states and mains forward
|
||||||
state = State.objects.get(name=auth.state if auth.state else 'Guest')
|
state = states.get(auth.state, guest_state)
|
||||||
char = EveCharacter.objects.get(character_id=auth.main_char_id)
|
char = EveCharacter.objects.get(character_id=auth.main_char_id)
|
||||||
UserProfile.objects.create(user=auth.user, state=state, main_character=char)
|
UserProfile.objects.create(user=auth.user, state=state, main_character=char)
|
||||||
for auth in AuthServicesInfo.objects.exclude(main_char_id__in=unique_mains).select_related('user'):
|
for auth in AuthServicesInfo.objects.exclude(main_char_id__in=unique_mains).select_related('user'):
|
||||||
# prepare empty profiles
|
# prepare empty profiles
|
||||||
state = State.objects.get(name='Guest')
|
UserProfile.objects.create(user=auth.user, state=guest_state)
|
||||||
UserProfile.objects.create(user=auth.user, state=state)
|
|
||||||
|
|
||||||
|
|
||||||
def recreate_authservicesinfo(apps, schema_editor):
|
def recreate_authservicesinfo(apps, schema_editor):
|
||||||
@@ -149,6 +158,14 @@ def recreate_authservicesinfo(apps, schema_editor):
|
|||||||
UserProfile = apps.get_model('authentication', 'UserProfile')
|
UserProfile = apps.get_model('authentication', 'UserProfile')
|
||||||
User = apps.get_model('auth', 'User')
|
User = apps.get_model('auth', 'User')
|
||||||
|
|
||||||
|
blue_state_name = getattr(settings, 'DEFAULT_BLUE_GROUP', 'Blue')
|
||||||
|
member_state_name = getattr(settings, 'DEFAULT_AUTH_GROUP', 'Member')
|
||||||
|
|
||||||
|
states = {
|
||||||
|
member_state_name: 'Member',
|
||||||
|
blue_state_name: 'Blue',
|
||||||
|
}
|
||||||
|
|
||||||
# recreate all missing AuthServicesInfo models
|
# recreate all missing AuthServicesInfo models
|
||||||
AuthServicesInfo.objects.bulk_create([AuthServicesInfo(user_id=u.pk) for u in User.objects.all()])
|
AuthServicesInfo.objects.bulk_create([AuthServicesInfo(user_id=u.pk) for u in User.objects.all()])
|
||||||
|
|
||||||
@@ -159,8 +176,8 @@ def recreate_authservicesinfo(apps, schema_editor):
|
|||||||
|
|
||||||
# repopulate states we understand
|
# repopulate states we understand
|
||||||
for profile in UserProfile.objects.exclude(state__name='Guest').filter(
|
for profile in UserProfile.objects.exclude(state__name='Guest').filter(
|
||||||
state__name__in=['Member', 'Blue']).select_related('user', 'state'):
|
state__name__in=[member_state_name, blue_state_name]).select_related('user', 'state'):
|
||||||
AuthServicesInfo.objects.update_or_create(user=profile.user, defaults={'state': profile.state.name})
|
AuthServicesInfo.objects.update_or_create(user=profile.user, defaults={'state': states[profile.state.name]})
|
||||||
|
|
||||||
|
|
||||||
def disable_passwords(apps, schema_editor):
|
def disable_passwords(apps, schema_editor):
|
||||||
|
|||||||
@@ -103,12 +103,16 @@ def record_character_ownership(sender, instance, created, *args, **kwargs):
|
|||||||
|
|
||||||
@receiver(pre_delete, sender=CharacterOwnership)
|
@receiver(pre_delete, sender=CharacterOwnership)
|
||||||
def validate_main_character(sender, instance, *args, **kwargs):
|
def validate_main_character(sender, instance, *args, **kwargs):
|
||||||
if instance.user.profile.main_character == instance.character:
|
try:
|
||||||
logger.info("Ownership of a main character {0} has been revoked. Resetting {1} main character.".format(
|
if instance.user.profile.main_character == instance.character:
|
||||||
instance.character, instance.user))
|
logger.info("Ownership of a main character {0} has been revoked. Resetting {1} main character.".format(
|
||||||
# clear main character as user no longer owns them
|
instance.character, instance.user))
|
||||||
instance.user.profile.main_character = None
|
# clear main character as user no longer owns them
|
||||||
instance.user.profile.save()
|
instance.user.profile.main_character = None
|
||||||
|
instance.user.profile.save()
|
||||||
|
except UserProfile.DoesNotExist:
|
||||||
|
# a user is being deleted
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
@receiver(post_delete, sender=Token)
|
@receiver(post_delete, sender=Token)
|
||||||
|
|||||||
@@ -219,22 +219,18 @@ class DiscordOAuthManager:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
@api_backoff
|
@api_backoff
|
||||||
def update_nickname(user_id, nickname):
|
def update_nickname(user_id, nickname):
|
||||||
try:
|
nickname = DiscordOAuthManager._sanitize_name(nickname)
|
||||||
nickname = DiscordOAuthManager._sanitize_name(nickname)
|
custom_headers = {'content-type': 'application/json', 'authorization': 'Bot ' + settings.DISCORD_BOT_TOKEN}
|
||||||
custom_headers = {'content-type': 'application/json', 'authorization': 'Bot ' + settings.DISCORD_BOT_TOKEN}
|
data = {'nick': nickname}
|
||||||
data = {'nick': nickname}
|
path = DISCORD_URL + "/guilds/" + str(settings.DISCORD_GUILD_ID) + "/members/" + str(user_id)
|
||||||
path = DISCORD_URL + "/guilds/" + str(settings.DISCORD_GUILD_ID) + "/members/" + str(user_id)
|
r = requests.patch(path, headers=custom_headers, json=data)
|
||||||
r = requests.patch(path, headers=custom_headers, json=data)
|
logger.debug("Got status code %s after setting nickname for Discord user ID %s (%s)" % (
|
||||||
logger.debug("Got status code %s after setting nickname for Discord user ID %s (%s)" % (
|
r.status_code, user_id, nickname))
|
||||||
r.status_code, user_id, nickname))
|
if r.status_code == 404:
|
||||||
if r.status_code == 404:
|
logger.warn("Discord user ID %s could not be found in server." % user_id)
|
||||||
logger.warn("Discord user ID %s could not be found in server." % user_id)
|
|
||||||
return True
|
|
||||||
r.raise_for_status()
|
|
||||||
return True
|
return True
|
||||||
except:
|
r.raise_for_status()
|
||||||
logger.exception("Failed to set nickname for Discord user ID %s (%s)" % (user_id, nickname))
|
return True
|
||||||
return False
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def delete_user(user_id):
|
def delete_user(user_id):
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ Ubuntu:
|
|||||||
|
|
||||||
CentOS:
|
CentOS:
|
||||||
|
|
||||||
yum install mariadb-server mariadb-devel mariadb
|
yum install mariadb-server mariadb-devel mariadb-shared mariadb
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. note::
|
.. note::
|
||||||
|
|||||||
Reference in New Issue
Block a user