def create_db(): try: User.drop_table() Member.drop_table() Commodity.drop_table() Category.drop_table() UserOrder.drop_table() OrderItem.drop_table() CommodityImage.drop_table() CommodityComment.drop_table() Address.drop_table() OrderStatus.drop_table() Announcement.drop_table() Feedback.drop_table() except: pass User.create_table() Member.create_table() Commodity.create_table() Category.create_table() UserOrder.create_table() OrderItem.create_table() CommodityImage.create_table() CommodityComment.create_table() Address.create_table() OrderStatus.create_table() Announcement.create_table() Feedback.create_table()
def confirm_all(order_id): order = get_object_or_404(UserOrder, id=order_id) status = get_object_or_404(OrderStatus, name="confirmed") UserOrder.update(is_confirmed=True, status=status, confirm_date=dt.today()).where(id=order_id).execute() point = g.user.point point += order.total_price() User.update(point=point).where(id=g.user.id).execute() return render_template("cart/success.html", user=g.user, order=order)
def cart_tool(): if not g.user: return "" order = g.user.orders.where(is_confirmed=False).execute().first() if not order: order = UserOrder.create(user=g.user, discount=g.user.check_membership().discount) g.user.cart = order num = order.items.count() return render_template("cart/tool.html", user=g.user, num=num)
def order_line(line_type): def get_month(month): month_list = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] return month_list[month-1] def day_line(orders): render = {} for order in orders: month = order.complete_date.month day = order.complete_date.day key = month * 40 + day if key in render.keys(): render[key]['num'] += order.total_price() else: render[key] = { 'key': "%s %d" % (get_month(month), day), 'num': order.total_price(), } return render def month_line(orders): render = {} for order in orders: month = order.complete_date.month key = month if key in render.keys(): render[key]['num'] += order.total_price() else: render[key] = { 'key': get_month(month), 'num': order.total_price(), } return render def season_line(orders): render = {} for order in orders: month = order.complete_date.month key = (month - 1) / 3 if key in render.keys(): render[key]['num'] += order.total_price() else: render[key] = { 'key': key, 'num': order.total_price(), } return render orders = UserOrder.select().filter(is_complete=True) render = locals()[line_type](orders) so = render.items() result = sorted(so, key=lambda a: a[0]) return render_template('admin/admina/form_js/line.js', title="The Chart For Sell", items=result)
def random_order(user): global status_list status = random.choice(status_list) kwargs = {"user": user, "status": status} if not status.name == "init": kwargs["is_confirmed"] = True kwargs["confirm_date"] = dt.today() if status.name == "complete" or status.name == "canceled": kwargs["is_complete"] = True kwargs["complete_date"] = dt.today() order = UserOrder.create(**kwargs) for i in range(2, 10): random_oi(order) return order
def orders_list(): orders = UserOrder.select().filter(**request.args) return render_template('admin/admina/orders_list.html', orders=orders)