Example #1
0
def users():
    user1 = User('stacon', 'secret', 100)
    user2 = User('filgeo', 'secret', 100)
    user3 = User('lirnik', 'secret', 85)
    user4 = User('tasmas', 'secret', 1)
    user5 = User('liknik', 'secret', 1)
    user6 = User('biktik', 'secret', 1)
    user7 = User('sikpap', 'secret', 1)
    user8 = User('paptap', 'secret', 1)
    user9 = User('lamtam', 'secret', 1)
    user10 = User('aimfak', 'secret', 1)

    try:
        db.session.add(user1)
        db.session.add(user2)
        db.session.add(user3)
        db.session.add(user4)
        db.session.add(user5)
        db.session.add(user6)
        db.session.add(user7)
        db.session.add(user8)
        db.session.add(user9)
        db.session.add(user10)
        db.session.commit()
    except exc.IntegrityError:
        flash('Failed to seed Users in database, they probably already exist',
              'error')
        return redirect(url_for('seeders.index'))
    flash('Users seeded', 'success')
    return redirect(url_for('seeders.index'))

    return redirect(url_for('seeders.index'))
Example #2
0
 def test_user_model(self):
     user1 = User("testuser", "testuserlast", "*****@*****.**",
                  "testuserpass", "customer")
     user2 = User("testuser2", "testuser2", "*****@*****.**", "shop1pass",
                  "customer", 1, "8506667676")
     db.session.add(user1)
     db.session.add(user2)
     db.session.commit()
     self.assertEqual(User.query.count(), 2)
Example #3
0
    def test_employee_model(self):
        user1 = User("testuser", "testuserlast", "*****@*****.**",
                     "testuserpass", "customer")
        user2 = User("testuser2", "testuser2last", "*****@*****.**",
                     "shop1pass", "employee", 1, "8506667676")
        db.session.add(user1)
        db.session.add(user2)
        db.session.commit()

        empl_count = User.query.filter_by(role="employee").count()
        self.assertEqual(empl_count, 1)
Example #4
0
    def register_shop_employee(self):
        user1 = User("shop1", "shop1", "*****@*****.**", "shop1pass", "shop",
                     1, "8506667676")
        new_shop = Shop("shop1", 'location')
        db.session.add(new_shop)
        new_shop.users.append(user1)
        user2 = User("testuser2", "testuser2last", "*****@*****.**",
                     "shop1pass", "employee", 1, "8506667676")
        new_shop.users.append(user2)
        db.session.commit()
        empl = User.query.filter_by(email="*****@*****.**").first()

        return empl
Example #5
0
 def test_shop_model(self):
     user1 = User("testuser", "testuserlast", "*****@*****.**",
                  "testuserpass", "shop")
     user2 = User("shop1", "shop1", "*****@*****.**", "shop1pass", "shop",
                  1, "8506667676")
     new_shop = Shop("shop1", 'location')
     new_shop.users.append(user2)
     db.session.add(user1)
     db.session.add(user2)
     db.session.commit()
     u1 = User.query.filter_by(first_name="shop1").first()
     shop1 = Shop.query.filter_by(shop_name="shop1").first()
     self.assertEqual(u1.shop_id, shop1.shop_id)
def signup():
    # Check if not already signed in
    if 'user_id' in session:
        return redirect(url_for('landing.index'))

    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        username = form.name.data
        emailID = form.email.data
        password = form.password.data
        role = int(form.role.data)
        error = None

        if not username:
            error = 'Username is required.'
        elif not password:
            error = 'Password is required.'
        elif User.query.filter_by(emailID=emailID).first() is not None:
            error = 'User {} is already registered.'.format(username)
        if error is None:
            db.session.add(
                User(username, emailID, generate_password_hash(password),
                     role))
            db.session.commit()
            return redirect(url_for('auth.signin'))

    return render_template('auth/signup.html', form=form, title="Sign Up Page")
Example #7
0
def signup():
    """
    Permite a un usuario registrarse en el sistema

        Returns:
            Si no existe un usuario con los datos introducidos en el sistema lo añade al sistema y le redirige a la página de inicio de sesión.
            Si existe entonces lo redirige a la página de inicio de sesión.
        """

    # If sign in form is submitted
    form = RegisterForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user:
            flash('Usuario ya existe', 'error-message')
            form = LoginForm(request.form)
            return render_template("auth/signin.html", form=form)
        else:
            a = User(form.username.data, form.email.data, form.password.data,
                     'user', '0')
            db.session.add(a)
            db.session.commit()
            form = LoginForm(request.form)
            return redirect(url_for('auth.signin'))

    return render_template("sigup.html", form=form)
