loko/streetup/documents/private_files.py
2026-07-22 14:48:40 +02:00

23 lines
No EOL
680 B
Python

"""Private file guards for the documents application."""
from __future__ import annotations
from common.private_files.registry import register
from .models import ManagedDocument
from .permissions import user_has_document_permission
def _document_version_guard(version, user) -> bool:
document = getattr(version, "document", None)
if document is None:
return False
return user_has_document_permission(
user,
document,
required_permission=ManagedDocument.PERMISSION_VIEW,
)
register("documents", "DocumentVersion", "file", _document_version_guard)
register("documents", "DocumentVersion", "thumbnail", _document_version_guard)