summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--accounts/backend/user/__init__.py16
-rw-r--r--accounts/backend/user/dummy.py8
-rw-r--r--accounts/backend/user/ldap.py5
3 files changed, 16 insertions, 13 deletions
diff --git a/accounts/backend/user/__init__.py b/accounts/backend/user/__init__.py
index af0cc63..57ba952 100644
--- a/accounts/backend/user/__init__.py
+++ b/accounts/backend/user/__init__.py
@@ -107,9 +107,15 @@ class Backend(object):
def register(self, account):
"""
- Persists an account in the backend.
+ Register a new user account.
+
+ This message checks the given account for plausibility,
+ get a new uidNumber and store the account into the backend.
"""
- raise NotImplementedError()
+ if account.password is None:
+ raise ValueError("Password required for register")
+
+ self._store(account)
def update(self, account, as_admin=False):
"""
@@ -122,3 +128,9 @@ class Backend(object):
Deletes an account permanently.
"""
raise NotImplementedError()
+
+ def _store(self, account):
+ """
+ Persists an account in the backend.
+ """
+ raise NotImplementedError()
diff --git a/accounts/backend/user/dummy.py b/accounts/backend/user/dummy.py
index cc43dc5..867db2e 100644
--- a/accounts/backend/user/dummy.py
+++ b/accounts/backend/user/dummy.py
@@ -64,13 +64,7 @@ class DummyBackend(Backend):
return results
- def register(self, account):
- """
- Persists an account in the backend.
- """
- if account.password is None:
- raise ValueError("Password required for register")
-
+ def _store(self, account):
self._storage.append(deepcopy(account))
def update(self, account, as_admin=False):
diff --git a/accounts/backend/user/ldap.py b/accounts/backend/user/ldap.py
index 6ab02c6..ea1b7fc 100644
--- a/accounts/backend/user/ldap.py
+++ b/accounts/backend/user/ldap.py
@@ -92,10 +92,7 @@ class LdapBackend(Backend):
return accounts
- def register(self, account):
- """
- Persists an account in the backend.
- """
+ def _store(self, account):
conn = self._connect_as_admin()
user_dn = self._format_dn([('uid', account.uid), ('ou', 'users')])