|
|
|
|
@ -5,7 +5,7 @@ from django.db.models import Q |
|
|
|
|
from lms.global_decorators import transaction_decorator |
|
|
|
|
|
|
|
|
|
from journals.models import Thread |
|
|
|
|
from journals.serilizers import ThreadUserSerializer, ThreadAdminSerializer |
|
|
|
|
from journals.serilizers import ThreadDetailSerializer, ThreadAdminSerializer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ThreadAdminListView(APIView): |
|
|
|
|
@ -35,19 +35,13 @@ class ThreadDetailView(APIView): |
|
|
|
|
except Thread.DoesNotExist: |
|
|
|
|
return Response("Thread doesn't exist.", self.status_code,) |
|
|
|
|
|
|
|
|
|
def get(self, request, key): |
|
|
|
|
@staticmethod |
|
|
|
|
def get(request, key): |
|
|
|
|
try: |
|
|
|
|
return Response(ThreadUserSerializer(Thread.objects.get(key=key)).data, self.status_code) |
|
|
|
|
except Thread.DoesNotExist: |
|
|
|
|
return Response("Thread not found", status=404) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TeacherThreadListView(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
thread = Thread.objects.get(key=key) |
|
|
|
|
if thread.check_perm(request.user): |
|
|
|
|
return Response(ThreadDetailSerializer(thread).data, status=200) |
|
|
|
|
return Response("permission denied", status=403) |
|
|
|
|
|
|
|
|
|
@transaction_decorator |
|
|
|
|
def get(self, request): |
|
|
|
|
if not request.user.is_authenticated and not 'teachers' in request.user.groups: |
|
|
|
|
return Response("Permission denied", status=403) |
|
|
|
|
threads = Thread.objects.filter(Q(subscribers=request.user) | Q(groups__user=request.user)) |
|
|
|
|
return Response([ThreadUserSerializer(i).data for i in threads]) |
|
|
|
|
except Thread.DoesNotExist: |
|
|
|
|
return Response("Thread not found", status=404) |