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
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)
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)
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
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
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)