示例#1
0
def order_grid(id):
    assingee_list = UserDao.getUserByRoleName('Merchandiser')
    assingee_arr = []
    for i in assingee_list:
         assingee_arr.append({'id': i.id, 'name': i.login})
    if id==0:
        return render_template('order.html',assingee_arr=assingee_arr,order_id=id)
    else:
        get_order=Order.get_order(id)
        status_id=get_order.status.id
    if status_id >=3 and get_order.user_id==session['user_id']:
       return render_template('order.html',assingee_arr=assingee_arr,order_id=id)
    else:
        if (Order.get_order(id).user_id == session["user_id"]) or\
                (Order.get_order(id).assignee_id == session["user_id"]):
            if (session["role"] == "Merchandiser") and (Order.get_order(id).status.name == "Pending"):
                update_order_details(id, gift=False, status="Ordered", delivery_date=None)
            return render_template('order_details.html')
        else:
            return "You have not permission to access this page"
示例#2
0
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()
示例#3
0
def get_order_by_id(id):
    validate_order_id(id)
    order_by_id = Order.get_order(id)
    return order_by_id
示例#4
0
def validate_order_id(id):
    if id is None:
        raise ValidationException("Order id is required field")
    if not Order.get_order(id):
        raise NotFoundException("Unable to find order with given id")