diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2009-12-09 09:09:53 -0700 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2009-12-10 08:29:15 -0700 |
commit | b6e4972e7f6aa08e0392a2cf441b60ab0e7d88b7 (patch) | |
tree | 7e5329a51af169ce34a7d275a1bbd63c1e31c026 /ipalib/plugins/user.py | |
parent | d08b8858ddc3bf6265f6ea8acae6661b9fff5112 (diff) | |
download | freeipa.git-b6e4972e7f6aa08e0392a2cf441b60ab0e7d88b7.tar.gz freeipa.git-b6e4972e7f6aa08e0392a2cf441b60ab0e7d88b7.tar.xz freeipa.git-b6e4972e7f6aa08e0392a2cf441b60ab0e7d88b7.zip |
Take 2: Extensible return values and validation; steps toward a single output_for_cli(); enable more webUI stuff
Diffstat (limited to 'ipalib/plugins/user.py')
-rw-r--r-- | ipalib/plugins/user.py | 79 |
1 files changed, 50 insertions, 29 deletions
diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py index 64353130..44b0f7d5 100644 --- a/ipalib/plugins/user.py +++ b/ipalib/plugins/user.py @@ -24,6 +24,7 @@ Users (Identity) from ipalib import api, errors from ipalib import Flag, Int, Password, Str from ipalib.plugins.baseldap import * +from ipalib import _, ngettext class user(LDAPObject): @@ -68,57 +69,59 @@ class user(LDAPObject): } takes_params = ( + Str('uid', + cli_name='login', + label='User login', + primary_key=True, + default_from=lambda givenname, sn: givenname[0] + sn, + normalizer=lambda value: value.lower(), + ), Str('givenname', cli_name='first', - doc='First name', + label='First name', ), Str('sn', cli_name='last', - doc='Last name', + label='Last name', ), - Str('uid', - cli_name='user', - doc='Login name', - primary_key=True, - default_from=lambda givenname, sn: givenname[0] + sn, - normalizer=lambda value: value.lower(), + Str('homedirectory?', + cli_name='homedir', + label='Home directory', + default_from=lambda uid: '/home/%s' % uid, ), Str('gecos?', - doc='GECOS field', + label='GECOS field', default_from=lambda uid: uid, autofill=True, ), - Str('homedirectory?', - cli_name='homedir', - doc='Home directory', - default_from=lambda uid: '/home/%s' % uid, - ), Str('loginshell?', cli_name='shell', + label='Login shell', default=u'/bin/sh', - doc='login shell', ), Str('krbprincipalname?', cli_name='principal', - doc='Kerberos principal name', + label='Kerberos principal', default_from=lambda uid: '%s@%s' % (uid, api.env.realm), autofill=True, ), Str('mail?', cli_name='email', - doc='e-mail address', + label='Email address', ), Password('userpassword?', cli_name='password', - doc='password', + label='Password', + doc='Set the user password', ), Int('uidnumber?', cli_name='uid', + label='UID', doc='UID (use this option to set it manually)', ), Str('street?', cli_name='street', - doc='street address', + label='Street address', ), ) @@ -129,6 +132,9 @@ class user_add(LDAPCreate): """ Create new user. """ + + msg_summary = _('Added user "%(value)s"') + def pre_callback(self, ldap, dn, entry_attrs, *keys, **options): config = ldap.get_ipa_config()[1] entry_attrs.setdefault('loginshell', config.get('ipadefaultloginshell')) @@ -171,6 +177,9 @@ class user_del(LDAPDelete): """ Delete user. """ + + msg_summary = _('Deleted user "%(value)s"') + def pre_callback(self, ldap, dn, *keys, **options): if keys[-1] == 'admin': raise errors.ExecutionError('Cannot delete user "admin".') @@ -188,6 +197,8 @@ class user_mod(LDAPUpdate): Modify user. """ + msg_summary = _('Modified user "%(value)s"') + api.register(user_mod) @@ -196,6 +207,10 @@ class user_find(LDAPSearch): Search for users. """ + msg_summary = ngettext( + '%(count)d user matched', '%(count)d users matched', 0 + ) + api.register(user_find) @@ -211,6 +226,10 @@ class user_lock(LDAPQuery): """ Lock user account. """ + + has_output = output.standard_value + msg_summary = _('Locked user "%(value)s"') + def execute(self, *keys, **options): ldap = self.obj.backend @@ -221,11 +240,10 @@ class user_lock(LDAPQuery): except errors.AlreadyInactive: pass - return True - - def output_for_cli(self, textui, result, *keys, **options): - textui.print_name(self.name) - textui.print_dashed('Locked user "%s".' % keys[-1]) + return dict( + result=True, + value=keys[0], + ) api.register(user_lock) @@ -234,6 +252,10 @@ class user_unlock(LDAPQuery): """ Unlock user account. """ + + has_output = output.standard_value + msg_summary = _('Unlocked user "%(value)s"') + def execute(self, *keys, **options): ldap = self.obj.backend @@ -244,10 +266,9 @@ class user_unlock(LDAPQuery): except errors.AlreadyActive: pass - return True - - def output_for_cli(self, textui, result, *keys, **options): - textui.print_name(self.name) - textui.print_dashed('Unlocked user "%s".' % keys[-1]) + return dict( + result=True, + value=keys[0], + ) api.register(user_unlock) |