def handle_reset_request(self, id=None): s = Session() toaddr = request.params.get('email_addr') if not self._is_email_valid(toaddr): if id == "ajax": return "invalid email address" session['messages'] = ['Invalid email address'] session.save() redirect_to(action='request_reset') user = s.query(User).filter_by(email=unicode(toaddr)).first() # We always claim we sent an email to stop people from farming our # database for email addresses of users. if user is None: if id == "ajax": return "sent password reset email" redirect_to(action="reset_request_sent") token = random_token() msg = create_password_reset_msg(toaddr, token) reset_data = ResetData(token, toaddr) s.save(reset_data) s.commit() try: send_mail(toaddr, msg) except EmailException, e: if id == "ajax": return "Sending password reset email failed: %s" % e.message session['email_error'] = e.message session.save()
def signup(self, id=None): user_email = unicode(request.params.get('user_email')) user_email_c = unicode(request.params.get('user_email_confirm')) s = Session() if user_email != user_email_c: if id == "ajax": return "email address mismatch" else: session['messages'] = ["Email address mismatch"] session.save() redirect_to(action="register") if not self._is_email_valid(user_email): if id == "ajax": return "invalid email address" else: session['messages'] = ["Invalid email address"] session.save() redirect_to(action="register") if s.query(User).filter_by(email=user_email).first() is not None: if id == "ajax": return "email already associated with an account" else: session['messages'] = [ "Email already associated with an account" ] session.save() redirect_to(action="register") user_pass = unicode(request.params.get('user_pass')) user_pass_c = unicode(request.params.get('user_pass_confirm')) if user_pass != user_pass_c: if id == "ajax": return "password mismatch" else: session['messages'] = ["Password mismatch"] session.save() redirect_to(action="register") if request.params.get('user_vcs_pass') is not None: vcs_pass = unicode(request.params.get('user_vcs_pass')) vcs_pass_c = unicode(request.params.get('user_vcs_pass_confirm')) if vcs_pass != vcs_pass_c: if id == "ajax": return "VCS password mismatch" else: session['messages'] = ["VCS password mismatch"] session.save() redirect_to(action="register") else: vcs_pass = None if request.params.get('user_name') is not None: user_name = unicode(request.params.get('user_name')) else: user_name = u"Unnamed User" if request.params.get('user_nick') is not None: user_nick = unicode(request.params.get('user_nick')) else: user_nick = u"Anonymous" if request.params.get('user_vcs_user') is not None: vcs_user = unicode(request.params.get('user_vcs_user')) else: vcs_user = None user = User(user_email, crypt_password(user_pass)) data = UserData(user_name, user_nick, vcs_user, vcs_pass) data.user = user s.add(user) s.add(data) token = random_token() msg = create_account_activation_msg(user.email, token) act_data = EmailConfirm(token, user.email) s.add(act_data) s.commit() try: send_mail(user.email, msg) except EmailException, e: if id == "ajax": return "sending account registration failed: %s" % e.message session['email_error'] = e.message session.save()
def signup(self, id=None): user_email = unicode(request.params.get('user_email')) user_email_c = unicode(request.params.get('user_email_confirm')) s = Session() if user_email != user_email_c: if id == "ajax": return "email address mismatch" else: session['messages'] = ["Email address mismatch"] session.save() redirect_to(action="register") if not self._is_email_valid(user_email): if id == "ajax": return "invalid email address" else: session['messages'] = ["Invalid email address"] session.save() redirect_to(action="register") if s.query(User).filter_by(email=user_email).first() is not None: if id == "ajax": return "email already associated with an account" else: session['messages'] = ["Email already associated with an account"] session.save() redirect_to(action="register") user_pass = unicode(request.params.get('user_pass')) user_pass_c = unicode(request.params.get('user_pass_confirm')) if user_pass != user_pass_c: if id == "ajax": return "password mismatch" else: session['messages'] = ["Password mismatch"] session.save() redirect_to(action="register") if request.params.get('user_vcs_pass') is not None: vcs_pass = unicode(request.params.get('user_vcs_pass')) vcs_pass_c = unicode(request.params.get('user_vcs_pass_confirm')) if vcs_pass != vcs_pass_c: if id == "ajax": return "VCS password mismatch" else: session['messages'] = ["VCS password mismatch"] session.save() redirect_to(action="register") else: vcs_pass = None if request.params.get('user_name') is not None: user_name = unicode(request.params.get('user_name')) else: user_name = u"Unnamed User" if request.params.get('user_nick') is not None: user_nick = unicode(request.params.get('user_nick')) else: user_nick = u"Anonymous" if request.params.get('user_vcs_user') is not None: vcs_user = unicode(request.params.get('user_vcs_user')) else: vcs_user = None user = User(user_email, crypt_password(user_pass)) data = UserData(user_name, user_nick, vcs_user, vcs_pass) data.user = user s.add(user) s.add(data) token = random_token() msg = create_account_activation_msg(user.email, token) act_data = EmailConfirm(token, user.email) s.add(act_data) s.commit() try: send_mail(user.email, msg) except EmailException, e: if id == "ajax": return "sending account registration failed: %s" % e.message session['email_error'] = e.message session.save()