""" Сервис для проверки доступности комплектов. """ class KitAvailabilityChecker: """ Проверяет доступность комплектов на основе остатков товаров. """ @staticmethod def check_availability(kit, stock_manager=None): """ Проверяет доступность всего комплекта. Комплект доступен, если для каждой позиции в комплекте есть хотя бы один доступный вариант товара. Args: kit (ProductKit): Комплект для проверки stock_manager: Объект управления складом (если не указан, используется стандартный) Returns: bool: True, если комплект полностью доступен, иначе False """ from ..utils.stock_manager import StockManager if stock_manager is None: stock_manager = StockManager() for kit_item in kit.kit_items.all(): best_product = kit_item.get_best_available_product(stock_manager) if not best_product: return False return True