add message and comment
This commit is contained in:
@@ -1,14 +1,8 @@
|
||||
from account.decorators import super_admin_required, login_required
|
||||
from account.models import User
|
||||
from submission.models import Submission
|
||||
from utils.api import APIView
|
||||
|
||||
from announcement.models import Announcement, Message
|
||||
from announcement.models import Announcement
|
||||
from announcement.serializers import (AnnouncementSerializer,
|
||||
AnnouncementListSerializer,
|
||||
CreateMessageSerializer,
|
||||
MessageSerializer)
|
||||
from utils.api.api import validate_serializer
|
||||
AnnouncementListSerializer)
|
||||
|
||||
|
||||
class AnnouncementAPI(APIView):
|
||||
@@ -23,30 +17,3 @@ class AnnouncementAPI(APIView):
|
||||
|
||||
announcements = Announcement.objects.filter(visible=True)
|
||||
return self.success(self.paginate_data(request, announcements, AnnouncementListSerializer))
|
||||
|
||||
|
||||
class MessageAPI(APIView):
|
||||
@login_required
|
||||
def get(self, request):
|
||||
messages = Message.objects.select_related("recipient","sender", "submission").filter(recipient=request.user)
|
||||
return self.success(self.paginate_data(request, messages, MessageSerializer))
|
||||
|
||||
@validate_serializer(CreateMessageSerializer)
|
||||
@super_admin_required
|
||||
def post(self, request):
|
||||
data = request.data
|
||||
if data["recipient"] == request.user.id:
|
||||
return self.error("Can not send a message to youself")
|
||||
try:
|
||||
recipient = User.objects.get(id=data["recipient"], is_disabled=False)
|
||||
except User.DoesNotExist:
|
||||
return self.error("User does not exist")
|
||||
try:
|
||||
submission = Submission.objects.get(id=data["submission"])
|
||||
except Submission.DoesNotExist:
|
||||
return self.error("Submission does not exist")
|
||||
Message.objects.create(submission=submission,
|
||||
message=data["message"],
|
||||
sender=request.user,
|
||||
recipient=recipient)
|
||||
return self.success()
|
||||
|
||||
Reference in New Issue
Block a user