Example #8
0
def signup():
    form = SignupForm(request.form)

    if form.validate_on_submit():
        user = User(email=form.email.data,
                    name=form.name.data,
                    password=generate_password_hash(form.password.data))
        try:
            db.session.add(user)
            db.session.commit()

            # Since we are redirecting to the signin page
            # we don't need to save the session.
            # session['user_id'] = user.id
            flash('Usuario creado con éxito. :)')

            return redirect(url_for('auth.signin'))
        except IntegrityError as ie:
            db.session.rollback()
            flash(str(ie))
        except Exception as e:
            db.session.rollback()
            flash(str(e))

    return render_template('auth/signup.html', form=form)
def register_user():
    # get post data
    post_data = request.get_json()
    if not post_data:
        response_object = {'status': 'error', 'message': 'Invalid payload.'}
        return jsonify(response_object), 400
    email = post_data.get('email')
    password = post_data.get('password')
    try:
        # check for existing user
        user = User.query.filter(or_(User.email == email)).first()
        if not user:
            # add new user to db
            new_user = User(email=email, password=password)
            db.session.add(new_user)
            db.session.commit()
            # generate auth token
            auth_token = new_user.encode_auth_token(new_user.id)
            response_object = {
                'status': 'success',
                'message': 'Successfully registered.',
                'auth_token': auth_token.decode()
            }
            return jsonify(response_object), 201
        else:
            response_object = {
                'status': 'error',
                'message': 'Sorry. That user already exists.'
            }
            return jsonify(response_object), 400
    # handler errors
    except (exc.IntegrityError, ValueError) as e:
        db.session().rollback()
        response_object = {'status': 'error', 'message': 'Invalid payload.'}
        return jsonify(response_object), 400
Example #10
0
def register():

    # restrict access for non admins
    if not current_user.is_admin:
        flash('You need to have admin access level for this page', 'error')
        return redirect(url_for('main.index'))

    form = RegistrationForm()

    if form.validate_on_submit():
        new_user = User(
            username=form.username.data,
            password=form.password.data,
            privileges_level=form.privilege_level.data
        )

        # add user to database
        db.session.add(new_user)
        db.session.commit()
        flash(u'User {} created successfully'.format(form.username.data), 'success')

        # redirect to users panel
        return redirect(url_for('auth.index'))

    # load registration template
    return render_template("auth/register.html", form=form, title='User registration')
Example #11
0
def add_manager():
    print(check_logged_in(1))
    if check_logged_in(1):
        form = RegisterWorker(request.form)
        if request.method == 'POST' and form.validate():
            username = form.name.data
            emailID = form.email.data
            password = form.password.data
            role = 2
            error = None

            if not username:
                error = 'Username is required.'
            elif not password:
                error = 'Password is required.'
            elif User.query.filter_by(emailID=emailID).first() is not None:
                error = 'User {} is already registered.'.format(username)
            if error is None:
                temp = User(username, emailID,
                            generate_password_hash(password), role)
                db.session.add(temp)
                db.session.commit()
                db.session.add(employeeInfo(temp.id, int(session['user_id'])))
                db.session.commit()
                return redirect(url_for('owner.index'))

        return render_template('owner/add_employee.html',
                               form=form,
                               title="Add Manager Page",
                               role=str(session['role']))
    return redirect(url_for('landing.index'))
Example #12
0
def google_logged_in(blueprint, token):
    if not token:
        flash("Failed to log in with Google.", category="error")
        return False

    resp = blueprint.session.get("/oauth2/v2/userinfo")
    if not resp.ok:
        msg = "Failed to fetch user info from Google."
        flash(msg, category="error")
        return False

    google_info = resp.json()
    google_user_id = str(google_info["id"])

    # Find this OAuth token in the database, or create it
    query = OAuth.query.filter_by(
        provider=blueprint.name,
        provider_user_id=google_user_id,
    )
    try:
        oauth = query.one()
    except NoResultFound:
        oauth = OAuth(
            provider=blueprint.name,
            provider_user_id=google_user_id,
            token=token,
        )

    if oauth.user:
        login_user(oauth.user)
        flash("Successfully signed in with Google.")
        if oauth.user.role == "customer":  # check if customer or provider
            return redirect(url_for('mod_customer.dashboardcustomer'))
        else:
            return redirect(url_for('mod_provider.dashboardprovider'))

    else:
        #print("in else ", file=sys.stdout)
        #print(resp.json, file=sys.stdout)

        # Create a new local user account for this user
        user = User(
            # Remember that `email` can be None, if the user declines
            # to publish their email address on GitHub!
            email=google_info["email"],
            first_name=google_info["given_name"],
            last_name=google_info["family_name"],
            password="******",
            role="customer")
        # Associate the new local user account with the OAuth token
        oauth.user = user
        # Save and commit our database models
        db.session.add_all([user, oauth])
        db.session.commit()
        # Log in the new local user account
        login_user(user)
        flash("Successfully signed in with Google.")
        return redirect(url_for('mod_customer.dashboardcustomer'))
    # Disable Flask-Dance's default behavior for saving the OAuth token
    return False
