mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-06 15:16:20 +01:00
SMF Forum Integration
* Added SMF Forum Support * removed comment * Fixed bugs. * removed unused SQL statement * Fixed Grammer in debug code * Fixed Null Bug * Update operationmanagement.html * fixed bug * fixed error * Users now show up on the posts correctly
This commit is contained in:
@@ -10,6 +10,7 @@ from .tasks import update_forum_groups
|
||||
from .tasks import update_ipboard_groups
|
||||
from .tasks import update_discord_groups
|
||||
from .tasks import update_teamspeak3_groups
|
||||
from .tasks import update_smf_groups
|
||||
from authentication.models import AuthServicesInfo
|
||||
from services.models import AuthTS
|
||||
|
||||
@@ -27,6 +28,8 @@ def m2m_changed_user_groups(sender, instance, action, *args, **kwargs):
|
||||
update_teamspeak3_groups.delay(instance.pk)
|
||||
if auth.forum_username:
|
||||
update_forum_groups.delay(instance.pk)
|
||||
if auth.smf_username:
|
||||
update_smf_groups.delay(instance.pk)
|
||||
if auth.ipboard_username:
|
||||
update_ipboard_groups.delay(instance.pk)
|
||||
if auth.discord_uid:
|
||||
|
||||
@@ -11,6 +11,7 @@ from services.managers.phpbb3_manager import Phpbb3Manager
|
||||
from services.managers.ipboard_manager import IPBoardManager
|
||||
from services.managers.teamspeak3_manager import Teamspeak3Manager
|
||||
from services.managers.discord_manager import DiscordManager, DiscordAPIManager
|
||||
from services.managers.smf_manager import smfManager
|
||||
from services.models import AuthTS
|
||||
from services.models import TSgroup
|
||||
from authentication.models import AuthServicesInfo
|
||||
@@ -107,6 +108,25 @@ def update_forum_groups(pk):
|
||||
raise self.retry(countdown = 60 * 10)
|
||||
logger.debug("Updated user %s forum groups." % user)
|
||||
|
||||
@task
|
||||
def update_smf_groups(pk):
|
||||
user = User.objects.get(pk=pk)
|
||||
logger.debug("Updating smf groups for user %s" % user)
|
||||
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
||||
groups = []
|
||||
for group in user.groups.all():
|
||||
groups.append(str(group.name))
|
||||
if len(groups) == 0:
|
||||
groups.append('empty')
|
||||
logger.debug("Updating user %s smf groups to %s" % (user, groups))
|
||||
try:
|
||||
smfManager.update_groups(authserviceinfo.smf_username, groups)
|
||||
except:
|
||||
logger.exception("smf group sync failed for %s, retrying in 10 mins" % user)
|
||||
raise self.retry(countdown = 60 * 10)
|
||||
logger.debug("Updated user %s smf groups." % user)
|
||||
|
||||
|
||||
@task
|
||||
def update_ipboard_groups(pk):
|
||||
user = User.objects.get(pk=pk)
|
||||
|
||||
Reference in New Issue
Block a user