diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2016-09-30 20:26:13 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2016-09-30 20:26:13 +0200 |
commit | d29d7eebc3bbbbe2bb019ddb32355d62658e5b8d (patch) | |
tree | fa8ceb7e9579bd7d9988654d727c1d8bf35b30d2 /accounts/backend/user/__init__.py | |
parent | 13569141a629927ddd4198f124139a124bbffaee (diff) | |
download | web-d29d7eebc3bbbbe2bb019ddb32355d62658e5b8d.tar.gz web-d29d7eebc3bbbbe2bb019ddb32355d62658e5b8d.tar.bz2 web-d29d7eebc3bbbbe2bb019ddb32355d62658e5b8d.zip |
backend/user: Split _store and register
Separate the method to persist a new account from the register method
so that common checks could be done in the base class and the
concrete implementations can overwrite only the storage part.
Diffstat (limited to 'accounts/backend/user/__init__.py')
-rw-r--r-- | accounts/backend/user/__init__.py | 16 |
1 files changed, 14 insertions, 2 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() |