from django.conf import settings

def user_context_processor(request):
    """
    Injecte des informations sur l'utilisateur connecté dans le contexte de tous les templates.
    Cela permet aux templates de base (ex: base.html) d'adapter dynamiquement la navbar.
    """
    context = {
        'is_authenticated': False,
        'is_admin': False,
        'can_scan': False,
        'user_full_name': None,
    }

    # Nous ne traitons que les utilisateurs authentifiés pour éviter des erreurs avec AnonymousUser
    if request.user.is_authenticated:
        context.update({
            'is_authenticated': True,
            'is_admin': request.user.is_admin(),
            'can_scan': request.user.can_scan(),
            'user_full_name': request.user.get_full_name() or request.user.username,
        })
        
    return {'user_context': context}