summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/plugins.py16
-rw-r--r--ipalib/public.py2
2 files changed, 12 insertions, 6 deletions
diff --git a/ipalib/plugins.py b/ipalib/plugins.py
index f33d69be..c8eede0b 100644
--- a/ipalib/plugins.py
+++ b/ipalib/plugins.py
@@ -60,11 +60,6 @@ api.register(user_find)
# Register some properties for the 'user' object:
-class user_login(public.prop):
- def get_doc(self, _):
- return _('user login')
-api.register(user_login)
-
class user_givenname(public.prop):
def get_doc(self, _):
return _('user first name')
@@ -75,6 +70,17 @@ class user_sn(public.prop):
return _('user last name')
api.register(user_sn)
+class user_login(public.prop):
+ def get_doc(self, _):
+ return _('user login')
+ def default(self, **kw):
+ givenname = kw.get('givenname', None)
+ sn = kw.get('sn', None)
+ if givenname is None or sn is None:
+ return None
+ return ('%s%s' % (givenname[0], sn)).lower()
+api.register(user_login)
+
class user_initials(public.prop):
def get_doc(self, _):
return _('user initials')
diff --git a/ipalib/public.py b/ipalib/public.py
index 0dcf71d6..e173bdd5 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -213,7 +213,7 @@ class cmd(plugable.Plugin):
' ' * (tab *2),
self.name,
method,
- ', '.join('%s=%r' % (k, v) for (k, v) in kw.items()),
+ ', '.join('%s=%r' % (k, kw[k]) for k in sorted(kw)),
)
def __call__(self, **kw):