Example #1
0
def new_user():
    if request.method == 'POST':
        if request.form["name"]:
            username = request.form["name"]
        if request.form["password"]:
            password = request.form["password"]
        if request.form["email"]:
            email = request.form["email"]
        if username is None or password is None or email is None:
            print "missing arguments"
            abort(400)
        #check if it is existing user
        if session.query(User).filter_by(
                username=username).first() is not None:
            print "existing user"
        else:
            # add the user info to database
            user = User(username=username)
            user.hash_password(password)
            user.email = email
            session.add(user)
            session.commit()
            return redirect(url_for('get_auth_token'))
    else:
        return render_template('newusers.html')
Example #2
0
def register():
    check = False
    DBSession = sessionmaker(bind=engine)
    session = DBSession()
    if request.method == 'POST':
        check = False
        username = request.form['username']
        password = request.form['password']
        password_confirm = request.form['confirmPassword']
        if username == '' or password == '':
            check = False
            flash('Sorry, invalid inputs!')
            return render_template('register.htm')
        elif session.query(User).filter_by(username=username).first():
            check = False
            flash('Sorry, existing user!')
            return render_template('register.htm', check=check)
        elif password != password_confirm:
            check = False
            flash('Passwords do not match')
            return render_template('register.htm', check=check)
        else:
            check = True
            newUser = User(username=username)
            newUser.hash_password(password)
            session.add(newUser)
            session.commit()
            flash(
                'Congratulations! you have created your new account!\nLogin now to have more privileges'
            )
            return redirect(url_for('login'))
    else:
        return render_template('register.htm')
def register():
    session = databaseConnection()
    if request.method == 'GET':
        return render_template('register.html')
    if request.method == 'POST':
        username = bleach.clean(request.form['name'])
        email = bleach.clean(request.form['email'])
        password = request.form['password']
        if username is None or password is None:
            print("missing arguments")
            abort(400)

        if session.query(User).filter_by(name=username).first() is not None:
            print("existing user")
            user = session.query(User).filter_by(name=username).first()
            # , {'Location': url_for('get_user', id = user.id, _external = True)}
            return jsonify({'message': 'user already exists'}), 200

        user = User(name=username, email=email)
        user.hash_password(password)
        session.add(user)
        session.commit()

        login_session['username'] = username
        login_session['email'] = email
        login_session['picture'] = ''
        login_session['user_id'] = getUserIdDB(email)

        flash(username + ' is now registered')
        return redirect(url_for('showRestaurants'))
Example #4
0
def newuser():
    
    form = RegisterForm(request.form)
    
    if request.method == 'POST' and form.validate():
    
        newuser = User(email = form.email.data, admin = False, paid = False, featured = False)
        newactor = Actor(user = newuser)
        newphoto = Photo(user = newuser, path="nophoto.jpg")
        newcredit = Credit(user = newuser)
        newuser.hash_password(request.form['password'])

        if session.query(User).filter_by(email = newuser.email).first() is not None and form.access.data == 'bella':
            abort(400)

        session.add(newuser)
        session.add(newactor)
        session.add(newphoto)
        session.add(newcredit)
        session.commit()
    
        user = session.query(User).filter_by(email=newuser.email).first()

        return redirect(url_for('editprofile', profile_id=user.id, creditcount=1))
    
    form2 = form
    form = LoginForm()
    
    state = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(32))
    login_session['state'] = state
                     
    return render_template("login.html", form=form, form2=form2, STATE=state )
Example #5
0
def register_page():
    # This function is responsible for creating new account for new users.
    DBSession = sessionmaker(bind=engine)
    session = DBSession()
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        password_confirm = request.form['password_confirm']
        if username == '' or password == '':
            flash('Sorry, invalid inputs!')
            return render_template('register_page.html')
        elif session.query(User).filter_by(username=username).first():
            flash('Sorry, existing user!')
            return render_template('register_page.html')
        elif password != password_confirm:
            flash('Passwords do not match')
            return render_template('register_page.html')
        else:
            newUser = User(username=username)
            newUser.hash_password(password)
            session.add(newUser)
            session.commit()
            flash('Congratulations! you have created your new account!\nLogin now to have more privileges')
            return redirect(url_for('login_page'))
    else:
        return render_template('register_page.html')
