from collections import defaultdict
import datetime
import zipfile
import os
import logging
import subprocess
@@ -288,27 +289,28 @@ def _guided_registration_products(request, mode):
category__in=cats,
).select_related("category")
seen_categories = []
with BatchController.batch(request.user):
available_products = list(ProductController.available_products(
available_products = ProductController.available_products(
request.user,
products=all_products,
))
)
if len(available_products) == 0:
return []
available_by_category = defaultdict(list)
for product in available_products:
available_by_category[product.category].append(product)
has_errors = False
for category in cats:
products = [
i for i in available_products
if i.category == category
]
products = available_by_category[category]
prefix = "category_" + str(category.id)
p = _handle_products(request, category, products, prefix)
products_form, discounts, products_handled = p
section = GuidedRegistrationSection(