from router_sports.models import Division

def sidebar_context(request):
    if not request.user.is_authenticated:
        return {}

    # Solo mostramos el selector a estos roles
    allowed_types = ['coach', 'Coach', 'journalist', 'Journalist', 'admin', 'Admin']
    
    # Si NO es uno de estos roles Y NO es superuser, ocultamos el selector
    if request.user.user_type not in allowed_types and not request.user.is_superuser:
        return {'show_context_selector': False}

    # ✅ AHORA SÍ FUNCIONARÁ (Gracias al @property en models.py)
    team_ids = request.user.team_ids 
    
    divisions = []
    if team_ids:
        try:
            divisions = Division.objects.using('tikistats_internal').filter(
                teams__id__in=team_ids
            ).distinct().order_by('name')
        except Exception as e:
            print(f"Error conectando a DB interna: {e}")
            divisions = []

    return {
        'show_context_selector': True,
        'user_divisions': divisions,
        # Para saber cuál está activa y pintarla diferente si quieres
        'current_division_id': request.resolver_match.kwargs.get('division_id') 
    }