def apply(self): if self._user_data.gecos and not self._user_data.name: username = guess_username(self._user_data.gecos) valid, msg = check_username(username) if not valid: self.errors.append(_("Invalid user name: %(name)s.\n%(error_message)s") % {"name": username, "error_message": msg}) else: self._user_data.name = guess_username(self._user_data.gecos) self._user_data.groups = [g.strip() for g in self._groups.split(",") if g] # Add or remove the user from wheel group if self._is_admin and "wheel" not in self._user_data.groups: self._user_data.groups.append("wheel") elif not self._is_admin and "wheel" in self._user_data.groups: self._user_data.groups.remove("wheel") # Add or remove the user from userlist as needed if self._create_user and (self._user_data not in self.data.user.userList and self._user_data.name): self.data.user.userList.append(self._user_data) elif (not self._create_user) and (self._user_data in self.data.user.userList): self.data.user.userList.remove(self._user_data) # encrypt and store password only if user entered anything; this should # preserve passwords set via kickstart if self._use_password and self._user_data.password and len(self._user_data.password) > 0: self._user_data.password = self._user_data.password self._user_data.isCrypted = True # clear pw when user unselects to use pw else: self._user_data.password = "" self._user_data.isCrypted = False
def apply(self): if self.args.gecos and not self.args.name: username = guess_username(self.args.gecos) valid, msg = check_username(username) if not valid: self.errors.append(_("Invalid user name: %(name)s.\n%(error_message)s") % {"name": username, "error_message": msg}) else: self.args.name = guess_username(self.args.gecos) self.args.groups = [g.strip() for g in self.args._groups.split(",") if g] # Add or remove the user from wheel group if self.args._admin and "wheel" not in self.args.groups: self.args.groups.append("wheel") elif not self.args._admin and "wheel" in self.args.groups: self.args.groups.remove("wheel") # Add or remove the user from userlist as needed if self.args._create and (self.args not in self.data.user.userList and self.args.name): self.data.user.userList.append(self.args) elif (not self.args._create) and (self.args in self.data.user.userList): self.data.user.userList.remove(self.args) # encrypt and store password only if user entered anything; this should # preserve passwords set via kickstart if self.args._use_password and len(self.args._password) > 0: self.args.password = self.args._password self.args.isCrypted = True self.args.password_kickstarted = False # clear pw when user unselects to use pw else: self.args.password = "" self.args.isCrypted = False self.args.password_kickstarted = False
def _checkUsername(self, inputcheck): name = self.get_input(inputcheck.input_obj) # Allow empty usernames so the spoke can be exited without creating a user if name == "": return InputCheck.CHECK_OK valid, msg = check_username(name) if valid: return InputCheck.CHECK_OK else: return msg or _("Invalid user name")
def run(self, check_request): """Check if the username is valid.""" # in some cases an empty username is also considered valid, # so that the user can exit the User spoke without filling it in if self.success_if_username_empty and not check_request.username: self.result.error_message = "" self.result.success = True else: success, error_message = users.check_username(check_request.username) self.result.error_message = error_message self.result.success = success
def _check_name(self, name): return check_username(name)
def _check_username(self, user_input, report_func): return check_username(user_input)