Пример #1
0
 def test_password_hash_random(self):
     """Testing password hash is random."""
     user1 = Users(Username='******')
     user2 = Users(Username='******')
     user1.set_password('test')
     user2.set_password('test')
     self.assertTrue(user1.Password != user2.Password)
Пример #2
0
def signup():
    form = SignupForm(request.form)
    if request.method == 'POST' and form.validate():
        user = Users(first_name=form.first_name.data,
                     last_name=form.last_name.data,
                     email=(form.email.data).lower())
        user.set_password(form.password.data)

        try:
            db.session.add(user)

            diet_preference = UserDietPreferences(diet_type_id=1)
            user.diet_preferences.append(diet_preference)  # Add diet_preference to current user

            db.session.commit()

            login_user(user)  # User is logged in upon signing up
            flash('You are now a registered user!', 'success')

            response = make_response(redirect(url_for('main.index')))  # Set cookie and return to main, if successful
            response.set_cookie("name", form.first_name.data)
            return response

        except IntegrityError:
            # Validations in forms are already done (e.g. email is already registered), this error probably can't be
            # triggered from frontend.
            db.session.rollback()
            flash(f'ERROR! Unable to register {form.email.data}. Please check your details are correct and resubmit.',
                  'danger')

    return render_template('auth/signup.html', form=form)
Пример #3
0
def add_user_to_db(first_name, last_name, email, password, quiz_uuid):
    """
    Adds user to database or throws an error if unable to do so.

    Parameters:
        first_name (str)
        last_name (str)
        email (str)
        password (str)
        quiz_uuid (uuid)

    Returns: the user object
    """
    user_uuid = uuid.uuid4()
    user_created_timestamp = datetime.now(timezone.utc)
    user = Users(
        user_uuid=user_uuid,
        first_name=first_name,
        last_name=last_name,
        user_email=email,
        quiz_uuid=quiz_uuid,
        user_created_timestamp=user_created_timestamp,
    )
    user.set_password(password)

    try:
        db.session.add(user)
        db.session.commit()
    except:
        raise DatabaseError(
            message="An error occurred while adding user to the database."
        )
    return user
Пример #4
0
def register_post():
    form = RegisterForm(request.form)

    # Get the values from the form
    if form.validate():
        # TODO: use managers and don't put logic in views
        name = form.name.data
        email = form.email.data
        username = form.username.data
        password = form.password.data

        try:
            user = Users(name=name, email=email, username=username)
            user.set_password(password)
            db.session.add(user)
            db.session.commit()
        except Exception:
            flash("Could not register", "danger")
            return redirect(url_for('register_get'))
        else:
            flash("You are now registered and can login", "success")
            return redirect(url_for('login_get'))

    flash("Check the values", "danger")
    return render_template("register.html", form=form)
Пример #5
0
def add():
    form = AddUser()
    if form.validate_on_submit():
        username = request.values.get('username')
        password = request.values.get('password')
        bendungan_id = request.values.get('bendungan')
        role = request.values.get('role')

        # check if username is available
        if Users.query.filter_by(username=username).first():
            flash('Username tidak tersedia !', 'danger')
            return render_template('users/tambah.html', form=form)

        # save new user data
        new_user = Users(username=username,
                         bendungan_id=bendungan_id,
                         role=role)
        # hash password as md5
        new_user.set_password(password)

        db.session.add(new_user)
        db.session.flush()
        db.session.commit()

        flash('Tambah User berhasil !', 'success')
        return redirect(url_for('users.index'))

    return render_template('users/index.html', form=form)
Пример #6
0
def register():

    if not request.is_json:
        return bad_request("Missing JSON in request")

    # Getting the data from the JSON payload
    data = request.get_json()
    username = data["username"]
    password = data["password"]
    first_name = data["first_name"]
    last_name = data["last_name"]
    email = data["email"]
    birthday = datetime.strptime(data["birthday"], "%Y-%m-%d")

    if not username or not password or not first_name or not last_name or not email or not birthday:
        return bad_request("Missing form parameter")

    if Users.query.filter_by(username=username).first():
        return bad_request("Username already in use")

    if Users.query.filter_by(email=email).first():
        return bad_request("Email already in use")

    user = Users(username=username,
                 first_name=first_name,
                 last_name=last_name,
                 email=email,
                 birthday=birthday)

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

    return jsonify({"msg": "Successfully registered"}), 201