Example #13
0
def createUser(repo):
    newUser = User(name=login_session['username'],
                   username=login_session['email'],
                   picture=login_session['picture'])
    repo.add(newUser)
    repo.commit()
    user = repo.find_by_username(login_session['email'])
    return user.id
Example #14
0
 def login(self, email, password):
     user1 = User("testuser", "testuserlast", "*****@*****.**",
                  "testuserpass")
     db.session.add(user1)
     db.session.commit()
     return self.app.post('auth/login',
                          data=dict(email=email, password=password),
                          follow_redirects=True)
Example #15
0
def register():
    if request.method == 'GET':
        return render_template('auth/register.html')
    user = User(request.form['username'], request.form['password'],
                request.form['email'])
    db.session.add(user)
    db.session.commit()
    flash('User successfully registered')
    return redirect(url_for('auth.login'))
Example #16
0
def post_user():
    # Create the new user object
    user = User(request.form['username'], request.form['email'])
    # Add the user
    db.session.add(user)
    # Commit the transaction
    db.session.commit()
    
    return redirect(url_for('index'))
Example #17
0
 def __init__(self,
              id: int = None,
              text: str = '',
              user_id: int = None,
              user: User = User()):
     self.id = id,
     self.text = text
     self.user_id = user_id
     self.user = user
