def signup(): try: form = SignupForm() if form.validate_on_submit(): print "I am here" the_user = session.query(User).filter_by(mobilenumber = form.mobile.data).first() if the_user: flash("User with same mobile number already exist") else: user = User(name = form.name.data, email = form.email.data, password = generate_password_hash(form.password.data), mobilenumber = form.mobile.data) session.add(user) session.commit() token = generate_confirmation_token(user.email) confirm_url = url_for('confirm_email',token = token,_external = True) html = render_template('activate.html',confirm_url = confirm_url) subject = "Please confirm your email {}.".format(user.name) send_email(user.email,subject,html) flash("Thank you for Registering {}.".format(user.name)) flash("We have sent you a confirmation email to your registered email and its valid for 1 hour") flash("It may take 1 minute to arrive") flash("Please click on confirmation link sent in mail") return redirect(url_for('confirm')) return render_template('signup.html',form = form) except Exception as e: print e
def login(): try: form = LoginForm() if form.validate_on_submit(): user = session.query(User).filter_by(email = form.email.data).first() if user is not None and check_password_hash(user.password,form.password.data): if not user.confirmed: flash("Please confirm your email by clicking the link") return render_template('unconfirmed.html') else: login_user(user,True) return redirect(request.args.get('next') or url_for('index')) flash(" Email or Password may be incorrect") return render_template('login.html',form = form) except Exception as e: print e
def confirm_email(token): try: email = confirm_token(token) except: server_error(e) user = session.query(User).filter_by(email = email).first() if user.confirmed: flash("Account already confirmed.Please Login") return redirect(url_for('login')) else: user.confirmed = True session.add(user) session.commit() flash("Superb!!!! You have confirmed Your account {}.".format(user.name)) flash("Use GetResume Website to login and continue") return redirect(url_for('emailconfirm'))
def resend_confirmation(): try: form = ResendForm() if form.validate_on_submit(): user = session.query(User).filter_by(email = form.email.data).first() if user: token = generate_confirmation_token(form.email.data) confirm_url = url_for('confirm_email',token = token,_external = True) html = render_template('activate.html',confirm_url = confirm_url) subject = "Please confirm your email {}.".format(user.name) send_email(user.email,subject,html) flash("Confirmation link sent to your registered email\nPlease click on the link to confirm your email") return redirect(url_for('confirm')) else: flash("You are not registered.\nPlease Register") return render_template('unconfirmed.html') return render_template('resend.html',form = form) except Exception as e: print e
def validate_email(self,email_field): if session.query(User).filter_by(email = email_field.data).first(): raise ValidationError('There is already a User with this email address.')
def load_user(userid): return session.query(User).get(int(userid))