Exemple #1
0
def showRegister():
    if request.method == 'GET':
        if 'username' in login_session:
            flash('You\'re already logged in')
            return redirect(url_for('showSpecies'))
        return render_template('register.html')
    if request.method == 'POST':
        username = request.form['username']
        email = request.form['email']
        password = request.form['password']
        picture = request.form['picture']
        if username is None or email is None or password is None:
            return ("<script>alert('Please enter your Name, E-mail & "
                    "Password'); location.href='/register';</script>")
        if session.query(User).filter_by(email=email).first() is not None:
            return ("<script>alert('User already exists'); "
                    "location.href='/login';</script>")
        newUser = User(username=username, email=email)
        if picture:
            newUser.picture = picture
        newUser.hash_password(password)
        session.add(newUser)
        session.commit()
        flash('User was created Successfully. You can login now.')
        return redirect(url_for('showLogin'))
Exemple #2
0
def new_user():
    """creates a new local user, removes from the input ['/'] character also
    using bleach cleans the input from html, styles, etc. code

    Returns:
        render_template -- loads the login.html after the user is succesfully added to the DB
    """

    if request.method == 'POST':
        if session.query(User).filter_by(
                t_email=request.form['newusermail']).first():
            return "User already in Database"
        else:
            at_user = User(t_name=bleach.clean(request.form['newusername'],
                                               tags=[],
                                               attributes={},
                                               styles=[],
                                               strip=True),
                           t_email=bleach.clean(request.form['newusermail'],
                                                tags=[],
                                                attributes={},
                                                styles=[],
                                                strip=True),
                           t_picture='Nothing at all nothing at all')
            at_user.hash_password(request.form['newuserpass'])
            session.add(at_user)
            session.commit()
            flash('User added to the DB you can login now', category='info')
            return redirect('/start')
    else:
        print('this is by default the first action its a GET request')
        return render_template('login.html')
def populateUsers():
    usr2 = User(name="User 2", email="*****@*****.**")
    usr3 = User(name="User 3", email="*****@*****.**")

    session.add(usr2)
    session.add(usr3)
    session.commit()

    print "Added users!"
Exemple #4
0
def createUser(data):
    newUser = User(email=data['email'])
    if 'name' in data:
        newUser.name = data['name']
    if 'picture' in data:
        newUser.picture = data['picture']

    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=data['email']).one()
    return user
def new_user():
    if request.method == 'POST':
        new_user = User(t_name=request.form['newusername'],
                        t_email=request.form['newusermail'],
                        t_picture='Nothing at all nothing at all')
        new_user.hash_password(request.form['newuserpass'])
        session.add(new_user)
        session.commit()
        return redirect(url_for('login'))
    else:
        print("this is by default the first action its a GET request")
        return render_template('login.html')
def add_user(username, password, email):
    """
    Add a new user, return None if not able
    """

    if ses.query(User).filter_by(username=username).first() is None:
        new_user = User(username=username, email=email)
        new_user.hash_password(password)
        # new_user.active = 0
        ses.add(new_user)
        ses.commit()
        return get_user(username).id
    else:
        return None
Exemple #7
0
def create_user(session):
    user = User(name=session['user']['name'], email=session['user'][
                   'email'], picture=session['user']['picture'])
    db.add(user)
    db.commit()
    user = db.query(User).filter_by(email=session['email']).one()
    return user.id
Exemple #8
0
def create_user():
    user = User(firstname=login_session['firstname'],
                lastname=login_session['lastname'],
                email=login_session['email'])
    db.session.add(user)
    db.session.commit()
    return user.id
Exemple #9
0
def gauth():
    db_session = start()
    # If this request does not have `X-Requested-With` header, this could be a CSRF
    if not request.headers.get('X-Requested-With'):
        abort(403)

    # Exchange auth code for access token, refresh token, and ID token
    auth_code = request.data
    credentials = client.credentials_from_clientsecrets_and_code(CLIENT_SECRET_FILE, ['profile', 'email'], auth_code)

    # Get profile info from ID token
    userid = credentials.id_token['sub']
    email = credentials.id_token['email']
    name = credentials.id_token['name']
    picture = credentials.id_token['picture']

    # Check if user already exists
    old_user = db_session.query(User).filter(User.email == email).first()

    if old_user is None:
        # create new user and login
        user = User(name=name, email=email, picture=picture)
        db_session.add(user)
        db_session.commit()
        login_user(user)
    else:
        # login the old user
        login_user(old_user)

    db_session.close()
    flash("Login Successful, Welcome {}".format(name))
    return redirect(url_for('home'))