Example #6
0
def register():
    if request.method == "GET":
        return render_template("register.html")
    elif request.method == "POST":
        try:
            # get new user's information from the form
            username = request.form['username']
            email = request.form['email']
            firstname = request.form['firstname']
            lastname = request.form['lastname']
            password = request.form['password']
            # create user based on input inf in form
            dbsession = DBSession()
            newUser = User(
                username=username,
                email=email,
                firstname=firstname,
                lastname=lastname,
            )
            # save hashed form of the input password in db
            newUser.hash_password(password)
            dbsession.add(newUser)
            dbsession.commit()
            return render_template("login.html")
        except Exception as e:
            flash("Registration failed", category='error')
            return redirect(url_for("register"))
Example #7
0
def signup():
    """
    Render signup page lined to databse (no external OAuth)
    Args:
        -
    Returns:
        Rendered template of signup page if GET request, creation of new user
        if POST request
    """
    if request.method == 'POST':
        newUsername = request.form['username']
        newMail = request.form['mail']
        newPassword = request.form['password']
        # check if e-mail already exists
        existing_user = session.query(User).filter_by(email=newMail).first()
        if existing_user:
            flash("User already exists!")
            return redirect(url_for('showLogin'))
        # Create user
        # More checks are needed: password security , non-empty checks, etc.
        newUser = User(name=newUsername, email=newMail)
        newUser.hash_password(newPassword)
        session.add(newUser)
        session.commit()
        flash('New user successfully created')
        return redirect(url_for('showLogin'))
    else:
        return render_template('signup.html')
Example #8
0
def new_user():
    """
    Add a new user 
    :return: Redirects to login page if username already exists or to home page if user is created succesfully
    """
    if request.method == 'GET':
        return render_template('user_add.html')
    if request.method == 'POST':
        username = request.form['name']
        password = request.form['password']
        email = request.form['email']
        if username is None or password is None or email is None:
            flash('Username or password cannot be empty')
            return redirect('/login')

        if session.query(User).filter_by(name=username).first() is not None:
            flash('user already exists')
            return redirect('/login')

        user = User(name=username, email=email)
        user.hash_password(password)
        session.add(user)
        session.commit()
        user = session.query(User).filter_by(name=username).first()
        login_session['username'] = username
        login_session['user_id'] = user.id
        flash('User created succesfully')
        return redirect('/catalog')
Example #9
0
def signUp():
    """
        Sign UP function if there is no third party account.
        Stores the credentials in database.
    """
    users = session.query(User).all()
    if 'email' in request.form and request.method == 'POST':
        email = request.form['email']
        if request.form['email'] in [user.email for user in users]:
            flash('{} is already is registred!'.format(email))
            return render_template('signup.html')
    else:
        flash('Please provide your email address!')
        return render_template('signup.html')

    if 'file' not in request.files and 'image' in request.files:
        image = request.files['image']
        if image.filename != '' and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            if (
                    image.filename in
                    [user.image.split('/')[-1] for user in users]
                    ):
                flash('{} picture name already exists!'.format(image.filename))
                return render_template('signup.html')
            image_resize = Image.open(image)
            image_resize = resizeimage.resize_contain(image_resize, [200, 200])
            image_resize.save(os.path.join(
                app.config['UPLOAD_FOLDER'], filename
                    ), image_resize.format)
            image_path = 'item_images/' + filename
        else:
            image_path = 'profile_images/profile.png'
    else:
        image_path = 'profile_images/profile.png'

    if 'username' in request.form:
        username = request.form['username']
        if username in [user.name for user in users]:
            flash('{} user name already exists!'.format(username))
            return render_template('signup.html')
    else:
        flash('Please choose a user name!')
        return render_template('signup.html')

    if 'password1' in request.form and 'password2' in request.form:
        password1 = request.form['password1']
        password2 = request.form['password2']
        if password1 != password2:
            flash('The password does not match')
            return render_template('signup.html')
    else:
        flash('Please choose a password!')
        return render_template('signup.html')

    user = User(name=username, email=email, image=image_path)
    user.hash_password(password1)
    session.add(user)
    session.commit()
    return redirect(url_for('showLogin'))
