diff --git a/sso/models.py b/sso/models.py index fc533c2..74e837e 100644 --- a/sso/models.py +++ b/sso/models.py @@ -121,7 +121,9 @@ class ServiceAccount(models.Model): # Create a account if we've not got a UID if self.active: if not api.check_user(self.username): - self.service_uid = api.add_user(self.username, self.password) + eve_api = EVEAccount.objects.filter(user=self.user) + reddit = RedditAccount.objects.filter(user=self.user) + self.service_uid = api.add_user(self.username, self.password, user=self.user, character=self.character, eveapi=eve_api, reddit=reddit) else: raise ExistingUser('Username %s has already been took' % self.username) else: diff --git a/sso/services/__init__.py b/sso/services/__init__.py index 66f30bd..b7a3a76 100644 --- a/sso/services/__init__.py +++ b/sso/services/__init__.py @@ -30,7 +30,7 @@ class BaseService(): 'require_password': True, 'provide_login': False } - def add_user(self, username, password): + def add_user(self, username, password, **kwargs): """ Add a user, returns a UID for that user """ return username diff --git a/sso/services/jabber/__init__.py b/sso/services/jabber/__init__.py index de63028..0566f4c 100644 --- a/sso/services/jabber/__init__.py +++ b/sso/services/jabber/__init__.py @@ -21,7 +21,7 @@ class JabberService(BaseService): self.method = "cmd" self.ejctl = eJabberdCtl(sudo=settings.JABBER_SUDO) - def add_user(self, username, password): + def add_user(self, username, password, **kwargs): """ Add user to service """ if self.method == "xmpp": if self.jabberadmin.adduser('%s@%s' % (username, settings.JABBER_SERVER), password): diff --git a/sso/services/mumble/__init__.py b/sso/services/mumble/__init__.py index 10a0ddf..7cbfc33 100644 --- a/sso/services/mumble/__init__.py +++ b/sso/services/mumble/__init__.py @@ -12,7 +12,7 @@ class MumbleService(BaseService): def _get_server(self): return Mumble.objects.get(id=settings.MUMBLE_SERVER_ID) - def add_user(self, username, password): + def add_user(self, username, password, **kwargs): """ Add a user, returns a UID for that user """ mumbleuser = MumbleUser() mumbleuser.name = username diff --git a/sso/services/wiki/__init__.py b/sso/services/wiki/__init__.py index 7504fcb..2e66c0e 100644 --- a/sso/services/wiki/__init__.py +++ b/sso/services/wiki/__init__.py @@ -51,7 +51,7 @@ class MediawikiService(BaseService): username = username.strip() return username[0].upper() + username[1:] - def add_user(self, username, password): + def add_user(self, username, password, **kwargs): """ Add a user """ pwhash = self._gen_mw_hash(password) self._dbcursor.execute(self.SQL_ADD_USER, [self._clean_username(username), pwhash])