From 0e345ce65b8e7650c4f9c81f64cb61d852d47dd8 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Sun, 7 Mar 2010 01:35:57 +0000 Subject: [PATCH] Servie Adduser now returns a Service UID for each addition --- sso/models.py | 3 ++- sso/services/jabber/__init__.py | 6 ++++-- sso/services/wiki/__init__.py | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sso/models.py b/sso/models.py index dcfed7c..902f6cb 100644 --- a/sso/models.py +++ b/sso/models.py @@ -91,6 +91,7 @@ class ServiceAccount(models.Model): user = models.ForeignKey(User, blank=False) service = models.ForeignKey(Service, blank=False) username = models.CharField("Service Username", max_length=200, blank=True) + service_uid = models.CharField("Service UID", max_length=200, blank=True) active = models.BooleanField(default=True) password = None @@ -108,7 +109,7 @@ class ServiceAccount(models.Model): if self.active: if not api.check_user(self.username): - api.add_user(self.username, self.password) + self.service_uid = api.add_user(self.username, self.password) else: raise ExistingUser('Username %s has already been took' % self.username) else: diff --git a/sso/services/jabber/__init__.py b/sso/services/jabber/__init__.py index fb180e4..82e7429 100644 --- a/sso/services/jabber/__init__.py +++ b/sso/services/jabber/__init__.py @@ -24,9 +24,11 @@ class JabberService(BaseService): def add_user(self, username, password): """ Add user to service """ if self.method == "xmpp": - return self.jabberadmin.adduser('%s@%s' % (username, settings.JABBER_SERVER), password) + if self.jabberadmin.adduser('%s@%s' % (username, settings.JABBER_SERVER), password): + return '%s@%s' % (username, settings.JABBER_SERVER) else: - return self.ejctl.register(username.lower(), settings.JABBER_SERVER, password) + if self.ejctl.register(username.lower(), settings.JABBER_SERVER, password): + return '%s@%s' % (username, settings.JABBER_SERVER) def delete_user(self, username): """ Delete a user """ diff --git a/sso/services/wiki/__init__.py b/sso/services/wiki/__init__.py index dbc5b11..a418563 100644 --- a/sso/services/wiki/__init__.py +++ b/sso/services/wiki/__init__.py @@ -53,6 +53,7 @@ class MediawikiService(BaseService): pwhash = self._gen_mw_hash(password) self._dbcursor.execute(self.SQL_ADD_USER, [self._clean_username(username), pwhash]) self._db.connection.commit() + return self._clean_username(username) def delete_user(self, username): """ Delete a user """