Пример #7
0
def create_user():
    """Create a user, once supplied with a JSON payload that
    includes an email and a password.

    The JSON should be in the format:
    {
        "email": "*****@*****.**",
        "password": "******"
    }

    The response will be a short message and an HTTP status code
    """
    user_data = request.get_json()
    # Make sure the correct payload is received.
    if 'email' not in user_data or 'password' not in user_data:
        return 'User data not provided.', status.HTTP_400_BAD_REQUEST
    email = user_data['email']
    # Check that email length is acceptable.
    if len(email) > EMAIL_LENGTH:
        return ('The email provided was too long', status.HTTP_400_BAD_REQUEST)
    # Verify email structure using regex, else fail.
    if not bool(re.match(EMAIL_VALIDATION, email)):
        return ('The email provided was not valid',
                status.HTTP_400_BAD_REQUEST)
    # Check that email has not been previously used.
    if Users.query.filter_by(email=email).first() is not None:
        return ('This email is already in use', status.HTTP_400_BAD_REQUEST)
    password = user_data['password']
    # Create user in database.
    user = Users(email=email)
    user.set_password(password)
    db.session.add(user)
    db.session.commit()
    return 'User created successfully', status.HTTP_201_CREATED
Пример #8
0
def registrate(email, nickname, passwd, passwd_chk):
  email_splitted = email.split('@')
  if len(email_splitted) != 2:
    flash('Email address isn\'t correct. Try again')
    return redirect(url_for('signup'))
  if nickname == '':
    nickname = email_splitted[0]

  if Users.query.filter_by(nickname = nickname).first() is not None:
    flash('The user with such nickname already exist. Try another nickname')
    return redirect(url_for('signup'))

  if passwd != passwd_chk:
    flash('The passwords don\'t match. Try again')
    return redirect(url_for('signup'))

  user = Users.query.filter_by(email = email).first()
  if user is not None:
    flash('The user with such email already exist. Try another email')
    return redirect(url_for('signup'))
  else:
    user = Users(email = email, nickname = nickname, passwd = passwd)
    user.set_password(passwd)
    db.session.add(user)
    firstTree = Tree(user, "firstTree")

    # for tests
    rootb = firstTree.rootb
    b1 = Branch(text="branch1_" + str(firstTree.name), parent=rootb)
    b11 = Branch(text="branch11_" + str(firstTree.name), parent=b1)
    b12 = Branch(text="branch12_" + str(firstTree.name), parent=b1)
    #

    db.session.commit()
    return redirect(url_for('success_signup'))
Пример #9
0
def user(test_client, db):
    """ Creates a test user. """
    from app.models import Users, UserDietPreferences, UserAllergies
    user = Users(first_name='Test', last_name='User', email='*****@*****.**')
    user.set_password('cat123')

    # Set random food preferences (diet types and allergies) for test user
    random_diet_type = random.randint(1, len(config.DIET_CHOICES))
    # User has a random number of between 1-5 allergies, and random allergies
    random_allergies = list(
        set([
            random.randrange(1, len(config.ALLERGY_CHOICES))
            for i in range(random.randint(1, 5))
        ]))
    edit_preferences(test_client, random_diet_type, random_allergies)

    db.session.add(user)
    db.session.commit()
    user_diet_preferences = UserDietPreferences(user_id=user.id,
                                                diet_type_id=random_diet_type)
    db.session.add(user_diet_preferences)

    for allergy in random_allergies:
        user_allergy = UserAllergies(user_id=user.id, allergy_id=allergy)
        db.session.add(user_allergy)

    db.session.commit()

    return user
Пример #10
0
def signup():
    if request.method == 'POST':
        username = request.form.get('username')
        name = request.form.get('name')
        password = request.form.get('password')
        geolocation = requests.post(
            'https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyCDz4WY_rzOR_UnUghAjY1h_f9ut1GC8TM'
        ).json()
        location = str(geolocation['location']['lat']) + "," + str(
            geolocation['location']['lng'])
        if username is None or password is None:
            print("username or password is empty")
            abort(400)
            print(u)
        usernamecheck = Users.query.filter_by(username=username).first()
        if usernamecheck:
            abort(400)
            print("query error")

        user = Users(username=username, name=name, location=location)
        #hashedpassword=user.set_password(password).split(":")[2]
        #user.password = hashedpassword
        user.set_password(password)
        db.session.add(user)
        db.session.commit()
        return render_template('signin.html')
    elif request.method == 'GET':
        return render_template('signup.html')
