Пример #1
0
class Create(UserAction):

    description = _('create user')

    def __init__(self):
        super(Create, self).__init__()
        self.about_api = AboutAPI()

    def setup_parser(self, parser):
        mode = get_katello_mode()

        parser.add_option('--username', dest='username', help=_("user name (required)"))
        parser.add_option('--password', dest='password', help=_("initial password (required)"))
        parser.add_option('--email', dest='email', help=_("email (required)"))
        parser.add_option("--disabled", dest="disabled", type="bool",
            help=_("disabled account (default is 'false')"), default=False)
        parser.add_option('--default_organization', dest='default_organization',
                               help=_("user's default organization name"))
        if mode == 'katello':
            parser.add_option('--default_environment', dest='default_environment',
                               help=_("user's default environment name"))
        parser.add_option('--default_locale', dest='default_locale',
                               help=_("user's default locale"))

    def check_options(self, validator):
        auth = self.about_api.authentication_method()
        validator.require('username')
        if not auth == 'ldap':
            validator.require(('password', 'email'))
        validator.require_all_or_none(('default_organization', 'default_environment'))

    def run(self):
        username = self.get_option('username')
        password = self.get_option('password')
        email = self.get_option('email')
        disabled = self.get_option('disabled')
        default_organization = self.get_option('default_organization')
        default_environment = self.get_option('default_environment')
        default_locale = self.get_option('default_locale')

        if default_environment is not None:
            environment = get_environment(default_organization, default_environment)
        else:
            environment = None

        user = self.api.create(username, password, email, disabled, environment, default_locale)
        test_record(user,
            _("Successfully created user [ %s ]") % username,
            _("Could not create user [ %s ]") % username
        )
Пример #2
0
 def __init__(self):
     super(Create, self).__init__()
     self.about_api = AboutAPI()