Example #10
0
def register_user():
    email = request.form.get('email')
    if not re.match(email_pattern, email):
        return jsonify(message="Email is not valid."), 400
    password = request.form.get('password')
    username = request.form.get('username')
    if email == '' or password == '' or username == '':
        return jsonify(message='Form fields incomplete.'), 400
    if session.query(User).filter_by(email=email).first() is not None:
        return jsonify(message='User already registered.'), 400
    # initialize user
    user = User(email=email)
    user.username = username
    user.hash_password(password)
    user.picture = default_picture_url
    session.add(user)
    session.commit()

    # set login_session data
    user = session.query(User).filter_by(email=email).one()
    login_session['username'] = user.username
    login_session['email'] = user.email
    login_session['picture'] = user.picture
    login_session['user_id'] = user.id
    login_session['provider'] = 'none'
    return jsonify(message='You have successfully registered.'), 201
Example #11
0
def register():
    if request.method == 'POST':
        name = request.form['name']
        email = request.form['email']
        password = request.form['password']
        confirmPassword = request.form['confirm-password']
        if not email or not password or not confirmPassword:
            flash("Incomplete parameters")
            return redirect(url_for('register'))
        if password != confirmPassword:
            flash("Password mismatch")
            return redirect(url_for('register'))

        if session.query(User).filter_by(email=email).first() is not None:
            flash("Existing user, please login")
            user = session.query(User).filter_by(email=email).first()
            return redirect(url_for('login_credentials'))

        user = User(email=email, name=name)
        user.hash_password(password)
        session.add(user)
        session.commit()
        flash("Account created successfuly")
        if start_session(email, password):
            return redirect(url_for('showPlaces'))
        else:
            flash("There was a problem please conntact the administrator")
            return redirect(url_for('showPlaces'))
    else:
        return render_template('register.html')
Example #12
0
def register():
    '''
    Routine to handle new user registration
    First check if the user is already logged in, then redirect the users
    else display a form.

    '''
    if not isUserLoggedIn():
        if request.method == "POST":
            dbSession = DBSession()
            emailid = request.form['emailid']
            password = request.form['pwd']
            name = request.form['Name']
            if emailid is None or password is None or name is None:
                abort(400) # missing arguments
            if dbSession.query(User).filter_by(email_id = emailid).first() is not None:
                abort(400) # existing user
            user = User(email_id = emailid, Name=name)
            user.hash_password(password)
            dbSession.add(user)
            dbSession.commit()
            user = dbSession.query(User).filter_by(email_id = emailid).one()
            print("user id {}".format(user.id))
            vendor_name = Vendor(name=name,user_id=user.id)
            dbSession.add(vendor_name)
            dbSession.commit()
            print("Added new vendor")

            return  redirect(url_for('vendorList',message=" "))
        else:
            print("HIT GET")
            return render_template("register.html")
    else:
        #flash('You are already a registered user!')
        return render_template("123.html")
Example #13
0
def askVendorName():
    dbSession = DBSession()
    newUser=User()
    newUser.email_id = session["username"]
    newUser.hash_password("nopassword")
    newUser.Name = "googleSignin"
    newVendor=Vendor()
    newVendor.name =  request.form['vendorName']
    newVendor.user = newUser
    dbSession.add(newUser)
    dbSession.add(newVendor)
    dbSession.commit()
def new_user():
    username = request.json.get('username')
    password = request.json.get('password')
    if username is None or password is None:
        abort(400)  # missing arguments
    if session.query(User).filter_by(username=username).first() is not None:
        abort(400)  # existing user
    user = User(username=username)
    user.hash_password(password)
    session.add(user)
    session.commit()
    return jsonify({'username': user.username}), 201, {
        'Location': url_for('get_user', id=user.id, _external=True)}