Пример #11
0
 def setUp(self):
     self.app = create_app(TestConfig)
     self.app_context = self.app.app_context()
     self.app_context.push()
     db.create_all()
     user = Users(username='******', email='*****@*****.**')
     user.set_password('123')
Пример #12
0
 def test_create_user(self):
     user = Users(username='******', email='*****@*****.**')
     user.set_password('123')
     db.session.add(user)
     db.session.commit()
     self.assertIsInstance(user, Users)
     user1 = Users.query.filter_by(username='******')
     self.assertIsNotNone(user1)
Пример #13
0
def register():
    payload = request.get_json()
    if Users.query.filter_by(username=payload['login']).first() is None:
        user = Users(username=payload['login'])
        user.set_password(payload['password'])
        db.session.add(user)
        db.session.commit()
        return response(200, 'New user created')
    else:
        return response(409, 'User already exist')  # Возвращаем ошибку
Пример #14
0
def createadmin():
    user = Users.query.all()
    user = Users(username='******',
                 phone_number='0123456789',
                 role='admin',
                 cash='0')
    user.set_password('131313')
    db.session.add(user)
    db.session.commit()
    flash('Пользователь добавлен')
    return redirect(url_for('index'))
Пример #15
0
def registrate(username, passwd, email):
    user = Users.query.filter_by(nickname = username).first()
    if user is not None:
        flash('Such user already exist. Try another username')
        return redirect(url_for('registration'))
    else:
        user = Users(nickname = username, passwd = passwd, email = email)
        user.set_password(passwd)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('success_registration'))
Пример #16
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('mytask'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Поздравляю теперь вы зарегистрированы! Войдите в систему')
        return redirect(url_for('login'))
    return render_template('register.html', title='Регистрация', form=form)
Пример #17
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(description=form.username.data, email=form.email.data)
        user.set_password(form.password1.data)
        db.session.add(user)
        db.session.commit()
        flash('Вы зарегистрированы!', 'Поздравляем!')
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', title='Register', form=form)
Пример #18
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegisterForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('You have been registered successfully')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Пример #19
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', title='Register', form=form)
Пример #20
0
def signup():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data,
                     phone_number=form.phone_number.data,
                     role=form.role.data,
                     cash=0)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Пользователь добавлен')
        return redirect(url_for('index'))
    return render_template('signup.html', title='Sign Up', form=form)
Пример #21
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        auth_token = user.gen_auth_token()
        auth_link = app.config['HOST'] + url_for('auth', token=auth_token)
        send_auth_msg(auth_link, form.email.data)
        db.session.add(user)
        db.session.commit()
        flash('Register successfully')
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
Пример #22
0
def new_employee():
    e = Users.query.filter_by(admin='N').all()
    loc = LookupTable.query.filter_by(field="location").all()
    pra = LookupTable.query.filter_by(field="practice").all()
    if request.method == 'POST':
        details = dict(request.form)
        print(details)
        x = Users(id=details['id'], username=details['username'], email=details['mail'], location=details['location'],
                  practice=details['practice'], manager_id=details['manager_id'], overall_exp=details['exp'])
        x.set_password('1234')
        db.session.add(x)
        db.session.commit()
        return render_template('new_employee.html', emp=e, l=loc, p=pra)
    return render_template('new_employee.html', emp=e, l=loc, p=pra)
Пример #23
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("sections.main"))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(email=form.email.data,
                     last_name=form.last_name.data,
                     first_name=form.first_name.data)
        user.set_password(form.password.data)
        user.roles.append(Roles(name="Not confirmed"))
        db.session.add(user)
        db.session.commit()
        flash(_l('Wait for administrator register confirmation.'))
        return redirect(url_for('auth.login'))
    return render_template('register.html', title='Register', form=form)
