diff options
author | Navan Chauhan <navanchauhan@gmail.com> | 2021-06-06 15:49:56 +0530 |
---|---|---|
committer | Navan Chauhan <navanchauhan@gmail.com> | 2021-06-06 15:49:56 +0530 |
commit | 812220acbfd41aea0382fcd9a37a989a4b091d66 (patch) | |
tree | 0f4277216efe81e6b8d21d9dfc39a3d343fac48e /app/views/auth.py | |
parent | ad92a42e8439337cfde346fa84e75a5f91164eac (diff) | |
parent | 62a5ca363415b0f6f98785b6c3522a71fc895a72 (diff) |
fixing pull
Diffstat (limited to 'app/views/auth.py')
-rw-r--r-- | app/views/auth.py | 77 |
1 files changed, 51 insertions, 26 deletions
diff --git a/app/views/auth.py b/app/views/auth.py index d6f02b8..2833479 100644 --- a/app/views/auth.py +++ b/app/views/auth.py @@ -1,6 +1,6 @@ from app import app, db, models, login_manager, oauth -from app.forms.app_forms import UserSignUp, UserLogIn -from flask import render_template, flash,url_for, redirect, request +from app.forms.app_forms import UserSignUp, UserLogIn +from flask import render_template, flash, url_for, redirect, request from app.misc_func import flash_errors, send, send_async import flask_login from sqlalchemy.exc import IntegrityError @@ -9,10 +9,11 @@ from itsdangerous.exc import BadSignature ts = URLSafeSerializer(app.config["SECRET_KEY"]) -@app.route("/signup", methods=['GET', 'POST']) + +@app.route("/signup", methods=["GET", "POST"]) def register_user(): if request.method == "GET" and flask_login.current_user.is_authenticated: - return redirect(url_for("user_dashboard")) + return redirect(url_for("user_dashboard")) form = UserSignUp() if form.validate_on_submit(): form.email.data = form.email.data.lower() @@ -22,31 +23,38 @@ def register_user(): email=form.email.data, confirmation=False, password=form.password.data, - ) + ) db.session.add(user) try: db.session.commit() except IntegrityError: flash("Oops! An account with that email already exists") - return render_template("auth/signup.html",form=form) - + return render_template("auth/signup.html", form=form) + subject = "Confirm Your Email" - confirmation_token = ts.dumps(user.email,salt="email-confirm-key") - confirmation_url = url_for("confirm_email",confirmation_token=confirmation_token,_external=True) - body_html = render_template("misc/email_confirm.html",confirmation_url=confirmation_url) - body = render_template("misc/email_confirm.txt",confirmation_url=confirmation_url) + confirmation_token = ts.dumps(user.email, salt="email-confirm-key") + confirmation_url = url_for( + "confirm_email", confirmation_token=confirmation_token, _external=True + ) + body_html = render_template( + "misc/email_confirm.html", confirmation_url=confirmation_url + ) + body = render_template( + "misc/email_confirm.txt", confirmation_url=confirmation_url + ) send(user.email, subject, body, body_html) - + flash("Please confirm your email before signing in..") return redirect(url_for("signin_user")) flash_errors(form) - return render_template("auth/signup.html",form=form) + return render_template("auth/signup.html", form=form) -@app.route("/signin", methods=['GET', 'POST']) + +@app.route("/signin", methods=["GET", "POST"]) def signin_user(): if request.method == "GET" and flask_login.current_user.is_authenticated: - return redirect(url_for("user_dashboard")) + return redirect(url_for("user_dashboard")) form = UserLogIn() if form.validate_on_submit(): form.email.data = form.email.data.lower() @@ -66,7 +74,8 @@ def signin_user(): flash("Incorrect Email") else: flash_errors(form) - return render_template("auth/signin.html",form=form) + return render_template("auth/signin.html", form=form) + @app.route("/login/with/google") def login_with_google(): @@ -85,7 +94,8 @@ def login_with_google_auth(): last_name=g_user["family_name"], email=g_user["email"].lower(), confirmation=True, - login_type="google") + login_type="google", + ) db.session.add(user) try: db.session.commit() @@ -98,7 +108,9 @@ def login_with_google_auth(): flask_login.login_user(user) return redirect(url_for("user_dashboard")) else: - flash("An account already exists for this email. Please use your password to log in.") + flash( + "An account already exists for this email. Please use your password to log in." + ) return redirect(url_for("signin_user")) else: return render_template( @@ -106,15 +118,18 @@ def login_with_google_auth(): message="To use sign-in with Google, you need a verified e-mail.", ) -@app.route("/confirm", methods=["GET","POST"]) + +@app.route("/confirm", methods=["GET", "POST"]) def confirm_email(): confirmation_token = request.args.get("confirmation_token") try: - email = ts.loads(confirmation_token, salt="email-confirm-key",max_age=86400) + email = ts.loads(confirmation_token, salt="email-confirm-key", max_age=86400) except TypeError: - return render_template("message.html",message="Token not provided in URL Parameter") + return render_template( + "message.html", message="Token not provided in URL Parameter" + ) except BadSignature: - return render_template("message.html",message="Bad Token Provided") + return render_template("message.html", message="Bad Token Provided") user = models.User.query.filter_by(email=email).first() print(email) user.confirmation = True @@ -122,16 +137,26 @@ def confirm_email(): flash("Email Has Been Succesfully Verified, You May Log In") return redirect(url_for("signin_user")) + @app.route("/dashboard") @flask_login.login_required def user_dashboard(): - return render_template("dashboard.html",user=flask_login.current_user) + return render_template("dashboard.html", user=flask_login.current_user) + -@app.route('/logout') +@app.route("/logout") def logout(): flask_login.logout_user() - return render_template("message.html",message="You have been logged out.") + return render_template("message.html", message="You have been logged out.") + @login_manager.unauthorized_handler def unauthorized(): - return render_template("message.html",message="You need to be logged in to access this resource", code=401), 401 + return ( + render_template( + "message.html", + message="You need to be logged in to access this resource", + code=401, + ), + 401, + ) |