Exemple #1
0
def order_put():
    js = request.json
    product_order_update(js,'PUT')
    for i in js['deleted_order_product']:
        OrderProduct.delete_order_product(js['order_id'],i['product_id'],i['dimension_id'])
    resp = make_response(jsonify({'message': 'success'}), 200)
    return resp
Exemple #2
0
def list_orders_id():
    records_per_page = int(request.args.get('table_size'))
    page = int(request.args.get('page'))
    order_id = int(request.args.get('order_id'))
    sort_by = request.args.get('sort_by')
    order_sort_by = request.args.get('order_sort_by')
    all_in_order, count = OrderProduct.get_by_order_product(order_id, page, records_per_page, sort_by, order_sort_by)
    quantity_of_items = OrderProduct.get_items_quantity(order_id)
    customer_name = str(all_in_order[0].order.user.first_name) + " " + \
        str(all_in_order[0].order.user.last_name + " " + "(" + str(all_in_order[0].order.user.login) + ")")
    products = []
    for i in all_in_order:
        products.append({'product_id': i.product_id, 'product_name': i.product.name,
                        'product_description': i.product.description, 'product_dimension': i.dimension.name,
                        'product_quantity': i.quantity, 'product_price_per_line': str(i.product_price_per_line),
                        'product_price': str(i.product.price)})

    order = {'customer_name': customer_name,
             'customer_type': all_in_order[0].order.user.level.name if all_in_order[0].order.user.level.name
             else "Standard",
             'order_id': all_in_order[0].order_id, 'total_price': str(all_in_order[0].order.total_price),
             'quantity_of_items': quantity_of_items,
             'assignee': str(all_in_order[0].order.assignee.first_name) + " " +
                         str(all_in_order[0].order.assignee.last_name) + " " +
                         "(" + str(all_in_order[0].order.assignee.login) +
                         ")" if all_in_order[0].order.assignee else None,
             'order_date': str(all_in_order[0].order.date),
             'preferable_delivery_date': str(all_in_order[0].order.preferable_delivery_date),
             'order_status': all_in_order[0].order.status.name,
             'delivery_date': str(all_in_order[0].order.delivery_date),
             'gift': all_in_order[0].order.gift,
             'products': products, 'session_role': session["role"]}
    return make_response(jsonify(orders=order, all_items=count,
                                 items_per_page=records_per_page), 200)
Exemple #3
0
def updateOrderProduct():
    total_price = 0
    order_number = random.randint(0,999999)
    order = getOrderByCartStatus(session['user_id'])
    for i in OrderProduct.listOrderProductById(order.id):
        total_price += i.price*i.quantity
    Order.updateOrderStatus(order.id, OrderStatus.getNameStatus('Created').id, total_price, order_number)
    return make_response(jsonify({'message':'success'}),200)
def product_order_update(order_dict,method):
    order_id=int(order_dict['order_id'])
    amount=0
    order = Order.get_order(order_id)
    quantity_dict=order_dict['product_quantity']
    if order_dict.get('assignee'):
        assignee=int(order_dict['assignee'])
    else:
         assignee=None
    if (order_dict['preferable_delivery_date']):
        preferable_delivery_date=int(order_dict['preferable_delivery_date'])/1000
        preferable_delivery_date=(datetime.datetime.fromtimestamp(preferable_delivery_date).strftime('%Y-%m-%d'))
    else:
        preferable_delivery_date=0
    for i in quantity_dict:
        dimension_id=i['dimension_id']
        product_id=i['product_id']
        quantity=i['quantity']
        validate_quantity(product_id,dimension_id,quantity,'update')
        dimension_number=i['dimension_number']
        get_product=get_product_by_id(product_id)
        price = get_product.price
        amount= amount + price*quantity*dimension_number
        order_product= OrderProduct.get_order_product(order_id,product_id,dimension_id)
        if order_product:
            order_product.quantity=quantity
        else:
            order_product= OrderProduct.add_order_product(order_id,product_id,dimension_id,quantity,price)
        OrderProduct.changeTriggerStatus(order_dict['order_id'],i['product_id'],i['dimension_id'])

    if method == 'POST':
        order.status_id = 3
    else:
        order.status_id = 4
    order.total_price = amount
    order.assignee_id = assignee
    order.preferable_delivery_date=preferable_delivery_date
    db_session.commit()
def listOrderProductByOrderId(order_id):
    validate_order_id(order_id)
    return OrderProduct.listOrderProductById(order_id)
def addProductToCartStatus(user_id, product_id, status, value, price):
    order = Order.getOrderByStatus(user_id)
    if  OrderProduct.get_order_product(order.id, product_id, status):
        OrderProduct.updateSumQuantity(order.id, product_id, status, value)
    else:
        OrderProduct.add_order_product(order.id, product_id, status, value, price)
Exemple #7
0
def quantity_put():
    js = request.json
    validate_quantity(js['product_id'],js['dimension_id'],js['quantity'],'check');
    OrderProduct.update_order_product(js['order_id'],js['product_id'],js['dimension_id'], js['quantity'],js['price'])
    resp = make_response(jsonify({'message': 'success'}), 200)
    return resp
Exemple #8
0
def order_id_delete(id_order,id_product,dimension_id):
    OrderProduct.delete_order_product(id_order,id_product,dimension_id)
    resp = make_response(jsonify({'message': 'success'}), 200)
    return resp
Exemple #9
0
def deleteOrderProduct():
    order = getOrderByCartStatus(session['user_id'])
    OrderProduct.delete_order_product(order.id, request.args.get('product_id'), request.args.get('dimension_id'))
    return make_response(jsonify({'message': 'success'}), 200)