# documents/views.py
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from django.db.models import Prefetch  # Corrige l'import ici

from .models import Document, Category

@login_required
def document_list(request):
    user = request.user

    # Filtrage des documents en fonction du groupe
    if user.groups.filter(name='Bureau').exists():
        # Bureau : Accès à tous les documents
        documents = Document.objects.all()
    elif user.groups.filter(name='Conseil').exists():
        # Conseil : Accès aux documents restreints et publics
        documents = Document.objects.filter(classification__in=['restricted', 'public'])
    elif user.groups.filter(name='Affilie').exists():
        # Affilié : Accès uniquement aux documents publics
        documents = Document.objects.filter(classification='public')
    else:
        # Si l'utilisateur ne fait partie d'aucun groupe, il n'a pas accès aux documents
        documents = Document.objects.none()

    #categories = Category.objects.prefetch_related('documents').filter(documents__isnull=False).distinct()
    categories = Category.objects.prefetch_related(Prefetch('documents', queryset=documents)).filter(documents__isnull=False).distinct()
    context = {
        'categories': categories,
    }
    return render(request, 'documents/document_list.html', context)

