Ejemplo n.º 1
0
def users():
    """
    Create random users.
    """
    random_usernames = []
    data = []

    # Ensure we get about 50 unique random usernames.
    for i in range(0, 50):
        random_usernames.append(fake.user_name())

    random_usernames = list(set(random_usernames))

    while True:
        if len(random_usernames) == 0:
            break

        username = random_usernames.pop()

        params = {
            'username': username,
            'password': User.encrypt_password('password')
        }

        data.append(params)

    return _bulk_insert(User, data, 'users')
Ejemplo n.º 2
0
def signup():
    form = SignupForm()

    if form.validate_on_submit():
        u = User()

        form.populate_obj(u)
        u.password = User.encrypt_password(request.form.get('password'))
        u.save()

        if login_user(u):
            flash('Awesome, thanks for signing up!', 'success')
            return redirect(url_for('user.welcome'))

    return render_template('user/signup.html', form=form)
Ejemplo n.º 3
0
def update_credentials():
    form = UpdateCredentials(current_user, uid=current_user.id)

    if form.validate_on_submit():
        new_password = request.form.get('password', '')
        current_user.email = request.form.get('email')

        if new_password:
            current_user.password = User.encrypt_password(new_password)

        current_user.save()

        flash('Your sign in settings have been updated.', 'success')
        return redirect(url_for('user.settings'))

    return render_template('user/update_credentials.html', form=form)
Ejemplo n.º 4
0
def password_reset():
    form = PasswordResetForm(reset_token=request.args.get('reset_token'))

    if form.validate_on_submit():
        u = User.deserialize_token(request.form.get('reset_token'))

        if u is None:
            flash('Your reset token has expired or was tampered with.',
                  'error')
            return redirect(url_for('user.begin_password_reset'))

        form.populate_obj(u)
        u.password = User.encrypt_password(request.form.get('password'))
        u.save()

        if login_user(u):
            flash('Your password has been reset.', 'success')
            return redirect(url_for('user.settings'))

    return render_template('user/password_reset.html', form=form)
Ejemplo n.º 5
0
def users():
    """
    Generate fake users.
    """
    click.echo('Working...')

    data = []
    random_usernames = []
    with app.app_context():
        placeholder_user = url_for('static',
                                   filename='images/64/placeholder-user.png')

    for i in range(0, 99):
        random_usernames.append(fake.user_name())

    random_usernames.append(app.config['SEED_ADMIN_USERNAME'])
    random_usernames = list(set(random_usernames))

    for username in random_usernames:
        fake_datetime = fake.date_time_between(start_date='-1y',
                                               end_date='now').strftime('%s')
        created_on = datetime.utcfromtimestamp(
            float(fake_datetime)).strftime('%Y-%m-%dT%H:%M:%S Z')
        random_percent = random.random()
        role = 'public' if random_percent >= 0.5 \
               else 'staff' if random_percent >= 0.25 \
               else 'client'
        street_address = fake.building_number() + ' ' + fake.street_name()

        params = {
            'created_on': created_on,
            'updated_on': created_on,
            'role': role,
            'email': fake.email(),
            'username': username,
            'password': User.encrypt_password('password'),
            'first_name': fake.first_name(),
            'middle_name': fake.first_name(),
            'last_name': fake.last_name(),
            'unit_number': fake.building_number(),
            'street_address': street_address,
            'postcode': fake.postcode(),
            'state': fake.state(),
            'suburb': fake.city(),
            'country': 'Australia',
            'phone_number': fake.phone_number(),
            'sign_in_count': random.random() * 100,
            'current_sign_in_on': created_on,
            'current_sign_in_ip': fake.ipv4(),
            'last_sign_in_on': created_on,
            'last_sign_in_ip': fake.ipv4(),
            'photo': placeholder_user
        }

        if username == app.config['SEED_ADMIN_USERNAME']:
            password = User.encrypt_password(app.config['SEED_ADMIN_PASSWORD'])

            params['role'] = 'admin'
            params['password'] = password
            params['email'] = '*****@*****.**'
            params['first_name'] = 'Admin'
            params['middle_name'] = ''
            params['last_name'] = 'User'

        data.append(params)

    _bulk_insert(User, data, 'users')