添加Announcement的API测试,即url中的announcement_list_api,增加公告编辑及相应的API测试
This commit is contained in:
@@ -6,7 +6,8 @@ from utils.shortcuts import serializer_invalid_response, error_response, success
|
||||
from account.models import User
|
||||
from utils.shortcuts import paginate
|
||||
from .models import Announcement
|
||||
from .serializers import CreateAnnouncementSerializer, AnnouncementSerializer
|
||||
from .serializers import (CreateAnnouncementSerializer, AnnouncementSerializer,
|
||||
EditAnnouncementSerializer)
|
||||
|
||||
|
||||
class AnnouncementAdminAPIView(APIView):
|
||||
@@ -26,6 +27,28 @@ class AnnouncementAdminAPIView(APIView):
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
|
||||
def put(self, request):
|
||||
"""
|
||||
公告编辑json api接口
|
||||
---
|
||||
request_serializer: EditAnnouncementSerializer
|
||||
response_serializer: AnnouncementSerializer
|
||||
"""
|
||||
serializer = EditAnnouncementSerializer(data=request.DATA)
|
||||
if serializer.is_valid():
|
||||
data = serializer.data
|
||||
try:
|
||||
announcement = Announcement.objects.get(id=data["id"])
|
||||
except Announcement.DoesNotExist:
|
||||
return error_response(u"该公告不存在!")
|
||||
announcement.title = data["title"]
|
||||
announcement.content = data["content"]
|
||||
announcement.visible = data["visible"]
|
||||
announcement.save()
|
||||
return success_response(AnnouncementSerializer(announcement).data)
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
|
||||
|
||||
class AnnouncementAPIView(APIView):
|
||||
def get(self, request):
|
||||
|
||||
Reference in New Issue
Block a user