コード例 #1
0
def populate_user():
    new_user = User()
    new_user.email = "*****@*****.**"
    new_user.phone = '3333333333'
    new_user.firstname = "firstname_test"
    new_user.lastname = "lastname_test"
    new_user.password = "******"
    new_user.dateofbirth = datetime.date(2020, 10, 5)
    new_user.role = "customer"

    return new_user
コード例 #2
0
ファイル: test_tasks.py プロジェクト: Squad1ASE/API-gateway
def add_user(email, phone, firstname, lastname, password, date, role):
    new_user = User()
    new_user.email = email
    new_user.phone = phone
    new_user.firstname = firstname
    new_user.lastname = lastname
    new_user.password = password
    new_user.role = role
    new_user.dateofbirth = date

    db.session.add(new_user)
    db.session.commit()
    return db.session.query(User).filter(User.email == email).first()
コード例 #3
0
ファイル: utilities.py プロジェクト: Squad1ASE/API-gateway
def insert_admin(db, app):
    with app.app_context():
        admin = db.session.query(User).filter_by(
            email='*****@*****.**').first()
        if admin is None:
            example = User()
            example.email = '*****@*****.**'
            example.phone = '3333333333'
            example.firstname = 'Admin'
            example.lastname = 'Admin'
            example.set_password('admin')
            example.dateofbirth = datetime.date(2020, 10, 5)
            example.is_admin = True
            example.role = 'admin'
            db.session.add(example)
            db.session.commit()
コード例 #4
0
ファイル: utilities.py プロジェクト: Squad1ASE/API-gateway
def insert_ha(db, app):
    with app.app_context():
        ha = db.session.query(User).filter_by(
            email='*****@*****.**').first()
        if ha is None:
            example = User()
            example.email = '*****@*****.**'
            example.phone = '3333333333'
            example.firstname = 'ha'
            example.lastname = 'ha'
            example.set_password('ha')
            example.dateofbirth = datetime.date(2020, 10, 5)
            example.is_admin = True
            example.role = 'ha'
            db.session.add(example)
            db.session.commit()
コード例 #5
0
ファイル: users.py プロジェクト: Squad1ASE/API-gateway
def create_user():
    if current_user is not None and hasattr(current_user, 'id'):
        return make_response(
            render_template(
                'error.html',
                message="You are already logged! Redirecting to home page",
                redirect_url="/"), 403)

    form = UserForm()

    if request.method == 'POST':

        if form.validate_on_submit():

            new_user = User()
            form.populate_obj(new_user)
            new_user.role = request.form['role']
            check_already_register = db.session.query(User).filter(
                User.email == new_user.email).first()

            if (check_already_register is not None):
                # already registered
                return render_template('create_user.html', form=form), 403

            new_user.set_password(
                form.password.data)  #pw should be hashed with some salt

            if new_user.role != 'customer' and new_user.role != 'owner':
                return make_response(
                    render_template(
                        'error.html',
                        message=
                        "You can sign in only as customer or owner! Redirecting to home page",
                        redirect_url="/"), 403)

            db.session.add(new_user)
            db.session.commit()
            return redirect('/')
        else:
            # invalid form
            return make_response(
                render_template('create_user.html', form=form), 400)

    return render_template('create_user.html', form=form)
コード例 #6
0
ファイル: app.py プロジェクト: Squad1ASE/API-gateway
def create_app():
    app = Flask(__name__)
    app.config['WTF_CSRF_SECRET_KEY'] = 'A SECRET KEY'
    app.config['SECRET_KEY'] = 'ANOTHER ONE'
    #app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://*****:*****@postgres:5432/postgres'
    app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URI']
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    
    
    # Flask-Mail configuration
    app.config['MAIL_SERVER'] = 'smtp.googlemail.com'
    app.config['MAIL_PORT'] = 587
    app.config['MAIL_USE_TLS'] = True
    app.config['MAIL_USERNAME'] = '******'
    app.config['MAIL_PASSWORD'] = '******'
    app.config['MAIL_DEFAULT_SENDER'] = '*****@*****.**'
    for bp in blueprints:
        app.register_blueprint(bp)
        bp.app = app

    db.init_app(app)
    login_manager.init_app(app)
    try:
        db.create_all(app=app)
    except Exception as e:
        print(e)


    # TODO THIS SECTION MUST BE REMOVED, ONLY FOR DEMO
    # already tested EndPoints are used to create examples
    app.config['WTF_CSRF_ENABLED'] = False

    with app.app_context():
        
        q = db.session.query(User).filter(User.email == '*****@*****.**')
        adm = q.first()
        if adm is None:
            try: 
                # create a first admin user 
                # test for a user defined in database.db
                example = User()
                example.email = '*****@*****.**'
                example.phone = '3333333333'
                example.firstname = 'Admin'
                example.lastname = 'Admin'
                example.set_password('admin')
                example.dateofbirth = datetime.date(2020, 10, 5)
                example.role = 'admin'           
                example.is_admin = True
                db.session.add(example)
                db.session.commit()

        

                test_client = app.test_client()

                insert_ha(db, app)
                
                for user in customers_example:
                    create_user_EP(test_client,**user)

                for user in restaurant_owner_example:
                    create_user_EP(test_client,**user)

                for usr_idx,restaurant in enumerate(restaurant_example):
                    user_login_EP(test_client, restaurant_owner_example[usr_idx]['email'], 
                                                restaurant_owner_example[usr_idx]['password'])

                    create_restaurant_EP(test_client,restaurant)

                    user_logout_EP(test_client)

            except Exception as e:
                print(e)

        

    app.config['WTF_CSRF_ENABLED'] = True

    

    return app