Rename comments --> notes

This commit is contained in:
shamoon
2023-03-17 16:36:08 -07:00
parent 89c639f850
commit bf8ae22f3f
45 changed files with 540 additions and 528 deletions

View File

@@ -72,10 +72,10 @@ from .matching import match_correspondents
from .matching import match_document_types
from .matching import match_storage_paths
from .matching import match_tags
from .models import Comment
from .models import Correspondent
from .models import Document
from .models import DocumentType
from .models import Note
from .models import PaperlessTask
from .models import SavedView
from .models import StoragePath
@@ -230,7 +230,7 @@ class DocumentViewSet(
GenericViewSet,
):
model = Document
queryset = Document.objects.annotate(num_comments=Count("comments"))
queryset = Document.objects.annotate(num_notes=Count("notes"))
serializer_class = DocumentSerializer
pagination_class = StandardPagination
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
@@ -251,11 +251,11 @@ class DocumentViewSet(
"modified",
"added",
"archive_serial_number",
"num_comments",
"num_notes",
)
def get_queryset(self):
return Document.objects.distinct()
return Document.objects.distinct().annotate(num_notes=Count("notes"))
def get_serializer(self, *args, **kwargs):
super().get_serializer(*args, **kwargs)
@@ -442,11 +442,11 @@ class DocumentViewSet(
except (FileNotFoundError, Document.DoesNotExist):
raise Http404()
def getComments(self, doc):
def getNotes(self, doc):
return [
{
"id": c.id,
"comment": c.comment,
"note": c.note,
"created": c.created,
"user": {
"id": c.user.id,
@@ -455,11 +455,11 @@ class DocumentViewSet(
"last_name": c.user.last_name,
},
}
for c in Comment.objects.filter(document=doc).order_by("-created")
for c in Note.objects.filter(document=doc).order_by("-created")
]
@action(methods=["get", "post", "delete"], detail=True)
def comments(self, request, pk=None):
def notes(self, request, pk=None):
try:
doc = Document.objects.get(pk=pk)
except Document.DoesNotExist:
@@ -469,17 +469,17 @@ class DocumentViewSet(
if request.method == "GET":
try:
return Response(self.getComments(doc))
return Response(self.getNotes(doc))
except Exception as e:
logger.warning(f"An error occurred retrieving comments: {str(e)}")
logger.warning(f"An error occurred retrieving notes: {str(e)}")
return Response(
{"error": "Error retreiving comments, check logs for more detail."},
{"error": "Error retreiving notes, check logs for more detail."},
)
elif request.method == "POST":
try:
c = Comment.objects.create(
c = Note.objects.create(
document=doc,
comment=request.data["comment"],
note=request.data["note"],
user=currentUser,
)
c.save()
@@ -488,23 +488,23 @@ class DocumentViewSet(
index.add_or_update_document(self.get_object())
return Response(self.getComments(doc))
return Response(self.getNotes(doc))
except Exception as e:
logger.warning(f"An error occurred saving comment: {str(e)}")
logger.warning(f"An error occurred saving note: {str(e)}")
return Response(
{
"error": "Error saving comment, check logs for more detail.",
"error": "Error saving note, check logs for more detail.",
},
)
elif request.method == "DELETE":
comment = Comment.objects.get(id=int(request.GET.get("id")))
comment.delete()
note = Note.objects.get(id=int(request.GET.get("id")))
note.delete()
from documents import index
index.add_or_update_document(self.get_object())
return Response(self.getComments(doc))
return Response(self.getNotes(doc))
return Response(
{
@@ -516,14 +516,14 @@ class DocumentViewSet(
class SearchResultSerializer(DocumentSerializer, PassUserMixin):
def to_representation(self, instance):
doc = Document.objects.get(id=instance["id"])
comments = ",".join(
[str(c.comment) for c in Comment.objects.filter(document=instance["id"])],
notes = ",".join(
[str(c.note) for c in Note.objects.filter(document=instance["id"])],
)
r = super().to_representation(doc)
r["__search_hit__"] = {
"score": instance.score,
"highlights": instance.highlights("content", text=doc.content),
"comment_highlights": instance.highlights("comments", text=comments)
"note_highlights": instance.highlights("notes", text=notes)
if doc
else None,
"rank": instance.rank,