def gateway(): if is_logged_in(): return redirect(url_for("index")) err = "" if request.method == "POST": try: email = fix(request.form["email"], "@\.") username = fix(request.form["username"]) password = fix(request.form["password"]) confirm = fix(request.form["confirm"]) if validate_email(email): if not Profile.already_exists(email=email): if validate_username(username): if not Profile.already_exists(username=username): if password == confirm and password != "": Profile.insert_profile(email, username, hash_password(password)) return render_template("gateway.html", title="Gateway") else: err = "Invalid Passwords Entered" else: err = "Username Already Exists" else: err = "Invalid Username Entered" else: err = "Email Already Exists" else: err = "Invalid Email Entered" except Exception as e: email = fix(request.form["email"], "@\.") password = fix(request.form["password"]) if email is not None and password is not None: if Profile.already_exists(email=email): expected_pass = Profile.get_password_hash(email) salt, pass_hash = str(expected_pass).split("$") if expected_pass == str(hash_password(password, salt)): session["email"] = email session["username"] = Profile.get("username", email=email) return redirect(url_for("index")) else: err = "Incorrect Email or Password" else: err = "Incorrect Email" else: err = "Fill in all blanks" reg = True if request.args.get("reg") == "true" else False return render_template("gateway.html", title="Gateway", indent=False, reg=reg, err=err)