def GET(self): """ """ if self.env["cfg"].enableRegistration: try: view = authRegisterTmpl(searchList=[self.tmplSearchList]) return view except: self.head = ("303 SEE OTHER", [("Location", "/request")]) self.session.pushAlert( "We currently have registration closed \ however you can request an invite on this page", "Oh no!", "error", ) else: self._404()
def POST(self): """ """ if self.env["cfg"].enableRegistration: givenEmail = self.env["members"]["email"] if self.env["members"].has_key("email") else "" username = self.env["members"]["username"] if self.env["members"].has_key("username") else "" passwordOnce = self.env["members"]["passwordOnce"] if self.env["members"].has_key("passwordOnce") else "" passwordTwice = self.env["members"]["passwordTwice"] if self.env["members"].has_key("passwordTwice") else "" foundEmail = um.findByEmail(givenEmail) foundName = um.findByUsername(username) if passwordOnce == passwordTwice and passwordOnce != "" and not (foundEmail or foundName): """ Passwords match, password isn't null and no one Else has the same username or email. If this is all true then We can go ahead and make a new user and while we're at it lets log them in also. """ newUser = um.userORM(username, passwordOnce) newUser.loginThis(self.env["cookie"]) newUser.save() self.session.pushAlert( "You can now log in with the \ information you gave us!", "Congrats!", "success", ) self.head = ("303 SEE OTHER", [("location", "/your/flags")]) else: """ If none, or one of those isn't true then we have a problem... """ view = authRegisterTmpl(searchList=[self.tmplSearchList]) view.email = givenEmail view.username = username if foundName: """ Someone with the same username, thats not allowed... """ self.session.pushAlert( "There is already a person in our \ system with that username, please choose another", "Oh no!", "error", ) view.usernameError = True elif foundEmail: """ Already someone with that email in the system... """ self.session.pushAlert( "There is already someone with that \ email in our system, are you sure you don't already\ have an account, or have already requested an invite?", "Oh no!", "error", ) view.emailError = True elif passwordOnce != "" and passwordOnce != passwordTwice: """ Password isn't null but doesn't match """ view.passwordMatchError = True return view else: self._404()