コード例 #1
0
ファイル: syncdb.py プロジェクト: sheimi/online-shop
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()
コード例 #2
0
ファイル: cart.py プロジェクト: sheimi/online-shop
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)
コード例 #3
0
ファイル: cart.py プロジェクト: sheimi/online-shop
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)
コード例 #4
0
ファイル: admina.py プロジェクト: sheimi/online-shop
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)
コード例 #5
0
ファイル: syncdb.py プロジェクト: sheimi/online-shop
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
コード例 #6
0
ファイル: admina.py プロジェクト: sheimi/online-shop
def orders_list():
    orders = UserOrder.select().filter(**request.args)
    return render_template('admin/admina/orders_list.html', orders=orders)