def apply(self): if self.user.gecos and not self.user.name: username = guess_username(self.user.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.name = guess_username(self.user.gecos) self.user.groups = [g.strip() for g in self._groups.split(",") if g] # Add or remove user admin status self.user.set_admin_priviledges(self._is_admin) # encrypt and store password only if user entered anything; this should # preserve passwords set via kickstart if self._use_password and self.user.password and len( self.user.password) > 0: self.user.password = self.user.password self.user.is_crypted = True # clear pw when user unselects to use pw else: self.user.password = "" self.user.is_crypted = False # Turning user creation off clears any already configured user, # regardless of origin (kickstart, user, DBus). if not self._create_user and self.user.name: self.user.name = "" self._user_cleared = True # An the other hand, if we have a user with name set, # it is valid and should be used if the spoke is re-visited. if self.user.name: self._user_cleared = False # Set the user list while removing any unset users, where unset # means the user has nema == "". set_user_list(self._users_module, self._user_list, remove_unset=True)
def on_full_name_changed(self, editable, data=None): """Called by Gtk callback when the full name field changes.""" fullname = editable.get_text() if self.guesser: username = guess_username(fullname) with blockedHandler(self.username_entry, self.on_username_set_by_user): self.username = username self.checker.fullname = fullname # rerun the checks self.checker.run_checks()