Пример #24
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data.lower(),
                     email=form.email.data)
        user.set_password(form.password1.data)
        user.time_create = datetime.utcnow()
        user.clinic = Clinics.query.get(form.clinic.data).id
        db.session.add(user)
        db.session.commit()
        flash('You are registered!', category='info')
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', title='Register', form=form)
Пример #25
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = RegisterForm()
    if form.validate_on_submit():
        new_user = Users(name=form.name.data,
                         surname=form.surname.data,
                         second_name=form.second_name.data,
                         gender=form.gender.data,
                         email=form.email.data)
        new_user.set_password(form.password_1.data)
        db.session.add(new_user)
        db.session.commit()
        flash("Аккаунт успешно создан!", category='info')
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
Пример #26
0
def register():
    """
    用户注册
    :param username:用户名
    :param password:密码
    :return: json
    """
    User = currentUser()
    if User[0] == False or User[1]['username'] != 'admin':
        rtn = {'code': -1}

        return falseReturn(rtn, '没有权限,访问被拒绝')
    username = request.form.get('username')
    password = request.form.get('password')
    usr = Users.query.filter_by(username=username).first()
    if usr is not None:
        return falseReturn(-2, '用户名已被注册')
    user = Users(username=username,
                 password=Users.set_password(username, password))
    result = Users.add(username, user)
    if user.id is not None:
        returnUser = {
            'id': user.id,
            'username': user.username,
            'login_time': user.login_time
        }
        return jsonify(trueReturn(returnUser, "用户注册成功"))
    else:
        return jsonify(falseReturn('', '用户注册失败'))
Пример #27
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("index"))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data,
                     rollno=form.rollno.data,
                     email=form.email.data)
        user.set_password(form.password.data)
        user.write()
        #I need to define a method for class Users to write
        #objects to database
        #user.write()
        flash("Congratulations, you are now a registered user!")
        return redirect(url_for("login"))
    return render_template("register.html", title="Register", form=form)
Пример #28
0
def register():
    form = login_form()
    if form.validate_on_submit():
        if request.method == 'POST':
            password = request.form['password']
            username = request.form['username']
            exist = Users.query.filter_by(username=username).all()
            print('exist', exist)
        if exist:
            flash('Unable to register')
            return redirect('/register')
        curr_user = Users(username=username)
        curr_user.set_password(password)
        db.session.add(curr_user)
        db.session.commit()
        return redirect('/register')
    return render_template('register.html', title='Register', form=form)
Пример #29
0
def register():
    """Render the registration page."""
    # To redirect authenticated/logged in user
    if current_user.is_authenticated and current_user.StecAdmin == True:
        return redirect(url_for('admin_dashboard'))
    elif current_user.is_authenticated:
        return redirect(url_for('dashboard'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(Name=form.name.data,
                     Username=form.username.data,
                     Email=form.email.data,
                     Confirmed=False)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        email_confirmation(user)
        flash('An email confirmation has been sent, check your email.')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Пример #30
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data,
                     mobile=form.mobile.data,
                     comments=form.password.data,
                     cash=10000)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash(
            'Congratulations, you are now a registered user!<br>Please Log In.',
            "success")
        return redirect(url_for('login'))

    form.submit.label.text = 'Register'
    print(f"register:  This is 6 - calling register.html")
    return render_template('register.html', title='Register', form=form)
Пример #31
0
def users():
    if current_user.role == 'admin':
        user = Users.query.all()
        form = RegistrationForm()
        if form.validate_on_submit():
            user = Users(username=form.username.data,
                         phone_number=form.phone_number.data,
                         role=form.role.data,
                         cash=0)
            user.set_password(form.password.data)
            db.session.add(user)
            db.session.commit()
            flash('Пользователь добавлен')
            return redirect(url_for('users'))
        return render_template('users.html',
                               title='Register',
                               user=user,
                               form=form)
    else:
        return redirect(url_for('index'))
Пример #32
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        user = Users.query.filter_by(username=form.username.data).first()
        categories = [
            'Car', 'Shopping', 'Girlfriend', 'Dates', 'School', 'Training',
            'Work', 'Personal data'
        ]
        for c in categories:
            entry = Categories(c, user_id=user.id)
            db.session.add(entry)
        db.session.commit()
        flash('Successful registration!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Registration', form=form)