Example #15
0
def new_user():
    username = request.json.get('username')
    password = request.json.get('password')
    if username is None or password is None:
        print("missing arguments")
        abort(400)

    if session.query(User).filter_by(username=username).first() is not None:
        return jsonify({'message': 'user already exists'})

    user = User(username=username)
    user.hash_password(password)
    session.add(user)
    session.commit()
    return jsonify({'username': user.username})
def new_user():
    username = request.json.get('username')
    password = request.json.get('password')
    if username is None or password is None:
        print "missing argument"
        abort(400)
    if session.query(User).filter_by(username=username).first():
        print "existing user"
        user = session.query(User).filter_by(username=username).first()
        return jsonify(
            {'message': 'username ' + user.username + ' already exist'}), 200
    user = User(username=username)
    user.hash_password(password)
    session.add(user)
    session.commit()
    return jsonify({'user': user.username}), 201
Example #17
0
def createUser(request):
    username = request.get('username')
    password = request.get('password')
    email = request.get('email')
    if username == '' or password == '' or email == '':
        return "You must provide all fields", 400
    if session.query(User).filter_by(name=username).first() is not None:
        return "Username used", 400
    if session.query(User).filter_by(email=email).first() is not None:
        return "Email used", 400
    user = User(name=username)
    user.hash_password(password)
    user.email = email
    user.picture = "https://picsum.photos/500?random"
    session.add(user)
    session.commit()
    return jsonify({'username': user.name}), 201
Example #18
0
def new_user():
    username = request.json.get('username')
    password = request.json.get('password')
    if username is None or password is None:
        abort(400)

    if db.query(User).filter_by(username=username).first() is not None:
        user = db.query(User).filter_by(username=username).first()
        # , {'Location': url_for('get_user', id = user.id, _external = True)}
        return jsonify({'message': 'user already exists'}), 200

    user = User(username=username)
    user.hash_password(password)
    db.add(user)
    db.commit()
    # , {'Location': url_for('get_user', id = user.id, _external = True)}
    return jsonify({'username': user.username}), 201
Example #19
0
def new_user():
    DBSession = sessionmaker(bind=engine)
    session = DBSession()
    username = request.json.get('username')
    password = request.json.get('password')
    if username is None or password is None:
        print("missing arguments")
        abort(400) 
        
    if session.query(User).filter_by(username = username).first() is not None:
        print("existing user")
        user = session.query(User).filter_by(username=username).first()
        return jsonify({'message':'user already exists'}), 200#, {'Location': url_for('get_user', id = user.id, _external = True)}
        
    user = User(username = username)
    user.hash_password(password)
    session.add(user)
    session.commit()
    return jsonify({ 'username': user.username }), 201#, {'Location': url_for('get_user', id = user.id, _external = True)}
Example #20
0
def register():
    if request.method == 'GET':
        state = ''.join(random.choice(string.ascii_uppercase + string.digits)
                        for x in xrange(32))
        login_session['state'] = state
        return render_template('register.html', state=state)

    if request.method == 'POST':
        username = request.form['username']
        email = request.form['email']
        userExsists = session.query(User).filter_by(username=username).first()

        # checking Username is unique
        if userExsists is not None:
            response = make_response(json.dumps(
                'Current username taken.'), 409)
            response.headers['Content-Type'] = 'application/json'
            return response

        userExsists = session.query(User).filter_by(email=email).first()

        # Checking email is unique
        if userExsists is not None:
            response = make_response(json.dumps('Current email taken.'), 409)
            response.headers['Content-Type'] = 'application/json'
            return response

        # Checking passwords confirmation
        if request.form['password'] != request.form['verifyPassword']:
            response = make_response(json.dumps(
                'Password verificaiton failed. Passwords must match'), 409)
            response.headers['Content-Type'] = 'application/json'
            return response

        newUser = User(username=username, email=email)
        newUser.hash_password(request.form['password'])

        session.add(newUser)
        session.commit()

        flash("You are registered! Login now.")

        return redirect(url_for('index'))
