Пример #1
0
 def confirm_email(token):
     email = None
     try:
         email = Token.confirm_token(token)
     except:
         flash('The confirmation link is invalid or has expired.', 'danger')
         return redirect(url_for('index'))
     try:
         user = User.objects.get(email=email)
         if user.activated:
             flash('Account already confirmed. Please login.', 'success')
         else:
             user.activated = True
             DBOperations.activate_user(email)
             flash('You have confirmed your account. Thanks!', 'success')
     except:
         flash('The account activation URL specified is not associated to any account', 'danger')
     return redirect(url_for('index'))
Пример #2
0
def reset_password():
    if request.method == 'GET':
        token = request.args.get('token')
        return render_template('update_password.html', token=token)
    elif request.method == 'POST':
        token = request.form['token']
        email = Token.confirm_token(token)
        new_password = request.form['password']
        errors = []
        errors.append(validate_password(new_password))
        flattened_errors_list = [error for errorSublist in errors for error in errorSublist]
        if(len(flattened_errors_list) == 0):
            user = dbOps.get_user_by_email(email)
            dbOps.edit_user_account(user.user_id, None, encrypt(new_password))
            flash("Successfully updated password", 'Success')
            return render_template('index.html')
        else:
            formatted_error = '. '.join(str(error) for error in flattened_errors_list)
            flash(formatted_error)
            return render_template('update_password.html', token=token)
Пример #3
0
 def confirm_email(token):
     email = None
     try:
         email = Token.confirm_token(token)
     except:
         flash('The confirmation link is invalid or has expired.', 'danger')
         return redirect(url_for('index'))
     try:
         user = User.objects.get(email=email)
         if user.activated:
             flash('Account already confirmed. Please login.', 'success')
         else:
             user.activated = True
             DBOperations.activate_user(email)
             flash('You have confirmed your account. Thanks!', 'success')
     except:
         flash(
             'The account activation URL specified is not associated to any account',
             'danger')
     return redirect(url_for('index'))
Пример #4
0
def reset_password():
    if request.method == 'GET':
        token = request.args.get('token')
        return render_template('update_password.html', token=token)
    elif request.method == 'POST':
        token = request.form['token']
        email = Token.confirm_token(token)
        new_password = request.form['password']
        errors = []
        errors.append(validate_password(new_password))
        flattened_errors_list = [
            error for errorSublist in errors for error in errorSublist
        ]
        if (len(flattened_errors_list) == 0):
            user = dbOps.get_user_by_email(email)
            dbOps.edit_user_account(user.user_id, None, encrypt(new_password))
            flash("Successfully updated password", 'Success')
            return render_template('index.html')
        else:
            formatted_error = '. '.join(
                str(error) for error in flattened_errors_list)
            flash(formatted_error)
            return render_template('update_password.html', token=token)