Beispiel #1
0
def register():
    if request.method == 'POST' and 'User-Agent' not in request.headers:
        email = request.form['email']
        password = generate_password_hash(request.form['password'])
        name = request.form['name']
        if name and email and password:
            if Users.query.filter_by(email = email).first() is None:
                new_user = Users(name, email, password)
                db.session.add(new_user)
                db.session.commit()
                user = Users.query.filter_by(email = email).first()
                token = user.generate_auth_token(600)  #---visit tutorial on generating this
                return jsonify({'error':'null', 'data':{'token': token.decode('ascii'), 'expires': 600, 'user':{'id': user.id, 'email': user.email, 'name': user.name}, 'message':'success'}})
            if Users.query.filter_by(email = email).first() is not None:
                user = Users.query.filter_by(email = email).first()
                return jsonify({'error': '1', 'data': {'email': user.email}, 'message':'user already exists'})
    form = SignUpForm()
    if request.method == 'POST' and 'User-Agent' in request.headers:
        if form.validate_on_submit():
            email = request.form['email']
            password = generate_password_hash(request.form['password'])
            name = request.form['name']
            new_user = Users(name, email, password)
            db.session.add(new_user)
            db.session.commit()
            # user = Users.query.filter_by(email = email).first()
            # token = user.generate_auth_token(600)  #---visit tutorial on generating this
            return redirect(url_for('login'))
    return render_template(
        'signup.html',
        title='User Signup',
        year=datetime.now().year,
        form=form,
        user=g.user
    )
Beispiel #2
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('books'))
    signinform = SignInForm()
    signupform = SignUpForm()
    if signinform.validate_on_submit():
        user = User.query.filter_by(username=signinform.username.data).first()
        password = make_secure_token(signinform.password.data)
        if user is not None and password == user.password:
            login_user(user)
            return redirect(url_for('books'))
        else:
            flash('Invalid login. Please try again.')
    if signupform.validate_on_submit():
        username = signupform.username.data
        email = signupform.email.data
        password = make_secure_token(signupform.password.data)
        user = User(username=username, email=email, password=password)
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return redirect(url_for('books'))
    return render_template('auth.html',
                           title='Sign In',
                           signinform=signinform,
                           signupform=signupform, )
Beispiel #3
0
def sign_up():
    # Redirect the user to the index page if he or she has been authenticated
    # already.
    if current_user.is_authenticated:
        return redirect(url_for('home.home'))

    form = SignUpForm(request.form)

    # Add education.
    educations = Education.query.all()
    form.education_id.choices = [(e.id, e.name) for e in educations]

    if form.validate_on_submit():
        query = User.query.filter(User.email == form.email.data)

        if query.count() > 0:
            flash(_('A user with this e-mail address already exists'),
                  'danger')
            return render_template('user/sign_up.htm', form=form)

        user = User(form.email.data, bcrypt.hashpw(form.password.data,
                    bcrypt.gensalt()), form.first_name.data,
                    form.last_name.data, form.student_id.data,
                    form.education_id.data, form.birth_date.data,
                    form.study_start.data, form.receive_information.data)
        user.phone_nr = form.phone_nr.data
        user.address = form.address.data
        user.zip = form.zip.data
        user.city = form.city.data
        user.country = form.country.data

        db.session.add(user)
        db.session.commit()

        group = Group.query.filter(Group.name == 'all').first()
        group.add_user(user)

        db.session.add(group)
        db.session.commit()

        copernica.update_user(user, subscribe=True)

        login_user(user)

        flash(_('Welcome %(name)s! Your profile has been succesfully '
                'created and you have been logged in!',
                name=current_user.first_name), 'success')

        return redirect(url_for('home.home'))
    else:
        flash_form_errors(form)

    return render_template('user/sign_up.htm', form=form)