Example #21
0
def new_user():
    session = DBSession()
    username = request.json.get("username")
    password = request.json.get("password")
    email = request.json.get("email")

    if username is None or password is None or email is None:
        abort(400, "You need to supply an username and a password")
    if session.query(User).filter_by(name=username).first() is not None:
        abort(400, "Username already used")

    user = User(name=username, email=email)
    user.hash_password(password)
    session.add(user)
    session.commit()

    username = user.name

    session.close()
    return jsonify({"username": username}, 201)
Example #22
0
def sign_up():
    username = request.values.get('username')
    password = request.values.get('password')

    if username and password:
        user = User(username=username)
        user.hash_password(password)
        session.add(user)
        try:
            session.commit()
            user = session.query(User).filter_by(username=username).one()
        except:
            response = make_response("Username is not available", 400)
            response.headers['Content-Type'] = 'application/json'
            return response
        else:
            token = user.generate_auth_token().decode('ascii')
            response = make_response("Successfully registered! %s" % username, 201)
            response.set_cookie('token', token)
            return jsonify({'username': user.username, 'token': token}), 201
    else:
        return jsonify("Username or password is None"), 400
Example #23
0
def new_user():
    if request.method == 'GET':
        return render_template('register.html')
    if request.method == 'POST':
        username = request.form['name']
        email = request.form['email']
        password = request.form['password']
        print '%s, %s, %s' % (username, email, password)
        if username == '' or password == '' or email == '':
            response = make_response(json.dumps("Missing arguments."), 401)
            response.headers['Content-Type'] = 'application/json'
            return response
        if session.query(User).filter_by(name=username).first() is not None:
            response = make_response(json.dumps("User already exists."), 401)
            response.headers['Content-Type'] = 'application/json'
            return response
        user = User(name=username, email=email)
        user.hash_password(password)
        session.add(user)
        session.commit()
        flash("user has been created successfully")
        return redirect(url_for('showRestaurants'))
Example #24
0
def user_signup():
    if request.method == 'POST':
        if request.form['username'] is None or request.form['password'] is \
                None or request.form['confirm'] is None:
            flash("Missing required information")

        username = request.form['username']
        password = request.form['password']
        password_conf = request.form['confirm']
        if password != password_conf:
            flash('Passwords do not match')
            return render_template('sign_up.html')
        if session.query(User).filter_by(
                username=username).first() is not None:
            flash("User already exists")
            return redirect(url_for('login_page'))

        user = User(username=username, picture='', email='')
        user.hash_password(password)
        session.add(user)
        session.commit()
        return redirect(url_for('login_page'))
    else:
        return render_template('sign_up.html')
Example #25
0
def new_user():
    if request.method == 'POST':
        email = request.form['email']
        name = request.form['name']
        password = request.form['password']
        if email is None or password is None or name is None:
            flash("missing arguments")
            return redirect(url_for('new_user'))

        if session.query(User).filter_by(email=email).first() is not None:
            print "existing user"
            user = session.query(User).filter_by(email=email).first()
            flash('The email provided is already associated with \
                an account please login')
            return redirect(url_for('loginPage'))

        user = User(email=email, name=name)
        user.hash_password(password)
        session.add(user)
        session.commit()
        flash('Successfully created an account')
        return redirect(url_for('loginPage'))
    else:
        return render_template('newuser.html')
Example #26
0
def login():
    if request.method == 'GET':
        state = ''.join(
            random.choice(string.ascii_uppercase + string.digits)
            for x in xrange(32))
        status = request.args.get('status', '')
        login_session['state'] = state
        return render_template('login.html', STATE=state, status=status)
    elif request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        if session.query(User).filter_by(name=username).first() is None:
            user = User(name=username)
            user.hash_password(password)
            session.add(user)
            session.commit()
        user = session.query(User)\
                      .filter_by(name=username).first()
        if not user.verify_password(password):
            return redirect(url_for('login', status='fail'))
        login_session['provider'] = 'itemcatalog'
        login_session['username'] = username
        login_session['user_id'] = user.id
        return redirect(url_for('home', status='success'))
