Compare commits

...

1 Commits

3 changed files with 12 additions and 2 deletions

View File

@@ -650,6 +650,10 @@ class ConsumerPlugin(
# If we get here, it was successful. Proceed with post-consume # If we get here, it was successful. Proceed with post-consume
# hooks. If they fail, nothing will get changed. # hooks. If they fail, nothing will get changed.
document = Document.objects.prefetch_related("versions").get(
pk=document.pk,
)
document_consumption_finished.send( document_consumption_finished.send(
sender=self.__class__, sender=self.__class__,
document=document, document=document,

View File

@@ -381,7 +381,10 @@ class Document(SoftDeleteModel, ModelWithOwner): # type: ignore[django-manager-
if isinstance(prefetched_cache, dict) if isinstance(prefetched_cache, dict)
else None else None
) )
if prefetched_versions: if prefetched_versions is not None:
# Empty list means prefetch ran and found no versions — use own content.
if not prefetched_versions:
return self.content
latest_prefetched = max(prefetched_versions, key=lambda doc: doc.id) latest_prefetched = max(prefetched_versions, key=lambda doc: doc.id)
return latest_prefetched.content return latest_prefetched.content

View File

@@ -1248,7 +1248,10 @@ class DocumentViewSet(
), ),
) )
def suggestions(self, request, pk=None): def suggestions(self, request, pk=None):
doc = get_object_or_404(Document.objects.select_related("owner"), pk=pk) doc = get_object_or_404(
Document.objects.select_related("owner").prefetch_related("versions"),
pk=pk,
)
if request.user is not None and not has_perms_owner_aware( if request.user is not None and not has_perms_owner_aware(
request.user, request.user,
"view_document", "view_document",