Beispiel #1
0
def add_part_to_cart(sid: str, part, amount):
    session = utility.get_session(sid)
    item = selection_controller.cart_item_from_part(part, amount)
    if session.cart is None:
        session.cart = Cart()
    session.cart.items.append(item)
    session.save()
Beispiel #2
0
def get_contragent(sid: str):
    session = utility.get_session(sid)
    contragent = session.contragent
    if contragent:
        return contragent.get_safe()
    else:
        return {}
Beispiel #3
0
def add_selection_to_cart(sid: str):
    session = utility.get_session(sid)
    selection: RVDSelection = session.selection
    items = selection.items
    item = CompositeItem()
    item.items = items
    item.price = selection.subtotal['price']
    item.total_price = selection.subtotal['total_price']
    item.amount = selection.subtotal['amount']
    item.name = selection.subtotal['name']
    if not item.amount:
        raise ValueError(f'Выбрано 0 или меньше РВД')
    if session.cart is None:
        session.cart = Cart()
    session.cart.items.append(item)
    del session.selection
    session.save()
Beispiel #4
0
def create_order(sid: str) -> Order:
    session = session_utility.get_session(sid)
    order = Order()
    if session.cart is None:
        raise ValueError('В корзине нет товаров')
    order.cart = session.cart
    order.user = User.get_by_username(session.user)
    order.contragent = session.contragent
    order.comment = session.comment
    order._price = session.cart.subtotal
    order.sale = session.sale
    order.time_created = datetime.datetime.now(
        tz=pytz.timezone('Europe/Moscow'))
    num = utility.find_last_order_num()
    order.order_num = 'РВ-' + str(num + 1)
    order._number = num + 1
    order.save()
    return order
Beispiel #5
0
def check_session(sid):
    if session_utility.get_session(sid) is None:
        return False
    return True
Beispiel #6
0
def get_session(sid: str):
    return utility.get_session(sid)
Beispiel #7
0
def del_contragent(sid: str):
    session = utility.get_session(sid)
    del session.contragent
    session.save()
Beispiel #8
0
def set_contragent(sid: str, cid: str):
    session = utility.get_session(sid)
    contragent = contragent_utility.get_contragent(cid)
    session.contragent = contragent
    session.save()
Beispiel #9
0
def get_comment(sid: str):
    session = utility.get_session(sid)
    if session:
        return session.comment or ''
    return ''
Beispiel #10
0
def set_comment(sid: str, comment: str):
    session = utility.get_session(sid)
    session.comment = comment
    session.save()
    return session.dict