Beispiel #4
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(
            # profile_pic=form.data['profile_pic'],
            username=form.data['username'],
            # hometown=form.data['hometown'],
            email=form.data['email'],
            password=form.data['password'])
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #5
0
def signup_post():
    form = SignUpForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if user:
            flash('Email address already exists')
            return redirect(url_for('auth.signup'))

        new_user = User(username=form.username.data, email=form.email.data)
        new_user.set_password(form.password.data)

        #add new user to the db
        db.session.add(new_user)
        db.session.commit()

        return redirect(url_for('auth.login'))
    return render_template('signup.html', form=form)
Beispiel #6
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    if form.validate_on_submit():
        user = User(
            username=form.data["username"],
            email=form.data["email"],
            password=form.data["password"],
        )
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return FullUserResponse.from_orm(user).dict()
    response = UnauthenticatedErrorsResponse(
        errors=validation_errors_to_error_messages(form.errors)).dict()
    return response, response["status"]
Beispiel #7
0
def signup():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignUpForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    firstname=form.firstname.data,
                    lastname=form.lastname.data,
                    email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        user = User.query.filter(User.username == form.username.data).first()
        user_settings = UserSettings(user=user)
        db.session.add(user_settings)
        db.session.commit()
        return redirect(url_for('signup_success'))
    return render_template('signup.html', title='Sign In', form=form)
Beispiel #8
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        print(form.data)
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    password=form.data['password'],
                    firstName=form.data['firstName'],
                    genderId=form.data['genderId'])
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #9
0
def signup():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignUpForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        try:
            db.session.add(user)
            db.session.commit()
        except:
            flash("服务存在异常!请稍后再试。")  #"The Database error!"  没必要告诉用户太明确的错误原因
            return redirect('/signup')
        flash('注册成功')
        return redirect(url_for('login'))
    #if form.username.data is not None:
    #flash('错误')
    return render_template('signup.html', form=form, title='注册')
Beispiel #10
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    name=form.data['name'],
                    email=form.data['email'],
                    password=form.data['password'],
                    bio=form.data['bio'],
                    websiteUrl=form.data['websiteUrl'],
                    profilePicUrl=form.data['profilePicUrl'])
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict_for_self()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #11
0
def signup():
    global accounts
    form = SignUpForm()

    if current_user.is_authenticated:
        return redirect(url_for('index'))
    else:
        if form.validate_on_submit():
            if accounts.check_user(form.email.data):
                # User Exist
                flash("User Already Exists", "info")
            else:
                accounts.add_user(
                    User(form.username.data, form.email.data,
                         form.password.data))
                flash("User Created Successfully", "success")
                return redirect("login")

    return render_template("signup.html", form=form)
Beispiel #12
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(first_name=form.data['first_name'],
                    last_name=form.data['last_name'],
                    city=form.data['city'],
                    country=form.data['country'],
                    email=form.data['email'],
                    password=form.data['password'],
                    avatar=form.data['avatar'])
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #13
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('logged_index'))

    form = SignUpForm()

    if form.validate_on_submit():
        usr = user(firstName=form.firstName.data,
                   lastName=form.lastName.data,
                   regNo=form.regNo.data)
        usr.set_password(form.password.data)
        database.session.add(usr)
        database.session.commit()
        return redirect(
            url_for('picture_upload',
                    usr=pr.encoding_int(usr.id),
                    token=pr.token_key))

    return render_template('register.html', form=form)
Beispiel #14
0
def sign_up():
    form = SignUpForm()
    user = User()
    if form.validate_on_submit():
        user_name = request.form.get('username')
        user_password = request.form.get('password')
        register_check = User.query.filter(db.and_(User.username == user_name, User.password == user_password)).first()
        if register_check:
            return redirect('/sign-up')
        if len(user_name) and len(user_password):
            user.username = user_name
            user.password = user_password
        try:
            db.session.add(user)
            db.session.commit()
        except:
            return redirect('/sign-up')
        return redirect('/index')
    return render_template("sign_up.html", form=form)
