Discourse (#377)

* Initial work on Discourse integration

* Views for discourse

* Discourse group updates
Correct password display

* Removed password functions
Changed delete to suspend user forever
Added unsuspend check to add_user
This commit is contained in:
Adarnof
2016-04-17 15:17:32 -04:00
committed by Mr McClain
parent 0b20f8f72b
commit e29c1d3295
11 changed files with 481 additions and 2 deletions

View File

@@ -122,6 +122,18 @@ class AuthServicesInfoManager:
else:
logger.error("Failed to update user %s discord info: user does not exist." % user)
@staticmethod
def update_user_discourse_info(username, password, user):
if User.objects.filter(username=user.username).exists():
logger.debug("Updating user %s discourse info: username %s" % (user, username))
authserviceinfo = AuthServicesInfoManager.__get_or_create(user)
authserviceinfo.discourse_username = username
authserviceinfo.discourse_password = password
authserviceinfo.save(update_fields=['discourse_username', 'discourse_password'])
logger.info("Updated user %s discourse info in authservicesinfo model." % user)
else:
logger.error("Failed to update user %s discourse info: user does not exist." % user)
@staticmethod
def update_user_ips4_info(username, password, id, user):
if User.objects.filter(username=user.username).exists():

View File

@@ -14,6 +14,8 @@ class AuthServicesInfo(models.Model):
teamspeak3_uid = models.CharField(max_length=254, blank=True, default="")
teamspeak3_perm_key = models.CharField(max_length=254, blank=True, default="")
discord_uid = models.CharField(max_length=254, blank=True, default="")
discourse_username = models.CharField(max_length=254, blank=True, default="")
discourse_password = models.CharField(max_length=254, blank=True, default="")
ips4_username = models.CharField(max_length=254, blank=True, default="")
ips4_password = models.CharField(max_length=254, blank=True, default="")
ips4_id = models.CharField(max_length=254, blank=True, default="")