summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/f_user.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2008-10-07 02:10:15 -0400
committerRob Crittenden <rcritten@redhat.com>2008-10-07 02:10:15 -0400
commit69bc5ad77adecaf7d8fde4a6578c3d2f3ef355df (patch)
tree619b12f26fd96d687810a5463c160ddaab3573b3 /ipalib/plugins/f_user.py
parentcb795fa14bc2798fd8f1c6e2b87d19432e3f84a1 (diff)
downloadfreeipa-69bc5ad77adecaf7d8fde4a6578c3d2f3ef355df.tar.gz
freeipa-69bc5ad77adecaf7d8fde4a6578c3d2f3ef355df.tar.xz
freeipa-69bc5ad77adecaf7d8fde4a6578c3d2f3ef355df.zip
Add some more supporting functions
Do a little bit more error handling and checking
Diffstat (limited to 'ipalib/plugins/f_user.py')
-rw-r--r--ipalib/plugins/f_user.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py
index 0e62b8336..49b6a3704 100644
--- a/ipalib/plugins/f_user.py
+++ b/ipalib/plugins/f_user.py
@@ -28,7 +28,6 @@ from ipalib import api
from ipa_server import servercore
from ipa_server import ipaldap
import ldap
-from ipa_server.context import context
# Command to get the idea how plugins will interact with api.env
class envtest(frontend.Command):
@@ -94,6 +93,13 @@ class user_add(crud.Add):
user['uid'] = args[0]
+ if not servercore.is_user_unique(user['uid']):
+ # FIXME, specific error
+ raise SyntaxError("user already exists")
+ if servercore.uid_too_long(user['uid']):
+ # FIXME, specific error
+ raise SyntaxError("uid is too long")
+
# dn is set here, not by the user
try:
del user['dn']
@@ -159,8 +165,12 @@ class user_add(crud.Add):
for u in user:
entry.setValues(u, user[u])
- result = context.conn.getConn().addEntry(entry)
+ result = servercore.add_entry(entry)
return result
+ def forward(self, *args, **kw):
+ result = super(crud.Add, self).forward(*args, **kw)
+ if result != False:
+ print result
api.register(user_add)