Example #1
0
def update_customer():
    if request.method == 'GET':
        return obj2json(RetModel(1, dict_err_code[1], {}))

    if (request.form.get('uid', None) is None
            or request.form.get('token', None) is None):
        return obj2json(RetModel(21, dict_err_code[21]))

    if (False == verify_user_token(request.form['uid'],
                                   request.form['token'])):
        return obj2json(RetModel(21, dict_err_code[21], {}))

    if (request.form.get('id', None) is None):
        return obj2json(RetModel(31, dict_err_code[31], {}))

    if (request.form.get('name', None) is None):
        return obj2json(RetModel(32, dict_err_code[32], {}))

    if (request.form.get('address', None) is None):
        return obj2json(RetModel(33, dict_err_code[33], {}))

    if (request.form.get('longitude', None) is None):
        return obj2json(RetModel(34, dict_err_code[34], {}))

    if (request.form.get('latitude', None) is None):
        return obj2json(RetModel(35, dict_err_code[35], {}))

    customer = Customer()
    customer.id = request.form['id']
    customer.uid = request.form['uid']
    customer.name = request.form['name']
    customer.group_name = request.form.get('group_name', '')
    customer.spell = request.form.get('spell', '')
    customer.address = request.form['address']
    customer.longitude = request.form['longitude']
    customer.latitude = request.form['latitude']
    customer.boss = request.form.get('boss', '')
    customer.phone = request.form.get('phone', '')
    customer.email = request.form.get('email', '')
    customer.description = request.form.get('description', '')
    customer.update_date = request.form.get('update_date', int(time.time()))

    szRet = ''
    if (False == if_customer_exists(customer)):
        szRet = obj2json(RetModel(30, dict_err_code[30], {}))
    else:
        if (True == update_customer_info(request.form['uid'], customer)):
            szRet = obj2json(RetModel(0, dict_err_code[0], {}))
        else:
            szRet = obj2json(RetModel(1000, dict_err_code[1000], {}))

    return szRet
def init_customer(row):
    customer = Customer()
    customer.id = row['id']
    customer.uid = row['uid']
    customer.name = row['name']
    customer.group_name = row['group_name']
    customer.spell = row['spell']

    customer.address = row['address']
    customer.longitude = row['longitude']
    customer.latitude = row['latitude']
    customer.boss = row['boss']
    customer.phone = row['phone']

    customer.email = row['email']
    customer.description = row['description']
    customer.update_date = row['update_date']
    customer.is_deleted = row['is_deleted']

    return customer
def customer_create(user, storeId):
    customer_fields = customer_schema.load(request.json)
    customer = Customer.query.filter_by(email=customer_fields["email"]).first()
    if customer:
        return abort(400, description="Email already in use")

    new_customer = Customer()
    new_customer.firstname = customer_fields["firstname"]
    new_customer.lastname = customer_fields["lastname"]
    new_customer.email = customer_fields["email"]
    new_customer.phone = customer_fields["phone"]
    new_customer.store_id = storeId

    store = Store.query.filter_by(id=storeId, user_id=user.id).first()
    if not store:
        return abort(400, description="Incorrect storeID in URL")

    store.customer.append(new_customer)
    db.session.commit()

    return jsonify(customer_schema.dump(new_customer))
Example #4
0
def seed_db():
    from models.User import User
    from models.Store import Store
    from models.Product import Product
    from models.Customer import Customer
    from models.Order import Order
    from main import bcrypt
    from faker import Faker

    faker = Faker()
    users = []
    stores = []
    products = []
    customers = []

    for i in range(5):
        user = User()
        user.email = f"test{i+1}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        user.isAdmin = False
        db.session.add(user)
        users.append(user)

        db.session.commit()

        store = Store()
        store.storename = faker.bs()
        store.firstname = faker.first_name()
        store.lastname = faker.last_name()
        store.user_id = users[i].id
        db.session.add(store)
        stores.append(store)

        db.session.commit()

        for j in range(5):
            product = Product()
            product.title = faker.numerify(text="Duck ###")
            product.price = faker.random_int(min=5, max=200, step=5)
            product.store_id = stores[i].id
            db.session.add(product)
            products.append(product)

        db.session.commit()

        for j in range(5):
            customer = Customer()
            customer.firstname = faker.first_name()
            customer.lastname = faker.last_name()
            customer.email = faker.ascii_email()
            customer.phone = faker.phone_number()
            customer.store_id = stores[i].id
            db.session.add(customer)
            customers.append(customer)

            db.session.commit()

            for k in range(5):
                order = Order()
                order.order_placed = choice([True, False])
                order.customer_id = choice(customers).id
                db.session.add(order)

                db.session.commit()

                for m in range(3):
                    order.orders_products.append(choice(products))

                    db.session.commit()

        customers = []

    db.session.commit()

    print("Tables seeded")