Example #27
0
def new_user():
    """
    Creating a user using an API call
    :return: a new user if the user does not already exist
    """
    email = request.json.get('email')
    password = request.json.get('password')
    name = request.json.get("name")
    picture = request.json.get("picture")
    if email is None or password is None or name is None or picture is None:
        print("missing arguments")
        abort(400)
    if session.query(User).filter_by(email=email).first() is not None:
        print("existing user")
        user = session.query(User).filter_by(email=email).first()
        return jsonify({
            'message': 'user already exists',
            'User': user.serialize
        }), 200
    user = User(email=email, name=name, picture=picture)
    user.hash_password(password)
    session.add(user)
    session.commit()
    return jsonify(User=user.serialize), 201
Example #28
0
            session.commit()
            cat = session.query(Categories).filter_by(
                name=details[2].strip()).one()
            P = Products(name=name.strip(),
                         cat_id=cat.id,
                         category=details[2].strip(),
                         desc=details[3].strip(),
                         user_id=uid,
                         img=details[4],
                         url=details[7])
            session.add(P)
            session.commit()
            pass

        for ind in range(3):
            U = User(name=reviewers[ind],
                     id=uid,
                     email=reviewers[ind].replace(" ", "") + "@amz.com")
            U.hash_password("1234")
            session.add(U)
            session.commit()
            R = Reviews(user_id=rid,
                        product_id=details[1],
                        review=reviews[ind])
            session.add(R)
            session.commit()
            print uid
            uid = uid + 1

print "added reviews!"
Example #29
0
# A DBSession() instance establishes all conversations with the database
# and represents a "staging zone" for all the objects loaded into the
# database session object. Any change made against the objects in the
# session won't be persisted into the database until you call
# session.commit(). If you're not happy about the changes, you can
# revert all of them back to the last commit by calling
# session.rollback()
DBSession = sessionmaker(bind=engine)
session = DBSession()

# inint from user to catalog to item.
# commit to db.

user1 = User(name='user1')
user1.hash_password('password1')
session.add(user1)

user2 = User(name='user2')
user2.hash_password('password2')
session.add(user2)

user3 = User(name='user3')
user3.hash_password('password3')
session.add(user3)

user4 = User(name='user4')
user4.hash_password('password4')
session.add(user4)

user5 = User(name='user5')
DBSession = sessionmaker(bind=engine)
# A DBSession() instance establishes all conversations with the database
# and represents a "staging zone" for all the objects loaded into the
# database session object. Any change made against the objects in the
# session won't be persisted into the database until you call
# session.commit(). If you're not happy about the changes, you can
# revert all of them back to the last commit by calling
# session.rollback()
session = DBSession()


# Create dummy user
User1 = User(name="Robo Barista", email="*****@*****.**",
             picture='https://pbs.twimg.com/profile_images/2671170543/18debd694829ed78203a5a36dd364160_400x400.png')
User1.hash_password('12345')
session.add(User1)
session.commit()

# Items for Soccer
category1 = Category(user_id=1, name="Soccer")

session.add(category1)
session.commit()

item1 = Item(user_id=1, name="Two shinguards",
             description="Two shinguards description", category=category1)

session.add(item1)
session.commit()
Example #31
0
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

from database_setup import User, Catalog, Item, engine, Base

Base.metadata.bind = engine

# A DBSession() instance establishes all conversations with the database
DBSession = sessionmaker(bind=engine)
session = DBSession()

# Create dummy user
user1 = User(email='admin')
user1.hash_password('123654')
session.add(user1)
session.commit()

# Sample Catalogs
Soccer = Catalog(name='Soccer')
session.add(Soccer)

Baseball = Catalog(name='Baseball')
session.add(Baseball)

Basketball = Catalog(name='Basketball')
session.add(Basketball)

Frisbee = Catalog(name='Frisbee')
session.add(Frisbee)

Snowboarding = Catalog(name='Snowboarding')