Beispiel #15
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    password=form.data['password'])
        db.session.add(user)
        db.session.commit()
        notebook = Notebook(title='First Notebook', user_id=user.id)
        db.session.add(notebook)
        db.session.commit()
        login_user(user)
        data = get_user_data(user.to_dict())
        return data
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #16
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']

    if form.validate_on_submit():
        user = Player(username=form.data['username'],
                      ntrp=form.data['ntrp'],
                      password=form.data['password'])

        db.session.add(user)
        db.session.commit()
        login_user(user)

        return user.to_dict()

    return {'errors': validation_errors_to_error_messages(form.errors)}, 401
Beispiel #17
0
def sign_up():  
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    file = request.files.get("profile_photo_file")
    form['csrf_token'].data = request.cookies['csrf_token']

    if form.validate_on_submit():
        s3_photo_url = 'https://wing.s3.us-east-2.amazonaws.com/Week4_HarleyDavyDoodle.jpg'
        file = form.data['profile_photo_file']
        if file:
            file.filename = secure_filename(file.filename)
            s3_photo_url = upload_file_to_s3(file, Config.S3_BUCKET)
        user = User(
            username=form.data['username'],
            email=form.data['email'],
            first_name=form.data['first_name'],
            last_name=form.data['last_name'],
            age=form.data['age'],
            zip_code=form.data['zip_code'],
            bio=form.data['bio'],
            gender_id=form.data['gender_id'],
            password=form.data['password'],
            profile_photo_url=s3_photo_url,
            )
        gender_preferences = Gender(
                gender_name=form.data['gender_preference']
            ) 
        db.session.add(user)
        db.session.add(gender_preferences)
        db.session.commit()
        user_id_for_join = user.id
        gender_id_for_join = gender_preferences.id
        gender_join = GenderPreference(
            user_id=user_id_for_join,
            gender_id=gender_id_for_join
        )
        db.session.add(gender_join)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #18
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignUpForm()
    template_name = 'register.html'
    if form.validate_on_submit():
        user = User(email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        course = Course.query.get(1)
        user_course = UserCourse(
            user_id=user.id,
            course_id=course.id
        )
        db.session.add(user_course)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template(template_name, title='Register', form=form)
Beispiel #19
0
def profile():
    form=SignUpForm()
    if request.method == "POST" and form.validate_on_submit():
            fname=form.fname.data
            lname=form.lname.data
            gender=form.gender.data
            email=form.email.data
            location=form.location.data
            biography=form.biography.data
            ppicture=form.ppicture.data
            filename = secure_filename(ppicture.filename)
            ppicture.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
            joinpro= datetime.datetime.now()
            user= UserProfile(fname, lname, gender,email, location, biography, filename, joinpro)
            db.session.add(user)
            db.session.commit()
            flash("Profile successfully created", category="success")
            return redirect(url_for('profiles'))
    flash_errors(form)
    return render_template("profile.html", form=form)
Beispiel #20
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(
            name=form.data['name'],
            username=form.data['username'],
            email=form.data['email'],
            password=form.data['password'],
            profilePicture=
            'https://group-gram.s3.amazonaws.com/blank-profile-picture-973460_640.png'
        )
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #21
0
def signup():
    if current_user.is_authenticated:
        flash('U bent al ingelogd')
        return redirect(url_for('lessons.index'))

    form = SignUpForm()
    if form.validate_on_submit():
        hash = passlib.hash(form.password.data)
        user = User(name=form.name.data,
                    email=form.email.data,
                    username=form.username.data,
                    password=hash)

        db.session.add(user)
        db.session.commit()

        login_user(user)

        return redirect(url_for('auth.welcome_user'))
    return render_template('/auth/signup.html', form=form)
Beispiel #22
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    print('Form', form.data)
    print('Request', request.json)
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    photo=form.data['photo'],
                    zip_code=form.data['zipCode'],
                    password=form.data['password'])
        db.session.add(user)
        db.session.commit()
        print(user)
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #23
0
def sign_up():

    form = SignUpForm()

    # Get the csrf_token from the request cookie and put it into the
    form['csrf_token'].data = request.cookies['csrf_token']

    # Validate Form
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    password=form.data['password'],
                    bio="I LOVE COFFEE")
        db.session.add(user)
        db.session.commit()
        login_user(user)
        user = user.to_dict()
        user.update({"roaster": "false"})
        return user, 201
    return {'errors': validation_errors_to_error_messages(form.errors)}, 409
