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()
def get_contragent(sid: str): session = utility.get_session(sid) contragent = session.contragent if contragent: return contragent.get_safe() else: return {}
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()
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
def check_session(sid): if session_utility.get_session(sid) is None: return False return True
def get_session(sid: str): return utility.get_session(sid)
def del_contragent(sid: str): session = utility.get_session(sid) del session.contragent session.save()
def set_contragent(sid: str, cid: str): session = utility.get_session(sid) contragent = contragent_utility.get_contragent(cid) session.contragent = contragent session.save()
def get_comment(sid: str): session = utility.get_session(sid) if session: return session.comment or '' return ''
def set_comment(sid: str, comment: str): session = utility.get_session(sid) session.comment = comment session.save() return session.dict