from django.db import models
+from django.core.exceptions import MultipleObjectsReturned
class Annotation(models.Model):
@property
def annotation(self):
- return Annotation.objects.get(uuid=self.uuid, annotation_id=self.annotation_id)
\ No newline at end of file
+ try:
+ return Annotation.objects.get(uuid=self.uuid, annotation_id=self.annotation_id)
+ except MultipleObjectsReturned:
+ return Annotation.objects.filter(uuid=self.uuid, annotation_id=self.annotation_id)[0]
\ No newline at end of file
from pdfannotator.models import Annotation, AnnotationComment
from itertools import groupby
import json
+from django.contrib.auth.decorators import login_required
from django.core.exceptions import PermissionDenied
return readonly
+@login_required
def update_annotation(request):
"""
"""
annot.save()
return HttpResponse(json.dumps({'status':'ok'}), content_type="application/json")
-
+@login_required
def get_annotations(request):
uuid = request.GET.get('fileUuid')
result[key].append(annot)
return HttpResponse(json.dumps(result), content_type="application/json")
+@login_required
def get_annotation(request):
uuid = request.GET.get('fileUuid')
annotation_id = request.GET.get('annotationId')
annotation = Annotation.objects.get(annotation_id=annotation_id, uuid=uuid)
return HttpResponse(json.dumps(json.loads(annotation.content)), content_type="application/json")
-
+@login_required
def add_annotation(request):
"""
"""
content=json.dumps(annotation)).save()
return HttpResponse(json.dumps({'status': 'ok'}), content_type="application/json")
-
+@login_required
def delete_annotation(request):
if is_readonly(request):
raise PermissionDenied
comments.delete()
return HttpResponse(json.dumps({'status': 'ok'}), content_type="application/json")
-
+@login_required
def add_comment(request):
if is_readonly(request):
raise PermissionDenied
}
return HttpResponse(json.dumps(commentData), content_type="application/json")
+@login_required
def delete_comment(request):
if is_readonly(request):
raise PermissionDenied
annot.delete()
return HttpResponse(json.dumps({'status': 'ok'}), content_type="application/json")
+@login_required
def get_comments(request):
uuid = request.GET.get('fileUuid')
# import pdb;pdb.set_trace()