Beispiel #24
0
def sign_up():
    error = None
    form = SignUpForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        user = User(username=username, password=password)
        db.session.add(user)
        db.session.commit()
        user = User.query.filter_by(username=username).first()
        user.is_active = True
        login_user(user, remember=True)

        return redirect(url_for('index'))
    else:
        print(form.errors)

    return render_template('signup.html', form=form, error=error)
Beispiel #25
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(firstname=form.data['firstname'],
                    lastname=form.data['lastname'],
                    email=form.data['email'],
                    password=form.data['password'])
        # setting Channel 1 as the default
        default_channel = Channel.query.get(1)
        user.channels.append(default_channel)

        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}, 401
Beispiel #26
0
def signin():
    """
    The page on which a user sign in or sign up, depending on whether the SignUpForm or the LoginForm is submitted.
    :return: signin.html rendered with both forms
    """
    if current_user.is_active:
        flash("You are already signed in.")
        return redirect(url_for("index"))
    signup = SignUpForm()
    login = LoginForm()
    if login.validate_on_submit():
        username = login.username_l.data.lower()
        password = login.password_l.data
        u = User.query.filter_by(username=username).first()
        if u:
            if not u.is_active:
                flash("This account has been deactivated because of too many complaints from users.")
            elif pwd_context.verify(password, u.password):
                login_user(u)
                flash("You're in.")
                return redirect(url_for("public_profile", name=u.username))
            else:
                flash("Wrong password.")
        else:
            flash('Never heard of you.')
    if signup.validate_on_submit():
        username = signup.username_s.data.lower()
        password = pwd_context.encrypt(signup.password_s.data)
        blurb = signup.about_s.data
        url = signup.url_s.data
        badu = User.query.filter_by(username=username).first()
        if not badu:
            u = User(username, password, url, blurb)
            db.session.add(u)
            db.session.commit()
            login_user(u)
            flash("Welcome.")
            return redirect(url_for("index"))
        else:
            flash("Sorry, that one's taken.")
    return render_template("signin.html", signup=signup, login=login)
Beispiel #27
0
def register_new_user():
    error = None
    form = SignUpForm()

    # Handle the BooleanField to check if is_pi or not
    if not 'pi' in request.form:
        is_pi = False
    elif request.form['pi']:
        is_pi = True

    if request.method == 'POST':
        # Check if passwords match
        if request.form['password1'] == request.form['password2']:
            if form.validate_on_submit():
                # Check if email already exists
                user = User.query.filter_by(
                    email=request.form['email']).first()
                # Create new user
                if not user:
                    user = User(
                        oauth_id=request.form['orcid'],
                        username=request.form['username'],
                        email=request.form['email'],
                        is_whitelisted=False,
                        is_pi=is_pi,
                        affiliation=request.form['affiliation'],
                        expiration=datetime.now() +
                        timedelta(6 * 365 / 12),  # 6 months
                        date_created=datetime.now(),
                        date_updated=datetime.now())
                    user.set_password(request.form['password1'])
                    db.session.add(user)
                    db.session.commit()
                    login_user(user)
                    return redirect(url_for('index'))
            error = form.errors
        error = {'Passwords do not match'}
    return render_template('register.html',
                           title='CONP | Register',
                           form=form,
                           error=error)
