Template
Portal Retail gets a Sales page for paid/fulfilled volume, daily bars, and top products so FEATURE_SHOP sites can see store performance without a third-party analytics tool. Closes #7
89 lines
3.0 KiB
Python
89 lines
3.0 KiB
Python
import re
|
|
|
|
from django.conf import settings
|
|
|
|
|
|
def _phone_tel(phone: str) -> str:
|
|
digits = re.sub(r"[^\d+]", "", phone or "")
|
|
return digits
|
|
|
|
|
|
def site_branding(request):
|
|
phone = settings.CONTACT_PHONE or ""
|
|
public_site_url = (getattr(settings, "PUBLIC_SITE_URL", None) or "").rstrip("/")
|
|
if not public_site_url and getattr(request, "build_absolute_uri", None):
|
|
public_site_url = request.build_absolute_uri("/").rstrip("/")
|
|
return {
|
|
"SITE_NAME": settings.SITE_NAME,
|
|
"SITE_TAGLINE": settings.SITE_TAGLINE,
|
|
"PUBLIC_SITE_URL": public_site_url,
|
|
"CONTACT_PHONE": phone,
|
|
"CONTACT_PHONE_TEL": _phone_tel(phone),
|
|
"CONTACT_EMAIL": settings.CONTACT_EMAIL or "",
|
|
"CONTACT_ADDRESS": getattr(settings, "CONTACT_ADDRESS", "") or "",
|
|
"CONTACT_SERVICE_AREA": getattr(
|
|
settings,
|
|
"CONTACT_SERVICE_AREA",
|
|
"",
|
|
),
|
|
"CREDIT_NAME": getattr(settings, "CREDIT_NAME", "AI ML Operations, LLC"),
|
|
"CREDIT_URL": getattr(
|
|
settings, "CREDIT_URL", "https://aimloperations.com"
|
|
),
|
|
"SITE_UNDER_CONSTRUCTION": settings.SITE_UNDER_CONSTRUCTION,
|
|
}
|
|
|
|
|
|
def tianji_tracking(request):
|
|
match = getattr(request, "resolver_match", None)
|
|
url_name = getattr(match, "url_name", "") or ""
|
|
namespace = getattr(match, "namespace", "") or ""
|
|
full = f"{namespace}:{url_name}" if namespace else url_name
|
|
|
|
nav_section = ""
|
|
if full == "dashboard:home":
|
|
nav_section = "dashboard"
|
|
elif namespace == "leads":
|
|
nav_section = "leads"
|
|
elif full == "analytics:report":
|
|
nav_section = "analytics"
|
|
elif namespace == "contacts":
|
|
nav_section = "contacts"
|
|
elif full == "directmail:postcard_designer":
|
|
nav_section = "postcard"
|
|
elif namespace == "email_sms":
|
|
nav_section = "campaigns"
|
|
elif namespace == "directmail":
|
|
nav_section = "directmail"
|
|
elif namespace == "blog":
|
|
nav_section = "blog"
|
|
elif namespace == "payments":
|
|
nav_section = "payments"
|
|
elif full == "social:account_list":
|
|
nav_section = "social_accounts"
|
|
elif namespace == "social":
|
|
nav_section = "social"
|
|
elif namespace == "shop_portal":
|
|
if url_name.startswith("product"):
|
|
nav_section = "shop_products"
|
|
elif url_name.startswith("order"):
|
|
nav_section = "shop_orders"
|
|
elif url_name == "sales":
|
|
nav_section = "shop_sales"
|
|
elif namespace == "shop":
|
|
nav_section = "shop"
|
|
|
|
return {
|
|
"tianji_enabled": getattr(settings, "TIANJI_ENABLED", False)
|
|
and bool(getattr(settings, "TIANJI_WEBSITE_ID", ""))
|
|
and bool(getattr(settings, "TIANJI_TRACKER_URL", "")),
|
|
"tianji_tracker_url": getattr(
|
|
settings,
|
|
"TIANJI_TRACKER_URL",
|
|
"https://tianji.aimloperations.com/tracker.js",
|
|
),
|
|
"tianji_website_id": getattr(settings, "TIANJI_WEBSITE_ID", ""),
|
|
"page_name": url_name,
|
|
"nav_section": nav_section,
|
|
}
|