def __init__(self): ConfigScreen.__init__(self, "Create A User Account") self.__username = None self.__password = None self.__confirm = None self.__adminuser = None self.__useradmin = libuser.admin() self.__user_worker = UserWorker()
class CreateUserConfigScreen(ConfigScreen): def __init__(self): ConfigScreen.__init__(self, "Create A User Account") self.__username = None self.__useradmin = libuser.admin() self.__user_worker = UserWorker() def get_elements_for_page(self, screen, page): if page is DETAILS_PAGE: return self.get_details_page(screen) elif page is CONFIRM_PAGE: return self.get_confirm_page(screen) def validate_input(self, page, errors): if page is DETAILS_PAGE: if len(self.__username.value()) > 0: name = self.__username.value() if self.__useradmin.lookupUserByName(name) is None: if len(self.__password.value()) > 0: if self.__password.value() == self.__confirm.value(): return True else: errors.append("Passwords do not match.") else: errors.append("You must enter a password.") else: errors.append("User %s already exists." % name) else: errors.append("You must enter a username.") self.__confirm.value() return False def process_input(self, page): if page is CONFIRM_PAGE: self.__user_worker.create_user(self.__username.value(), self.__password.value(), "wheel" if self.__adminuser.value() else None) self.set_finished() def page_has_next(self, page): return (page is DETAILS_PAGE) def page_has_back(self, page): return (page is CONFIRM_PAGE) def page_has_finish(self, page): return (page is CONFIRM_PAGE) def get_details_page(self, screen): if self.__username is None: self.__username = Entry(50, "") self.__password = Entry(50, "", password = 1) self.__confirm = Entry(50, "", password = 1) self.__adminuser = Checkbox("This user is an administrator", False) grid = Grid(2, 4) grid.setField(Label("Username:"******"Password:"******"Confirm password:"******" "), 0, 3) grid.setField(self.__adminuser, 1, 3, anchorLeft = 1) return [Label("Enter The User Details"), grid] def get_confirm_page(self, screen): grid = Grid(1, 2) grid.setField(Label("Username: %s" % self.__username.value()), 0, 0) admin_label = "is not" if self.__adminuser.value(): admin_label = "is" grid.setField(Label("This user %s an administrator." % admin_label), 0, 1) return [Label("Create this user account?"), grid]
class CreateUserConfigScreen(ConfigScreen): def __init__(self): ConfigScreen.__init__(self, "Create A User Account") self.__username = None self.__useradmin = libuser.admin() self.__user_worker = UserWorker() def get_elements_for_page(self, screen, page): if page is DETAILS_PAGE: return self.get_details_page(screen) elif page is CONFIRM_PAGE: return self.get_confirm_page(screen) def validate_input(self, page, errors): if page is DETAILS_PAGE: if len(self.__username.value()) > 0: name = self.__username.value() if self.__useradmin.lookupUserByName(name) is None: if len(self.__password.value()) > 0: if self.__password.value() == self.__confirm.value(): return True else: errors.append("Passwords do not match.") else: errors.append("You must enter a password.") else: errors.append("User %s already exists." % name) else: errors.append("You must enter a username.") self.__confirm.value() return False def process_input(self, page): if page is CONFIRM_PAGE: self.__user_worker.create_user( self.__username.value(), self.__password.value(), "wheel" if self.__adminuser.value() else None) self.set_finished() def page_has_next(self, page): return (page is DETAILS_PAGE) def page_has_back(self, page): return (page is CONFIRM_PAGE) def page_has_finish(self, page): return (page is CONFIRM_PAGE) def get_details_page(self, screen): if self.__username is None: self.__username = Entry(50, "") self.__password = Entry(50, "", password=1) self.__confirm = Entry(50, "", password=1) self.__adminuser = Checkbox("This user is an administrator", False) grid = Grid(2, 4) grid.setField(Label("Username:"******"Password:"******"Confirm password:"******" "), 0, 3) grid.setField(self.__adminuser, 1, 3, anchorLeft=1) return [Label("Enter The User Details"), grid] def get_confirm_page(self, screen): grid = Grid(1, 2) grid.setField(Label("Username: %s" % self.__username.value()), 0, 0) admin_label = "is not" if self.__adminuser.value(): admin_label = "is" grid.setField(Label("This user %s an administrator." % admin_label), 0, 1) return [Label("Create this user account?"), grid]