Exemple #10
0
def register():
    db_session = start()

    if request.method == 'POST':
        try:
            # Retrieve the form details and add the user,
            # an exception will be thrown if the user exists.
            name = "{}".format(request.form['name'])
            if not validate_email(request.form['email'], check_mx=True):
                flash("Invalid Email")
                return render_template('register.html')

            email = request.form['email']
            # generate sha256 password hash
            password = generate_password_hash(request.form['password'])
            user = User(name=name, email=email, password=password)
            db_session.add(user)
            db_session.commit()

            flash("Registration Successful")
            db_session.close()
            return redirect(url_for('login'))
        except IntegrityError:
            traceback.print_exc()
            flash("User Already Exists. Login Instead")
            db_session.close()
            return render_template('register.html')

    return render_template('register.html')
Exemple #11
0
def create_user(login_session):
    '''
    create a new user

    @param login_session: an instance of login_session
    :returns: the creaded user's id
    :raises: DBError for any DB transaction issues
    '''
    session = DBSession()
    try:
        session.add(User(
            name=login_session['username'],
            email=login_session['email']
        ))
        session.commit()
        user = session.query(User).filter_by(
            email=login_session['email']
        ).one()
    except:
        session.rollback()
        raise DBError(payload=traceback.format_exc())
    finally:
        session.close()

    return user.id
Exemple #12
0
def signup():
    # check if user already in db
    exists = session.query(User).filter_by(
        email=login_session['email']).scalar()
    if request.method == 'POST':
        if request.form['name']:
            new_user = User(name=request.form['name'],
                            email=login_session['email'])
            session.add(new_user)
            session.commit()
            login_session['name'] = new_user.name
            login_session['user_id'] = new_user.id
            flash('Signed up successfully welcome {}'.format(new_user.name))
            return redirect(url_for('list_categories'))
        else:
            flash('Signup failed, there is no name')
            return redirect(url_for('list_categories'))

    # if user already in db
    if exists:
        # get user
        user = session.query(User).filter_by(
            email=login_session['email']).one()
        login_session['name'] = user.name
        login_session['user_id'] = user.id
        flash('Welcome back  {}'.format(user.name))
        return redirect(url_for('list_categories'))
    else:
        # if not direct to signup
        return render_template('auth/signup.html')
Exemple #13
0
def addUser(login_session):
    newUser = User(username=login_session['username'],
                   email=login_session['email'])
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user.id
Exemple #14
0
def create_user(data):
    u = User(name=data['name'], email=data['email'], picture=data['picture'])
    session.add(u)
    session.commit()

    user = session.query(User).filter_by(email=data['email']).one()

    return user.id
