Exemplo n.º 1
0
def sub_a(request, slug_category, slug_sub_a):
    search = request.GET.get('results', None)
    brand = request.GET.get('brand', None)
    context, filter_by = {}, {}

    category = get_object_or_404(Category, slug=slug_category)
    sub_a = get_object_or_404(
        SubA,
        slug=slug_sub_a,
        category__slug=slug_category
    )

    if brand:
        brand = get_object_or_404(Brand, slug=brand)
        filter_by['brand__slug'] = brand
        context['current_category'] = brand
    else:
        categories = sub_a.subb_set.all()
        if categories.exists():
            context['categories'] = categories
        else:
            # Al no encontrar sub_b relacionados entonces hay marcas.
            context['brands'] = sub_a.brand.all()
        context['current_category'] = sub_a

    filter_by.update({'category__slug': category.slug,
                      'sub_a__slug': sub_a.slug})
    context['products'] = Product.filter_products(search, filter_by)
    return render(request, 'base_category.html', context)
Exemplo n.º 2
0
def sub_b(request, slug_category, slug_sub_a, slug_sub_b):
    search = request.GET.get('results', None)
    brand = request.GET.get('brand', None)
    context, filter_by = {}, {}

    category = get_object_or_404(Category, slug=slug_category)
    sub_a = get_object_or_404(
        SubA,
        slug=slug_sub_a,
        category__slug=slug_category
    )
    sub_b = get_object_or_404(SubB, slug=slug_sub_b, sub_a__slug=slug_sub_a)

    if brand:
        brand = get_object_or_404(Brand, slug=brand)
        filter_by['brand__slug'] = brand
        context['current_category'] = brand
    else:
        context.update({'brands': sub_b.brand.all(),
                        'current_category': sub_b})

    filter_by.update({'category__slug': category.slug,
                      'sub_a__slug': sub_a.slug,
                      'sub_b__slug': sub_b.slug})
    context['products'] = Product.filter_products(search, filter_by)
    return render(request, 'base_category.html', context)
Exemplo n.º 3
0
def category(request, slug_category):
    search = request.GET.get('results', None)
    category = get_object_or_404(Category, slug=slug_category)

    filter_by = {'category__slug': category.slug}

    context = {'current_category': category,
               'categories': category.suba_set.all(),
               'products': Product.filter_products(search, filter_by)}
    return render(request, 'base_category.html', context)