feat: dynamic main icon
This commit is contained in:
@@ -1,19 +1,35 @@
|
||||
from django.db.models import Prefetch
|
||||
|
||||
from apps.core.models import SiteBranding, SiteContact
|
||||
from apps.products.models import MainProduct, SubProduct
|
||||
|
||||
|
||||
def site_branding(request):
|
||||
return {"site_branding": SiteBranding.load()}
|
||||
|
||||
|
||||
def site_contact(request):
|
||||
return {"site_contact": SiteContact.load()}
|
||||
|
||||
|
||||
def navigation(request):
|
||||
main_products = (
|
||||
MainProduct.objects.filter(is_active=True)
|
||||
.prefetch_related("sub_products")
|
||||
.prefetch_related(
|
||||
Prefetch(
|
||||
"sub_products",
|
||||
queryset=SubProduct.objects.filter(is_active=True).order_by(
|
||||
"order", "name"
|
||||
),
|
||||
)
|
||||
)
|
||||
.order_by("order", "name")
|
||||
)
|
||||
all_sub_products = list(
|
||||
SubProduct.objects.filter(is_active=True).order_by("order", "name")[:5]
|
||||
)
|
||||
footer_sub_products = all_sub_products[:4]
|
||||
footer_sub_products_has_more = len(all_sub_products) == 5
|
||||
all_footer_products = list(main_products[:5])
|
||||
footer_main_products = all_footer_products[:4]
|
||||
footer_main_products_has_more = len(all_footer_products) == 5
|
||||
return {
|
||||
"nav_main_products": main_products,
|
||||
"footer_sub_products": footer_sub_products,
|
||||
"footer_sub_products_has_more": footer_sub_products_has_more,
|
||||
"footer_main_products": footer_main_products,
|
||||
"footer_main_products_has_more": footer_main_products_has_more,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user