Exemple #15
0
def createUser(login_session):
    newUser = User(name=login_session['name'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    db.session.add(newUser)
    db.session.commit()
    user = db.session.query(User).filter_by(email=login_session['email']).one()
    return user.id
Exemple #16
0
def createUser(login_session):
    User1 = User(name=login_session['username'],
                 email=login_session['email'],
                 picture=login_session['picture'])
    session.add(User1)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user.id
Exemple #17
0
def createUser(login_session):
    newUser = User(username=login_session['username'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).first()
    return user.id
Exemple #18
0
def createUser():
    name = login_session['name']
    email = login_session['email']
    url = login_session['img']
    provider = login_session['provider']
    newUser = User(name=name, email=email, image=url, provider=provider)
    session.add(newUser)
    session.commit()
def oauth2callback():
    # Specify the state when creating the flow in the callback so that it can
    # verified in the authorization server response.
    state = flask.session['state']

    flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
        CLIENT_SECRETS_FILE, scopes=SCOPES, state=state)
    flow.redirect_uri = flask.url_for('oauth2callback', _external=True)

    # Use the authorization server's response to fetch the OAuth 2.0 tokens.
    authorization_response = flask.request.url
    flow.fetch_token(authorization_response=authorization_response)

    # Store credentials in the session.
    credentials = flow.credentials
    flask.session['credentials'] = credentials_to_dict(credentials)

    # Get user info
    credentials = AccessTokenCredentials(credentials.token,
                                         'my-user-agent/1.0')
    userinfo_url = "https://www.googleapis.com/oauth2/v1/userinfo"
    params = {'access_token': credentials.access_token, 'alt': 'json'}
    answer = requests.get(userinfo_url, params=params)
    data = answer.json()

    # Store username and google_id
    flask.session['username'] = data['name']
    flask.session['google_id'] = data['id']
    #sys.stderr.write(flask.session['username'] + ": " +
    #                 flask.session['google_id'])

    # Check if user exists
    session = db_connect()

    user = session.query(User).filter_by(google_id=data['id']).one_or_none()
    if user is None:
        # Add User to Database
        try:
            user = User(name=data['name'], google_id=data['id'])

            session.add(user)
            session.commit()

            # Retrieve the generate user.id
            user = session.query(User).filter_by(google_id=data['id']).\
                one_or_none()
            flask.session['user_id'] = user.id

            flash('New: User Logged In')
        except exc.DatabaseError as error:
            sys.stderr.write("\nDatabase Exception: " + str(error) + "\n")
            flash('New User Create failed')
    else:
        flask.session['user_id'] = user.id
        flash('Existing: User Logged In')

    session.close()
    return flask.redirect(flask.url_for('routeCatalog'))
Exemple #20
0
def createUser(login_session):
    name = login_session['name']
    email = login_session['email']
    url = login_session['img']
    newUser = User(user_name=name, user_email=email, user_picture=url)
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(user_email=email).first()
    return user.id
Exemple #21
0
def create_user(login_session):
    """Grab username, email and picture from login session"""
    new_user = User(name=login_session['username'],
                    email=login_session['email'],
                    picture=login_session['picture'])
    session.add(new_user)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user.id
def createUser(login_session):
    # Add a new user to the db.
    newUser = User(name=login_session['username'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user.id
def createUser(login_session):
    """ add new user to DB """
    newuser = User(name=login_session['username'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    SESSION.add(newuser)
    SESSION.commit()
    user = SESSION.query(User).filter_by(email=login_session['email']).one()
    return user.id
Exemple #24
0
def createUser(login_session, pw_hash=None):
    newUser = User(
        name=login_session['username'],
        email=login_session['email'],
        pw_hash=pw_hash)
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user
Exemple #25
0
def createUser(login_session):
    session = start()
    newUser = User(name=login_session['username'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    session.close()
    return user.id
Exemple #26
0
def register():
    if request.method == 'POST':
        if session.query(User).filter_by(
                username=request.form['username']).all():
            flash('Username Already Exists')
            return render_template('register.html')
        if session.query(User).filter_by(email=request.form['email']).all():
            flash('Email already in use.')
            return render_template('register.html')
        else:
            newUser = User(username=request.form['username'],
                           email=request.form['email'])
            newUser.hash_password(request.form['password'])
            session.add(newUser)
            flash('Registered!')
            session.commit()
            return redirect(url_for('home'))
    else:
        return render_template('register.html')
Exemple #27
0
def createUser(session):
    """Creates new user."""
    newUser = User(
                name=session['username'],
                email=session['email'],
                picture=session['picture'])
    db_session.add(newUser)
    db_session.flush()
    db_session.commit()
    return newUser.id
Exemple #28
0
def CreateNewUser():
    if request.method == 'POST':
        username = request.form['uname']
        name = request.form['name']
        password = request.form['password']
        email = request.form['email']
        password = json.dumps(password)

        if username is None or password is None:
            abort(400)  # missing arguments
        user = User(uname=username, name=name, email=email)
        if user:

            user.hash_password(password)
            session.add(user)
            flash('New User %s Successfully Created' % user.name)
            session.commit()
            return render_template('login.html')
    else:
        return render_template('createuser.html')
Exemple #29
0
def createUser(login_session):
    """
    Store login user and return its user id
    """
    newUser = User(name=login_session['username'],
                   email=login_session['email'],
                   picture=login_session['picture'])
    session.add(newUser)
    session.commit()
    user = session.query(User).filter_by(email=login_session['email']).one()
    return user.id
Exemple #30
0
def verify_password(username_or_token, password):
    user_id = User.verify_auth_token(username_or_token)
    if user_id:
        user = session.query(User).filter_by(id=user_id).one()
    else:
        user = session.query(User).filter_by(
            username=username_or_token).first()
        if not user or not user.verify_password(password):
            return False
    g.user = user
    return True