Example #18
0
def register():
    form = RegisterForm(request.form)

    if form.validate_on_submit():
        user = User(form.username.data, form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Account creation successful')
        return redirect(url_for('.index'))

    return render_template("auth/register.html", form=form)
Example #19
0
def register():

    form = RegistrationForm(request.form)
    if form.validate_on_submit():
        user = User(form.username.data, form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Thanks for registering')
        return redirect(url_for('auth.signin'))
    print("failed form validation")
    return render_template('auth/register.html', form=form)
Example #20
0
def new_user():
    username = request.json.get('username')
    nickname = request.json.get('nickname')
    password = request.json.get('password')
    email    = request.json.get('email')
    id_role  = request.json.get('role')
    id_state = request.json.get('state')
    user     = User(username, nickname, email, password, id_role, id_state)
    hash_password(user, password)
    db.session.add(user)
    db.session.commit()
    return  jsonify({'id': str(user.id), 'name' : user.name, 'nickname' : user.nickname, 'email' :  user.email, 'status' : str(user.status), 'role' : str(user.role), 'date_created' : user.date_created.strftime("%d/%m/%Y %H:%M:%S"), 'date_modified' : user.date_modified.strftime("%d/%m/%Y %H:%M:%S")})
Example #21
0
def signup():
    if "user_id" in session:
        return redirect(url_for("index"))
    form = Registration(request.form)
    if request.method == 'POST' and form.validate_on_submit():
        new_user = User(form.name.data, form.phone.data, form.email.data,
                        form.password.data, form.company.data, form.role.data)
        db.session.add(new_user)
        db.session.commit()
        flash("Gratulerer, du har nå registrert bruker!")
        return redirect(url_for('auth.signin'))
    return render_template("auth/signup.html", form=form)
Example #22
0
def create_user():
    data = request.get_json()

    hashed_password = generate_password_hash(data["password"], method="sha256")

    new_user = User(
        public_id=str(uuid.uuid4()), name=data["name"], password=hashed_password
    )
    db.session.add(new_user)
    db.session.commit()

    return jsonify({"message": "New user created!"})
Example #23
0
 def create_or_update_user(self, session):
     user_details = self.get_user_details()
     if (session.get('email', None) or User.query.filter_by(email=user_details['email']).count()):
         user = User.query.filter_by(email=session.get('email', user_details['email'])).first()
         user.gitlab_oauth2 = self.oauth2
         user.gitlab_data = json.dumps(user_details)
         session['email'] = user.email
         db.session.commit()
     else:
         new_user = User(email=user_details['email'], password=None, gitlab_oauth2=self.oauth2, gitlab_data=json.dumps(user_details))
         db.session.add(new_user)
         db.session.commit()
         session['email'] = new_user.email
Example #24
0
def user_loader(id_token):
    try:
        # rough equivalent of looking up the user in the users table of the db
        info = auth.get_account_info(id_token)
        user = User(id_token, info)
        return user
    except HTTPError as e:
        # when the id token expires we will probably end up here
        print("user_load error", ppretty(e,
                                         seq_length=20,
                                         depth=6,
                                         indent="  "))
        return None
Example #25
0
    def setUp(self):
        app.testing = True
        self.client = app.test_client(use_cookies=False)

        config.SQLALCHEMY_DATABASE_URI = 'sqlite://'
        app.config.from_object(config)
        db.create_all()

        # test users
        self.brian = User('brian', 'password')
        self.brian.save()
        self.brian.refresh_from_db()

        self.shem = User('shem', 'password')
        self.shem.save()
        self.shem.refresh_from_db()

        # test bucket lists for each user
        self.brian_bucketlist = BucketList("Checkpoint", self.brian.id)
        self.brian_bucketlist.save()
        self.brian_bucketlist.refresh_from_db()

        self.shem_bucketlist = BucketList("Checkpoint", self.shem.id)
        self.shem_bucketlist.save()
        self.shem_bucketlist.refresh_from_db()

        # add item  to bucket list
        self.brian_bucketlist_item = BucketListItem("Write Tests", "completes checkpoint 2", self.brian_bucketlist.id)
        self.brian_bucketlist_item.save()
        self.brian_bucketlist_item.refresh_from_db()

        db.session.commit()

        self.token = {'Authorization': 'Token ' + self.brian.token.decode()}
        self.expired_token = {'Authorization': 'Token {}'.format('brian.C0-S_w.3D7n2H9j6hrs1jicEEjifLO-fDc')}
        self.invalid_token = {'Authorization': 'Token abc'}
        db.session.commit()
Example #26
0
def signin():
    if (request.method == 'POST'):
        if request.form.get('email', None) and request.form.get(
                'password', None):
            new_user = User(email=request.form.get('email'),
                            password=request.form.get('password'))
            db.session.add(new_user)
            db.session.commit()
            session['email'] = new_user.email
            return redirect("/auth/index")
        return "wrong details"
    else:
        if is_user():
            return redirect("/auth/index")
        return render_template('auth/signin.html')
Example #27
0
def test_remove_user():
    """
    GIVEN a User Model
    WHEN a new User is removed
    THEN check user is not in the db
    """

    user = User("Removable", "*****@*****.**", "password123")
    user.save()
    user.remove()

    removed_user = User.query.filter_by(email="*****@*****.**")\
        .first()

    assert removed_user is None
Example #28
0
def register():
    """
    Return a HTML of Register Page.
    """
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.username.data).first()
        if not user:
            user = User(form.username.data, form.password.data)
            db.session.add(user)
            db.session.commit()
            flash('User %r telah berhasil didaftarkan.' % (user.name),
                  'success')
        else:
            flash('Username %r telah terdaftar.' % (user.name), 'danger')
    return render_template("auth/register.html", form=form)
Example #29
0
def signup():
    form = SignupForm(request.form)

    if request.method == 'POST':
        user = User(
            first_name=form.first_name.data,
            last_name=form.last_name.data,
            username=form.username.data,
            email=form.email.data,
            password=sha256_crypt.encrypt((str(form.password.data)))
        )

        db.session.add(user)
        db.session.commit()
        flash('Thanks for registering')
        return redirect(url_for('Dashboard'))
    return render_template('auth/signup.html', form=form)
Example #30
0
async def register_post(request):

    if len(list(filter(lambda u: u.email == request.json['email'],
                       users))) == 0:
        user = User(**request.json)
        user.id = len(users) + 1
        users.append(user)

        return response.json({
            'id': user.id,
            'msg': 'Usuário criado!'
        },
                             status=201)
    else:
        return response.json(
            {'msg': 'Usuário com este e-mail já existe no sistema.'},
            status=401)