20 lines
777 B
Python
20 lines
777 B
Python
from announcement.models import Announcement
|
|
from announcement.serializers import AnnouncementListSerializer, AnnouncementSerializer
|
|
from utils.api import APIView
|
|
|
|
|
|
class AnnouncementAPI(APIView):
|
|
def get(self, request):
|
|
id = request.GET.get("id")
|
|
if id:
|
|
try:
|
|
announcement = Announcement.objects.get(id=id, visible=True)
|
|
return self.success(AnnouncementSerializer(announcement).data)
|
|
except Announcement.DoesNotExist:
|
|
return self.error("Announcement does not exist")
|
|
|
|
announcements = Announcement.objects.select_related("created_by").filter(visible=True)
|
|
return self.success(
|
|
self.paginate_data(request, announcements, AnnouncementListSerializer)
|
|
)
|