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"
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 get_order_by_id(id): validate_order_id(id) order_by_id = Order.get_order(id) return order_by_id
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")