39546-vm/core/context_processors.py
Flatlogic Bot 159e91248c 1
2026-04-11 01:49:55 +00:00

34 lines
1.1 KiB
Python

import os
import time
from .models import BusinessMembership
ACTIVE_BUSINESS_SESSION_KEY = 'trustforge_active_business_id'
def project_context(request):
"""
Adds project-specific environment variables and active workspace context globally.
"""
current_membership = None
memberships = []
if getattr(request, 'user', None) and request.user.is_authenticated:
memberships = list(
BusinessMembership.objects.select_related('business').filter(
user=request.user,
business__is_active=True,
)
)
active_business_id = request.session.get(ACTIVE_BUSINESS_SESSION_KEY)
current_membership = next((item for item in memberships if item.business_id == active_business_id), None)
if current_membership is None and memberships:
current_membership = memberships[0]
return {
'project_description': os.getenv('PROJECT_DESCRIPTION', ''),
'project_image_url': os.getenv('PROJECT_IMAGE_URL', ''),
'deployment_timestamp': int(time.time()),
'current_membership': current_membership,
'user_memberships': memberships,
}