mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 22:10:16 +02:00
Include state in service group sync.
The "empty" group will never appear as all users have a state so it has been removed. I haven't yet found a good way to apply this to Teamspeak - perhaps go back to the token generation logic and create one with a user's state instead of "Member" and exempt those names from group sync? Addresses #950
This commit is contained in:
parent
6f7cf8805d
commit
4d194457d8
@ -62,12 +62,9 @@ class DiscordTasks:
|
|||||||
user = User.objects.get(pk=pk)
|
user = User.objects.get(pk=pk)
|
||||||
logger.debug("Updating discord groups for user %s" % user)
|
logger.debug("Updating discord groups for user %s" % user)
|
||||||
if DiscordTasks.has_account(user):
|
if DiscordTasks.has_account(user):
|
||||||
groups = []
|
groups = [user.profile.state.name]
|
||||||
for group in user.groups.all():
|
for group in user.groups.all():
|
||||||
groups.append(str(group.name))
|
groups.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
logger.debug("No syncgroups found for user. Adding empty group.")
|
|
||||||
groups.append('empty')
|
|
||||||
logger.debug("Updating user %s discord groups to %s" % (user, groups))
|
logger.debug("Updating user %s discord groups to %s" % (user, groups))
|
||||||
try:
|
try:
|
||||||
DiscordOAuthManager.update_groups(user.discord.uid, groups)
|
DiscordOAuthManager.update_groups(user.discord.uid, groups)
|
||||||
|
@ -345,7 +345,7 @@ class DiscourseManager:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def update_groups(user):
|
def update_groups(user):
|
||||||
groups = []
|
groups = [DiscourseManager._sanitize_groupname(user.profile.state.name)]
|
||||||
for g in user.groups.all():
|
for g in user.groups.all():
|
||||||
groups.append(DiscourseManager._sanitize_groupname(str(g)))
|
groups.append(DiscourseManager._sanitize_groupname(str(g)))
|
||||||
logger.debug("Updating discourse user %s groups to %s" % (user, groups))
|
logger.debug("Updating discourse user %s groups to %s" % (user, groups))
|
||||||
|
@ -82,11 +82,9 @@ class MumbleUser(AbstractServiceModel):
|
|||||||
def update_groups(self, groups: Group=None):
|
def update_groups(self, groups: Group=None):
|
||||||
if groups is None:
|
if groups is None:
|
||||||
groups = self.user.groups.all()
|
groups = self.user.groups.all()
|
||||||
groups_str = []
|
groups_str = [self.user.profile.state.name]
|
||||||
for group in groups:
|
for group in groups:
|
||||||
groups_str.append(str(group.name))
|
groups_str.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
groups_str.append('empty')
|
|
||||||
safe_groups = ','.join(set([g.replace(' ', '-') for g in groups_str]))
|
safe_groups = ','.join(set([g.replace(' ', '-') for g in groups_str]))
|
||||||
logger.info("Updating mumble user {} groups to {}".format(self.user, safe_groups))
|
logger.info("Updating mumble user {} groups to {}".format(self.user, safe_groups))
|
||||||
self.groups = safe_groups
|
self.groups = safe_groups
|
||||||
|
@ -45,11 +45,9 @@ class OpenfireTasks:
|
|||||||
user = User.objects.get(pk=pk)
|
user = User.objects.get(pk=pk)
|
||||||
logger.debug("Updating jabber groups for user %s" % user)
|
logger.debug("Updating jabber groups for user %s" % user)
|
||||||
if OpenfireTasks.has_account(user):
|
if OpenfireTasks.has_account(user):
|
||||||
groups = []
|
groups = [user.profile.state.name]
|
||||||
for group in user.groups.all():
|
for group in user.groups.all():
|
||||||
groups.append(str(group.name))
|
groups.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
groups.append('empty')
|
|
||||||
logger.debug("Updating user %s jabber groups to %s" % (user, groups))
|
logger.debug("Updating user %s jabber groups to %s" % (user, groups))
|
||||||
try:
|
try:
|
||||||
OpenfireManager.update_user_groups(user.openfire.username, groups)
|
OpenfireManager.update_user_groups(user.openfire.username, groups)
|
||||||
|
@ -40,11 +40,9 @@ class Phpbb3Tasks:
|
|||||||
user = User.objects.get(pk=pk)
|
user = User.objects.get(pk=pk)
|
||||||
logger.debug("Updating phpbb3 groups for user %s" % user)
|
logger.debug("Updating phpbb3 groups for user %s" % user)
|
||||||
if Phpbb3Tasks.has_account(user):
|
if Phpbb3Tasks.has_account(user):
|
||||||
groups = []
|
groups = [user.profile.state.name]
|
||||||
for group in user.groups.all():
|
for group in user.groups.all():
|
||||||
groups.append(str(group.name))
|
groups.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
groups.append('empty')
|
|
||||||
logger.debug("Updating user %s phpbb3 groups to %s" % (user, groups))
|
logger.debug("Updating user %s phpbb3 groups to %s" % (user, groups))
|
||||||
try:
|
try:
|
||||||
Phpbb3Manager.update_groups(user.phpbb3.username, groups)
|
Phpbb3Manager.update_groups(user.phpbb3.username, groups)
|
||||||
|
@ -38,13 +38,10 @@ class SeatTasks:
|
|||||||
def update_roles(self, pk):
|
def update_roles(self, pk):
|
||||||
user = User.objects.get(pk=pk)
|
user = User.objects.get(pk=pk)
|
||||||
logger.debug("Updating SeAT roles for user %s" % user)
|
logger.debug("Updating SeAT roles for user %s" % user)
|
||||||
groups = []
|
|
||||||
if SeatTasks.has_account(user):
|
if SeatTasks.has_account(user):
|
||||||
|
groups = [user.profile.state.name]
|
||||||
for group in user.groups.all():
|
for group in user.groups.all():
|
||||||
groups.append(str(group.name))
|
groups.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
logger.debug("No syncgroups found for user. Adding empty group.")
|
|
||||||
groups.append('empty')
|
|
||||||
logger.debug("Updating user %s SeAT roles to %s" % (user, groups))
|
logger.debug("Updating user %s SeAT roles to %s" % (user, groups))
|
||||||
try:
|
try:
|
||||||
SeatManager.update_roles(user.seat.username, groups)
|
SeatManager.update_roles(user.seat.username, groups)
|
||||||
|
@ -44,11 +44,9 @@ class SmfTasks:
|
|||||||
user = User.objects.get(pk=pk)
|
user = User.objects.get(pk=pk)
|
||||||
logger.debug("Updating smf groups for user %s" % user)
|
logger.debug("Updating smf groups for user %s" % user)
|
||||||
if SmfTasks.has_account(user):
|
if SmfTasks.has_account(user):
|
||||||
groups = []
|
groups = [user.profile.state.name]
|
||||||
for group in user.groups.all():
|
for group in user.groups.all():
|
||||||
groups.append(str(group.name))
|
groups.append(str(group.name))
|
||||||
if len(groups) == 0:
|
|
||||||
groups.append('empty')
|
|
||||||
logger.debug("Updating user %s smf groups to %s" % (user, groups))
|
logger.debug("Updating user %s smf groups to %s" % (user, groups))
|
||||||
try:
|
try:
|
||||||
SmfManager.update_groups(user.smf.username, groups)
|
SmfManager.update_groups(user.smf.username, groups)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user