def login_input_valid(self, REQUEST): """ validates login input """ if REQUEST.get("go", "") != "go": return None, None, None form_page = str(self.loginform(REQUEST)) form = HTMLForm(form_page, LoginFormSchema) results, errors = form.validate(REQUEST, self) loginok = None if results is not None: if self.action_login(results["username"], results["password"]): loginok = 1 return results, errors, loginok
def login(self, REQUEST): """ returns a login page """ form_page = str(self.loginform(REQUEST)) form = HTMLForm(form_page, LoginFormSchema) if REQUEST.get("go") == "go": results, errors = form.validate(REQUEST, self) if results is not None: if self.action_login(results["username"], results["password"]): return self.linkredirect(REQUEST, "loginsuccess", "maincontent", "index") # return str(self.tmpl('loginsuccess', {})) loginadvice = str(self.tmpl("loginfailed", {})) formtxt = form.render(defaults=REQUEST) else: formtxt = form.render(defaults=REQUEST, errors=errors) loginadvice = str(self.tmpl("loginerror", {})) else: formtxt = form.render(defaults=self.login_defaults()) loginadvice = str(self.tmpl("loginwelcome", {})) d = {} d["loginformcontent"] = formtxt d["loginadvice"] = loginadvice page = self.tmpl("login", d) options = { "register": ("", "register", "maincontent", "Join for FREE"), "forgotten": ("", "forgotten", "maincontent", "Forgotten"), } page.dynamiclink(options) return page