You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 lines
1.1 KiB

from .models import Product
def get_variant_picker_data(product):
variants = product.variants.all()
variant_attributes = product.attributes.all()
data = {'variants': [], 'variantAttributes': [], 'discount_policy': product.discount_policy}
for attribute in variant_attributes:
data['variantAttributes'].append({
'name': attribute.name,
'slug': attribute.slug,
'values': [{'name': value.name, 'slug': value.slug} for value in attribute.values.all()]
})
for variant in variants:
price = variant.price
variant_data = {
'id': variant.id,
'slug': variant.slug,
'name': variant.name,
'price': int(price),
'attributes': variant.attributes,
}
data['variants'].append(variant_data)
return data
def expand_categories(categories):
products = None
new_categories = categories
for e in categories:
if e.name.startswith('None'):
products = Product.objects.filter(category=e)
new_categories = categories.exclude(pk=e.pk)
return new_categories, products