def index():
    form = SignUpForm()  # sign-up form
    items = parse_db(db)  # database information
    counts = parse_counts(items)  # count information
    if form.validate_on_submit():  # add user to database
        info = User(name=format_name(str(form.name.data)),
                    email=str(form.email.data),
                    date=form.date.data.strftime("%m/%d/%Y"))
        dates = [user.date
                 for user in User.query.all()]  # dates already in database
        if info.date in dates:  # date already claimed
            flash('This date is already claimed. Please pick another date.'
                  )  # flash message
            return redirect(url_for('index'))
        db.session.add(info)
        db.session.commit()  # add information that's submitted into database
        flash('{}, you are now signed-up to provide lab Friday lunch!'.format(
            format_name(str(form.name.data))))  # flash a message on the screen
        return redirect(url_for('index'))  # return home
    return render_template('index.html', form=form, items=items,
                           counts=counts)  # render page
Beispiel #29
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    password=form.data['password'])
        db.session.add(user)
        db.session.commit()
        login_user(user)
        new_user = user.to_dict()
        new_image = UserImage(
            user_id=new_user['id'],
            img_url="https://skybnb.s3.amazonaws.com/porg1.jfif")
        db.session.add(new_image)
        db.session.commit()
        return new_user
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #30
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():

        user = User(
            first_name=form.data["first_name"],
            last_name=form.data["last_name"],
            email=form.data["email"],
            hashed_password=form.data["password"],
            zip=form.data["zip"]
        )

        db.session.add(user)
        db.session.commit()
        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}
Beispiel #31
0
def sign_up():
    form = SignUpForm(request.form)

    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    role=form.user_role.data)
        user.set_password(form.password.data)

        try:
            db.session.add(user)
            db.session.commit()

            flash(f"User {form.username.data} created successful", "success")
            return redirect(url_for("sign_in"))
        except SQLAlchemyError as err:
            db.session.rollback()

            flash(f"{err}", "danger")
            return redirect(url_for("sign_up"))
    return render_template("sign_up.html", title="Sign up page", form=form)
Beispiel #32
0
def signup():
    if current_user.is_authenticated:
        return redirect(url_for("index"))
    form = SignUpForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        print(form)
        if user is None:
            user = User()
            user.username = form.username.data
            user.email = form.email.data
            user.set_password(form.password.data)
            db.session.add(user)
            db.session.commit()
            flash("Usuario creado exitosamente")

        else:
            flash("El usuario ya existe")
            return redirect(url_for("signup"))

        return redirect("/index")
    return render_template("signup.html", title="Signup", form=form)
Beispiel #33
0
def sign_up():
    return redirect(url_for('sign_in'))
    """Registration page view

            Returns:
                If data correct: redirect to login page.
                    New user records in database
                If data incorrect: template for registration page
                    again with flashing errors"""
    if current_user.is_authenticated:
        return redirect(url_for('profile', user_id=current_user.id))
    form = SignUpForm()
    if form.validate_on_submit():
        if login_exists(form.email.data):
            flash('This email is already used.', category='error')
            return redirect(url_for('sign_up'))
        u = models.User(form.name.data, form.email.data, form.password.data)
        db.session.add(u)
        db.session.commit()
        return redirect(url_for('sign_in'))
    form.flash_errors()
    return render_template('sign_up.html', form=form)
Beispiel #34
0
def sign_up():
    form = SignUpForm(request.form)

    if form.validate_on_submit():
        user = models.User(user_id=form.user_id.data,
                           user_pw=form.user_password.data,
                           user_email=form.user_email.data,
                           user_name=form.user_name.data,
                           user_department=form.user_department.data,
                           user_gender=form.user_gender.data,
                           user_grade=form.user_grade.data)

        try:
            with dbHelper.get_session() as session:
                session.add(user)

        except Exception as e:
            return render_template('signUp.html', error=str(e))

        return redirect(url_for('index'))

    return render_template('signUp.html', form=form)